TCP / UDP 라는 단어는 많이 보았기에 낯설지는 않다. 하지만 이게 무엇이냐 물어볼때는 말문이 막히게 된다.
네트워크면에서 중요하다고 생각이 들고, 면접의 단골 질문이라고 생각이 들어 해당 내용을 알아보려고 합니다.
네트워크를 구성하는 OSI 7계층 중, 4계층에 속하는 전송 계층에서 사용되는 프로토콜이다.
전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하며 데이터 전달을 담당하는 계층이다.
인터넷 상에서 데이터를 메세지 형태로 보내기 위해
3계층의 IP와 함께 사용하는 프로토콜이다.
연속성보다 신뢰성이 있는, 비교적 중요한 정보를 전송할때 사용되는 프로토콜이다.
- 연결형 서비스로 연결이 성공해야 통신이 가능합니다.
- 3-way handshake 과정을 통해 연결을 하고, 4-way handshake를 통해 연결을 해제합니다.
- 데이터 흐름 제어 및 혼잡 제어
- 데이터 흐름 제어 : 수신자의 버퍼 오버플로우를 방지
- 혼잡 제어 : 패킷 수가 과도하게 증가하는 현상을 방지
- 높은 신뢰성을 보장한다
- 데이터의 순서를 유지해 각 바이트마다 번호를 부여해 해당 순서를 보장하며 전달
- UDP보다 속도가 느리다
- 전이중 (Full-Duplex), 점대점(Point to Point) 방식
전송계층의 비연결 지향적 프로토콜
비연결 지향적 : 데이터를 주고 받을 때 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식
비연결 지향적이라는 특징 덕분에
빠른 전송을 할 수 있지만
데이터 전달의 신뢰성은 매우 떨어집니다.
- 비연결형 서비스로 연결 없이 통신이 가능하며 데이터그램 방식을 제공한다.
- 정보를 주고 받을 때, 신호 절차를 거치지 않는다.
- 신뢰성이 없는 데이터를 전송한다.
- 패킷 오버헤드가 적어 네트워크 과부화가 감소된다.
- TCP보다 전송속도가 빠르다.