브라우저에 주소를 입력하면 통신은 한 번에 일어나지 않습니다
웹 접속을 “DNS로 이름을 찾고 곧바로 서버에 접속한다”로만 보면 첫 홉이 빠집니다. DNS Resolver가 원격지에 있다면 DNS 질의 자체도 먼저 Subnet 판단·ARP·Switching·Routing을 거쳐야 합니다.
1. DNS Resolver로 첫 패킷을 보냅니다
먼저 Resolver IP가 같은 네트워크인지 Mask로 판단합니다. IPv4 Ethernet에서 같은 네트워크면 Resolver의 MAC을 ARP로 찾고, 다른 네트워크라면 기본 Gateway의 MAC을 찾습니다. 스위치는 그 프레임을 올바른 포트로 전달합니다.
2. DNS 질의가 서비스 이름을 목적지 IP로 바꿉니다
Resolver에 도메인 이름을 질의하고 응답으로 서버 IP를 얻습니다. 이름 해석을 위한 패킷 자체도 네트워크를 이미 한 번 여행했다는 점이 중요합니다.
3. 서버가 다른 네트워크라면 기본 Gateway에서 라우팅이 시작됩니다
호스트는 서버 IP가 자기 서브넷 밖이라는 것을 확인하고 Gateway로 프레임을 보냅니다. 라우터는 목적지 IP를 보고 라우팅 테이블에서 가장 구체적인 경로를 선택합니다. 사설망에서 인터넷으로 나간다면 NAT/PAT가 주소와 세션 정보를 바꿀 수 있습니다.
4. 목적지에 도착한 뒤에는 Port와 Application이 기다립니다
IP가 장치까지의 논리적 위치를 찾았다면 TCP/UDP Port는 같은 컴퓨터 안에서 어느 프로그램과 통신할지를 구분합니다. 웹이라면 HTTP/HTTPS 같은 응용 서비스가 실제 요청과 응답을 처리합니다.
인터넷이 안 될 때는 네 지점만 순서대로 확인합니다
ipconfig /all. 비정상이면 DHCP·VLAN·Access Port부터 봅니다.
ping gateway, arp -a. 실패하면 NIC·Link·Mask·ARP·Switch 구간을 좁힙니다.
ping·traceroute. 실패하면 Routing·Default Route·NAT/PAT·WAN을 봅니다.
nslookup. IP는 되는데 이름만 실패하면 DNS 설정·Resolver·Record를 봅니다.
패킷의 여행은 주소 → 첫 홉 → 이름 해석 → 경로 선택 → 주소 변환 → 전송계층 → 서비스가 차례로 겹치는 과정입니다. 장애도 이 순서를 거꾸로 외우는 것이 아니라 마지막으로 성공한 지점 바로 다음 구간부터 좁혀 갑니다.