2025-04-11 12:06:11

TCP/IP 프로토콜 스택

 

  • Link 계층
    • 물리적인 영역을 담당
    • LAN의 MAC 프로토콜과 WAN의 L2 프로토콜 영역

 

  • IP 계층
    • 네트워크를 통한 데이터 전송을 담당한다
    • IP 주소를 사용, 경로를 선택해서 목적지로 라우팅함

 

  • TCP/IP 계층
    • TCP에서 IP를 사용하여 데이터 전송
    • IP는 오직 한 패킷의 전송에만 관심을 둠
    • TCP는 데이터의 수신을 확인하는 메커니즘을 사용

 

  • 응용 계층
    • 소켓을 이용한 프로그램의 구현을 의미한다

 

TCP 서버에서의 기본적인 함수 호출 순서

  • 연결 요청 대기 상태로의 진입
  1. listen 함수는 전달되는 인자의 소켓을 서버 소켓이 되세 한다
  2. listen 함수는 연결 요청 대기 큐를 생성한다.

sock : 연결 요청 대기상태에 두고자 하는 소켓의 파일 디스크립터, 디스크립터 소켓의 서버 소켓이 된다

backlog : 연결요청 대기 큐의 크기 정보

 

  • 연결요청 수락하기
  1. 연결요청 대기 큐에 존재하는 클라이언트의 연결 요청 수락

sock : 서버 소켓의 파일 디스크립터

addr : 연결 요청한 클라이언트의 주소 정보를 담을 변수의 주소 값 전달. 함수 호출이 완료되면 인자로 전달된 주소의 변수에는 클라이언트의 주소 정보가 채워짐

addrlen : addr에 전달된 주소의 변수 크기를 바이트 단위로 전달

 

Iterative 기반의 서버, 클라이언트의 구현

  1. Iterative 서버 : 반복해서 클라이언트의 요청을 처리한다

  1. 에코 서버/클라이언트의 기능 : 클라이언트가 전송해주는 데이터를 그대로 되돌려 전송해주는 기능의 서버

 

 

TCP 기반의 데이터 전송의 특징

  • 한번의 데이터 전송함수 호출이 늘 하나의 패킷을 형성하는 것은 아님
  • TCP는 연결지향 프로토콜로 전송되는 데이터의 경계가 없음
  • 한번에 write()를 사용하여 "ABCD" 문자를 전송할지라도, 그 데이터들이 하나의 패킷을 형성하여 전송되는것은 아님

 

 

'TCP_IP 공부' 카테고리의 다른 글

TCP/IP 7주차 (UDP)  (0) 2025.04.18
TCP_IP 4주차  (0) 2025.03.28
TCP_IP 2차시  (0) 2025.03.21
TCP_IP 1주차  (0) 2025.03.14