컴퓨터망
10. Transport 계층
transport 계층 프로토콜이 제공할 수 있는 일반적인 서비스와 이러한 서비스와 관련된 문제를 논의한다
또한 다른 상황에 대응하여 설계된 일부 일반적인 transport 계층 프로토콜의 동작을 설명한다
Transport layer service
여기서부턴 라우터가 개입하지 않는다
Process to Process communication
transport 계층 프로토콜의 첫 번째 의무는 프로세스 간 통신을 제공하는 것이다
프로세스는 transport 계층의 서비스를 사용하는 애플리케이션 계층이다
host to host vs process to process
- 네트워크 계층은 컴퓨터 수준의 통신(호스트 간 통신)을 담당
- 네트워크 계층 프로토콜은 대상 컴퓨터에만 메시지를 전달할 수 있다
- 불완전한 배송
- 메시지는 여전히 올바른 프로세스에 전달되어야 한다
- 여기서 transport 계층 프로토콜이 역할을 한다
- transport 계층 프로토콜은 메시지를 적절한 프로세스로 전달하는 역할을 한다
Port number
- 프로세스를 정의하기 위해서는 IP주소와 PORT 번호가 필요하다
- 클라이언트 프로그램은 자신을 임의의 포트번호로 정의한다
- 서버 프로그램을 자신을 포트번호로 정의한다
- 클라이언트와 같이 임의로 포트 번호를 택할 수 없다
- well known 포트 번호를 사용한다
- destination IP 주소는 여러 호스트 중 호스트를 정의
- 호스트를 선택한 후 포트 번호는 이 호스트의 프로세스 중 하나를 정의
ICANN Ranges
- 포트 번호를 well-known, registered, dynamic(또는 private)으로 나눔
- well-known
- registerd
- 등록되지 않은 포트번호들
- 중복을 방지하기 위해 ICANN만 등록 가능
- dynamic or private
well known 포트 번호는 1024개보다 적다
socket address
TCP는 IP 주소와 포트 번호를 필요로 한다
IP 주소와 포트 번호의 조합을 소켓 주소라고 한다
서버 소켓 주소가 서버 프로세스를 고유하게 정의
클라이언트 소켓 주소는 클라이언트 프로세스를 고유하게 정의