👀 Transport Layer
- 응용 계층 바로 아래에 있는 계층
- 대표적인 서비스는 프로세스들 간의 논리적 연결
- 하나의 컴퓨터 안에서는 여러 프로세스가 동시에 기동되고 있다.
- 전송 계층 바로 아래에 있는 네트워크 계층에서는
IP
를 이용해 상대 호스트를 찾아가는데 이것 만으로는 상대방의 어떤 프로세스에게 전달해야 하는지 알 수 없다.
- 그래서 전송 계층에서 여러 프로세스들 중에서 어떤 프로세스에게 전달해야 할 지 알려주는 정보를 제공하는 것이다.
- 전송 계층의 보내는 쪽에서는 보내고자 하는 메세지(파일 등)를 분할한 다음에 세그먼트에 담아서 전송한다.
- 그러면 받는 쪽에서 분할되어 온 세그먼트들을 합친 후에 응용 계층으로 전달한다.
- 이때 사용하는 프로토콜은
TCP
와 UDP
두 가지가 대표적으로 사용된다.
TCP
- 신뢰성 있는 전송
- 보낸 순서대로 전송이 되는데 사실 데이터가 도착하는 순서는 제각각이다. 그걸 순서대로 도착한 것처럼 보이게 만들어서 응용 계층으로 보내는 것이
TCP
가 하는 일이다.
- 데이터를 주고받기 전에 먼저
connection
을 설정한 뒤 둘 사이에 흐르는 데이터들의 에러나 속도를 제어해서 전체적으로 안정적인 서비스를 제공한다.
UDP
- 신뢰성 없는 전송
TCP
에서 제공하는 connection
과 순서 보장 등을 제공하지 않고 전송 계층에서 제공해야 하는 가장 기본적인 서비스만 제공하고 나머지는 아래 계층에 넘기는 방식
- 그래서
TCP
보다는 속도가 빠르다.
출처