찾는 과정 중 거치는 프로토콜들 (작성중)
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 는 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 서비스가 서로 연계하여 최종 사용자를 웹 사이트 또는 애플리케이션으로 라우팅하는 방법에 대한 개요를 보여줍니다.
- 사용자가 웹 브라우저를 열어 주소 표시줄에 www.example.com을 입력하고 Enter 키를 누릅니다.
- www.example.com에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은 인터넷 서비스 제공업체(ISP)가 관리하는 DNS 해석기로 라우팅됩니다.
- ISP의 DNS 해석기는 www.example.com에 대한 요청을 DNS 루트 이름 서버에 전달합니다.
- ISP의 DNS 해석기는 www.example.com에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달합니다. .com 도메인의 이름 서버는 example.com 도메인과 연관된 4개의 Amazon Route 53 이름 서버의 이름을 사용하여 요청에 응답합니다.
- ISP의 DNS 해석기는 Amazon Route 53 이름 서버 하나를 선택해 www.example.com에 대한 요청을 해당 이름 서버에 전달합니다.
- Amazon Route 53 이름 서버는 example.com 호스팅 영역에서 www.example.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환합니다.
- ISP의 DNS 해석기가 마침내 사용자에게 필요한 IP 주소를 확보하게 됩니다. 해석기는 이 값을 웹 브라우저로 반환합니다. 또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 기간 동안 example.com의 IP 주소를 캐싱(저장)합니다. 자세한 내용은 TTL(Time to Live)을 참조하십시오.
- 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.example.com에 대한 요청을 전송합니다. 여기가 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷 또는 Amazon EC2 인스턴스에서 실행되는 웹 서버입니다.
- 192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시합니다.
출처 : https://aws.amazon.com/ko/route53/what-is-dns/
아마존 route53서비스를 통해 이해하는 DNS
클라이언트가 웹브라우저 주소창에 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 주소를 클라이언트에게 알려 주게 됩니다.
'Network > OSI 7 Layers' 카테고리의 다른 글
[정리] 내 디바이스가 웹서버와 연결하기까지 [2] ( TCP / HTTP ) (0) | 2021.02.02 |
---|---|
[정리] 내 디바이스가 웹서버와 연결하기까지 [1] (DHCP / IP / ARP / DNS ) (0) | 2021.02.01 |
와이어샤크(Wireshark) 를 이용한 패킷캡쳐/분석하기 (0) | 2021.01.26 |
OSI 7 Layer Model 에 대하여 (0) | 2021.01.25 |