6월 21일 - 네트워크 동작

Yullgiii·2024년 6월 21일
0
post-thumbnail

주소창에 naver.com을 치면 일어나는 일

웹 브라우저의 주소창에 naver.com을 입력하면 어떤 일이 일어나는지 알아보자. 이 과정은 여러 단계로 이루어지며, 인터넷이 어떻게 작동하는지 이해하는 데 도움이 된다.

IP 주소와 도메인 네임

IP 주소

IP 주소는 인터넷에 연결된 각 장치에 할당되는 고유한 숫자 주소이다. 현재 많이 사용되는 IPv4는 32비트로 구성되어 있으며, 예를 들어 127.0.0.1 같은 주소를 말한다. IPv6는 128비트로 구성되어 더 많은 주소를 제공한다.

도메인 네임

IP 주소는 숫자로 이루어져 있어 기억하기 어렵다. 그래서 도메인 네임이 등장했다. 도메인 네임은 사람이 읽기 쉽도록 만들어진 주소로, 예를 들어 naver.com과 같다. 도메인 네임은 실제로는 IP 주소로 변환되어야 한다.

도메인 네임 시스템(DNS)

도메인 네임을 IP 주소로 변환하는 역할을 하는 것이 DNS이다. DNS는 도메인 네임과 IP 주소를 매핑한 데이터베이스이다. 사용자가 웹 브라우저에 도메인 네임을 입력하면 DNS를 통해 해당 도메인의 IP 주소를 조회한다.

작동 방식

  1. 사용자가 브라우저에 도메인 네임 입력: 사용자가 브라우저에 naver.com을 입력한다.
  2. DNS 조회: 브라우저는 도메인 네임을 IP 주소로 변환하기 위해 DNS 서버에 조회 요청을 보낸다. 이 과정에서 로컬 DNS 캐시, ISP DNS 서버, 루트 네임서버 등을 거쳐 최종 IP 주소를 얻는다.
  3. HTTP 요청 생성: IP 주소를 얻은 브라우저는 해당 IP 주소로 HTTP 요청 메시지를 생성한다.
  4. TCP 연결: HTTP 요청을 보내기 전에 TCP 3-way handshake 과정을 통해 서버와의 연결을 설정한다.
  5. HTTP 요청 전송: TCP 연결이 설정되면 브라우저는 HTTP 요청을 서버로 전송한다.
  6. 서버 응답: 서버는 요청을 처리하고 HTTP 응답 메시지를 생성하여 브라우저로 전송한다.
  7. 웹 페이지 렌더링: 브라우저는 받은 응답을 해석하여 웹 페이지를 화면에 표시한다.

DHCP와 ARP

DHCP

DHCP는 Dynamic Host Configuration Protocol의 약자로, 네트워크 상의 장치들이 IP 주소를 자동으로 할당받을 수 있게 한다. 사용자 PC는 DHCP 서버로부터 IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버 등의 정보를 받는다.

ARP

ARP는 Address Resolution Protocol의 약자로, IP 주소를 MAC 주소로 변환하는 데 사용된다. 이는 동일 네트워크 내에서 장치 간의 통신을 위해 필요하다.

예제

사용자가 브라우저에 naver.com을 입력하면:

1. 브라우저는 로컬 DNS 캐시에서 naver.com의 IP 주소를 찾는다.
2. 로컬 DNS 캐시에 없으면 ISP의 DNS 서버에 조회 요청을 보낸다.
3. ISP의 DNS 서버가 모르면 루트 네임서버에 조회 요청을 보낸다.
4. 루트 네임서버는 .com 도메인 네임서버의 주소를 반환한다.
5. 브라우저는 .com 도메인 네임서버에 naver.com의 IP 주소를 조회한다.
6. .com 도메인 네임서버는 naver.com 네임서버의 주소를 반환한다.
7. 브라우저는 naver.com 네임서버에 naver.com의 IP 주소를 조회한다.
8. naver.com 네임서버는 최종 IP 주소를 반환한다.
9. 브라우저는 얻은 IP 주소로 TCP 연결을 설정하고 HTTP 요청을 보낸다.
10. 서버는 요청을 처리하고 HTTP 응답을 반환한다.
11. 브라우저는 받은 응답을 해석하여 웹 페이지를 렌더링한다.

So...

주소창에 도메인 네임을 입력하면, 사용자와 서버 간의 여러 프로토콜과 과정이 상호 작용하여 웹 페이지를 불러오는 복잡한 과정이 이루어진다. IP 주소와 도메인 네임, DNS, DHCP, ARP, HTTP 등 다양한 기술이 결합되어 사용자가 원하는 정보를 화면에 출력하게 된다. 이러한 과정을 이해하면, 네트워크와 인터넷 통신의 기본 원리를 더 잘 이해할 수 있다.

profile
개발이란 무엇인가..를 공부하는 거북이의 성장일기 🐢

0개의 댓글