공부/CS

[네트워크] 소켓의 실체?

d02 2023. 5. 14. 02:21

소켓

L5와 L4 계층 사이에서 통신하는 인터페이스를 소켓(Socket)이라 부르는데, 이것이 무엇일까?
<성공과 실패를 결정하는 1%의 네트워크 원리> STORY 01의 내용을 정리해보았다.

OS에 내장된 프로토콜 스택이 송신하는 과정

  1. 소켓을 작성한다
  2. 서버에 접속한다
  3. 데이터를 송/수신한다
  4. 서버에서 연결을 끊어 소켓을 말소한다
  5. IP와 이더넷의 패킷 송/수신 동작

image

  • Socket 라이브러리
    • 네트워크 애플리케이션의 아랫부분에 있다.
    • 리졸버는 DNS 서버에 조회하는 동작을 실행한다.
  • 프로토콜 스택
    • OS에 내장된 네트워크 제어용 소프트웨어.
    • 프로토콜 스택과 LAN 어댑터가 브라우저에서 받은 메시지를 서버에 송출하는 동작을 한다.

소켓의 실체는 통신 제어용 제어 정보

  • 먼저, 소켓은 개념적인 것이어서 실체가 없다.
  • 프로토콜 스택은 내부에 제어 정보를 기록하는 메모리 영역을 가지고 있다.
    • 통신 동작을 제어하기 위한 제어 정보를 기록한다.
    • ex 통신 상대의 IP 주소, 포트 번호, 통신 동작의 진행 상태
      따라서 굳이 말하자면 이 제어 정보가 소켓의 실체이다.
  • 소켓에는 통신 동작을 제어하기 위한 여러 가지 제어 정보가 기록되어 있고, 프로토콜 스택은 소켓에 기록된 제어 정보를 참조하면서 움직인다.
반응형