2d3k / CS-Study

기본을 소홀히 하지 말자!!
0 stars 1 forks source link

[Network] TCP / UDP #43

Open 2d3k opened 1 year ago

2d3k commented 1 year ago

특징은?

2d3k commented 1 year ago

TCP의 특징:

연결 지향 (Connection-oriented): TCP는 통신을 시작하기 전에 송신자와 수신자 간에 연결을 설정하고, 통신이 끝나면 연결을 정상적으로 종료하는 과정을 거칩니다. 이에 따라 데이터의 전송이 신뢰성 있게 이루어집니다.

데이터 전송의 신뢰성 (Reliable data delivery): TCP는 데이터의 전송이 확실하게 이루어져야 함을 보장합니다. 데이터의 손실이나 손상이 발생하면 재전송을 요청하고, 데이터의 순서를 보장하기 위해 순서 번호를 사용합니다.

흐름 제어 (Flow control): TCP는 수신자의 버퍼 상태를 모니터링하여 데이터의 과다 전송을 방지하고, 수신자가 처리할 수 있는 속도에 맞추어 데이터를 전송합니다.

혼잡 제어 (Congestion control): TCP는 네트워크 혼잡을 감지하고, 혼잡한 네트워크에서의 데이터 전송을 조절하여 네트워크의 혼잡을 완화합니다.

패킷 단위의 전송 (Packet-oriented): TCP는 데이터를 작은 단위의 패킷으로 나누어 전송하고, 수신자가 패킷을 재조립하여 데이터를 복원합니다.

UDP의 특징:

비연결 지향 (Connectionless): UDP는 연결 설정 과정 없이 데이터를 전송하므로, TCP와 달리 데이터의 송신자와 수신자 간에 연결을 설정하거나 연결을 종료할 필요가 없습니다.

데이터 전송의 비신뢰성 (Unreliable data delivery): UDP는 데이터의 전송이 보장되지 않습니다. 데이터의 손실이나 손상이 발생할 수 있고, 순서가 보장되지 않습니다.

흐름 제어와 혼잡 제어 없음 (No flow control and congestion control): UDP는 흐름 제어나 혼잡 제어를 수행하지 않습니다. 따라서 네트워크 혼잡이나 수신자의 처리 능력에 따른 전송 조절이 이루어지지 않습니다. 패킷 단위

hyeonayou commented 1 year ago

TCP와 UDP는 모두 인터넷 프로토콜 스택에서 사용되는 프로토콜이며, 데이터를 전송하는 데 사용됩니다.

TCP(Transmission Control Protocol)는 신뢰성있는 전송을 보장하는 연결형 프로토콜입니다. 데이터를 전송하기 전에 연결을 설정하고, 전송 중에는 데이터의 손실이나 손상이 있을 경우 재전송을 시도하여 데이터의 정확성을 보장합니다. TCP는 데이터 전송의 신뢰성과 안정성을 보장하기 위해 많은 오버헤드와 제어 정보를 사용하므로 전송 속도가 느릴 수 있습니다.

UDP(User Datagram Protocol)는 비연결형 프로토콜로, TCP와는 달리 연결 설정이나 데이터 전송 중의 오류 복구를 보장하지 않습니다. UDP는 데이터 전송을 위한 최소한의 오버헤드만 사용하므로, 전송 속도가 빠르고 적은 오버헤드로 많은 양의 데이터를 빠르게 전송할 수 있습니다. 그러나 데이터의 정확성과 안정성을 보장하지는 않습니다.