배이빗의 공부 공간

TCP 와 UDP 본문

보안/보안관제

TCP 와 UDP

배이빗 2023. 1. 25. 16:32

TCP?

애플리케이션에서 보낸 데이터를 신뢰성 있게 수신 측에 전송을 보장하는 프로토콜

 

TCP 특징

1. 연결형 (connnection-oriented) 서비스로 연결이 성공해야 통신이 가능하다.

2. 데이터의 경계를 구분하지 않는다. (바이트 스트림 서비스)

3. 데이터의 전송 순서를 보장한다. (데이터의 순서 유지를 위해 각 바이트마다 번호를 부여)

4. 신뢰성 있는 데이터를 전송한다. (Sequence Number, Ack Number를 통한 신뢰성 보장)

5. 데이터 흐름 제어 (수신자 버퍼 오버플로우방지) 및 혼잡 제어(패킷 수가 과도하게 증가하는 현상 방지)

6. 연결의 설정(3-way handshaking)과 해제(4-way handshaking)

7. 전이중(Full-Duplex), 점대점(Point to Point) 서비스

 

TCP 헤더 구조

 

 Source Port (16 bit):

- 출발지 포트번호

 Destination Port (16 bit):

- 목적지 포트번호

 Sequence Number (32 bit) :

- byte 단위로 순서화 되는 번호 (TCP 세그먼트의 첫번째 byte에 부여됨)이며 이것을 통해 신뢰성(3Way Handshake) 및 흐름제어(sliding Window) 기능을 제공

 Acknowledgment Number (32 bit) :

- 수신하기를 기대하는 다음 byte 번호 (마지막으로 수신에 성공한 번호의 +1)

 Offset (4 bit) :

- TCP 헤더 길이를 4바이트 단위로 표시한다. TCP헤더는 최소 20, 최대 60 바이트이다

 Reserved (4 bit) :

- 예약된 필드, 현재 사용되지 않음

 Window size (8 bit) :

- 자신의 수신 버퍼 여유용량 크기를 통보하여 얼마만큼의 데이터를 받을 수 있는지 상대방에게 알려주어 흐름제어를 수행하게 되는 필드

 Checksum (16bit):

- TCP 세그먼트의 내용이 유효한지 검증하고 손상 여부를 검사 할 수 있다.

 Urgent Pointer (16 bit):

- 현재의 순서 번호부터 긴급포인트에 표시된 바이트 까지가 긴급한 데이터임을 표시한다. (URG 플래그 있을 때만 사용)

 Option (0~40 byte):

- 최대 세그먼트 사이즈 지정 등 추가적인 옵션이 있을 경우 표시한다.

 

 Flags (8 bit):

- 제어비트(Control bits) 라고도 하며, 세그먼트의 종류를 표시하는 필드이다.

 

Flags 종류

종류 내용
Urgent 긴급 비트, 긴급하게 처리해야 하는 데이터가 들어 있다는 뜻
Ack 승인 비트, 받는 사람이 보낸 사람의 시퀀스 넘버에 TCP계층에서 길이 또는 데이터 양을 더한 것과 같은 ACK를 보냄
Push  밀어 넣기 비트, 버퍼가 채워지길기다리지 않고 데이터를 전달함
Reset 초기화 비트, 상대방과 연결이 되어있는 상태에서 어떤 문제 등이 발생하여 연결 상태를 리셋 하게 됨
Syn 동기화 비트, 상대방과 연결을 시작할 때 무조건 사용되는 플래그
Fin 종료 비트, 세션을 종료 시키는 데 사용

 

UDP ?

- 인터넷에서 정보를 주고받을 때, 서로 주고받는 형식이 아닌 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜

 

UDP 특징

- UDPTCP와 다르게 비연결성을 가진다

- 수신 측이 제대로 도착하였는지 확인 여부를 보장하지 않는 비신뢰성 서비스

- 사용자 데이터를 데이터 그램에 포함해 전송한다.

 

UDP 헤더구조

- UDP 헤더의 Checksum을 통해서(옵션) 헤더와 데이터 모두 포함한 사용자 데이터 그램 전체에 대한 오류를 탐지한다.

 

체크섬 필드에서 tcp와의 차이점

- 송신지에서 계산되고 목적지에서 검사됨

- 목적지에서 체크 섬 에러 발견 시, 즉시 폐기

- UDP에서 Checksum은 옵션으로 사용됨.

- TCP와 달리 에러복구를 위한 필드가 존재하지 않음

 

TCP  vs UDP 차이점 

  TCP UDP
연결 연결지항형 프로토콜 비 연결지향형 프로토콜
제어 흐름제어, 오류제어, 혼잡제어 없음
방향 양방향 전송 단방향전송
신뢰성 있음 없음(비교적 빠름)
응용계층 TELNET, FTP, SMTP , HTTP DNSM, SNMP, TFTP, NFS
단위 세그먼트 데이터그램

 

 

 

 

 

'보안 > 보안관제' 카테고리의 다른 글

Firewall, IDS, IPS, DDOS  (0) 2023.06.01
계층별 프로토콜  (0) 2023.05.13
허브의 종류  (0) 2023.05.08
계층별 장비  (0) 2023.05.08
OSI 7계층  (0) 2022.11.20
Comments