IT 기술/네트워크

TCP 전송계층 프로토콜

gooooooood 2024. 11. 22. 14:57
반응형

Ⅰ. TCP 전송계층 개념

가. TCP의 정의

- OSI 7계층의 4계층으로 네트워크를 상호 연결시켜 정보를 전송할 수 있도록 하는 프로토콜의 집합

 

나. TCP 특징

3-way handshake Syn, Syn/Ack, Ack를 통한 양방향 세션 생성 및 접속 유지
흐름제어 전송 송도 향상 및 네트워크 호스트간 패킷 흐름 제어를 위한 슬라이딩 윈도우 알고리즘 사용
혼잡제어 신뢰성 향상을 위해 네트워크 대역폭 혹잡에 따른 AIMD(Additive Increase / Multicative Decrease), 빠른 재전송, 빠른 회복 알고리즘 사용

 

다. TCP 주요 기능

주요 기능 설명
연결 제어 - TCP 사용하는 동안 두 종단 응용 프로그램 사이에 가상회선 생성
- 송수신 제어용 비트 ACK, SYN, FIN 활용하여 연결 제어
순서 제어 - 송신측과 수신측 순서 번호 동기화하여 패킷 전송시 동기화된 번호에 맞춰 증가
흐름 제어 - 송신측이 수신측 처리속도보다 딸리 데이터 보내지 못하도록 제어
- 수신측 데이터의 overflow를 송신측에 통보하여 흐름 제어
혼잡 제어 - 네트워크에 대기하는 패킷 수를 줄여 혼잡을 방지하고 제어하는 기법
오류 제어 - 에러검출: 수신 패킷에 에러가 존재하는지 여부 식별하는 기법
- 에러정정: 수신 패킷에 에러가 존재시 정상패킷으로 보정하는 기법

 

라. TCP 제어 플래그 종류

제어 플래스 의미 설명
URG (Urgent) Urgent Pointer 값 존재 - 긴급 비트 URG가 1이면 순서 상관없이 먼저 송신
ACK (Acknowledgement) 확인 응답 번호 세팅 - 1이면 확인번호 유효, 0이면 확인번호 미포함
PSH (Push) 버퍼링 데이터 즉시 전달 - 버퍼 기다리지 않고 즉시 응용프로그램에 전달
RST (Reset) 연결 회선 강제 리셋 - 연결 상의 문제 발견한 장비가 강제 리셋 요청
SYN (Synchronize) 연결설정 순서번호 동기화 - 연결 요청: SYN 1, ACK 0
- 연결 허락: SYN 1, ACK 1
- 연결 설정: ACK 1
FIN (Finish) 송식 데이터 보내기 끝 - 종료 요청: FIN 1
- 종료 응답: FIN 1, ACK 1

 

Ⅱ. 3-way handshake와 4-way handshake 설명

가. 3-way handshake

step 1 - Client -> SYN -> Server
- 클라이언트가 서버에서 접속 요청 SYN 플래그 전송
step 2 - Server -> SYN + ACK -> Client
- 서버는 SYN을 받고 SYN + ACK를 클라이언트에게 전송
step 3 - Client -> ACK -> Server
- SYN + ACK 확인한 클라이언트는 서버에게 ACK 보내고 연결 성립

 

나. 4-way handshake

step 1 - Client -> FIN -> Server
- 클라이언트가 연결 종료 FIN 플래그를 전송
step 2 - Server -> ACK -> Client
- FIN 받은 서버는 클라이언트에게 확인 ACK 전송
step 3 - Server -> FIN -> Client
- 종료 준비가 된 서버는 클라이언트에게 FIN 플래그 전송
step 4 - Client -> ACK -> Server
- 클라이언트는 접속 해지 준비된 ACK 서버에 전송

- TIME-WAIT 상태의 클라이언트는 에러로 종료가 지연되더라도 일정 시간 초과시 접속 종료

 

 

Ⅲ. TCP와 UDP 비교

구분 TCP UDP
특징 연결지향형 프로토콜 비 연결지향형 프로토콜
연결 방법 바이트 스트림 메시지 스트림
제어 혼잡제어, 흐름제어 제어 지원하지 않음
속도 상대적으로 느림 상대적으로 빠름
전송 순서 순서 보장 순서 보장되지 않음
신뢰성 신뢰성 높고 안정적 데이터 전송 보장하지 않음
패킷 세그먼트 데이터 그램
사용 분야 HTTP, Email, File transfer
(전자우편, 파일전송)
DNS, Broadcasting
(도메인, 실시간 동영상 서비스)

- 신뢰성이 중요할땐 TCP, 연속성이 중요할땐 UDP 사용

 

반응형

'IT 기술 > 네트워크' 카테고리의 다른 글

모바일 엣지 컴퓨팅  (0) 2024.11.22
서비스 프리미티브 (Service Primitive)  (0) 2024.11.22
QoS (Quality of Service)  (0) 2024.11.19
라우팅 프로토콜 RIP, OSPF  (0) 2024.11.19
OSI 7 계층  (0) 2024.09.11