홈페이지 요청에 대한 네트워크 동작 절차
- 사용자 A는 웹 브라우저에 http://my.server.com/을 입력한 후, 엔터를 누른다.
- 웹 브라우저는 웹 서버 my.server.com으로 사용자 A의 요청을 보내고 싶으나, my.server.com으로 보내기 위해선 DNS 서버에서 my.server.com에 대한 IP 주소를 가져와야 한다.
- DNS 에게 my.server.com에 대한 IP 주소를 받은 웹 브라우저는 이 주소를 이용하여 웹 서버에 좁속한 후, 문서 루트에 있는 정보들을 요청한다.
- my.server.com으로 요청을 하기 위해 웹 브라우저는 TCP 프로토콜에게 요청 정보를 넘겨준다. 이 정보는 적절하게 캡슐화되어 my.server.com의 웹 서버 프로그램에 전달된다.
- TCP 프로토콜에서 만들어진 정보는 여러 홉의 네트워크를 거쳐 my.server.com이 있는 네트워크로 라우팅 될 수 있도록 캡슐화 한다.
- 네트워크 간 라우팅을 위한 정보를 포함하여 적절하게 패킷을 만들었지만, 이 패킷은 바로 네트워크 간 이동을 할 수 없어 네트워크 내에서 이동할 수 있도록 해야한다. 사용자 A가 있는 컴퓨터의 IPv4 주소는 my.server.com으로 바로 전달될 수 없어 컴퓨터의 게이트웨이인 유무선 공유기 B로 전달하려 한다. 그러나 IP 주소는 내트워크 안에서 전송하는 목적으로 사용할 수 없으며, 이러한 목적으로 사용되는 MAC 주소를 알아야 한다. 게이트웨이 IP 주소에 대응하는 MAC 주소를 네트워크 내에 브로드캐스트 하여 알아낸 다음, 패킷을 유무선 공유기 B로 보낸다. (ARP, Ethernet, 사설 네트워크, NAT)
- 유무선 공유기 B에는 사용자 A의 컴퓨터에서 패킷을 받은 다음, 자신에게 전송된 패킷이 아니므로 그 새킷이 어디로 전송되는 것인지 살펴본다. IP 헤더를 보면 my.server.com으로 전동되는 패킷임을 알 수 있으며, 유무선 공유기 B 가 속한 네트워크가 아니므로 자신이 속한 라우터 C 로 전달한다. (라우팅 프로토콜)
- 패킷을 받은 라우터 C는 자신이 속한 네트워크로 전송되는 패킷임을 알 수 있어, 웹 서버의 IP 주소로 패킷을 전송하려 한다. 단계 3.3과 마찬가지로 내트워크 내의 패킷이동은 my.server.com의 물리 주소인 MAC 주소를 알아야 하므로 네트워크 내에 브로드캐스트하여 my.server.com의 IP 주소에 해당하는 MAC 주소를 획득하여 전송한다.(ARP)
- 패킷을 수신한 my.server.com 은 IP 주소를 보고 자신에게 온 패킷임을 알 수 있어 IP 주소등의 헤더 정보를 제거한 후 남은 데이터를 상위 프로토콜 계층으로 올려보낸다.(IP)
- 웹 서버 my.server.com 내의 어떤 어플리케이션으로 전달해야 하는지 파악한 다음, 필요 없는 정보를 제거하고 해당 어플리케이션인 웹 서버 어플리케이션으로 전달한다.(TCP)
- 웹 서버 애플리케이션에는 문서 루트에 있는 정보를 요청하는 메세지임을 파악하고, 이에 대한 정보를 송신자인 사용자 A의 컴퓨터로 보낸다.
- 웹 서버로부터 문서 루트에 있는 정보를 받은 웹 브라우저는 이를 적절하게 표현하여 사용자 A가 볼 수 있도록 시각적으로 보여준다.