TCP, UDP

0

CS Note

목록 보기
5/7

TCP프로토콜(Transmission Control Protocol)

프로토콜은 클라이언트와 서버가 정보를 교환할 수 있도록 하는 
메시지 형식 대한 규칙. 

수신 호스트가 전송 받은 메시지를 이해하려면 설계된 규칙에 따라 
작성된 데이터 형식이어야 한다는 말

IP(Internet Protocol)인터넷 프로토콜로서 복잡한 인터넷 망 속에서 클라이언트와 서버 간에 통신할 수 있게 IP 주소와 패킷과 같은 규칙을 통해 통신을 하게 하는 것이라면,

TCP(Transmission Control Protocol)는 IP 규칙으로만 통신하기에 부족하거나 불안정하던 여러 단점들(패킷 순서가 이상하거나 패킷이 유실)을 커버해, 패킷 전송을 제어하여(전송흐름 제어) 신뢰성을 보증하는 프로토콜로 보면 된다.

즉 정보가 올바르게 도착했는지 정확히 누구에게 전달되야하는지 하나하나 따진다고 생각하면 된다.

그래서 은행 업무나 메일과 같은 반드시 수신자가 정보를 받아야하는 신뢰성 있는 통신이 필요할때 사용된다.



TCP는 신뢰성 프로토콜 답게, 전송 하기전에 목적지가 무사한지 미리 확인하고 전송 끝나고도 또 확인도 해주는 프로토콜이다. 통신을 시작할 때와 종료할 때 서로 준비가 되어있는지를 반드시 미리 먼저 물어보고 패킷을 전송할 순서를 정하고 나서야 본격적인 통신을 시작하기 때문이다.
이러한 과정이 handshake 과정!

*핸드쉐이크: 정보기술과 전기통신 및 관련 분야에서 채널에 대한 정상적인 통신이 시작되기 전에 두 개의 실체 간에 확립된 통신 채널의 변수를 동적으로 설정하는 자동화된 협상 과정(악수..핸드쉐이크..협상..통신의 양측 간에 조건에 합의해 가는 정보 교환과정)

[요약]

  • 호스트간 데이터의 전송 신뢰성이 보장된 프로토콜
    *ip는 비신뢰성 전송프로토콜(즉, IP는 통신시 패킷을 수신지까지 보내기는 하지만 반드시 그 패킷이 도착한다는 보장이 없다.)​

  • 연결형 서비스를 지원하는 전송계층 프로토콜
    *연결형 서비스 의미: 송신자와 수신자 사이의 논리적인 연결을 확립하고 데이터를 전송하는 방법으로 패킷들의 순서가 맞지 않을 위험이 적고 오류 발생 시 재전송을 하여 신뢰성 있는 전송이라고 할 수 있다.

**참고블로그: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jk130694&logNo=220731561157

UDP 프로토콜(User Datagram Protocol)


Keyword: 비연결성(송신자와 수신자 사이에 연결을 확립X)​, 비신뢰성, 비순서화

이름에서도 알 수 있듯이 데이터그램 방식(데이터 전송 전에 송/수진자 사이에 가상 회선이라 불리는 논리적 경로를 설정하지 않고, 패킷들이 각기 독립적으로 전송되는 방식)을 사용하는 프로토콜이기 때문에 애초에 각각의 패킷 간의 순서가 존재하지 않는 독립적인 패킷을 사용한다.

데이터그램 방식은 패킷의 목적지만 정해져있다면 중간 경로는 어딜 타든 신경쓰지 않기 때문에 핸드쉐이크 과정 같은 연결 설정이 필요 없게 된다. 즉, UDP는 신뢰성을 확보하기 위해 거치던 TCP의 과정을 거치지 않기 때문에 속도가 더 빠를 수 밖에 없다는 것이다. 그래서 UDP는 실시간 영상 스트리밍과 같은 고용량 데이터를 다루는 곳에 이용된다.

[내용정리]

  • 비연결형 서비스를 지원하는 전송계층 프로토콜

  • 신뢰성이 낮은 프로토콜(비신뢰성): 오류도 못찾으니..

  • 일방적으로 데이터를 전달하는 통신 프로토콜
    ; 보내는 쪽에서는 받는 쪽이 데이터를 받았는지 받지 않았는지 확인할 수 없고, 또 확인할 필요도 없도록 만들어진 프로토콜 전송 계층의 통신 프로토콜의 하나 (TCP에 대비됨)

  • 실시간 응용 및 멀티캐스팅 가능

    • 빠른 요청과 응답이 필요한 실시간 응용에 적용
    • 여러 다수 지점에 전송 가능 (1:多)

TCP/UDP 차이점 요약

가장 큰 차이점: TCP는 신뢰성이 높고 속도가 느리다 와 UDP는 신뢰성이 낮고 속도가 빠르다

  • UDP는 TCP와 달리 데이터의 수신에 대한 책임을 지지 않는다.
  • TCP보다 안정성 면에서는 떨어지지만, 속도는 훨씬 빠르다.


참고자료
https://www.stevenjlee.net/2020/06/29/%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-tcp-%EC%99%80-udp-tcp-vs-udp/

https://velog.io/@tyjk8997/TCP%EC%99%80-UDP

profile
정리하는게 공부가 될 지 모르겠지만, 정리를 하면 마음만큼은 편해

0개의 댓글

관련 채용 정보