이것저것

도메인 검색시 일어나는 흐름 본문

Network

도메인 검색시 일어나는 흐름

nays111 2021. 4. 30. 13:11

1. 요청 전 준비 단계, 가정

- www.naver.com URL 을 입력하고 엔터를 눌르면, DNS 서버를 통해 이 도메인의 IP 정보를 가져온다.

- URL 내의 포트 번호가 없다면, 기본값으로 HTTP (80), HTTPS (443) 를 사용한다.

- 현재 naver는 HTTPS 프로토콜을 사용하고 있다. 그러므로, 실제 데이터를 주고 받기 전에 전송 게층에서 3-way handshake 를 통해 TCP 연결을 수립한 이후, 보안 계층 (SSL/TLS) 에서 정보를 암호화하기 위한 HandShake 과정이 선행되어야 한다.


2. Client PC -> Web Server 로의 데이터 요청 과정

2.1 PC에서의 Capsulation 과정

(1) 응용 계층

- GET /www.naver.com HTTP/1.1~~~ 와 같은 HTTP 메시지를 전송 계층에 전달한다.

- (HTTP 요청 메시지는 크게 시작줄(명령), 헤더, 요청 본문으로 구성)

 

(2) SSL (Secure Socket Layer)

- 현재 naver는 https를 사용하고 있으므로, 전송 계층으로 가기 전에 TCP/IP 네트워크 통신 간 보안을 제공하는 SSL 계층을 통과한다.

- 비대칭키 방식을 사용하여 정보를 암호환다.

 

(3) 전송 계층

- 응용계층(혹은 SSL 층)에서 받은 메시지에 TCP Header에 붙힌다.

- TCP Header에는 어느 애플리케이션 데이터를 보내야 하는지에 대한 정보를 담고 있다.

- 구체적으로 출발지 포트 번호, 목적지 보트 번호 정보를 담고 있다.

- 출발지는 1025~66535 중 랜덤 선택, 목적지의 경우 HTTPS 를 사용하고 있으므로 443 이다.

- TCP Header정보를 붙인 Segment 를 네트워크 계층에 전달한다.

 

(4) 네트워크 계층

- 전송 계층에서 받은 Segment에 출발지 IP 주소와 목적지 IP 주소 정보를 담은 IP Header를 추가하여, IP Packet을 만들고 데이터 링크 계층으로 전달한다.

 

(5) 데이터 링크 계층

- 네트워크 계층에서 받은 IP 패킷에 출발지의 MAC 주소, 목적지의 MAC 주소를 담은 Ethernet Header를 만든다.

- 데이터 전송 도중 오류 발생 여부를 확인하는 용도인 FCS (Frame Check Sequence)를 만든다.

- IP Packet 앞에 Etheret Header를 붙히고, 끝에 FCS를 붙혀 Ehternet Frame을 만들고 물리 계층으로 전달한다.

(6) 물리 계층

- Ethernet Frame을 전기 신호로 변환하여 Switch A로 전송한다.

 

 

Comments