TCP란? UDP란? TCP 와 UDP의 차이에 대해
본문 바로가기
CS

TCP란? UDP란? TCP 와 UDP의 차이에 대해

by 쏠수있어ㅤ 2021. 7. 15.
반응형

Network Edge : Connectionless Service 

hosts ( Clients & Server ), 단말기 

 

컴퓨터들 간의 '대화'가 가능하도록 하는
통신서비스, TCP와 UDP 의
특징과 차이점에 대해 자세히 알아보기 

 

TCP, UDP란 ?

네트워크의 계층들 중 '전송 계층'에서 사용하는 프로토콜, = 데이터를 보내기 위한 프로토콜!

 

 


 

 

TCP란 ? 

Transmission Control Protocol  (Internet's connection-oriented service) 

 

인터넷 상의 컴퓨터들 사이에서 데이터를 메세지 형태로 보내기 위해 IP와 함께 사용되는 프로토콜이다. IP가 실제로 데이터의 배달처리를 진행하는 동안, TCP는 데이터 패킷을 추적 관리한다. Client 컴퓨터 내의 TCP는 각 패킷들을 재조립하고 사용자에게 보낼 하나의 완전한 파일이 될 때까지 기다린다.

TCP는 연결 지향 프로토콜.  ( Connection-oriented service ) 

 

 

* Protocol이란 ?

-> All communication in Internet coordinated by protocols 즉, 사람으로 생각하면 대화! 컴퓨터로 생각하면 서로 대화하기위한 통신 규약! ( = 대화의 약속) 

 

* 패킷, Packet 이란?

-> 인터넷 내에서 데이터를 보내기 위한 라우팅(경로 배정)을 효율적으로 하기 위해 데이터(정보)를 여러개의 조각들로 나누어 전송, 이때 나눠진 조각이  =  패킷 

 

 

 

   TCP의 특징   

 

1. Reliable, in-order byte-stream data transfer -> loss: acknowledgements and retransmissions

[ 높은 신뢰성있는, 내가 보낸 순서를 지키는 전송 ]

 

2. Flow control -> sender won't overwhelm receiver

[ 흐름제어 가능, 받는 receiver가 받을 수 있는 능력 성능, 속도에 맞춰 전달 ]

 

3. Congestion control -> senders slow down sending rate when network congested 

[ 혼잡제어 가능, 네트워크가 막히면 그게 맞춰 속도 조절 ]

 

4. 제공해주는 기능이 많은 만큼 자원 소모가 ↑↑ 

[ Computing resource, Network resource ↑↑ ]

 

5. 연결형 서비스 (Connection-oriented service) 로 가상 회선 방식을 제공 

[ 발신지, 수신지를 연결하여 패킷을 전송하기 위한 논리적 경로를 배정 ]

 

6. 3-way handshaking 과정을 통해 연결 설정하고 4-way handshaking을 통해 해제 

[ 3-way handshaking -> 목적지와 수신지를 확실히 하여 정확한 정보 전송을 보장 ]

 

7. UDP에 비해 많은 기능(CPU 사용), 하지만 같은 이유(CPU사용)로 느린 속도

 

 

8. 전이중 (Full-Duplex), 점대점(Point to point) 방식 

 

 

=> 연속성보다 신뢰성이 있는 전송이 중요할 때 사용한다. 

 

 

 

Congestion control, 혼잡 제어란 ? 

네트워크 내 패킷의 수가 넘치지 않게 방지하는 것. 패킷의 수가 너무 많으면 보내는 패킷의 수를 줄이며
= 혼잡 붕괴 현상을 방지 

 

흐름 제어란 ?

데이터를 송신하는 곳과 받는 곳의 데이터 처리 속도를 제어하여 수신자의 성능, 속도에 맞춰 잘 정보를 수신하도록 만드는 것
= 수신자의 버퍼 오버플로우 방지 

 

 

 

   TCP 사용 예시   

 

1) HTTP Web  : 웹 브라우저 

 

2) FTP (File transfer)  : 파일 전송

 

3) Telnet (remote login) : 원격 로그인

 

4) SMTP (Simple Mail Transfer Protocol)  : email 서비스

 

 

 

 


 

 

 

UDP란?

User Datagram Protocol 

 

IP를 사용하는 네트워크 내에서 컴퓨터들 간에 메세지들이 교환될 때 제한된 서비스만을 제공하는 통신 프로토콜, 데이터를 '데이터그램 단위'로 처리하는 프로토콜이다. TCP와 달리 UDP는 비연결형 프로토콜로 연결을 위해 할당되는 논리적인 경로가 없다. 때문에 각각의 패킷은 다른 경로로 전송되고 이 때 패킷은 독립적인 관계를 가지게 되'다른 경로'로, '독립적으로 처리'가 됩니다. 

 

TCP의 대안이며 IP와 함께 쓰일 때는 UDP/IP 라고도 불린다. 

UDP는 TCP와 다르게 메세지들을 Datagram(패킷)으로 나누고 상대방에게 도착할 때 재조립하는 등의 서비스를 제공하지 않으며 순서 또한 제각각이다. 

 

* 데이터그램이란?

-> 독립적인 관계를 지니는 패킷 

 

 

   TCP의 특징   

 

1. Connectionless

[ 비연결형 : 연결이 없다, 데이터그램 방식을 제공 ]

 

2. Unreliable data transfer

[ 신뢰가지않는 데이터 전송, 유실 가능 ]

 

3. No flow control 

[ 흐름 제어가 없다. 받는 쪽의 성능, 속도 고려 X   ->  속도는 빠르긴 하다. ]

 

4. No congestion control 

[ 네트워크 상황 고려 X ]

 

5. 데이터 전송 시 서로 주고 받는다는 신호 절차가 없다. 

[서로 다른 경로로 패킷을 독립적으로 처리 -> 패킷에 부여하는 순서도 없다. ]

 

6. UDP header의 CheckSum 필드를 통해 최소한의 오류만 검출

 

 

7. TCP에 비해 빠른 속도 (기능이 적어서) 

 

 

=> 신뢰성 보다는 '연속성'이 중요한 서비스에 적합하다. ex) 실시간 스트리밍 서비스 

 

 

 

 

  UDP 사용 예시   

 

1) Streaming media

 

2) teleconferencing

 

3) DNS ( Domain Name System ) -> 숫자로 이루어진 네트워크 IP주소를 사람이 이해하기 쉬운 명칭인 도메인 이름으로 상호 매칭시켜주는 시스템. 도메인은 a-z, 숫자, 특수문자인 - 의 조합으로 가능하다. 

 

4) Internet telephony -> 음성전화 (voice call), fax, sms, voice-messaging etc..

실시간 오디오같은 건 전송되는 데이터가 간간히 유실되어도 티가 많이 안난다. 

 

 

 


 

 

TCP vs UDP 최종 비교

 

프로토콜 종류 TCP  UDP
연결 방식
connected or not 
연결형 서비스 비연결형 서비스
패킷 교환 방식
packet 
가상 회선 방식 데이터그램 방식
전송 순서
in order or not 
전송 순서 보장 O 전송 순서 보장 X 
흐름 제어
Flow control
제어함 O  제어 안함 X
혼잡 제어
Congestion control
제어함 O 제어 안함 X
수신 여부 확인
receiver check
수신 여부 확인 O 수신 여부 확인 X 
통신 방식
commucation
1 : 1 통신 1 : 1,   1 : N,  N : N   모두 가능
신뢰성
reliable or not 
좋음 좋지 않음
속도
speed 
느림 빠름
기능 및 자원 소모 기능 많다
-> 자원 소모 많음
기능 적다
-> 자원 소모 적음
사용되는 예시
examples in reality
파인 전송, 영화 다운, 웹 브라우저 사용, email 실시간 스트리밍, 음성전화(보이스 콜), 보이스 메세지, FAX, SMS
결론  중요한 정보, 신뢰성이 필요한 전송 시 TCP를 사용!  조금 유실되도 괜찮다 싶고 연속성이 더 중요하다면 UDP를 사용 ! 

 

 

 

 

TCP vs UDP 결론

TCP는 우편 등기, UDP는 우체통과 비슷하다. 

우편 등기 : 100% 상대방을 찾아 전달 

우체통 : 100% 보장은 아니다. 

 

중요한 내용, 잃어버리면 안되는 정보는 TCP, 

유실 되어도 영향이 크지않는 정보는 UDP

 

왠만해서 우리가 사용하는 것은 TCP 

ex) 파일 전송, 영화 다운 등 

 

 

 

 

 

 

 

 

 


References: http://www.kocw.net/home/search/kemView.do?kemId=1169634 

 

컴퓨터네트워크

인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다.

www.kocw.net

http://www.terms.co.kr/UDP.htm#:~:text=UDP%5B%EC%9C%A0%EB%94%94%ED%94%BC%5D%EB%8A%94%20IP,IP%EB%9D%BC%EA%B3%A0%20%ED%91%9C%ED%98%84%ED%95%98%EA%B8%B0%EB%8F%84%20%ED%95%9C%EB%8B%A4.

 

[텀즈] UDP (User Datagram Protocol)

UDP[유디피]는 IP를 사용하는 네트웍 내에서 컴퓨터들 간에 메시지들이 교환될 때 제한된 서비스만을 제공하는 통신 프로토콜이다. UDP는 TCP의 대안이며, IP와 함께 쓰일 때에는 UDP/IP라고 표현하기

www.terms.co.kr

https://mangkyu.tistory.com/15

 

[TCP/UDP] TCP와 UDP의 특징과 차이

오늘은 네트워크의 계층들 중 전송 계층에서 사용하는 프로토콜에 대해서 알아보려고 합니다. 전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 쉽게 말해 데이터의

mangkyu.tistory.com

 

반응형

댓글