TCP/IP 소켓

less than 1 minute read

TCP/IP 소켓

  • TCP/IP 모델을 이용하며, 데이터 송수신 시 소켓을 사용한다.
  • 운영체제별로 다루는 방식이 다르다. (리눅스의 경우 소켓도 파일로 취급, 윈도우에서 별개로 취급 등)
  • 네트워크 데이터 전송은 빅 엔디안 방식 으로 통일

서버 소켓

  1. 소켓 생성
  2. 해당 소켓에 IP, PORT 바인딩 (BIND)
  3. 연결 가능한 상태로 변경 (LISTEN)
  4. 연결 요청에 대한 수락 (ACCEPT)

클라이언트 소켓

  1. 소켓 생성
  2. 해당 소켓에 서버 연결 (CONNECT)

소켓의 종류

  • TCP, UDP 소켓은 포트 번호를 공유하지 않으므로 중복사용이 가능

연결지향형 소켓 (TCP) (1 : 1)

  • 독립된 전송라인을 이용해 전송
  • 데이터의 순서가 보장되며, 상대 소켓의 상태를 확인하며 전송하기 때문에 특별한 경우가 아니면 데이터 손실이 발생하지 않는다

비연결지향형 소켓 (UDP)

  • 신뢰성과 순차적 데이터 전송을 보장하지 않는 고속의 데이터 전송을 목적으로 하는 소켓
  • 한번에 전송할 수 있는 데이터의 크기가 제한된다.

TCP/IP 프로토콜 스택

  • 4개의 계층으로 존재

APPLICATION 계층

  • 클라이언트와 서버간의 테이터 송수신에 대한 규칙들이 정해진다.
  • 아래 3 계층을 추상화시켜 사용하는 계층이라고 생각하면 될듯

TCP/UDP 계층 (Transport 계층)

  • IP 계층에서 신뢰성을 보장해주지 못하기 때문에, TCP 계층을 이용해 재전송 등을 해주며 신뢰성을 유지시켜준다.

IP 계층

  • 목적지까지의 경로 선택
  • 오류 발생에 대한 대비가 되어 있지 않은 계층
  • 물리적인 영역에 대한 표준화
  • 네트워크 표준과 관련된 프로토콜 정의

Categories:

Updated: