TCP/IP 프로토콜 스택
- Link 계층
- 물리적인 영역을 담당
- LAN의 MAC 프로토콜과 WAN의 L2 프로토콜 영역
- IP 계층
- 네트워크를 통한 데이터 전송을 담당한다
- IP 주소를 사용, 경로를 선택해서 목적지로 라우팅함
- TCP/IP 계층
- TCP에서 IP를 사용하여 데이터 전송
- IP는 오직 한 패킷의 전송에만 관심을 둠
- TCP는 데이터의 수신을 확인하는 메커니즘을 사용
- 응용 계층
- 소켓을 이용한 프로그램의 구현을 의미한다
TCP 서버에서의 기본적인 함수 호출 순서
- 연결 요청 대기 상태로의 진입
- listen 함수는 전달되는 인자의 소켓을 서버 소켓이 되세 한다
- listen 함수는 연결 요청 대기 큐를 생성한다.
sock : 연결 요청 대기상태에 두고자 하는 소켓의 파일 디스크립터, 디스크립터 소켓의 서버 소켓이 된다
backlog : 연결요청 대기 큐의 크기 정보
- 연결요청 수락하기
- 연결요청 대기 큐에 존재하는 클라이언트의 연결 요청 수락
sock : 서버 소켓의 파일 디스크립터
addr : 연결 요청한 클라이언트의 주소 정보를 담을 변수의 주소 값 전달. 함수 호출이 완료되면 인자로 전달된 주소의 변수에는 클라이언트의 주소 정보가 채워짐
addrlen : addr에 전달된 주소의 변수 크기를 바이트 단위로 전달
Iterative 기반의 서버, 클라이언트의 구현
- Iterative 서버 : 반복해서 클라이언트의 요청을 처리한다
- 에코 서버/클라이언트의 기능 : 클라이언트가 전송해주는 데이터를 그대로 되돌려 전송해주는 기능의 서버
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 |