본문 바로가기

Network, Security

TCP/UDP 차이점 [Network]

TCP

UDP

Connection-oriented protocol

(연결지향형 프로토콜)

1:1로 연결 상태를 유지하여 통신하는 것을 말합니다.

Connection-less protocol

(비 연결지향형 프로토콜)

연결 설정행위 없이도 두 호스트 시스템 간에 트래픽을 교환할 수 있는 방식입니다.

connection by byte stream

(바이트 스트림을 통한 연결)

한 번에 한 바이트씩 연속적으로 전송되는 데이터의 흐름과 같이 끊임없이 연속되는 바이트 열입니다.

connection by message stream

(메시지 스트림을 통한 연결)

데이터그램(메시지) 단위로 전송되며 크기는 65535바이트로, 크기가 초과하면 잘라서 보내집니다.

congestion control, flow control

(혼잡제어, 흐름제어)

혼잡제어 : 송신 측에서 ACK 수신 여부로 네트워크 상황을 판단하여 송신 데이터 크기를 조절하여 혼잡상황 제어 기법입니다.

흐름제어 : 송신측과 수신측의 데이터 처리 속도 차이를 해결하기 위한 기법입니다.

no congestion control, flow control

(혼잡제어, 흐름제어 지원하지 않음)

해당 두 개의 기능을 지원하지 않습니다.

ordered, lower speed

(순서 보장, 상대적으로 느림)

네트워크 경로상의 문제로 인하여 먼저 전송한 데이터가 나중에 전달될 수 있습니다. 순서가 뒤바뀐 패킷을 원래대로 조립하여 수신자에게 전송되게 됩니다.

손실된 데이터가 있을 경우 재전송을 요청하게 되고 패킷에 대한 응답을 해야하기 때문에 UDP에 비하여 느립니다.

not ordered, higher speed

(순서 보장되지 않음, 상대적으로 빠름)

순서가 보장되지 않고 순서확인, 오류 확인 등의 과정이 없기 때문에 TCP에 비해 빠릅니다.

reliable date transmission

(신뢰성 있는 데이터 전송, 안정적)

3-way handshaking 과정으로 목적지와 수신지를 확실히 하고 정확한 전송을 보장합니다.

unreliable data transmission

(신뢰성 있는 데이터 전송을 보장하지 않음)

3-way handshaking 과정이 없고 CheckSum 필드를 통해 최소한의 오류만 검출하기 때문에 신뢰성이 낮습니다. 또한 패킷 재조립과 재전송 기능이 없습니다.

TCP packet : segment

(TCP 패킷은 세그먼트)

UDP packet : datagram

(UDP 패킷은 데이터 그램)

TCP 사용 : HTTP, Email, File transfer

UDP 사용 : DNS, Broadcasting

TCP는 패킷의 재조립, 데이터 오류 발생 시 재전송, 3-way handshaking을 통한 송·수신자 확립, 흐름 제어, 혼잡 제어 등의 높은 신뢰성을 보장하지만 위의 과정으로 인해 비교적 느린 속도를 갖고 있습니다.

UDPCheckSum 필드를 통해 최소한의 오류만 검출하여 신뢰성있는 전송은 힘들지만 비교적 빠른 속도로 통신이 가능합니다.

 

반응형

'Network, Security' 카테고리의 다른 글

SIEM(Security Information and Event Management)  (0) 2020.12.27
UTM(Unified Threat Management) - 통합 위협 관리  (0) 2020.12.27
FTP [Passive / Active]  (0) 2020.12.26
방화벽이란?  (0) 2020.12.25
SSL 세션 생성 과정 [Network]  (0) 2020.03.20