본문 바로가기
컴퓨터 네트워크

네트워크 15강 - IP 주소 할당

by N.Damgom 2020. 8. 11.

IP는 NIC 식별을 위한 주소이다. 호스트가 어떤 네트워크에 들어갔을 때 IP 주소를 할당받지 않은 상태에서, 즉 그 호스트를 식별할 방법이 없는 상태에서 어떻게 누구와 통신하여 IP 주소를 할당받을까? 이번 글에선 IP주소 할당 방법에 대해서 자세히 알아보자.


IP 주소 할당

  • 할당 방법에는 두 가지 방법이 있다.
    • 시스템 파일에다 직접 입력하기
    • DHCP를 사용
      • Dynamic Host Configuration Protocol
      • 애플리케이션 계층의 프로로콜이다.
      • 동적으로 IP주소를 할당받는다.

 


DHCP

  • DHCP의 작동방식과 특징
    • IP를 동적으로 할당해주는 DHCP 서버를 브로드캐스팅 도메인 내에 둔다.
    • 호스트와 DHCP는 서로 브로드캐스팅을 통해 통신할 수 있다.
    • 호스트가 네트워크에 접속해있는 시간동안만 IP주소를 할당(임대)받는다.
    • 따라서 주소 재사용이 가능해서 IP주소를 효율적으로 사용할 수 있다.
    • IP 주소를 수동으로 설정할 필요 없이 Plug and play가 가능하다.
    • 포트번호는 67이다. 일회성 질의이므로 UDP를 사용한다.
  • 네 개의 메세지로 구성된다.
    • DHCP discover
      • 호스트가 DHCP 서버를 찾기 위한 메세지이다.
      • 동일 서브넷 내에 브로드캐스팅된다.
      • 호스트의 맥 주소가 담긴다.
    • DHCP offer 
      • 유니캐스트나 브로드캐스트일 수 있다.
      • DHCP 서버가 호스트에게 자신의 존재를 알린다.
      • 할당 '될' IP 주소와 Local DNS 서버 주소, Subnet Portion, 이 메세지를 보낸 DHCP 서버의 주소, 게이트웨이 라우터 주소를 알려준다.
    • DHCP request
      • 브로드캐스트로 보낸다. 
      • 호스트는 DHCP 서버를 선택하고 해당 서버에게 호스트가 사용할 네트워크 정보를 정식으로 요청한다.
      • 호스트의 맥 주소, 호스트가 사용할 IP, DHCP 서버의 IP가 들어간다.
    • DHCP Ack
      • 브로드캐스트나 유니캐스트일 수 있다
      • DHCP offer 메세지와 동일한 정보를 제공해준다.
      • 정식으로 서버가 주소를 할당해준다.
    • discover 메세지와 offer 메세지는 optional이다.
  • DHCP 서버의 추가적인 역할
    • 게이트웨이 라우터(First Hop 라우터)의 주소를 알려준다.
    • Local DNS 서버의 주소를 알려준다.
    • Network Mask(Subnet Portion, 32비트 주소중 어디까지가 Subnet을 가리키는 주소인지)

서브넷 주소할당

  • 서브넷은 ISP로부터 주소블록을 할당받는다.
    • 예를들어서 ISP가 200.23.16.0 /20 주소블록을 가지고 있으면
    • 서브넷1은 200.23.16.0/23
    • 서브넷2는 200.23.18.0/23
    • ......
    • 마지막은 200.23.30.0/23
    • 이런 식이다. 이진수로 나타내서 생각해보면 이해가 된다.
    • IP prefix에 따라 계층적으로 주소할당이 된다.
  • 계층적인 주소할당
    • 라우터에서 포워딩테이블을 탐색할 때 Input으로 들어온 패킷은 가장 Specific (Longest Prefix)한 주소를 가지는 Output 포트로 나간다.
  • ISP가 보유하는 주소블록은 인터넷진흥원이 관리한다.

 


NAT

  • Network Address Translation의 약자이다.
  • IP주소 고갈 문제
    • IPv4는 32비트 주소를 사용하므로 약 42억개의 주소를 할당할 수 있다.
    • 하지만 이마저도 점점 고갈되어간다.
  • NAT란?
    • NAT는 하나의 Public IP를 서브넷 내에서만 사용할 수 있는 여러개의 사설 IP로 변환하는 시스템이다.
    • 게이트웨이 라우터만 Public IP를 가지고 있고 로컬 호스트들은 사설 IP를 가진다.
    • 서브넷 내의 호스트들은 포트번호로 구분된다.
    • 포트 포워딩
      • 라우터에서 [Public IP, Port번호]가 [Private IP, 호스트 내 포트번호]로 변환된다.
      • 예를 들어 한 호스트 내 프로세스가  [10.0.0.1, 3345]로 식별된다고 생각해보자.
        • 라우터는 [자신의 Public IP, 비어있는 포트번호]로 바꾸고 이를 자신의 테이블에 적는다.
        • 응답이 돌아오면 포트번호를 보고 어떤 호스트의 어던 프로세스인지 식별할 수 있다.
        • 즉 게이트웨이 라우터의 포트번호와 호스트의 프로세스를 매칭하는 원리다. 
  • 관리상의 이점
    • LAN내의 모든 디바이스는 하나의 아이피만 있으면 된다.
    • 접속하는 ISP가 변해도 로컬 네트워크의 IP를 변경하지 않아도 된다.
    • 로컬 네트워크 내의 IP주소를 바꿀 때 외부에 알리지 않아도 된다.
    • 보안상의 이점이 있다.
  • NAT의 문제점
    • end to end 통신을 침범한다.
    • NAT Traversal Problem
      • NAT로 구성된 LAN 내부에 서버가 있을 경우 Public IP만으로는 서버를 식별할 수 없다.
      • 그러므로 NAT 라우터는 정적으로 특정 포트를 서버에 할당한다.
  • UPnP
    • Internet Gateway Device 프로토콜을 이용해서 자동으로 연결할 수 있다.

 

 

 

 

더보기

본 게시물은 kocw 이화여자대학교 이미정 교수님의 컴퓨터 네트워크 강의를 듣고 정리한 글임을 밝힙니다.

내용상 틀린 부분이 있을 수도 있으며 이에 대한 책임을 지지 않습니다.

틀린 부분이나 오타 지적은 댓글로 남겨주세요.

www.kocw.net/home/cview.do?cid=e44bdd9b3a3f9bb5