Network/OSI 7 Layers

ip 할당과정에 필요한 프로토콜 (ARP, DHCP, UDP, DNS)

Bans 2021. 1. 28. 01:25

찾는 과정 중 거치는 프로토콜들 (작성중)

IP를 할당받는 과정(ARP -> DHCP) -> 도메인 IP 쿼리(UDP -> DNS) -> 실제 연결(TCP) -> 데이터 전송(HTTP)

 

ARP (Address Resolution Protocol)

IP주소(L3) 를 MAC(Media Access Control) (L2) 주소로 변환해주는 프로토콜.

 

DHCP (Dynamic Host Configuration Protocol)

DHCP란 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜.

 

-DHCP의 구성

 

1) DHCP 서버 : DHCP서버는 네트워크 인터페이스를 위해서 IP주소를 가지고 있는 서버에서 실행되는 프로그램으로 일정한 범위의 IP주소를 다른 클라이언트에게 할당하여 자동으로 설정하게 해주는 역할을 합니. DHCP서버는 클라이언트에게 할당된 IP주소를 변경없이 유지해 줄 수 있습니다. 

 

클라이언트에게 IP 할당 요청이 들어오면 IP를 부여해주고 할당 가능한 IP들을 관리해주게 됩니.

 

2) DHCP 클라이언트 : 클라이언트들은 시스템이 시작하면 DHCP서버에 자신의 시스템을 위한 IP주소를 요청하고, DHCP 서버로부터 IP주소를 부여받으면 TCP/IP 설정은 초기화되고 다른 호스트와 TCP/IP를 사용해서 통신을 할 수 있게 됩니다. 

, 서버에게 IP를 할당받으면 TCP/IP 통신을 할 수 있습니다.

 

출처: https://jwprogramming.tistory.com/35 [개발자를 꿈꾸는 프로그래머]

 

 

UDP (User Datagram Protocol

UDP Header

- UDP 는 TCP 에 비해 보안적인 부분은 떨어지나 속도는 월등히 빠르다.

UDP의 특징/사용처

UDP의 주요 특징은 세 가지로 분류할 수 있다.

 

1. 실시간(Real-time)

 

제약 조건이 거의 없고 TCP에 비해 매우 빨라, 실시간 전송이 필요한 부분에 대해서 많이 사용.

* 사용처 : 인터넷 전화, 스트리밍 등등

 

2. 간단한 트랜잭션(Simple transactions)

 

같은 전송 계층인 프로토콜 TCP와 비교하자면, TCP 는 Setup과 종료, ACK 가 필수불가결하기 때문에

복잡한 transaction이 요구된다. (하지만, UDP는 필요하지 않다)

* 사용처 : DNS(반드시 UDP이용), DHCP, SNMP 등등

 

3. 멀티캐스트 / 브로드캐스트 가능

 

TCP는 전송측과 수신측이 서로 검증이 완료가 되어야 보낸다.

Point-to-point 방식으로 작동하는 TCP는 멀티캐스트, 브로드캐스트 전송이 모두 불가능하다.

UDP 만이 가능.

* 사용처 : IPTV

출처: https://programming119.tistory.com/148 [개발자 아저씨들 힘을모아]

 

DNS는 트래픽을 웹 애플리케이션에 어떻게 라우팅합니까?

다음 다이어그램은 재귀적 DNS 서비스와 신뢰할 수 있는 DNS 서비스가 서로 연계하여 최종 사용자를 웹 사이트 또는 애플리케이션으로 라우팅하는 방법에 대한 개요를 보여줍니다.

  1. 사용자가 웹 브라우저를 열어 주소 표시줄에 www.example.com을 입력하고 Enter 키를 누릅니다.
  2. www.example.com에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은 인터넷 서비스 제공업체(ISP)가 관리하는 DNS 해석기로 라우팅됩니다.
  3. ISP의 DNS 해석기는 www.example.com에 대한 요청을 DNS 루트 이름 서버에 전달합니다.
  4. ISP의 DNS 해석기는 www.example.com에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달합니다. .com 도메인의 이름 서버는 example.com 도메인과 연관된 4개의 Amazon Route 53 이름 서버의 이름을 사용하여 요청에 응답합니다.
  5. ISP의 DNS 해석기는 Amazon Route 53 이름 서버 하나를 선택해 www.example.com에 대한 요청을 해당 이름 서버에 전달합니다.
  6. Amazon Route 53 이름 서버는 example.com 호스팅 영역에서 www.example.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환합니다.
  7. ISP의 DNS 해석기가 마침내 사용자에게 필요한 IP 주소를 확보하게 됩니다. 해석기는 이 값을 웹 브라우저로 반환합니다. 또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 기간 동안 example.com의 IP 주소를 캐싱(저장)합니다. 자세한 내용은 TTL(Time to Live)을 참조하십시오.
  8. 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.example.com에 대한 요청을 전송합니다. 여기가 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷 또는 Amazon EC2 인스턴스에서 실행되는 웹 서버입니다.
  9. 192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시합니다.
출처 : https://aws.amazon.com/ko/route53/what-is-dns/
아마존 route53서비스를 통해 이해하는 DNS

DNS 서버가 (www.google.com.) 의 ip주소를 찾아오는 순서

클라이언트가 웹브라우저 주소창에 www.google.com URL을 입력합니다.

 

① 브라우저가 설치된 컴퓨터는 www.google.com 의 IP를 알아내기 위해서 가장 가까운 곳에 위치한(클라이언트에 등록된) DNS 서버에 www.google.com 의 IP 주소를 문의 합니다.

 

②가장 가까운 DNS 서버가 IP주소를 알고 있다면 즉시 IP 주소를 알려 줍니다. 하지만 가장 가까운 DNS 서버가 IP 주소를 모르면 루트 도메인 네임서버에게 문의를 합니다. 

 

③ 루트 네임서버는 도메인의 최상위 도메인이 .com인 것을 보고 '.com' 이 등록된 네임서버의 IP어드레스를 전달 합니다. 

"나는 IP 주소를 가지고 있지 않지만,  '.com' 네임서버에게 물어보면 도와 줄꺼야" 라는 식으로 이해하실 수 있습니다.

 

④ 가장 가까운 DNS는 “.com” 도메인을 관리하는 네임서버에게 문의합니다. 

 

⑤ “.com” 네임서버는 google의 네임서버의 IP 주소를 알려줍니다. 

 

⑥ 가장 가까운 DNS 서버는 google 의 네임서버에게 문의합니다. 

 

⑦ www 의 네임서버를 알려 줍니다. 

 

⑧ 최종적으로 www 네임서버에게 문의합니다. 

 

이렇게 ⑨ www.google.com 의 IP 주소를 얻을 수 있습니다. 

 

⑩ 가장 가까운 DNS 서버는 이 IP 주소를 클라이언트에게 알려 주게 됩니다.