미가공필기(네트워크)

시나리오 : 노트북으로 학교 네트워크(LAN)를 잡아 웹사이트(www.google.com)에 접속하는 상황

JoJobum 2022. 3. 3.

 

 

 

1. 통신하기 위해서 IP 주소, 첫번째 라우터의 주소, DNS 서버의 주소가 필요하다 => DHCP를 활용하여 얻음

노트북이 DHCP 서버에 request 를 담은 프레임을 보냄 

DHCP 서버의 라우터가 받고 읽은 후 DHCP 서버는 위에 말한 필요한 정보를 담은 DHCP ACK를 reply 한다

이로써 노트북은 통신에 필요한 IP 주소, 첫번째 라우터의 주소, DNS 서버의 주소를 얻음

 

 

2. HTTP request 전에 웹사이트의 IP 주소가 필요하다 => DNS 활용하여 얻음

DNS query 는 이더넷, IP, UDP 로 포장되어 있음,

프레임을 라우터에 보내려면 라우터의 MAC 주소 필요 => ARP(Address Resolution Protocol) 활용해서 얻음

  1. ARP Query broadcast
  2. 라우터가 받음
  3. 라우터가 ARP ACK reply (여기에 MAC 주소 담김)

IP 주소로 MAC 주소 얻는 과정 완료

 

 

 

3. 이제 IP datagram 을 DNS 서버로 보냄

그 과정에서 라우터 거쳐 ISP(Internet Service Provider = KT, SK, LG) Network 통해 DNS 서버에 도달  

DNS reply 

요청했던 웹사이트(www.google.com)의 IP 주소를 얻는다

 

 

 

4. HTTP request 보내기 위해, TCP 연결을 한다. 

그러기 위해 TCP Socket 열고

web 서버에 TCP SYN (= TCP 연결 요청) 을 보낸다 (3-way handshake의 1단계)

web 서버가 TCP SYN를 읽고 TCP SNACK을 보내줌 (3-way handshake의 2단계) 

TCP 연결 완료

 

 

 

5. HTTP request 를 이전에 연결한 TCP 연결을 이용하여 웹서버에 전송

웹서버는 요청한 웹사이트 정보를 포함한 HTTP reply 를 보내줌으로 완료

반응형

'미가공필기(네트워크)' 카테고리의 다른 글

[토막글] TCP vs UDP  (0) 2022.04.07

댓글