네트워크

[TCP/IP stack] stack_5. 응용 계층 : DHCP, DNS, NAT

Ardmos :) 2021. 12. 6. 16:01

여러 응용 프로그램들이 이 계층에 속한다. 물론 우리가 만드는 응용프로그램도 이 계층에 속한다.

응용 계층엔 종단간 통신에 꼭 필요한 여러 프로토콜들이 존재하는데, 

 

 

- DHCP

 

  1. dynamic host configuration protocol 의 약자로 사설 서브넷 망에 연결되는 호스트들의 IP주소를 자동으로 할당해주는데 쓰이는 프로토콜이다. 

 

  2. 기법의 핵심은 브로드캐스팅을 적극 활용한다는것과 DHCP 프로토콜의 DHCPOFFER, DHCPREQUEST, DHCPPACK 패킷을 활용해 호스트와 서버가 서로를 특정하고 주소를 할당해주는 것이다. 

 

 

- DNS

 

  1. domain name system의 약자로 우리가 74.125.224.112 대신 www.google.com 이라고 입력해도 구글에 접속할 수 있게 해주는 프로토콜이다.

 

  2. IP 주소에 사람들이 보기 편한 형태의 닉네임을 설정해준 뒤 해당 내용을 DNS 테이블에 적어두고, 특정 닉네임으로 

접속을 원하는 호스트가 생기면 테이블을 참고해 해당 IP로 연결해준다. 

 

  3. 혹시 테이블상에 정보가 없으면 다른 네임서버로 요청을 전달해가며 찾는다. 

  

 

- NAT

 

  1. network address translation의 약자로 우리가 서브넷을 만든 경우에도 서브넷 바깥과 원활한 네트워크가 가능하도록 해준다.

 

  2. 바깥쪽 네트워크와 연결된 라우터에서 IP주소 및 포트번호를 재기입해주는 방식으로 진행된다. 

 

  3. NAT 테이블에 재기입한 내용들을 적어둠으로써 바깥으로부터의 연결이 있을 경우에 IP주소와 포트번호를 반대로 재기입함으로써 원활한 네트워크가 진행될 수 있도록 한다. 

 

  4. NAT 테이블에 없는 호스트로부터 발신된 패킷은 버린다. (이것때문에 NAT 투과 기법이 사용된다)

728x90