https://www.maeil-mail.kr/question/89
요약: 사용자가 웹사이트에 접속시 DNS를 통해서 도메인을 통해서 ip를 찾아준다. 해당 ip주소와 ARP를 통해서 mac주소를 찾아서 해당 서버로 요청을 보내서 웹사이트의 정보를 받을 수 있다.
우리가 네이버에 접속한다고 생각해보자. 우리는 url에 www.naver.com을 입력해서 접속 할 수 있는데, 우리의 브라우저는 도메인네임만으로는 네이버 서버에 접근 할 수 는 없다. 그렇기에 www.naver.com이라는 이름을 ip로 바꿔주기 위해서 DNS와 브라우저는 상호작용을 한다. 이 때의 계층은 application layer에서 상호 작용을 한다.
출처: https://www.akamai.com/ko/glossary/what-are-dns-servers
그러나 ip주소만으로는 실제 물리적인 위치를 알기는 어렵다. 이 때문에 ARP(Adress Resolution Protocol)을 통해서 위에서 언든 ip주소를 mac주소로 변환해준다.
실제로 데이터를 주고 받기 전에는 전송 계층의 tcp 3-way handshake를 통해서 연결을 수립한다.
후에 네트워크 계층에서는 ip주소를 통해서 패킷을 전송하고, 데이터 링크 계층에서는 mac주소를 통해서 프레임을 주고 받는다.
이를 통해서 데이터를 주고 받을 수 있고, 실제 http request,response를 주고받으면서, 클라이언트단에서의 렌더링을 통해서 우리는 웹사이트를 볼 수 있다.
🔹 www.naver.com 입력
🔹 DNS 조회 (도메인 → IP 주소 찾기)(캐싱을 통해서 ip가 있으면 여기서 조회함)
🔹 ARP 요청 (IP → MAC 주소 찾기, 필요 시 라우터 MAC 확인)
🔹 TCP 3-Way Handshake (연결 수립)
🔹 HTTP 요청 및 응답 (웹페이지 데이터 가져오기)
🔹 웹 브라우저가 렌더링