본문 바로가기
CS/Network

TCP

by JHyun0302 2023. 9. 3.
728x90
  1. 순서제어 : TCP는 순서 번호 존재 (UDP는 순서번호 없음)
  2. 에러 제어(error control): TCP의 헤더에 checksum 이용 (UDP는 에러 검출만 가능)
  3. 흐름 제어(flow control) : 수신자 버퍼 크기 작을 때 수신자는 송신자에게 잔여량 알림
  4. 혼잡 제어(congestion control) : 송/수신자 사이 라우터의 overflow 대비
  5. 전송 계층 프로토콜: TCP (문제를 많이 해결), UDP (문제를 조금 해결)

 

 

 

 

구분 TCP(Transmission Control Protocol) UDP (User Datagram Protocol)
연결 방식 연결성 (CO) 비연결성 (CL)
End-to-End 사이 발생 문제 순서 제어, 에러 제어, 혼잡 제어, 흐름 제어
→ 신뢰성 O
신뢰성 X
네트워크 상태 안 좋을 때 (WAN) 좋을 때 (LAN)
전송 거리 멀 때 가까울 때
전송 데이터 양 길고 많은 데이터 짧고 적은 데이터
실시간 데이터 불리 유리

 

 

 

 

 

TCP 특징

 

1. 명확한 연결 설정 : 3 way handshake

2. Graceful 연결 해제

 

 

 

 

 

3 way handshake & graceful disconnection

 

 

 

 

 

TCP 데이터 단위 : segment

 

 

TCP segment

 

 

  • Port number : 특정 프로세스 식별
                1. Well-known port (잘 알려진 포트) : 0 ~ 1023
                2. Registered port (등록된 포트) : 1024 ~ 49151
                3. Dynamic port (동적 포트) : 49152 ~ 65535

  • Sequence number : segment 내 데이터의 각 바이트에 대해 순서 번호 매김
  • Acknowledgement number : ACK 메시지로 응답 할 때만 사용
  • Header Length : TCP Header를 (4byte)로 나타냄 (word 단위)
  • Reserved : reserved for future use
  • Window Size : 흐름 제어 기법 (credit allocation)에서 사용 (수신부 → 송신부 ACK 보낼때 같이 전송. 잔여 버퍼량(CDT) 알림)
  • Checksum : 오류 검출
  • Urgent Pointer : 송신부가 긴급 데이터 전송 시 전송
  • Flag bit

 

 

URG 긴급 데이터 전송
ACK ACK 전송
PSH 전송지연 없이 데이터를 즉시 상위 계층에 전달
RST 연결 초기화
SYN 연결 요청
FIN 연결 해제

 

반응형

'CS > Network' 카테고리의 다른 글

DHCP, DNS, FTP  (0) 2023.09.03
TCP & UDP  (0) 2023.09.03
ARP & RARP, ICMP  (0) 2023.09.03
Routing Algorithm & IP Protocol  (0) 2023.09.02
WAN, Switching, Routing  (0) 2023.09.02