본문 바로가기
네트워크/네트워크 이론

이론) OSI 7 계층 중 3 계층과 IP주소

by 빈스터디 2023. 1. 27.

3 계층의 프로토콜

OSI 7 계층 중 3 계층의 대표적인 프로토콜은 ARP, IPv4, ICMP 등이 있다.

ARP 프로토콜은 IP주소를 이용해서 MAC 주소를 알아올 때 사용

IPv4 프로토콜은 실제로 멀리 떨어져 있을 때 통신할 때 쓰임

ICMP 프로토콜은 통신 여부를 확인할 때 사용

 

IP주소와 서브넷 마스크

IP주소는 컴퓨터의 고유한 주소로, 0.0.0.0 ~ 255.255.255.255까지 표현이 가능하다.

IP주소를 클래스별로 나눠서 사용한다.

 

IP version 4(IPv4)로 표현했을 때, 사용가능한 IP주소가 2의 32제곱 개 정도 되는데 

IP주소를 필요로 하는 컴퓨터나 핸드폰의 개수는 사용가능한 IP주소의 개수보다 더 많다.

이러한 이유로 인해 IP주소를 낭비하지 않는 것이 중요하며 좀 더 효율적으로 사용하여야 한다.

(새로운 버전인 IPv6가 나왔지만, 사람들은 일단 사용해왔던 IPv4를 최대한 활용하는 것에 초점을 두었다.)

 

클래스별로 나눠진 네트워크 대역이 있는데

IP주소를 낭비하지 않기 위해 이 네트워크 대역을 더 세분화하여 (Classless)

여러 개의 논리적 네트워크인 서브넷으로 구분하고, 구분된 서브넷에서 사용하는 IP주소의 수를 줄인다.

이를 수행하기 위해 사용되는 것이 서브넷 마스크다.

 

서브넷 마스크를 10진수로 나타내면 보기 불편하기 때문에

CIDR표기법인

"IP/(서브넷 마스크를 2진수로 바꿨을 때의)1의 개수"로 나타낸다.

ex) x.x.x.x/16

 

※ 네트워크 ID는 IP주소로 사용하지 않는다.

※ 네트워크 ID는 서브넷마스크로 구분된 네트워크 대역에서

네트워크 주소를 제외한 컴퓨터 주소(호스트 주소)를 할당하는 부분의 비트가 모두 0인 값을 의미한다. 

 

깨알 실습 (네트워크 ID 구하기)

IP주소 = 147.79.123.172

서브넷마스크 = 255.255.224.0

 

1. IP주소랑 서브넷 마스크를 2진수로 변경한다.

10010011. 01001111. 01111011. 10101100

11111111.  11111111.  11100000. 00000000

 

2. 서브넷 마스크에서 1에서 0으로 변경되는 곳을 기준으로 IP주소를 네트워크 ID와 호스트 주소로 나눈다.

10010011. 01001111. 01111011. 10101100

11111111.  11111111.  11100000. 00000000

 

3. 호스트 주소를 전부 0으로 변경한다.

10010011. 01001111. 01100000. 00000000

 

4. 다시 10진수로 변환한다. 

147.79.96.0

 

서브넷 마스크로 한 네트워크 대역의 호스트 주소의 수를 줄임에도 불구하고 여전히 IP주소가 낭비되고 있다.

이러한 낭비를 해결하고자 나온 것이 사설 IP와 공인 IP다.

 

사설 IP & 공인 IP

NAT(Network Address Translation)는 IP주소를 다른 IP주소로 바꿔주는 기술이다.

사설 IP와 공인 IP를 아파트에 비유하면 공인 IP는 "동", 사설 IP는 "호"와 같다.

 

외부 네트워크에서는 공인 IP에 접근이 가능하고 내부 네트워크인 사설 IP는 알 수 없다.

따라서 사설 IP를 사용하는 컴퓨터에 데이터를 보내려면 공인 IP를 통해 접근이 가능하다.

사설IP와 공인IP(일반적인 네트워크 모습)

위의 그림은 사설 IP와 공인 IP가 공존하는 일반적인 네트워크의 모습이다.

하지만 외부에서는 사설 IP를 알 수 없다.

 

따라서 인터넷 세상에서 바라본 모습은 위의 그림과 같다.

 

사설 네트워크 대역은 사설 IP를 관리하는 관리자가 공인 IP를 사용하는 네트워크 장비(공유기)에 설정한다.

사설 IP를 설정할 때는 네트워크 ID보다 서브넷 마스크가 중요하다.

왜냐하면 해당 네트워크 대역에서 사용할 IP주소의 개수를 정하는 것이기 때문이다.