Computer Science 기본 지식/컴퓨터 네트워크

[네트워크] 네트워크 계층 (2) IP 주소체계 / NAT / DHCP 프로토콜

로파이 2021. 1. 5. 17:13

IP 주소란

  • 인터넷 네트워크의 주소, 인터넷 서비스 제공자(ISP)에 의해 할당되는 고유 번호.

IPv4 주소 체계

- IPv4 주소 체계

  • 32비트로 이루어진 네트워크 주소, 8비트(1 바이트)씩 끊어서 10진수로 표현한다.
  • ex) 11000000 / 10101000 / 00000001 / 00001010 -> 192.168.1.10

- IP 주소 클래스

  • IP 주소는 네트워크를 구분하는 네트워크 ID와 네트워크에 속한 컴퓨터를 구분하는 호스트 ID가 있다.
  • 각 클래스마다 32비트중 네트워크 ID 및 호스트 ID에 해당하는 범위가 다르다.

주소 클래스

  • C 클래스에 가까울 수록 소규모 네트워크 (일반 가정에서 사용되는 네트워크는 대부분 C 클래스).
  • D 클래스는 멀티캐스트 주소이고 E 클래스는 연구 및 특수용도 주소로 사용된다.
  • A,B,C 클래스 주소의 각각 첫번째 바이트에서 0, 10, 110으로 시작하기 때문에 특정 주소 범위를 갖는다.
  • A 클래스 (0.0.0.0 ~ 127.255.255.255) / B 클래스 (128.0.0.0 ~ 191.255.255.255) / C 클래스 (192.0.0.0 ~)
  • C 클래스는 최대 255개의 host ID를 등록할 수 있다.

※ 특별 주소 : 네트워크 주소 (호스트 ID가 0번)와 브로드캐스트 주소 (호스트 ID가 255)가 있음.

  • 네트워크 주소는 네트워크를 대표하는 주소고 브로드캐스트 주소는 네트워크에 포함된 모든 호스트 컴퓨터에 전송을 하고 싶을 때 사용하는 주소이다.
  • ex) 192.168.1.0 네트워크 주소 안에 (192.168.1.1/192.168.1.2/192.168.1.3) 3대의 컴퓨터가 존재한다.
  •  3대의 컴퓨터에 동시에 전송하고 싶다면 192.168.1.255 주소를 이용한다.

 

- 서브넷

  • 호스트 ID 영역에 해당하는 비트를 빌려 네트워크를 분할하는데 사용함. 주로 라우터에 의해 작은 네트워크로 분할된다.
  • IP 주소 = 네트워크 ID + 서브넷 ID + 호스트 ID
  • 서브넷 마스크: 네트워크 ID와 호스트 ID를 식별하기 위한 마스크
  • ex) C 클래스- 255.255.255.0: 마지막 8비트만 호스트 ID
  • prefix 표기법- 서브넷 마스크 비트 수: /24

- 게이트웨이

  • 자신의 컴퓨터가 통신을 하고자할 때 통과해야하는 첫번째 출입구(라우터).
  • 네트워크는 라우터간의 통신으로 이루어져 있다고 할 수 있음. 첫번째 출입구에 해당하는 라우터는 다음 라우터를 결정하여 데이터 패킷을 전달한다.

라우터와 로컬 네트워크

 

NAT (Network Address Translation)

  • IPv4 체계에서 사용할 수 있는 주소량이 한정되어 있기 때문에 모든 컴퓨터에 고유 IP를 할당하기에 수가 부족하다.
  • 따라서 한 네트워크에 속해있는 컴퓨터끼리만 알 수 있는 내부용(사설용) IP 주소를 할당받고 라우터는 내부 IP 주소와 외부 IP 주소를 맵핑해주는데 이 맵핑 관계 나타낸 것이 NAT table이라고 한다.
  • 라우터도 외부용 IP / 내부용 IP가 존재

NAT

내부에서 송신할 때

1) 내부에서 라우터를 통해 메세지가 나갈때 마다 NAT table을 업데이트한다.

2) 192.138.1.2/3345에서 출발한 메세지는 외부 IP로서 138.76.29.7/5001를 가진다.

 

외부에서 수신받을 때

1) 외부 노드는 내부에 있는 컴퓨터의 주소를 모르기 때문에 외부 IP 주소 138.76.29.7/5001로 송신을 하게됨.

2) 이때 NAT table을 확인하여 내부 주소로 변환하는 포트 포워딩으로 해당 주소로 들어오는 메세지를 내부 주소, 192.138.1.2/3345로 보낸다.

 

 

DHCP (dynamic host configuration protocol)

한 호스트가 네트워크에 접속할 때 동적으로 IP 주소를 할당받는 것. 맨 처음 그림에서 자동으로 IP 주소받기에 해당.

 

- 처음 네트워크에 접속했을 때, 인터넷을 하기 위해서는 무엇이 필요?

① IP 주소 (+서브넷 마스크) ② 기본 게이트웨이 (첫번째 라우터의 IP 주소) ③ DNS 서버의 주소

출처 : https://www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation-network-protocol/understanding-the-basic-operations-of-dhcp

  • 호스트는 DHCP 서버를 찾아나서고 (discover) 주변에 있던 DHCP 서버는 응답을 한다(offer).
  • 특정된 DHCP 서버에게 호스트는 필요 정보를 요청 (request) 하고 DHCP 서버는 해당 정보를 제공해준다(ACK).
  • DHCP는 응용레벨 프로토콜로서 UDP 전송 프로토콜을 사용한다.