Computer Science/네트워크

[컴퓨터네트워크] 02. (3)Network Layer(네트워크 계층) - DHCP, NAT

lumana 2024. 4. 7. 01:12

(3) Network Layer(네트워크 계층) - DHCP, NAT


IPv4 주소

DHCP(Dynamic Host Configuration Protocol)

  • 기관에 블록 주소가 할당되면, 관리자는 각각의 호스트나 라우터에 수동으로 주소를 할당할 수 있다
  • 하지만 DHCP를 통해 주소할당을 자동으로 할 수 있다.
  • DHCP는 클라이언트-서버 패러다임을 이용하는 응용 계층 프로그램으로서, TCP/IP의 네트워크 계층을 도와준다

DHCP 메시지 포맷

  • Opcode, Htype, HLen, HCount, Flags, .... , Options 존재
    • Opcoe : Operation code, request(1)(DHCPDISCOVER, DHCPREQUEST 등) or reply(2)(DHCPOFFER, DHCPACK 등)
    • Flags : First bit defines unicast(0) or multicast(1); other 15bits는 사용되지 않음
    • Options : A 64-byte field with dual purpose described in text
      • Value : DHCPDISCOVER, DHCPOFFER, DHCPREQIEST, DHCPDECLINE, DHCPACK, DHCPNACK, DHCPRELEASE, DHCPINFORM
      • Tag(53), Length(1), Value로 표현하며, TLV 표현 방식이라고 함

 

DHCP 동작

  • 부팅
  • Client가 DHCPDISCOVER를 Broadcast
  • Server가 DHCPOFFER(이 주소 사용할거야?)
  • Client가 DHCPREQUEST(이 주소 사용할게)
  • SERVER가 DHCPACK(확인 응답)
  • DHCP는 UDP(TCP 아님), IP를 이용하는 프로토콜임

DHCP 클라이언트의 FSM(Finite State Machine)

  • 클라이언트가 주소를 받으면 임대 시간이 정해져 있어서, 50% 정도가 지나면, 다시 임대를 요청함(DHCPREQUEST를 보냄)
    • RENEWING : 임대 시간의 50%가 경과하면, 클라이언트는 DHCP 서버에게 주소 임대 연장을 요청
    • REBINDING : 임대 연장 요청이 실패하면, 클라이언트는 다른 서버로부터 주소를 재임대(rebinding) 받기 위해 다시 요청을 시작(INIT)

NAT(Network Address Translation)

  • 대부분의 경우, 작은 네트워크에서의 인터넷의 동시접속은 많지 않음
  • 사설(private) 주소와 공인(public) 주소의 매핑을 제공하고, 가성의 사설 주소를 지원하는 시스템이 NAT임
  • 이 기술은 사이트 내부에서 사설 주소를 이용해 내부 통신을 하고, 인터넷의 컴퓨터와 통신을 할 때, 공인 주소를 통해 통신을 가능하게 한다
  • GPT : 사설 네트워크 내의 여러 장치들이 단 하나의 공인 IP 주소를 사용하여 인터넷과 통신할 수 있도록 합니다.
  • ex) Internet에 연결되어 있는 라우터의 주소테이블에서(공인 주소: 203.240.~~) 공인 주소를 사설주소로 매핑해줌
    • 사설 주소를 사설 주소로 바꿔줄 수도 있고, 공인 주소를 공인 주소로 바꿔줄 수도 있다
  • 10.0.0.0/8(A class) 와 같이 10점대 주소는 전부 사설 주소
  • 172.16.255.255 ~ 172.31.255.255 은 B class의 사설 주소
  • 192.168.0.0 ~ 192.168.255.0 은 C class의 사설 주소

 

  • 주소 변환 표

  • TCP를 주로 지원하고, UDP도 지원할 수 있음

 

  • PAT : 포트번호 + 주소를 변경
    • Public IP 1개 만으로도 65536개 연결 지원 가능