TCP
와 UDP
는 OSI 7 계층
의 전송계층 에서 데이터를 보내기 위해 사용하는 프로토콜 이에요.
우선 TCP 부터 알아보도록 할게요.
TCP
의 정의인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
TCP
는 보통 IP
와 함께 사용해요.
IP
가 데이터의 전달 을 맡는다면,
TCP
는 데이터가 전달되는 과정을 추적 및 관리 하는 역할을 맡고 있어요.
연결형 서비스
로 가상 회선 방식 을 제공해줍니다.
(연결형 서비스
이기 때문에 신뢰성이 보장 되기도 합니다.)
3 way - handshaking
과정을 통해 연결을 설정 하고, 4 way handshaking
을 통해 연결을 해제 할 수 있어요.
UDP
보다 속도가 느리다.
흐름 제어
및 혼잡 제어
기능을 합니다.
(TCP
보다 UDP
가 느린 이유에요. 흐름 제어
와 혼잡 제어
는 CPU 를 사용 하기 때문에 성능
에 영향을 끼친답니다. )
추가로 !
TCP 가 가상 회선 방식을 제공해준다는 것은 발신지 와 수신지 를 연결해서 패킷을 전송하기 위한
논리적 경로
를 배정한다는 의미에요.
흐름 제어
와혼잡 제어
작업이 CPU 를 사용하는 이유 ->
전송한 패킷의 상태에 대한 응답 을 해야하기 때문에 CPU를 사용하는 것이고, 그렇기 때문에UDP
에 비해TCP
의 성능이 조금 떨어지게 됩니다.
TCP
는 연속성 보다 신뢰성 이 중요할 때에 사용하는 프로토콜이에요.
파일 전송과 같은 경우에 사용됩니다.
물어볼 수 있는거 !
패킷이란?
TCP 가 패킷을 추적 및 관리하는 방법? 방식?
흐름 제어 와 혼잡 제어 란?
에 대해 생각해보면 좋을듯 하네요.
UDP
의 정의데이터를 데이터 그램( Message ) 단위로 처리하는 프로토콜
UDP 는 TCP 와는 반대로 비연결형 프로토콜이에요.
송신지
와 수신지
의 연결을 위한 논리적인 경로 설정 없이 각각의 데이터 그램( Message )
들이 각각 다른 경로를 통해 데이터가 전송 이 됩니다. 이때 전송되는 데이터 그램 ( Message )
는 각각이 독립적인 관계 를 가지고 있어요.
비연결형 서비스
흐름 제어
및 혼잡 제어
과정이 존재하지 않음
신뢰성
이 낮음
TCP
에 비해 성능이 좋다
UDP
는 비연결형 서비스 이기 때문에, 연결을 설정 하고 해제하는 과정이 존재하지 않아요.
각각의 패킷들을 관리하는 흐름 제어
및 혼잡 제어
과정이 존재하지 않기 때문에 TCP
에 비해 성능도 뛰어나죠.
하지만, 연결형 서비스
가 아니기 때문 에 신뢰성
이 낮다 는 특징이 존재합니다. 그렇기 때문에 신뢰성
보다는 연속성
이 중요한 스트리밍 서비스 와 같은 부분에서 자주 이용됩니다.