3.1 트랜스포트 계층 서비스 및 개요
- 컴퓨터공학
- 2016. 3. 17. 13:25
3.1 트랜스포트 계층 서비스 및 개요
트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적통신(logical communication)을 제공합니다. 논리적 통신은 애플리케이션 관점에서 보면 프로세스들이 동작되는 호스트들이 직접적으로 연결되어 있지 않음에도 마치 서로 직접 연결된 것처럼 보인다는 것을 의미합니다. 실제로 호스트는 수많은 라우터와 다양한 형태의 링크를 통해 연결되어 지구상의 서로 다른 지역에 있을 수 있습니다. 그런데 애플리케이션 프로세스는 메시지 운반에 이용되는 물리적인 하위 구조에 관심없이 그저 메시지를 송신하려고 하며 이때 바로 아래 계층인 트랜스포트 계층이 제공하는 논리적 통신을 사용합니다.
위의 슬라이드와 같이 트랜스포트 계층 프로토콜은 중간중간에 있는 네트워크 라우터가 아닌 종단 시스템(end system)에 구현되어 있습니다. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로 부터 수신한 메시지에 트랜스포트 계층의 헤더를 앞에 붙여서 세그먼트(Segment) 단위로 변환합니다. 그런 후에 트랜스포트 계층은 아래 계층인 네트워크 계층으로 세그먼트를 전달하고, 네트워크 계층은 이 세그먼트를 데이터그램(Datagram)으로 변환한 뒤, 링크 계층에서 프레임(Frame)으로 또 다시 변환 뒤 수신측으로 전송됩니다. 이렇게 전송된 패킷은 수신측에서 링크 계층부터 네트워크 계층, 트랜스포트 계층, 애플리케이션 계층 순으로 앞의 헤더를 하나씩 열어보면서 수신자에게 정확히 전송됩니다. 자세한 과정은 차차 알아보도록 하고 대략적인 전개가 이렇다는 것을 알고 넘어가야 겠습니다.
3.1.1 트랜스포트 계층과 네트워크 계층 사이의 관계
트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 프로세스들 사이의 논리적 통신을 제공하지만,
네트워크 계층 프로토콜은 호스트들 사이의 논리적 통신을 제공합니다.
미묘하지만 이러한 차이점은 중요합니다.
아래 슬라이드를 봅시다.
두 가정(집)이 있고, 두 집에는 각각 12명의 아이들이 있습니다. 이들은 서로 친척이라 편지를 주고 받고 있습니다. 그리고 Ann과 Bill 2명의 집사가 있습니다. Ann과 Bill은 두 가정집을 하나씩 전담하고 있습니다. 이 경우 우편시스템은 네트워크 계층 프로토콜에 해당됩니다. 그리고 Ann과 Bill은 트랜스포트 계층 프로토콜이 됩니다. Ann과 Bill은 우편시스템이 어떻게 돌아가던지 상관을 안하죠. 그저 편지가 오면 받고, 보낼 편지가 있으면 보낼 뿐이죠. 그리고 각각의 집은 호스트에 해당됩니다. 편지가 올때 개인에게 다이렉트로 오는 게 아니라 편지는 집으로 오잖아요? 그런 이치입니다. 그리고 아이들은 프로세스에 해당합니다. 한 호스트(집)라고 해도 여러 프로세스(12명 아이들)가 존재할 수 있기 때문입니다.
우편시스템이 편지를 제대로 전달해주지 못하면 집사가 아이들에게 편지를 나눠줄 수 없듯이, 트랜스포트 계층이 제공할 수 있는 서비스는 네트워크 계층 프로토콜의 서비스에 의해서 제약받습니다. 예를 들면 네트워크 계층 프로토콜이 전송되는 세그먼트들에 대한 전송 지연이나 대역폭 지연을 보장할 수 없다면 트랜스포트 계층 역시 이러한 서비스를 제공할 수 없습니다.
그럼에도 불구하고, 하위 네트워크 계층이 제공하지 못하는 특정 서비스를 트랜스포트 계층이 제공하는 경우도 있습니다. 예를 들어, 네트워크 프로토콜이 패킷을 분실,손상,복사본 만드는 등 비신뢰적일 때 트랜스포트 계층이 애플리케이션에게 신뢰적인 데이터 전송 서비스를 제공할 수 있습니다.
3.1.2 인터넷 트랜스포트 계층의 개요
TCP/IP 네트워크는 애플리케이션 계층에게 두 가지 구별되는 트랜스포트 계층 프로토콜을 제공합니다.
하나는 애플리케이션에게 비신뢰적이고 비연결형인 서비스를 제공하는 UDP(User Datagram Protocol),
다른 하나는 애플리케이션에게 신뢰적이고 연결기향형 서비스를 제공하는 TCP(Transmission Control Protocol)입니다.
애플리케이션 개발자는 소켓을 생성할 때 TCP와 UDP 중에서 하나를 선택해야 합니다.
TCP와 UDP의 간략한 소개에 앞서서, 인터넷의 네트워크 계층에 대한 몇몇 용어를 살펴보자면…
‘인터넷 프로토콜’을 줄여서 IP라고 부릅니다. IP 서비스 모델은 호스트 간에 논리적 통신을 제공하는 ‘최선형’ 전달 서비스(best-effort delivery service)입니다. 이것은 IP가 통신하는 호스트들 가에 세그먼트를 전달하기 위해서 최대한 노력하지만, 어떠한 보장도 하지 않는다는 것을 의미합니다. 특히, IP는 세그먼트의 전달을 보장하지 않고 세그먼트가 순서대로 전달되는 것을 보장하지 않습니다. 또한 IP는 세그먼트 내부 데이터의 무결성(Integrity)을 보장하지 않습니다. 이러한 이유때문에 IP를 ‘비신뢰적인 서비스’라고 부릅니다.
3.1 단원에서는 트랜스포트 계층의 간략한 개요와 네트워크 계층과의 관계에 대해 알아보았습니다.
3.2 단원에서는 다중화와 역다중화(Multiplexing and Demultiplexing)에 대해 알아보겠습니다.
'컴퓨터공학' 카테고리의 다른 글
3.3 비연결형 트랜스포트 : UDP (0) | 2016.03.21 |
---|---|
3.2 다중화와 역다중화 (0) | 2016.03.18 |
[트랜스포트 계층] Outline (0) | 2016.03.17 |
유니 캐스팅, 브로드 캐스팅, 멀티 캐스팅 (0) | 2016.02.22 |
멀티 코어 프로세서란? (1) | 2016.02.15 |
이 글을 공유하기