물음표 살인마의 개발블로그

Back-End TIL/네트워크

웹 통신의 큰 흐름

BEstyle 2023. 3. 14. 16:16

https://www.google.com/을 접속할 때 일어나는 일

 

1. 사용자가 웹 브라우저를 통해 https://www.google.com에 에 접속합니다.

2. 브라우저는 해당 사이트의 URL을 DNS(Domain Name System) 서버에 요청하여 IP 주소를 받아옵니다.

3. 브라우저는 받아온 IP 주소를 통해 웹 서버에 SSL 핸드쉐이크를 요청합니다. (서버와 클라이언트 간의 통신을 위한 세션 키를 생성하기 위해 이루어집니다.)

4. 서버는 브라우저의 SSL 핸드쉐이크 요청을 받아서, 서버의 공개키, 인증서, 서버 구성 정보 등을 클라이언트에게 전달합니다.

5. 브라우저는 서버에서 전달받은 인증서를 확인하고, 신뢰할 수 있는 인증기관(CA)에서 발급한 것인지를 검증합니다.

6. 인증서 검증이 완료되면, 브라우저와 서버 간에 TLS(Transport Layer Security) 프로토콜을 사용하여 암호화된 통신을 시작합니다.

7. 브라우저는 사용자가 요청한 데이터를 SSL 프로토콜로 암호화하여 서버에 전송합니다.

8. 서버는 전송받은 데이터를 SSL 프로토콜로 복호화하여 요청에 맞는 데이터를 브라우저에 전송합니다.

9. 브라우저는 전송받은 데이터를 화면에 표시합니다.

 

OSI 7계층은 네트워크 통신 과정을 7개의 계층으로 분류하여 관리합니다.

HTTPS 요청과 응답에 대한 계층은 5계층과 7계층입니다.

 

5계층인 세션 계층은 컴퓨터 간의 연결을 유지하고 관리하는 역할을 합니다. 이 계층에서는 TLS 프로토콜을 사용하여 연결을 관리합니다.

 

7계층인 응용 계층은 사용자가 직접 접하는 웹 브라우저와 서버간의 통신을 관리합니다. 이 계층에서는 HTTP 프로토콜을 사용하여 데이터를 주고받습니다. 또한 HTTPS 프로토콜을 사용하여 데이터를 암호화하여 전송합니다. SSL 인증서를 이용하여 서버의 신원을 검증하고, 인증된 서버와 클라이언트 간에는 공유 비밀키를 통해 데이터를 암호화하여 전송합니다.

 

OSI 7계층에서 5계층 세션 계층과 7계층 응용 계청은 HTTPS 요청과 응답에 사용되는 프로토콜을 관리합니다. 세션 계층은 TLS 프로토콜을 사용하여 연결을 관리하고, 응용 계층은 HTTPS 프로토콜을 사용하여 데이터를 주고 받습니다. 이를 통해 안전하고 보안성이 높은 웹통신이 이루어집니다.

 

 

 

OSI 8계층 관점에서 HTTPS를 사용하여 https://www.google.com에 에 접속하는 과정:

1. 응용 계층에서는 HTTP 요청 메시지가 생성되고, 세션 계층에서 TLS 핸드쉐이크를 위한 세션을 설정합니다.

2. 전송 계층에서는 TCP 프로토콜을 사용하여 HTTP 요청 메시지를 분할할고, 데이터의 전송을 관리합니다.

3. 네트워크 계층에서는 요청 메시지가 전송될 최적의 경로를 결정하고, 데이터를 전송합니다.

4. 데이터 링크 계층에서는 MAC(Media Access Control) 주소를 이용하여 데이터를 전송합니다.

5. 물리 계층에서는 데이터를 전기적 신호로 변환하여 물리 매체를 통해 전송합니다.