전공/네트워크

[네트워크] #25 학교에서 노트북으로 구글 웹페이지에 접속하는 과정

Campus Coder 2023. 12. 12. 16:35
728x90
반응형

목차

  1. 학교에서 노트북으로 구글 웹페이지에 접속하는 과정
    1. DHCP
    2. ARP
    3. TCP
    4. HTTP
  2. Summary

1. 학교에서 노트북으로 구글 웹페이지에 접속하는 과정

주어진 상황

 

1-1. DHCP

노트북을 연결하려면 자체 IP 주소, first-hop 라우터의 주소, DNS 서버의 주소 필요: DHCP 사용

  • UDP로 캡슐화, IP로 캡슐화, 802.3 이더넷으로 캡슐화된 DHCP 요청
  • DHCP 서버를 실행하는 라우터에서 수신된 LAN의 이더넷 프레임 브로드캐스트(대상-FFFFFFFFFFFF)
  • 이더넷에서 IP로 디먹스 되고 UDP에서 DHCP로 디먹스 됨

 

DHCP 서버가 DHCP ACK를 공식화함

  • 클라이언트의 IP 주소를 포함
  • 클라이언트용 first-hop 라우터의 ip주소를 포함
  • DNS 서버의 이름과 IP 주소

 

DHCP 클라이언트가 DHCP ACK 응답을 수신함

이제 클라이언트는 IP 주소, DNS 이름과 주소, first hop 라우터의 IP 주소를 알고 있음

 

1-2. ARP

HTTP 요청을 보내기 전에 www.google.com의 IP 주소가 필요함: DNS

  • DNS 쿼리 생성, UDP로 캡슐화, IP로 캡슐화, Eth로 캡슐화
  • 프레임을 라우터로 전송하려면 라우터 인터페이스의 MAC 주소가 필요함: ARP
  • 라우터 인터페이스의 MAC 주소를 제공하는 ARP 응답으로 응답하는 라우터에 의해 수신되는 ARP 쿼리 브로드캐스트

 

LAN 스위치를 통해 클라이언트에서 1st hop 라우터로 전달된 DNS 쿼리를 포함하는 IP 데이터그램

IP 데이터그램 dl 캠퍼스 네트워크에서 Comcast 네트워크로 전달되고 DNS 서버로 라우팅 됨

(테이블이 RIP, OSPF, BGP 등 라우팅 프로토콜을 통해 생성)

DNS 서버로 디먹스 됨

DNS 서버가 www.google.com의 IP 주소를 요청하는 클라이언트에 응답함 

 

1-3. TCP

  • HTTP 요청을 보내기 위해, 클라이언트가 웹 서버에 TCP 소켓을 열음
  • TCP SYN 세그먼트(3-way handshake)가 웹 서버로 라우팅 됨(inter-domain 라우팅)
  • 웹서버가 TCP SYNACK로 응답
  • TCP 연결이 설정됨

 

1-4. HTTP

  • TCP 소켓으로 전송된 HTTP 요청
  • HTTP 요청이 포함된 IP 데이터그램이 www.google.com으로 라우팅 됨
  • 웹 서버가 HTTP 응답함(웹 페이지 포함)
  • HTTP 응답을 포함하는 IP 데이터그램이 클라이언트로 라우팅 됨

 

웹페이지가 화면에 나타남


2. Summary

  1. DHCP
    1. 노트북이 학교에 있는 DHCP 서버를 통해서 IP 주소를 받아옴
  2. ARP
    1. 외부로 나가는 라우터의 맥 주소를 받아옴
    2. DNS를 라우터를 통해 DNS 서버로 보냄
  3. DNS 서버로 접근하여 우리가 접속하고자 하는 서버(구글)의 주소를 받아옴
    1. 일반적으로 PC는 DNS 서버의 IP 주소를 알고 있음
  4. TCP
    1. 구글 서버와 Handshake
    2. TCP 커넥션이 맺어짐
    3. 중간에 패킷이 유실되면 패킷을 다시 보내줌
  5. HTTP
    1. HTTP 요청으로 구글 웹 페이지를 요청함
    2. 서버가 HTTP 응답으로 구글 웹 페이지를 제공함

 

해당 시퀀스는 기본적인 통신 전략 위에서 이루어짐

이더넷 기반의 맥 주소 스위칭이 이루어짐

OSPF, BGP

  • DNS 서버까지 패킷을 보내기 위해 OSPF, BGP가 사용됨
  • OSPF 내부적인 라우팅 프로토콜
  • BGP 외부적인 라우팅 프로토콜
728x90
반응형