-
웹 브라우저를 통해 도메인 주소를 입력하는 경우, 실제로는 IP 주소와 MAC 주소를 모두 얻는 과정컴퓨터과학/네트워크 2024. 7. 23. 10:02728x90반응형
전체 과정 요약
- DNS 조회: 도메인 주소를 IP 주소로 변환
- ARP 조회: IP 주소를 MAC 주소로 변환 (로컬 네트워크 내)
- 데이터 전송: IP 및 MAC 주소를 이용해 데이터를 전송
1. DNS 조회
도메인 주소 (예: www.example.com)를 입력하면, 먼저 해당 도메인에 대한 IP 주소를 알아내야 합니다.
DNS 조회 과정
- 호스트 파일 확인: 클라이언트는 먼저 로컬 호스트 파일을 확인하여 도메인에 대한 IP 주소가 지정되어 있는지 확인합니다.
- DNS 캐시 확인: 운영체제의 DNS 캐시에 도메인에 대한 IP 주소가 저장되어 있는지 확인합니다.
- DNS 서버 질의: 캐시에 없으면 설정된 DNS 서버에 질의합니다.
- 질의 과정:
- 클라이언트의 DNS 리졸버가 DNS 서버에 www.example.com의 IP 주소를 요청합니다.
- DNS 서버는 루트 네임서버, TLD 네임서버, 도메인 네임서버를 순차적으로 조회하여 최종 IP 주소를 반환합니다.
- 질의 과정:
- IP 주소 반환: 클라이언트는 DNS 서버로부터 IP 주소 (예: 93.184.216.34)를 받습니다.
2. ARP 조회
IP 주소가 로컬 네트워크 내에 있는 경우 (예: 사내 웹 서버 등), IP 주소를 MAC 주소로 변환하는 ARP 과정을 수행합니다.
ARP 과정
- ARP 캐시 확인: 클라이언트는 자신의 ARP 캐시에 해당 IP 주소의 MAC 주소가 있는지 확인합니다.
- ARP 요청: 캐시에 없으면 ARP 요청 패킷을 브로드캐스트합니다.
- ARP 요청 패킷: "Who has 93.184.216.34? Tell 192.168.0.2"
- ARP 응답: 대상 IP를 가진 장치가 자신의 MAC 주소를 포함한 응답을 클라이언트에 유니캐스트로 보냅니다.
- ARP 응답 패킷: "93.184.216.34 is at AA:BB:CC:DD:EE:FF"
- ARP 캐시 업데이트: 클라이언트는 ARP 캐시에 이 정보를 저장합니다.
3. 데이터 전송
클라이언트는 얻은 IP 주소와 MAC 주소를 사용하여 데이터를 전송합니다.
데이터 전송 과정
- TCP 연결 설정: 클라이언트는 서버와의 TCP 연결을 설정합니다 (3-way handshake).
- SYN: 클라이언트 → 서버 (SYN 패킷, 목적지 IP와 MAC 주소 포함)
- SYN-ACK: 서버 → 클라이언트 (SYN-ACK 패킷, 출발지 IP와 MAC 주소 포함)
- ACK: 클라이언트 → 서버 (ACK 패킷)
- HTTP 요청: TCP 연결이 설정되면 클라이언트는 HTTP 요청을 보냅니다.
- HTTP 요청 패킷: "GET / HTTP/1.1" (TCP 세그먼트로 캡슐화, IP 패킷으로 캡슐화, 이더넷 프레임으로 캡슐화)
- 응답 수신: 서버는 HTTP 응답을 클라이언트로 전송합니다.
- HTTP 응답 패킷: HTTP 응답 (이더넷 프레임으로 캡슐화, IP 패킷으로 캡슐화, TCP 세그먼트로 캡슐화)
웹 브라우저에서 도메인 입력 후 데이터 전송까지의 전체 흐름
- 웹 브라우저에 도메인 입력 (www.example.com)
- DNS 조회를 통해 도메인의 IP 주소 (93.184.216.34)를 얻음
- ARP 조회를 통해 IP 주소를 MAC 주소 (AA:BB:CC:DD:EE:FF)로 변환 (로컬 네트워크 내)
- TCP 연결 설정 및 HTTP 요청 전송
- 서버 응답 수신 및 웹 페이지 렌더링
이 과정을 통해 웹 브라우저는 도메인 주소를 입력하고, 해당 웹 서버로 데이터를 전송하여 웹 페이지를 받아옵니다.
728x90반응형'컴퓨터과학 > 네트워크' 카테고리의 다른 글
트래픽과 대역폭이 계산방법 (0) 2024.10.10 NAT (Network Address Translation)란? - 수정중 (0) 2024.04.30