트랜스포트 계층 서비스 및 개요
트랜스포트 계층 프로토콜의 논리적 통신
- 다른 호스트에서 동작하는 애플리케이션 프로세스 간
논리적 통신
을 제공 논리적 통신(logical communication)
- 애플리케이션 관점, 프로세스를 동작시키는 호스트들이 직접 연결된 것처럼 보인다는 의미
- 호스트는 수많은 라우터와 다양한 형태의 링크를 통해 연결되어 있음
→ 이를 통해 서로 다른 지역에 존재할 수 있음
- 애플리케이션 프로세스는 메시지 송신을 하는데 논리적 통신을 사용한다.
← 메시지 운반에 사용되는 인프라스트럭처의 세부사항에 상관없이 메시지를 송신하기 위해서
논리적 통신의 개념(과정)
- 트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌 종단 시스템에서 구현됨
- 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터
수신한 메시지를세그먼트(segment)로
변환시킨다.세그먼트(segment)
: 트랜스포트 계층에서 패킷을 부르는 용어- 변환 과정
- 애플리케이션 메시지를 작은 조각으로 분할
- 각각의 조각에 트랜스포트 계층 헤더를 추가
- 이후, 트랜스포트 계층은 송신 종단 시스템에 있는 네트워크 계층으로 세그먼트를 전달
→ 세그먼트가 네트워크 계층 패킷(데이터그램) 안에 캡슐화되어 목적지로 전달 - 수신 측에서 네트워크 계층은 데이터그램으로부터 트랜스포트 계층 세그먼트를 추출
- 트랜스포트 계층은 수신 애플리케이션에서 세그먼트 내부의 데이터를 이용 가능하도록
수신된 세그먼트를 처리
- 네트워크 애플리케이션은 하나 이상의 트랜스포트 계층 프로토콜 사용 가능
- 예 : 인터넷은 TCP와 UDP 두 가지 프로토콜 모두 사용
트랜스포트 계층과 네트워크 계층 사이의 관계
차이점
- 트랜스포트 계층은 프로토콜 스택에서 네트워크 계층 바로 상위에 존재
- 트랜스포트 계층 → 다른 호스트에서 동작하는 프로세스들 사이의 논리적 통신 제공
- 네트워크 계층 → 호스트들 사이의 논리적 통신을 제공
차이점 집안 이야기로 이해하기
- 두 집안이 동부와 서부에 각각 존재한다.
- 각 집안엔 12명의 아이가 있는데, 동부 집안과 서부 집안의 아이들은 서로에게 편지를 쓴다.
- 즉 각각의 집엔 144통의 편지를 보낸다. (12x12)
- 즉 각각의 집엔 144통의 편지를 보낸다. (12x12)
- 그 아이들은 매주 편지를 쓰고, 따로따로 봉투에 넣어서 일반 우편 서비스로 배달된다.
- 두 집안에는 우편을 수거하고 나눠주는 아이가 한 명씩 존재한다.
- 서부 집안 → 앤
- 동부 집안 → 빌
- 앤과 빌은 매주 우편물을 수거하고, 집배원에게 우편물을 준다. 또한 우편물을 분배한다.
해석
- 앤과 빌은 집안 사이에서 논리적 통신을 제공한다.
← 앤과 빌은 집안 아이들로부터 우편물을 받아서 배달한다. - 봉투 안의 편지 = 애플리케이션 메시지
- 집안 아이들 = 프로세스
- 집 = 호스트(종단 시스템)
- ‘앤’과 ‘빌’ = 트랜스포트 계층 프로토콜
- 우편 서비스(집배원 포함) = 네트워크 계층 프로토콜
집안 이야기로 알아보는 특징
- 트랜스포트 계층 프로토콜(앤과 빌)은 종단 시스템(집)에 존재한다.
- 종단 시스템 안에서 트랜스포트 프로토콜은
애플리케이션 프로세스 ↔ 네트워크 경계(네트워크 계층)
까지만 메시지를 교환 - 트랜스포트 프로토콜은 메시지가 네트워크 계층 내부에서 어떻게 이동하는지 언급 X
- 중간 라우터는 트랜스포트 계층이 애플리케이션 메시지에 추가한 어떤 정보도
인식하지 못하고, 그 정보에 영향을 주지도 않는다.
- 중간 라우터는 트랜스포트 계층이 애플리케이션 메시지에 추가한 어떤 정보도
- 종단 시스템 안에서 트랜스포트 프로토콜은
- 만약, 앤과 빌 대신 다른 집안 아이들 중 하나(수잔과 하비)가 일을 대신한다.
- 그런데 앤과 빌처럼 우편물을 정확하게 수거하거나 배달하지 못한다고 하자.
→ 수잔과 하비는 앤과 빌이 제공하는 것과 같은 서비스를 제공하지 못한다. - 컴퓨터 네트워크는 개별 프로토콜을 갖는 다양한 트랜스포트 프로토콜을 만들 수 있다.
- 애플리케이션에서 서로 다른 서비스를 제공하도록 하기 위한 프로토콜
- 애플리케이션에서 서로 다른 서비스를 제공하도록 하기 위한 프로토콜
- 그런데 앤과 빌처럼 우편물을 정확하게 수거하거나 배달하지 못한다고 하자.
- 우편 서비스가 두 집 사이에 우편물이 배달되는 최대 소요 시간을 제공하지 않을 경우
→ 앤과 빌이 집안 아이들에게 우편물 배달에 대한 최대 소요 시간을 보장 X- 트랜스포트 계층이 제공하는 서비스는 네트워크 프로토콜 서비스 모델에 의해 제약된다.
- 네트워크 프로토콜이 호스트 사이에 전송되는 세그먼트에 대한 지연이나 대역폭 보장 X
→ 트랜스포트 프로토콜은 프로세스끼리 전송하는 메시지에 대해서도 보장 X
- 네트워크 프로토콜이 호스트 사이에 전송되는 세그먼트에 대한 지연이나 대역폭 보장 X
- 하위 네트워크 프로토콜이 서비스를 제공하지 못해도 특정 서비스는
트랜스포트 프로토콜에 의해 제공 가능 → 하위 네트워크 프로토콜이 비신뢰적일 때- 네트워크 프로토콜이 패킷을 분실하거나 손상시키거나 복사본을 만들 때도
애플리케이션에게 신뢰적인 데이터 전송 서비스를 제공할 수 있다. - 네트워크 계층이 세그먼트의 기밀성을 보장할 수 없을 때도, 암호화를 사용할 수 있음
- 네트워크 프로토콜이 패킷을 분실하거나 손상시키거나 복사본을 만들 때도
- 트랜스포트 계층이 제공하는 서비스는 네트워크 프로토콜 서비스 모델에 의해 제약된다.