본문 바로가기

공부 정리

22.11.08 : TCP, UDP

반응형

TCP와 UDP는 데이터 전달을 담당한다. 이 둘은 포트 번호를 이용해 주소를 지정하는 것과 데이터 오류검사를 위한 체크섬이 존재하는 두가지 공통점을 가지고 있지만 정확성(TCP)을 추구할지 신속성(UDP)을 추구할지 구분하여 나뉜다.

 

데이터를 중요하게 생각해 확실히 주고받고 싶을 때는 'TCP(Transmisson Control Protocol)'을 사용한다. TCP는 통신하는 컴퓨터끼리 '보냈습니다', '도착했습니다' 라고 서로 확인 메시지를 보내면서 데이터를 주고받음으로써 통신의 신뢰성을 높인다. 웹이나 메일, 파일 공유 등과 같이 데이터를 누락시키고 싶지 않은 서비스는 TCP를 사용한다.

 

그에 반해 데이터의 신뢰성은 제쳐두고 어쨌든 빨리 보내고 싶을 땐 'UDP(User Datagram Protocol)'를 사용한다. UDP는 데이터를 보내면 그것으로 끝이므로 신뢰성은 없지만 확인 응답 같은 절차를 생략하므로 신속성을 높인다. 스트리밍 분야, VoIP, mVoIP 등의 실시간성이 보장되어야 하는 분야에서 활용된다. 

 

TCP의 개념, 특징

 

3way handshake 방식 (3번의 요청/응답) : 속도가 느려지는 주 원인

 

연결 지향적 프로토콜. 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는다.

클라이언트가 연결 요청(SYN 데이터 전송)을 하고, 서버가 연결 수락하면 통신 선로가 고정되고, 모든 데이터는 고정된 통신 선로를 통해 순차적으로 전달된다. 때문에 데이터를 정확하고 안정적으로 전달할 수 있다.

패킷(페이로드)을 성공적으로 전송하면 ACK라는 신호를 날리고 이 신호가 제 때 도착하지 않으면 Timeout이 발생해 패킷 손실이 발생한 패킷을 다시 전송해준다. 따라서 통신의 신뢰성이 올라간다. 

 

2. UDP의 개념, 특징

 

 

UDP(User Datagram Protocol)는 전송계층의 비연결 지향적 프로토콜.

데이터를 주고받을때 연결을 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식이다.

연결이 없기 때문에 TCP보다 빠른 전송을 할 수 있지만 데이터의 신뢰성이 떨어진다.

발신자가 데이터 패킷을 순차적으로 보내더라도 이 패킷들은 서로 다른 통신 선로를 통해 전달 될 수 있다.

먼저 보낸 패킷이 느린 선로를 통해 전송되면 나중에 보낸 것 보다 늦게 도착할 수 있으며 최악의 경우 유실될 수도 있다.

이럴경우 UDP는 유실, 변조된 데이터를 재전송 하지 않는다.

 

 

 

Reference 

https://coding-factory.tistory.com/614

 

[Network] TCP / UDP의 개념과 특징, 차이점

전송 계층에서 사용되는 프로토콜 (TCP / UDP) TCP와 UDP는 OSI 표준모델과 TCP/IP 모델의 전송계층에서 사용되는 프로토콜입니다. 전송계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP

coding-factory.tistory.com

 

반응형