네트워크 관련 전공강의를 듣던 중, PC에서 구글 홈페이지가 뜨기까지 네트워크에서 어떤 일이 발생하는가?라는 질문을 제시해 주셨다. 그래서 집 인터넷을 이용하여 구글을 켜기까지 네트워크 속에서 어떤 과정들을 거치는지 필자가 아는 선에서 간단히 정리해 보았다.

  1. DHCP 할당
    • 우선 집 인터넷에 내 PC를 연결하면, IP를 할당받아야 한다. 이때 DHCP를 이용하여 동적으로 할당받고자 한다.
    • IP를 할당받기 위해, DHCP Discover를 UDP 프로토콜을 이용하여 브로드캐스트로 보낸다.
    • 이후 홈 네트워크 상의 DHCP 서버에서 해당 신호를 확인하고, DHCP Offer를 통해 서버의 주소와 할당받을 수 있는 IP를 PC에 보낸다.
    • PC는 다시 DHCP Request 신호를 통해 IP주소를 요청한다.
    • DHCP 서버는 DHCP Ack 신호를 통해 IP 주소 및 기타 연결 정보를 제공한다.
  2. Arp를 통한 라우터 확인
    • IP를 할당받은 PC에서 라우터를 확인하기 위해 Arp Request를 브로드캐스트한다.
    • 이를 확인한 라우터는 해당 PC에게 Arp Reply 신호를 보내 서로 주소를 확인한다.
  3. DNS를 통한 구글 웹 서버 확인
    • DNS 서버에 google.com이라는 hostname에 대응하는 IP를 요청하여 구글 웹 서버의 IP를 확인한다.
  4. 구글 웹 서버와의 통신
    • 구글 웹 서버와 TCP 연결을 수행한다.
      • 연결을 위해 TCP 3-way-handshake를 수행한다. 우선 내 PC에서 구글 웹 서버로 SYN 신호를 보낸다.
      • 구글 웹 서버는 연결할 준비가 되면 SYN/ACK 신호를 내 PC로 보내준다.
      • 이후 내 PC는 준비가 완료되면 ACK 신호를 보내고, TCP 소켓이 구성된다.
    • 구글 웹 서버와 HTTP 통신을 진행한다.
      • 내 PC에서 구글 웹 서버로 HTTP Request를 보낸다.
      • 구글 웹 서버에서는 해당 Request를 토대로 처리를 수행한 후 내 PC로 Response를 보내 준다.
    • 구글 웹 서버와 TCP 연결을 종료한다.
      • 연결 종료를 위해 TCP 4-way-handshake를 수행한다. 우선 내 PC에서 연결을 닫을 준비를 하고 구글 웹 서버로 FIN 신호를 보낸다.
      • 구글 웹 서버는 신호를 확인하고, ACK 신호를 보낸다. 이후 연결을 닫을 준비가 완료되면 FIN 신호를 보낸다.
      • 내 PC에서 FIN 신호를 받으면, 연결을 닫으며 ACK 신호를 보낸다.
      • 구글 웹 서버에서 ACK 신호를 받으면 최종적으로 연결을 닫으면서 연결이 종료된다.

 

반응형

'Development > Network' 카테고리의 다른 글

[Network] RDT1.0부터 RDT 3.0까지  (0) 2021.10.08

+ Recent posts