[요약] 프로토콜 구조, TCP/IP, 인터넷 기반 응용

inahsong·2020년 9월 11일
0

제1부: 개관

제2장: 프로토콜 구조, TCP/IP, 인터넷 기반 응용

1. 프로토콜 구조의 정의, 통신 구조의 필요성과 장점

컴퓨터가 데이터 교환을 하는 과정은 매우 복잡하다. 이 작업을 하나의 모듈로 구현하는 것보다는 여러 개의 소규모 작업으로 나누어 개별적으로 구현하는 것이 유리하다.

프로토콜

통신 규약. 두 시스템의 상호 동일한 각 계층이 일정한 형식의 데이터 블록을 교환할 때 기준으로 사용된다.

프로토콜의 유형

  • 구문론(sysntax): 데이터 블록의 형식을 다룬다.
  • 의미론(semantics): 조정과 오류관리를 위한 제어정보를 다룬다.
  • 타이밍(timing): 속도조절과 순서조정을 다룬다.

프로토콜 구조

  • 프로토콜 구조에서 모듈들은 수직 구조(stack)로 놓인다.
  • 수직 구조의 각 계층은 자신의 바로 하부 계층에서 제공하는 기본 서비스를 이용하며 하위 계층의 기능에 대한 자세한 사항은 알 필요가 없다.
  • 각 계층은 바로 위 상위 계층에게 서비스를 제공한다.
  • 각 계층이 변경되더라도 다른 계층에는 전혀 영향을 주지 않도록 정의하는 것이 가장 이상적이다.

3-계층 통신 구조

  • 네트워크 접속 계층(network access layer): 종단 시스템과 접속 네트워크 사이의 데이터 교환을 다루는 계층이다. 이 계층에서 사용되는 소프트웨어는 하부 네트워크의 종류에 따라 다른데, 회선교환, 패킷교환, LAN에 대한 서로 다른 표준이 개발됐다.
  • 수송 계층(transport layer): 모든 데이터가 목적지 응용에 제대로, 그리고 전송한 순서대로 도착하도록 하는 기법을 모아둔 계층이다. 또 다른 이름은 호스트-호스트 계층(host-to-host layer)이다. 가장 흔히 사용되는 프로토콜은 전송제어 프로토콜(TCP)이다.
  • 응용계층(application layer): 사용자 응용을 지원하기 위해 필요한 작업을 수행하는 계층이다. 예를 들면, FTP와 같은 파일전송 프로토콜이 있다.

통신 용어

  • 헤더(header): 프로토콜 제어정보
  • 프로토콜 데이터 유닛(PDU): 상위 계층으로부터 받은 데이터 조각에 하위 계층이 프로토콜 제어 정보(헤더)를 붙인 것.
  • 세그먼트(segment, 수송 계층 PDU): 응용 계층으로부터 받은 데이터 조각에 수송 계층이 헤더를 붙인 것.
  • 패킷(packet, 네트워크 접속 PDU): 수송 계층으로부터 받은 데이터 조각에 네트워크 접속 계층이 헤더를 붙인 것.

사례로 보는 통신 과정

  1. 컴퓨터 A의 포트 1과 연결된 응용이 컴퓨터 B의 포트 2에 연결된 응용에게 메시지를 전송한다고 가정한다.
  2. 컴퓨터 A의 응용 프로토콜은 컴퓨터 B의 포트 2에 전송하라는 명령과 함께 메시지를 담아 데이터 블록을 만든다. 응용 프로토콜은 데이터 블록을 수송 계층에 넘길 것이다.
  3. 수송 계층 프로토콜은 데이터 블록을 편의상 2개의 작은 조각으로 나누고, 각 데이터 조각에 프로토콜 제어 정보를 붙여서 세그먼트(수송 계층 PDU)를 만든다. 수송 계층은 메시지를 컴퓨터 B에 전송하라는 명령과 함께 세그먼트를 네트워크 접속 계층에 내려보낸다.
  4. 네트워크 접속 프로토콜은 수송 계층으로부터 받은 데이터에 네트워크 접속 헤더를 부착하여 네트워크 패킷(네트워크 접속 PDU)을 만든다. 네트워크 접속 프로토콜은 전송 요청과 패킷을 네트워크로 내려 보낸다.
  5. 네트워크는 A로부터 받은 네트워크 패킷을 B에 전달한다. 이때 네트워크는 목적지 포트를 알 필요가 없으며 데이터가 컴퓨터 B로 전송되어야 한다는 사실만 알면 된다.
  6. B의 네트워크 접속 계층은 패킷을 벗긴 다음에 알맹이 내용물인 세그먼트 B를 수송 계층으로 올려 보낸다.
  7. 수송 계층은 세그먼트의 헤더를 조사한 다음 포트값을 참조하여 알맹이 내용물을 해당 응용인 B의 파일 전송 모듈로 보내준다.

세그먼트 헤더에 포함된 항목

  • 발신지 포트: 데이터를 보낸 응용을 가르킨다.
  • 목적지 포트: 목적지 수송 계층이 세그먼트를 받았을 때, 데이터가 어떤 응용으로 전달돼야 하는지를 지시한다.
  • 순서번호(sequence number): 수송 계층 프로토콜이 특정 목적지 포트로 세그먼트를 순차적으로 전송할 경우 세그먼트의 번호를 붙인다. 따라서 만약 순서에 어긋나게 데이터가 도착할 경우, 목적지의 수송 계층 프로토콜은 이들의 순서를 바로 잡는다.
  • 오류검출코드: 송신측 수송 프로토콜은 세그먼트의 내용을 연산하여 코드를 만들어 붙인다. 수신측 수송 프로토콜은 똑같은 연산을 하여 그 결과를 수신된 코드와 비교한다. 만약 전송 과정에 오류가 발생할 경우에는 그 코드 값이 일치하지 않는다. 이 경우, 수신측은 그 세그먼트를 폐기하고 복구 절차를 밟는다. 이러한 오류검출코드는 체크섬(checksum), 프레임 체크 시퀀스(frame check sequence)라고도 불린다.

패킷 헤더에 포함된 항목

  • 발신지 컴퓨터 주소: 패킷의 발신자를 가르킨다.
  • 목적지 컴퓨터 주소: 네트워크가 어떤 컴퓨터로 패킷을 보내야 하는지 가르킨다.
  • 서비스 요청: 네트워크 접속 프로토콜은 우선순위가 같은 서브 네트워크 서비스(facility)를 사용할 수 있다.

올바른 통신을 위해서는 시스템 내의 모든 개체가 반드시 유일한 주소를 가져야 한다.

3-계층 모델에선 두 단계의 주소 지정이 필요하다.

  • 서브 네트워크 상의 모든 호스트: 유일한 인터넷 주소를 가지고 있어야 한다. 이 주소는 데이터가 올바른 호스트로 전송되도록 한다.
  • 호스트에서 동작하는 모든 프로세스: 호스트 내에서 유일한 주소를 가져야 한다. 이 주소는 호스트-호스트 프로토콜(TCP)이 올바른 프로세스로 데이터를 전송하는데 이용된다. 이러한 주소는 포트(port)라고 불린다. 또는, 수송 계층의 서비스를 개별적으로 접근한다는 의미에서 서비스 접속점(SAP)이라고도 불린다.

2. TCP/IP 프로토콜 구조와 각 계층의 기능

  • TCP/IP 프로토콜 구조는 DARPA(defense advanced research project agency)에서 만든 패킷교환망인 ARPANET의 연구개발 결과에서 만들어졌으며 일반적으로 TCP/IP 프로토콜 스위트(suite)로 불린다. TCP/IP 프로토콜 스위트는 IAB(internet architecture board)에 의해 인터넷 표준으로 채택된 많은 프로토콜로 이뤄진다.

  • 일반적으로 컴퓨터 통신은 응용, 컴퓨터, 네트워크 등 3개의 에이전트를 포함한다. 여기서 우리가 관심을 가지는 응용은 두 컴퓨터 시스템 사이에 데이터를 교환하는 분산 응용을 의미한다.
    하나의 응용으로부터 데이터를 다른 응용으로 전달하는 것은 먼저 응용이 수행되는 컴퓨터에 데이터를 준 다음 그 컴퓨터에서 해당 응용에게 데이터를 전달하는 것이다.

통신 작업의 계층

  • 물리계층: 데이터 전송 장치와 전송매체 또는 네트워크 사이의 물리적인 인터페이스를 다룬다. 이 계층은 전송매체의 특성, 신호의 특성, 데이터율과 같은 관련 사항을 규정한다.
  • 네트워크 접속/데이터링크 계층: 동일한 네트워크에 접속된 2개의 종단 시스템이 네트워크에 접속하고, 데이터를 배달하는 것을 다룬다.
  • 인터넷 계층: 2개의 장치가 다른 네트워크에 접속돼 있는 경우에 상호 연결된 여러 개의 네트워크들을 통과하는 절차가 필요하다. 이것이 인터넷 계층의 기능이다.
  • 호스트-호스트 또는 수송 계층: 종단간에 신뢰적인 전송 서비스를 제공하기도 하고, 종단간 단순 배달만 담당하는 비신뢰적 서비스만을 제공하기도 한다. 전송제어 프로토콜(TCP)는 이 기능을 제공하는 가장 대표적인 프로토콜이다.
  • 응용계층: 다양한 사용자 응용을 지원하기 위해 필요한 작업을 다룬다. 파일전송과 같이 각각 다른 응용의 종류를 위하여 개별적인 모듈이 그 응용의 특성을 살리기 위하여 필요하다.

통신 용어

  • 라우터: 2개의 네트워크를 연결하고, 발신지와 목적지 종단 시스템 사이의 경로를 따라 하나의 네트워크로부터 다른 네트워크로 데이터를 중계하는 것이다.
  • 인터넷 프로토콜(IP): 인터넷 프로토콜은 여러 개의 네트워크를 통과히기 위하여 필요한 경로배정 기능을 제공한다. 다시 말해, 데이터 블록을 하나 이상의 라우터를 거쳐서 다른 호스트로 전달하는 역할을 수행한다. 종단 시스템과 라우터(네트워크 접속 계층)에 구현돼 있다.
  • 전송제어 프로토콜/호스트-호스트 프로토콜(TCP): 종단 시스템에만 구현돼 있으며, 목적지 응용에 올바로 전송됐는지 확인하기 위해서 데이터의 블록을 추적한다.
  • 서브 네트워크(subnetwork): 전체 통신 시설이 여러 개의 네트워크로 구성된다는 것을 명확히 하기 위해 각 네트워크를 보통 서브 네트워크라고 한다.

사례로 보는 통신 과정

  1. 호스트 A의 포트 3과 연결된 프로세스가 호스트 B의 포트 2에 연결된 프로세스에게 사용자 데이터를 전송한다고 가정하자.
  2. A에 있는 프로세스(응용)는 사용자 데이터를 담은 데이터 블록을 만든다. 프로세스는 호스트 B의 포트 2에 전송하라는 명령과 함께 데이터 블록을 TCP에 넘길 것이다.
  3. TCP는 이 블록을 보다 원활하게 다루기 위해서 작은 조각으로 나눌 수도 있다. TCP는 이들 각 데이터 조각에 TCP 헤더라고 하는 제어정보를 붙여 TCP 세그먼트를 만든다. TCP는 호스트 B에 전송하라는 명령과 함께 세그먼트를 IP에 넘긴다. 이 제어정보는 호스트 B에 있는 동료 TCP 프로토콜에 의해서 사용된다. 이때 IP는 목적지 포트를 알 필요가 없고, 데이터가 호스트 B로 전송돼야 한다는 사실만 알면 된다.
  4. IP는 각 세그먼트에 제어정보를 담은 헤더를 붙여서 IP 데이터그램(datagram)을 만든다. IP는 라우터 J(B로 가기 위해 처음으로 거쳐야 되는 홉)로 전송하라는 명령과 함께 IP 데이터그램을 네트워크 접속 계층(예: 이더넷 회로)으로 내려보낸다.
  5. 네트워크 접속 계층은 자신의 헤더를 붙여서 패킷이나 프레임을 만들며 이 패킷은 서브 네트워크를 통하여 라우터 J로 전송된다.
  6. 라우터 J에서는 패킷 헤더를 떼내고, IP 헤더를 조사한다. IP 헤더에 있는 목적지 주소정보를 바탕으로, 라우터에 있는 IP 모듈은 데이터그램을 네트워크 2를 통하여 B로 보낸다. 이를 위해 데이터그램에 네트워크 접속 헤더가 다시 붙는다.
  7. 데이터가 B에 도착하면 반대 과정이 일어난다. 각 계층에서 해당 헤더가 제거되고, 나머지가 상위 계층으로 전달되며 마지막으로 사용자 데이터가 목적지 프로세스에 전달된다.

TCP 세그먼트 헤더에 포함된 항목

  • 목적지 포트: B에 있는 TCP 개체가 세그먼트를 받았을 때, 데이터가 어디로 전달되어야 하는지를 알아야 한다.
  • 순서번호: TCP는 특정 목적지 포트로 세그먼트를 순차적으로 전송할 경우 번호를 붙인다. 따라서 만약 순서에 어긋나게 도착했을 경우, B의 TCP 개체는 이것의 순서를 바로 잡는다.
  • 체크섬: 전송 TCP는 세그먼트의 나머지 내용을 연산하여 코드를 만든다. 수신 TCP는 똑같은 연산을 해 그 결과를 수신된 코드와 비교한다. 만약 전송되는 과정에 오류가 발생한다면, 그 결과는 일치하지 않는다.

IP 데이터그램 헤더에 포함된 항목

  • 목적지 포트 주소

패킷 헤더에 포함된 항목

  • 데이터가 서브네트워크를 지나가는 데 필요한 정보

IPv4와 IPv6

  • 수십년 동안 TCP/IP 프로토콜 구조의 중심은 통상 IP라고 불리는 IPv4였다. IP 패킷의 헤더에는 32비트의 발신지와 목적지 주소가 들어있다.
  • 현재의 IP는 발신지와 목적지를 식별하기 위해 32 비트 주소를 사용하는데, 인터넷과 인터넷에 접속된 사설망의 폭발적인 성장으로 인하여 주소가 필요한 모든 시스템의 요구를 수용하기에는 주소 길이가 충분하지 않게 됐다. 그래서 128비트의 발신지 및 목적지 주소 필드를 가지는 IPv6가 등장했다.
  • 결국에는, TCP/IP를 사용하는 모든 구현은 현재의 IP로부터 IPv6로 이동할 것으로 예상되는데 수 십년까지는 아니지만 많은 시간이 걸릴 것이다.

TCP를 사용하는 이유

  • TCP/IP 프로토콜에서 각 계층은 바로 인접 계층과 상호 동작한다. 목적지의 각 계층은 데이터를 바로 다음 상위 계층으로 올린다.
  • 구조적으로 반드시 각 계층을 이용해야 하는 것은 아니다. 어떤 계층의 서비스든지 바로 호출하는 응용을 개발할 수도 있다. 단지 대부분의 응용이 신뢰적인 종단간 프로토콜을 필요로 하기 때문에 일반적으로 TCP를 사용하는 것이다.
  • 그러나 특수 목적의 응용일 경우에는 TCP 서비스가 필요 없다. 예를 들어, 단순 네트워크 관리 프로토콜(SNMP)의 경우에는 사용자 데이터그램 프로토콜(UDP)라는 종단간 프로토콜을 이용한다. 어떤 응용은 IP를 직접 이용하기도 한다. 인터네트워킹을 이용하지 않거나, TCP가 필요하지 않는 응용은 네트워크 접속 프로토콜을 바로 호출하도록 개발됐다.

3. 표준 구조의 개발 필요성과 사설 구조 기반의 제품보다 프로토콜 구조 기반의 제품을 선호하는 이유

TCP/IP 구조나 OSI와 같은 프로토콜 구조는 표준화 작업에 대한 틀을 제공한다. 프로토콜 구조는 각 계층에서 수행돼야 하는 기능을 정의하는데, 두 가지 측면에서 표준화 과정에 도움이 된다.

  • 각 계층의 기능이 잘 정의돼있으므로, 각 계층에 대한 표준화 작업이 상호 독립적으로 그리고 동시에 이뤄질 수 있다. 따라서 표준화 작업이 빨리 진행될 수 있다.
  • 각 계층 간의 경계가 잘 정의돼있으므로, 한 계층의 표준 변화는 다른 계층에 영향을 미치지 않는다. 이것은 새로운 표준의 개발을 용이하게 한다.
  • (책 이외 내용 추가: OSI 모델은 네트워크 오류가 발생했을 때 문제 원인을 찾는 데에(TroubleShooting) 용이한 구조다.)

표준화 틀로서의 OSI 모델

  • 전체적인 통신 기능은 7개의 명확한 계층으로 나뉘어 있다. 즉, 전체 기능을 여러 개의 모듈로 나누고, 모듈 사이의 인터페이스를 가능한 한 간단하게 만든 것이다.
  • 여기에 정보 은닉(information-hiding) 기법이 사용된다. 하위 계층일수록 더욱 더 세분화된 기능을 다루는데, 상위 계층은 이러한 하위 계층의 상세한 내용에 대해서는 알 필요가 없다. 그리고 각 계층은 상위 계층에 서비스를 제공하고 다른 시스템의 동료(peer) 계층과 프로토콜로써 상호 반응한다.

(책 이외 내용 추가:

OSI 모델

사진 출처: Youtube 'TechTerms' - OSI Model Explained | OSI Animation | Open System Interconnection Model | OSI 7 layers | TechTerms

7. 응용 계층(Application Layer): 메일 관리 앱 'Outlook', 웹 브라우저 'Chrome' 등이 포함된다.
6. 표현 계층(Represntation Layer): 운영 체제가 포함된다.
5. 세션 계층(Session Layer): 컴퓨터 간의 연결이 포함된다.
4. 수송 계층(Transport Layer): 한번에 얼마나 많은 정보가 수송돼야 하는지 등이 결정된다.
3. 네트워크 계층(Network Layer): 라우터, IP, MAC, ARP 등이 포함된다.
2. 데이터 링크 계층(Data Link Layer): 스위치가 포함된다.

  1. 물리 계층(Physical Layer): 패널, 케이블 등이 포함된다.
    )

표준화 틀로서의 프로토콜 구조의 중요 요소

  • 프로토콜 명세: 다른 시스템의 동일 계층에 있는 두 개체는 프로토콜을 이용하여 상호동작한다. 2개의 서로 다른 개방 시스템이 관련되므로 프로토콜을 정확하게 서술해야 한다. 이 명세에는 교환할 PDU의 형식, 각 필드의 의미, PDU의 허용 순서 등이 포함된다.
  • 서비스 정의: 각 계층에서 동작하는 프로토콜 외에도 표준에는 각 상위계층에 대한 서비스도 포함돼야 한다. 전형적으로, 서비스의 정의는 기능적 서술과 동일한데 어떤 서비스를 제공하는가를 정의하는 반면 서비스의 제공 방법에 대해서는 정의하지 않는다.
  • 주소지정: 각 계층은 다음 상위계층의 개체에 대해서 서비스를 제공하며 이 개체는 서비스 접속점(SAP)을 통하여 식별된다. 따라서 네트워크 서비스 접속점은 서비스 사용자인 수송(transport) 개체를 가르킨다.

서비스 정의의 관점에서 보면 단지 기능적 정의만을 제공하는 이유는 다음과 같다.

  • 두 인접한 계층 사이에서 발생하는 상호동작은 하나의 개방 시스템 내부에서 일어나는 일이고, 다른 개방 시스템과는 관련이 없다. 따라서 다른 시스템의 동료 계층이 그 상위계층에 대해서 동일한 서비스만 제공한다면, 그 서비스가 어떻게 제공되는지에 대한 상세한 내용은 시스템에 따라 다를 수 있고 상호 호환성과는 관련이 없다.
  • 통상적으로 인접 계층은 같은 프로세서상에서 구현된다. 이 경우 최대한 효율적인 인터페이스를 만들기 위하여 시스템 프로그래머가 하드웨어와 운영체제를 활용할 수 있도록 허용하는 것이 좋다.

주소지정을 살펴 보면, 서비스 접속점으로 구현되는 각 계층의 주소 매커니즘을 사용하면 인접 상위 계층에서부터 오는 다중 사용자들을 다중화할 수 있다. 다중화는 각 계층에서 항상 일어나지는 않지만 이 모델에서는 허용된다.

OSI 구조

OSI 구조에서 인접 계층 간의 서비스는 프리미티브와 파라미터로 표현된다.

  • 프리미티브: 수행할 기능을 서술하는 데 이용된다. 프리미티브의 실제 모양은 구현에 따라 달라진다.
  • 파라미터: 데이터와 제어정보를 넘겨주는 데 이용된다.

서비스 프리미티브 유형

  • REQUEST: 어떤 서비스를 요청하고, 그 서비스의 명확한 규정에 필요한 파라미터를 보내기 위해 사용자가 생성하는 프리미티브
  • INDICATION: 다음 둘 중 하나를 위해 서비스 제공자에 의해 생성되는 프리미티브
    1. 연결 상의 동료 서비스 사용자에 의해 프로시저가 호출되고, 관련 파라미터를 제공하기 위한 것을 나타내거나
    2. 제공자-개시 동작을 서비스 사용자에게 통보
  • RESPONSE: 지시에 의해 전에 요구된 프로시저를 완료했거나 또는 확인 응답하기 위해 서비스 사용자에 의해 생성되는 프리미티브
  • CONFIRM: 서비스 제공자가 생성하는 프리미티브로서 확인 응답 또는 서비스 사용자의 요청에 의해 요구되었던 프로시저를 완료

(N) 개체에서 다른 시스템의 동료 (N) 개체로 데이터를 전송하는 과정

  1. 발신자 (N) 개체는 요청(request) 프리미티브로 그것의 (N-1) 개체를 호출한다. 이때 전송할 데이터와 목적지 주소같이 프리미티브와 관련된 파라미터가 필요하다.
  2. 발신자 (N-1) 개체는 동료 (N-1) 개체로 보낼 (N-1) PDU를 준비한다.
  3. 목적지 (N-1) 개체는 지시(indication) 프리미티브를 통해 데이터를 해당 목적지 (N) 개체에 전달한다. 이때 데이터와 발신자 주소를 파라미터로 포함시킨다.
  4. 만약 확인 응답이 필요하면, 목적지 (N) 개체는 (N-1) 개체에 대해서 응답(request) 프리미티브를 발생시킨다.
  5. (N-1) 개체는 (N-1) PDU에 확인을 포함시킨다.
  6. 확인(confirm) 프리미티브를 사용하여 (N) 개체로 확인 응답을 전달한다.
  • 확인 서비스: 서비스 요청자의 요청 서비스가 상대방에서 제대로 수행됐다는 확인을 받는 방식
  • 비확인 서비스: 요청과 지시 프리미티브만 수행되는 (1~3) 방식이다. 이 경우 서비스 요청자는 요청한 동작이 발생하는지에 대해 확인받지 못한다.

TCP 위에서 동작하는 다양한 응용이 표준화됐는데, 여기서는 가장 널리 사용되는 3가지를 살펴본다.

단순 전자 메일 프로토콜(simple mail transfer protocol, SMTP)

  • 원격 호스트 간에 메시지를 전달하는 기법을 제공한다.
  • SMTP의 특징으로는 메일링 리스트, 수령통지, 전달 등이 있다.
  • SMTP는 메시지를 생성하는 방법을 규정하진 않는다.
  • 메시지 생성을 위해 로컬 편집기나 단순한 전자메일 응용이 사용된다.
  • 메시지가 생성되면 SMTP는 메시지를 받고, 이 메시지를 다른 호스트에 있는 SMTP 모듈에 전달하기 위해 TCP를 이용한다.
  • 목적지 SMTP 모듈은 로컬 전자메일 패키지를 이용해 전달된 메시지를 사용자의 우편함에 저장할 것이다.

파일 전송 프로토콜(file transfer protocol, FTP)

  • 사용자의 명령에 따라 한 시스템에 있는 파일을 다른 시스템에 전송하는 데 이용한다.
  • 텍스트 파일이나 2진 파일에 대해서 모두 사용할 수 있으며, 사용자 접속을 제어할 수 있는 방법을 제공한다.
  • 사용자가 파일 전송 요청을 하면, FTP는 제어 메시지 교환을 위해서 목적지 시스템과 TCP 연결을 설정한다.
  • 제어 메시지에는 사용자 ID와 암호, 파일 지정과 파일에 대한 행위 지정이 포함된다.
  • 일단 파일 전송이 허가되면, 데이터 전송을 위한 두 번째 TCP 연결이 설정된다.
  • 그리고 응용단계에서 제어 정보나 헤더와 같은 비용을 들이지 않고, 데이터 연결을 통해서 바로 파일이 전송된다.
  • 전송이 완료되면 제어 연결을 통해서 완료를 알리고, 새로운 파일 전송 명령을 받아들이게 된다.

TCP와 연결

  • TCP는 응용 계층에게 신뢰적인 데이터 전송을 보장하는 논리적인 연결을 제공한다.
  • 연결이 지속되는 동안, 각 개체는 다른 개체로(부터) 오고 가는 TCP 세그먼트를 추적해 흐름을 제어하고 분실 또는 훼손된 세그먼트들을 복구한다.
  • 연결: 다른 시스템에 있는 두 개체 사이에 설정되는 일시적인 논리적 연관
  • 논리적 연결: 한 쌍의 포트값

SSH(secure shell)

  • 안전한 원격 로그온 기능을 제공한다.
  • 이 기능은 단말기나 PC를 이용하는 사용자가 원격 컴퓨터에 접속해 그 컴퓨터를 직접 사용하는 것처럼 해준다.
  • SSH는 로컬 호스트와 원격 서버 사이의 파일 전송도 지원한다.
  • SSH는 사용자와 원격 서버가 각각 상대방을 인증하며 양 방향의 모든 트래픽을 암호화한다.
  • SSH 트래픽은 TCP 연결상에서 배달된다.

멀티미디어 기술

  • 미디어: 텍스트, 정지영상, 오디오, 비디오를 포함한 정보의 형태를 말한다.
  • 멀티미디어: 텍스트, 그래픽스, 음성, 비디오를 포함한 인간-컴퓨터 간의 상호 작용을 말한다. 멀티미디어는 멀티미디어 내용물을 저장하는데 사용하는 기억장치를 뜻하기도 한다.
  • 스트리밍 미디어: 인터넷이나 웹으로부터 컴퓨터에서 수신한 후 즉각 또는 수초 이내에 재생을 시작하는 비디오 장면, 오디오와 같은 멀티미디어 파일을 뜻한다. 멀티미디어 내용물은 전체 파일이 다운로드될 때까지 기다리지 않고 서버로부터 배달되는대로 재생된다.

미디어 유형

멀티미디어라는 용어는 전형적으로 텍스트, 오디오, 그래픽스, 비디오를 포함하는 4개의 미디어 유형을 말한다.

  • 텍스트: 통신 관점에서 보면, 텍스트는 키보드를 통해 입력되고 바로 읽고 인쇄 가능한 정보를 지칭하는 것이다. 텍스트 메시징, 즉석 메시징, 텍스트(비 html) 전자 메일은 채팅방이나 메시지 게시판에서 흔히 볼 수 있는 예이다. 그러나, 이 용어는 파일과 데이터베이스에 저장 가능하며 위의 다른 3가지 유형의 미디어에 해당되지 않는 보다 넓은 의미의 데이터를 뜻한다. 예를 들어, 어떤 조직의 데이터베이스는 인쇄 가능한 문자보다 더욱 압축된 형태로 숫자 데이터 파일을 저장할 수 있다.
  • 오디오: 일반적으로 서로 다른 범위의 소리 2개를 뜻한다. 음성은 인간의 음향 메카니즘에 의해 만들어지는 소리를 뜻한다. 일반적으로 음성 전달에는 낮은 대역폭이(4KHz 이하) 필요하다. 전화와 관련 응용(음성 우편, 오디오 원격 회의, 텔레마케팅)은 가장 흔히 볼 수 있는 응용이다. 음악 파일의 다운로드를 비롯한 음악 응용을 지원하기 위해서는 보다 넓은 대역폭이 필요하다.
  • 영상: 단일 그림, 차트, 도안 등의 통신을 지원한다. 영상 기반 응용으로는 팩스, 컴퓨터 보조 설계(CAD), 출판, 의료 영상 등이 있다. 영상은 도안 프로그램이나 PDF 파일에서와 같이 벡터 그래픽스의 형태로 표현된다. 영상은 래스터(raster) 그래픽스 형태에서는 화소(pixel)로 불리는 점의 2차원 행렬로 표현된다. 압축 JPG 형식은 래스터 그래픽스 형태에서 나왔다.
  • 비디오: 시간적으로 연속적인 그림의 열을 운반한다. 기본적으로 비디오는 일련의 래스터-스캔 영상을 사용한다.

멀티미디어 응용 영역[GONZ00]

  • 정보 시스템: 멀티미디어를 사용해 정보를 제공한다. 오디오, 비디오를 포함한 정보 매점이나 전자책 그리고 전문가 시스템이 해당된다.
  • 통신 시스템: 비디오 회의와 같은 협업을 지원한다.
  • 오락 시스템: 컴퓨터 게임, 네트워크 게임, 시청각 오락이 해당된다.
  • 비즈니스 시스템: 사업용 멀티미디어 발표, 비디오 브로슈어, 온라인 쇼핑 등이 해당된다.
  • 교육 시스템: 멀티미디어를 포함한 전자책, 모의실험 및 모델링 애플릿, 기타 학습 지원 시스템이 해당된다.

멀티미디어 기술

  • 압축: 디지털 비디오와 훨씬 더 적은 양인 오디오는 네트워크에 엄청난 양의 트래픽을 생성한다. 많은 사용자가 사용하는 스트리밍 응용은 트래픽을 증가시킨다. 따라서, 압축을 통해 분량을 상당 부분 줄이기 위한 표준이 개발돼 왔다. 가장 주목할만한 표준으로는 정지 영상의 경우 JPG이고 비디오의 경우 MPG이다.
  • 통신/네트워킹: 방대한 멀티 미디어 트래픽을 지원할 수 있는 전송 및 네트워킹 기술(SONET, ATM 등)을 의미한다.
  • 프로토콜: 멀티미디어 트래픽을 지원하기 위한 다양한 프로토콜들이 사용된다. 예를 들면, 비탄력적 트래픽을 지원하기 위해 설계된 실시간 수송 프로토콜(RTP), 세션 착수 프로토콜(session initiation protocol, SIP)이 있다.
  • 서비스 품질(quality of service, QoS): 인터넷과 하부 LAN 및 WAN은 서로 다른 형태의 응용 트래픽에 다른 단계의 서비스를 제공하는 QoS 기능을 가져야 한다. QoS 기능은 우선 순위, 지연 제약, 지연 변이 제약, 기타 유사한 요구사항들을 다룰 수 있어야 한다.
  • 비탄력적 트래픽: 인터넷의 지연 시간과 처리율의 변화에 쉽게 또는 전혀 적응하지 않는 트래픽
  • 실시간 수송 프로토콜(RTP): 수신측에서 원활하고 연속적인 스트림의 형태로 실시간 트래픽을 받을 수 있도록 버퍼링과 폐기 전략을 사용한다.
  • 세션 착수 프로토콜(SIP): IP 데이터 네트워크를 통해 두 참가자 간의 실시간 세션을 설정하고 변경하고 종료하는 응용 단계의 제어 프로토콜이다.

출처: 윌리엄 스탈링. (2015). 데이터 통신 및 컴퓨터 통신 (김종근 외 옮김). 성진미디어
Youtube 'Eli the Computer Guy' - The OSI Model Demytified
Youtube 'TechTerms' - OSI Model Explained | OSI Animation | Open System Interconnection Model | OSI 7 layers | TechTerms

profile
Student learning journalism and CSE. SMWU 17.

0개의 댓글