CS/Network

Whole Process

WakaraNai 2021. 12. 6. 16:00
728x90
반응형

Whole Process

 

<요약>

DHCP : 호스트가 사용할 IP주소, first-hop router 주소, DNS 서버 주소와 이름, (DNS local name server), (subnet mask)

ARP : DNS server의 router interface의 MAC 주소

DNS : domain 주소를 IP주소로 변환 ~~ RIP, OSPF, BGP를 통해 결과를 받음

TCP connection

HTTP

 

 

  1. Connecting to the Internet - DHCP
    1. 모든 host는 네트워크에 연결되기 위해선, IP 주소와 first-hop router 주소, DNS 서버 주소가 필요하니까
    2. DHCP request는 UDP로 encapsulate된 후, IP로 encapsulate 하고, 그것을 802.3 Ethernet으로 encapsulate함
    3. 그 Ethernet frame은 dest:FFFFFFFFFFFF를 가지고 LAN을 통해 broadcast되고, DHCP server를 운영하는 router에 도착
    4. 그 router에서 demux를 함 : Ethernet->IP, ->UDP, ->DHCP
    5. DHCP server는 client’s IP 주소, client’s first-hop router의 IP의 주소를 DNS server의 name & IP 주소를 DHCP ACK에 담아서 전송
    6. DHCP는 그걸 또 3단계로 encapsulation을 하여 LAN을 통해 frame을 forwarding 함 (switch learning)
    7. client는 받은 걸 demux하여 DHCP ACK에 대해 응답함
    8. https://wakaranaiyo.tistory.com/335
  2. ARP (before DNS, before HTTP)
    1. HTTP request를 보내기 전에, www.google.com의 IP주소로 변환하기 위해 DNS를 구동
    2. DNS query가 UDP에서, IP에서, Ethernet에서 encapsulate됨
    3. 그 frame을 DNS server로 보내기 위해,  DNS server의 router interface의 MAC 주소가 필요함 : ARP
    4. ARP query를 broadcast하여 그 router에서 MAC주소를 ARP reply로 받음 
    5. 이제 client의 first hop router는 MAC 주소를 알기에, DNS query를 담은 frame을 보낼 수 있음
    6. https://wakaranaiyo.tistory.com/341
  3. DNS
    1. DNS query를 담은 IP datagram은 LAN을 통해 forward되어  client에서 first-hop router로 switch 되어 도착
    2. IP datagram은 client’s network에서 그 쪽 network의 DNS server로 forward됨. => RIP, OSPF, BGP 를 이용
    3. DNS server는 demux하여 www.google.com의 IP 주소를 client에게 응답
    4. RIP, OSPF, BGP : https://wakaranaiyo.tistory.com/338
    5. DNS name resolution : https://wakaranaiyo.tistory.com/303
  4. TCP connection carrying HTTP
    1. HTTP request를 보내려면 TCP connection을 맺어야 함
    2. client가 웹 서버로 TCP socket을 open하고 있어야 함
    3. 그리고 TCP SYN segment를 web server로 보내고 이에 대한 응답을 TCP SYNACK으로 받으면 연결 성공
    4. TCP 3-way handshake : https://wakaranaiyo.tistory.com/330?category=977179
    5. TCP socket : https://wakaranaiyo.tistory.com/306?category=977179 
  5. HTTP request/reply
    1. HTTP request는 TCP socket으로 전송됨
    2. www.google.com으로 HTTP request를 담은 IP datagram이 routed됨
    3. web server는 HTTP reply로 응답
    4. HTTP reply를 담은 IP datagram은 client에게 되돌려짐
    5. HTTP request/reply message : https://wakaranaiyo.tistory.com/301 
  6. web page finally displayed !!!!!!!
728x90
반응형