CLOUD/Infrastructure

[인프라 구조 #3] 애플리케이션 프로토콜과 Socket

헐리 2021. 10. 20. 15:47

사용자 공간을 처리하는 애플리케이션 프로토콜

1. 요청을 보내는 애플리케이션이 socket에 데이터를 기록

2. socket에 기록된 데이터는 다른 한쪽의 socket으로 전달됨

→ 즉, 애플리케이션 자체가 통신 구조를 가지지 않고서도 원격지에 있는 서버 애플리케이션과 통신 가능

 

Socket을 처리하는 커널 공간 (Socket이 만들어지는과정)

1.애플리케이션 프로세스가 네트워크 통신을 하는 경우, 커널에 TCP/IP로 통신하기 위해 상대방 애플리케이션과 통신할 수 있는 회선을 열어달라고 의뢰 (시스템 콜)

※이 때 접속 대상 서버의 IP주소와 TCP포트 두가지 정보가 필요

2.의뢰를 받은 커널은 소켓을 만들어 줌 (데이터를 기록할 준비가 됨)

3.TCP를 사용한다는 것과 IP주소 및 포트 번호 정보를 시스템 콜 경유로 커널에 전달하면, 접속 대상 서버와의 연결이 생성됨

4.3의 과정을 통해 상대방 서버에도 소켓이 만들어지며, 상대 서버와의 사이에 가상 경로(버츄얼 서킷)이 생성됨