본문 바로가기
📖 CS/정보통신공학

📲 정보통신공학 - Ch2. 프로토콜 구조,TCP IP,인터넷 기반 응용-1

by 정람지 2024. 4. 9.

출처 : William Stallings, "Data and Computer Communications (10th Edition)," Pearson, 2014

 

📲 2장 학습내용

계층화된 프로토콜 구조와 각 계층의 기능
통신구조의 필요성과 장점
표준구조의 개발 필요성 / 사설 구조 기반의 제품보다 프로토콜 구조 기반의 제품을 선호하는 이유
인터네트워킹의 필요성
인터네트워킹을 제공하기 위한 TCP/IP 측면에서 라우터의 동작
TCP/IP 프로토콜 스위트

2.1  📲 프로토콜 구조의 필요성 

두 기기 간의 소통 : 고차원의 상호 협력 필요

=> 여러 개의 소규모 작업으로 나눠 구현 

=> 계층

 

- 각 계층은 바로 하부 계층에서 제공하는 기본 서비스를 이용

- 각 계층은 바로 상위 계층에게 서비스를 제공

- 각 계층이 변경되더라도 다른 계층에게는 전혀 영향 없이 설계 (이상)

- 통신을 하는 두 시스템의 각 계층은 상호 동일해야 함  ( 상호 대응하는 동일한 계층 : 동료  peer )

 

동료 계층들은 프로토콜(protocol)- 정해진 규칙에 따라 일정한 형식의 데이터 블록들을 교환하며 통신

 

 프로토콜(protocol)

- 구문론 : 데이터 블록의 형식

- 의미론 : 조정/오류관리를 위한 제어 정보

- 타이밍 : 속도조절/순서조정


2.2  📲 간단한 프로토콜 구조

컴퓨터가 연결된 네크워크에 의해 데이터가 다른 컴퓨터로 전달되고 해당 응용으로 전달됨

 

통신 작업 =>

- 네트워크 접속 계층

- 수송 계층

- 응용 계층

 

📟 네트워크 접속 계층

종단 시스템 접속 네트워크 사이의 데이터교환

송신 컴퓨터는 네트워크에 목적지 컴퓨터의 주소를 제공하여 해당 목적지까지 데이터를 배달

 

이 계층에서 사용되는 소프트웨어는 하부 네트워크의 종류에 따라 다름

=> 회선교환, 패킷교환,LAN에 대하여 서로 다른 표준이 개발

 

네트워크 접속과 관련된 기능은 별도의 독립된 계층

=> 네트워크 접속 계층 위의 통신 소프트웨어들은 하부 네트워크에 대한 세부사항을 알 필요가 없음


📟 수송  계층 (호스트- 호스트 계층 (host to host layer))

데이터는 응용의 성격과 상관없이 신뢰성 있게 교환되어야 함

 

신뢰성

- 목적지 응용에 제대로 도착?

- 전송한 순서대로 도착?

 

신뢰성을 제공하는 기법은 응용의 성격과는 기본적으로 무관

=> 신뢰성 제공 기법을 하나의 공동 계층에 모아 두고 모든 응용이 공유하는 것이 합리적

=> 호스트- 호스트 계층 (host to host layer) / 수송 계층

 

(전송제어 프로토콜 : 이러한 기능을 제공하기 위하여 흔하게 사용되는 프로토콜)


📟 응용 계층

다양한 사용자 응용을 지원하기 위해 각각의 특성에 맞게 필요한 작업을 수행하는 계층


하나의 네트워크에 연결된 3개의 컴퓨터

각 컴퓨터는 하나 이상의 응용을 수행하기 위하여 네트워크접속계층/ 수송계층 / 응용계층 소프트웨어를 가짐.

 

올바른 통신을 위해서는 시스템 내의 모든 개체는 반드시 유일한 주소를 가지고 있어야 함

3-계층 모델

- 두 단계의 주소 지정이 필요

1. 서브 네트워크상의 호스트의 유일한 인터넷주소 
- 데이터가 올바른 호스트로 전송할 수 있도록

2. 호스트에서 동작하는 모든 프로세스의 호스트 내 유일한 주소

- 이 주소는 수송 계층 프로토콜이 올바른 프로세스로 데이터를 전달하는 데 필요

=> 서비스 접속점(SAP) /포트(port) : 각 응용이 수송 계층의 서비스를 개별적으로 접근한다는 의미

 

(점선)

각 컴퓨터의 동등 레벨(피어)이 프로토콜을 사용하여 상대방과 통신

각 컴퓨터의 응용 개체는 응용 계층 프로토콜을 통하여 다른 컴퓨터의 응용과 통신

- 교환이 직접 이루어지는 것은 아니고 컴퓨터 사이의 데이터 수송과 관련된 세부사항을 다루는 수송 프로토콜에 의하여 이루어짐

- 수송 프로토콜 또한 직접적으로 교환하지는 않고 네트워크 접속과 목적지까지의 배달을 담당하는 네트워크 레벨의 프로토콜의 도움을 받아이루어짐

(각 레벨의 각 개체는 상대방 개체에게 무엇을 통신하여야 할 것인가만 집중하면 됨)

ex)

컴퓨터A의 포트1과 연결된 응용이 컴퓨터B의 포트2에 연결된 응용에게 메시지를 전송한다고 가정

컴퓨터A의 응용은 컴퓨터 B의 포트 2에 전송하라는 명령과 함께 메시지를 수송계층에 넘김

그러면 수송계층은 메시지를 컴퓨터에 전송하라는 명령과 함께 메시지를 네트워크 접속계층에 넘긴다.

(네트워크는 목적지 포트를 알 필요가 없으며 데이터가 컴퓨터B로 전송되어야 한다는 사실만 알면 됨)

 

이러한 동작을 위해서는 사용자 데이터뿐만 아니라, 제어정보도 같이 전달

수송 계층이 데이터 블록을 2개의 작은 조각으로 나눔

캡슐화(enncapsulation) : 수송 계층이 이들 각 데이터 조각에 수송 계층 헤더라고 하는 프로토콜 제어정보를 붙이는 것

프로토콜 데이터 유닛(PDU) : 상위 계층에서 내려온 데이터에 이러한 제어 정보가 결합된 것

(이 경우에는 수송계층 PDU , 일반적으로 세그먼트(segment)라고 부름. 각 세그먼트에 포함된 제어정보는 컴퓨터 B의 수송 계층 프로토콜에 의해서 사용됨.) 

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


다음으로 수송 계층 프로토콜은 세그먼트를 목적지 컴퓨터로 전송하라는 명령과 함께 각 세그먼트를 네트워크 계층에 넘김. 

네트워크 접속 프로토콜은 이 명령을 수행하기 위하여 데이터와 함께 전송 요청을 네트워크로 내려 보냄.

앞에서와 같이 이 동작은 제어 정보를 필요로 하는데 이를 위하여 네트워크 접속 프로토콜(NAP)은 수송계층으로부터 받은 데이터에 네트워 크 접속 헤더를 부착하여 네트워크 접속 프로토콜 데이터 유닛 (PDU)를만든다. 이는 패킷(packet)이라 불림
네트워크 접속 계층 헤더에 포함된 프로토콜 제어정보
- 발신지 컴퓨터 주소: 패킷의 발신지
- 목적지 컴퓨터 주소: 네트워크가 어떤 컴퓨터로 패킷을 보내야 하는지
- 서비스 요청: 네트워크 접속 프로토콜은 우선순위와 같은 서브 네트워크 서비스(facilities)를 사용 가능

 

+ 이때 수송 계층 헤더는 네트워크 접속 계층에서는 보이지 않으며 네트워크 접속 계층은 수송 계층의 세그먼트 내용에 관하여 관심을 둘 필요가 없다는 점을 주의!


=> 네트워크는 A로부터 받은 네트워크 패킷을 B에 전달하고 B의 네트워크 접속 계층은 패킷 헤더를 벗긴 다음에 알맹이 내용물인 세그먼트를 B의 수송 계층으로 올려 보낸다. 수송 계층은 세그먼트의 헤더를 조사한 다음 포트값을 참조하여 알맹이 내용물을 해당 응용인 B의 파일전송모듈로 보내줌


2.3  📲 TCP / IP 프로토콜 구조

TCP/IP 프로토콜 구조 ( TCP/IP 프로토콜 스위트(suite))

DARPA에서 만든 실험적인 패킷교환망인 ARPANET의 연구개발 결과에서 만들어짐

프로토콜 스위트는 IAB에 의해 인터넷 표준으로 채택한 많은 프로토콜로 이루어짐


📟 TCP / IP 계층

일반적인 컴퓨터 통신

=> 응용, 컴퓨터, 네트워크 등 3개의 에이전트를 포함

응용의 예)파일 전송과 전자메일

 

여기선 두 컴퓨터 시스템 사이에 데이터를 교환하는 "분산 응용" 에 집중

- 이러한 응용은 컴퓨터에서 여러 개의 다른 응용과 동시에 수행

-  컴퓨터는 네트워크에 연결되고 데이터는 네트워크에 의하여 컴퓨터 사이에 전달

=> 하나의 응용으로부터 데이터를 다른 응용으로 전달하는 것은 먼저 응용이 수행되는 컴퓨터에 데이터를 준 다음 그 컴퓨터에서 해당 응용에게 데이터를 전달하는 것

 

이러한 통신 작업을 독립적인

네트워크 접속 계층. 수송 계층, 응용계층 등 5개의 계층으로 구성

- 물리 계층
- 네트워크 접속 계층 / 데이터 링크 계층
- 인터넷 계층 (인터넷 프로토콜)
- 호스트-호스트 계층 / 수송 계층
- 응용 계층

 

🛜 물리 계층

- 데이터 전송 장(워크스테이션、컴퓨터)와 전송매체 또는 네트워크 사이의 물리적인 인터페이스를 다룸

- 이 계층은 전송매체의 특성, 신호의 특성, 데이터율과 같은 관련 사항을 규정

- 물리 매체상의 비트 스트림 전송을 담당: 신호부호화 기술, 데이터율, 대역폭, 물리적 접속 등의 세부사항을 다룸


🛜 네트워크 접속 계층 / 데이터 링크 계층

- 동일한 네트워크에 접속된 2개의 종단 시스템이 네트워크에 접속하고, 데이터를 배달하는 것을 다룸

- 실제 네트워크 하드웨어에 대한 논리적 인터페이스를 담당 / 스트림 또는 패킷 지향적이며 신뢰적인 전달 서비스를 제공


🛜 인터넷 계층 (인터넷 프로토콜)

- 상위 계층을 네트워크의 물리적 구성의 세부 사항으로부터 차단 / 경로 지정을 담당하며 서비스 품질과 혼잡 제어를 제공

- 2개의 장치가 다른 네트워크에 접속되어 있는 경우에 상호 연결된 여러 개의 네트워크들을 통과하는 절차


🛜 호스트-호스트 계층 / 수송 계층

- 종단간 데이터 전달을 수행하며 오류제어. 흐름제어. 혼잡제어. 신뢰적인 배달 서비스를 제공

- 종단간에 신뢰적인 전송 서비스를 제공

- 종단간 단순 배달만 담당하는 비신뢰적 서비스만을 제공하기도 함

- 전송제어프로토콜(TCP)은 이 기능을 제공하는 가장 대표적인 프로토콜


🛜 응용 계층

- 다양한 사용자 응용을 지원하기 위해 필요한 작업을 다룸

- 파일 전송과 같이 각각 다른 응용의 종류를 위하여 개별적인 모듈이 그 응용의 특성을 살리기 위하여 필요

- TCP / IP 환경의 사용자 접속을 제공하며 분산 정보 서비스를 제공


📟 TCP / IP 의 동작


서브 네트워크(subnetwork) : 전체 통신 시설이 여러 개의 네트워크로 구성된다는 것을 명확히 하기 위하여 각 네트워크를 칭하는 말

 

컴퓨터를 이더넷이나 와이파이와 같은 네트워크에 연결시키기 위해서는 네트워크 접속 프로토콜이 사용됨

- 호스트는 이 프로토콜을 이용하여 서브 네트워크를 통하여 다른 호스트에게 데이터를 보내거나

- 목적지 호스트가 다른 서브네트워크에 있는 경우에는 라우터에게 데이터를 전송할 수 있음

 

🛜 IP

- 종단 시스템과 라우터에 구현

- 데이터 블록을 하나 이상의 라우터를 거쳐서 다른 호스트로 전달하는 역할을 수행

 

🛜 TCP

- 종단 시스템에만 구현
- 목적지 응용에 올바로 전송되었는지 확인하기 위해서, 데이터의 블록을 추적하는 역할을 수행

 

 

성공적인 통신을 위해서

=> 전체 시스템의 모든 개체는 반드시 유일한 주소를 가지고 있어야 함

1. 서브 네트워크 상의 모든 호스트는 반드시 유일한 인터넷 주소를 가지고 있어야 함 ( 데이터가 올바른 호스트로 전송할 수 있도록 )

2. 호스트 내의 모든 프로세스는 호스트에서 유일한 주소를 가지고 있어야 함 ( 호스트-호스트 프로토콜이 올바른 프로세스로 데이터를 전송하는데 이용) ( 포트 port )

ex)

호스트A의 포트3과 연결된 프로세스가 호스트B의 포트2에 연결된 프로세스에게 메시지를 전송한다고 가정

📤 전송

  1. A에 있는 프로세스는 호스트B의 포트2에 전송하라는 명령과 함께 메시지를 TCP에 넘김
  2. TCP는 메시지를 호스트B에 전송하라는 명령과 함께 메시지를 IP에 넘김 (IP는 목적지 포트를 알 필요가 없음) (데이터가 호스트B로 전송 되어야 한다는 사실만 알면 됨)
  3. IP는 라우터 J (B로 가기 위해 처음으로 거쳐야 되는 홉)로 전송하라는 명령과 함께 메시지를 네트워크 접속계층(예: 이더넷회로)으로 내려보냄

=>
이러한 동작을 제어하기 위해서

사용자 데이터뿐만 아니라, 제어정보도 같이 전달되어야 함

1. 송신 측 프로세스는 데이터 블록을 만들어서 TCP에 넘김

2. TCP는 이들 각 데이터 조각에 TCP 헤더라고 하는 제어 정보를 붙여 TCP 세그먼트를 만듦.

(TCP 세그먼트 : 데이터 조각에 TCP 헤더라고 하는 제어 정보를 붙인 것 )

3. 이 제어정보는 호스트B에 있는 동료(peer) TCP 프로토콜에 의해서 사용됨

 

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

 

TCP는 세그먼트를 호스트B에 전송하라는 명령과 함께 세그먼트를 IP에 넘김

세그먼트들은 여러 개의 중간 라우터를 거치고 여러 개의 네트워크를 지남

= > 이러한 동작은 제어정보를 이용해야 하기 떄문에 이를 위해 IP는 각 세그먼트에 제어정보를 담은 헤더를 붙여서 IP 데이터그램(datagram)을 만듬. 목적지 호스트 주소를 포함


각 IP 데이터그램은 목적지로 향하는 과정에서 첫 번째 서브네트워크를 지나기 위해 네트워크 접속 계층으로 전달

네트워크 접속 계층은 자신의 헤더를 붙여서 패킷이나 프레임을 만들며 이 패킷은 서브 네트워크를 통하여 라우터 J로 전송

패킷 헤더에는 데이터가 서브네트워크를 지나는 데 필요한 정보가 담겨져 있음

📥 중간과정

라우터 J에서는 패킷 헤더를 떼내고, IP 헤더를 조사

IP 헤더에 있는 목적지 주소정보를 바탕으로, 라우터에 있는 IP 모듈은 데이터그램을 네트워크 2를 통하여 B로 보냄

(이를 위해 데이터그램에 네트워크 접속 헤더가 다시 붙음)

📨 수신

데이터가 B에 도착하면 반대 과정이 일어남

각 계층에서 해당 헤더가 제거되고, 나머지가 상위계층으로 전달되며 마지막으로 사용자 데이터가 목적지 프로세스에 전달


📟 TCP 와 UDP

TCP/IP 프로토콜 구조상의 대부분의 응용들은 수송 프로토콜로 TCP를 사용

 

🛜 TCP

- 응용계층에게 신뢰적인 데이터 전송을 보장하는 논리적인 연결을 제공

( 연결은 다른 시스템에 있는 두 개체 사이에 설정되는 일시적인 논리적 연관을 뜻함)

( 논리적 연결은 한 쌍의 포트 값을 의미)

- 연결이 지속되는 동안, 각 개체는 다른 개체로(부터) 오고 가는 TCP 세그먼트를 추적하여 흐름을 제어하고 분실 또는 훼손된 세그먼트들을 복구함

 

<TCP의 헤더 형식>

- 길이는 최소 20옥텟 (또는 160 비트)

- 발신지 포트, 목적지 포트: 연결을 사용하는 발신지와 목적지의 응용을 구별하는 식별자

- 순서 번호 (sequence Number), 확인응답번호 (Acknowledgement),윈도우 (Window) 필드: 흐름제어와 오류제어를 제공하는데 사용

- 체크섬: TCP 세그먼트의 오류를 검출하는데 사용되는 16비트 프레임 체크 시퀀스


TCP/IP 프로토콜 스위트에는 TCP 외에 UDP(User Datagram Protocol)라는 또다른 수송 프로토콜이 널리 사용됨 

 

🛜 UDP

- 세그먼트의 배달 확인과 전송 순서 및 중복 전달을 방지하는 기능을 제공하지 않음

- 최소한의 프로토콜 기법을 이용하여 두 프로시저들 사이에 메시지를 보낼 수 있도록 해 줌

- 트랜잭션 기반 응용들이 주로 사용 ( ex: TCP/IP 망의 표준 네트워크 관리 프로토콜인 SNMP)

- 비연결형이므로 수행하는 동작이 적음. ( 기본적으로 IP에 포트 지정 기능을 추가하는 정도의 역할)


📟 IP와 IPv6

수십 년 동안 TCP/IP 프로토콜 구조의 중심은 통상 IP라고 불리는 IPv4 였음.

IPv4 IP 헤더

수송계층에서 내려오는 세그먼트와 함께 IP 데이터그램 또는 IP 패킷이라 불리는 IP 단계의 PDU를 구성

 32비트의 발신지와 목적지 주소가 들어있음

- 헤더 체크섬 필드 :배달 오류를 막기 위한 오류 검출에 사용

- 프로토콜(Protocol)필드 : IP를 사용하는 상위 계층을 지정하는 데 사용

- ID, 플래그(Flag), 조각(Fragment),옵셋( offset ) 필드 : 분할 및 재조립 과정에 사용

 

 


1995년에 인터넷 표준을 개발하는 IETE에서 1Png라고 불리는 차세대 IP의 규격을 발표

=>  1996년에 IPv6로 알려진 표준으로 채택

- 다양한 기능을 보완

- 최신 네트워크의 높은 속도와 점점 더 늘어나고 있는 그래픽과 비디오를 포함한 혼합된 데이터 스트림에 맞게 설계

 

더 많은 주소의 필요성 때문에 출현

=> 발신지와 목적지를 식별하기 위하여 32 비트 주소를 사용하는데 인터넷과 인터넷에 접속된 사설망의 폭발적 성장으로 인하여 주소가 필요한 모든 시스템의 요구를 수용하기에는 주소 길이가 충분하지 않게 된 것

- IPv6 는 128비트의 발신지 및 목적지 주소 필드를 가짐
- 결국 IPv4를 사용하는 모든 구현은 현재의 IP로부터 IPv6로 이동할 것으로 예상


📟 프로토콜 인터페이스

프로토콜에서 각 계층은 바로 인접 계층과 상호 동작

발신지의 응용 계층은 종단 간 계층의 서비스를 이용 + 데이터를 그 계층으로 전달

종단간 계층과 인터넷 계층 사이 의 인터페이스 / 인터넷 계층과 네트워크 접속 계층 사이의 인터페이스 - 비슷한 관계 존재

목적지의 각 계층은 데이터를 바로 다음 상위 계층으로 올림

=> 대부분의 응용이 신뢰적인 종단간(end-to-end)프로토콜을 필요로 하기 때문에 일반적으로 TCP를 사용하는 것

 

하지만 구조적으로 반드시 각 계층을 이용해야 하는 것은 아님

=> 특수 목적의 응용일 경우에는 TCP 서비스가 필요없음

어떤 계층의 서비스든지 바로 호출하는 응용을 개발할 수도 있음

예 ) 

단순 네트워크 관리 프로토콜(SNMP)의 경우에는 사용자 데이터그램 프로토콜(UDP)이라는 종단간 프로토콜을 이용

어떤 응용은 IP를 직접 이용

인터 네트워킹을 이용하지 않거나, TCP가 필요하지 않는 응용은 네트워크 접속 프로토콜을 바로 호출하도록 개발


2.4  📲 프로토콜 구조 내에서의 표준

📟 표준과 프로토콜 계층

TCP/IP 구조나 OSI와 같은 프로토콜 구조는 표준화 작업에 대한 틀을 제공

이러한 모델 내에서 하나 이상의 프로토콜 표준이 각 계층에서 개발될 수 있음

 

모델은 각 계층에서 수행되어야 하는 기능을 정의

두가지 측면에서 표준화 과정에 도움이 됨

  1. 각 계층의 기능이 잘 정의되어 있으므로, 각 계층에 대한 표준화 작업이 상호 독립적으로 그리고 동시에 이루어질 수 있음. 따라서 표준화 작업이 빨리 진행될 수 있음.
  2. 각 계층 간의 경계가 잘 정의되어 있으므로, 한 계층의 표준 변화는 다른 계층에 영향을 미치지 않음. 이것은 새로운 표준의 개발을 용이하게 함.

OSI 모델의 용도

- 전체적인 통신기능은 7개의 명확한 계층으로 나누어져 있음

즉, 전체 기능을 여러 개의 모듈로 나누고, 모듈 사이의 인터페이스 를 가능한 한 간단하게 만듦

여기에 정보-은닉(information-hiding)이라는 기법이 이용

하위 계층일수록 더욱 더 세분화된 기능을 다루는데, 상위 계층은 이러한 하위 계층의 상세한 내용에 대해서는 알 필요 없음

그리고 각 계층은 상위 계층에 서비스를 제공하고 다른 시스템의 동료(peer)계층과 프로토콜로써 상호 반응


3개의 중요한 요소
- 프로토콜 명세:

다른 시스템의 동일 계층에 있는 두 개체는 프로토콜을 이용하여 상호동작

2개의 서로 다른 개방 시스템이 관련되므로 프로토콜을 정확하게 서술해야 함

이 명세에는 교환할 PDU의 형식, 각 필드의 의미, PDU의 허용 순서 등이 포함

- 서비스 정의: 

각 계층에서 동작하는 프로토콜 외에도 표준에는 각 상위 계층에 대한 서비스도 포함되어야 함

전형적으로, 서비스의 정의는 기능적 서술과 동일한데 어떤 서비스를 제공하는가를 정의하는 반면 서비스의 제공 방법에 대해서는 정의하지 않음
- 주소 지정: 

각 계층은 다음 상위 계층의 개체에 대해서 서비스를 제공하며 이 개체는 서비스 접속점(SAP)을 통하여 식별

따라서 네트워크 서비스 접속점은 네트워크 서비스 사용자인 수송(transport) 개체를 가르킴

 

 

< 서비스 정의의 관점에서 기능적 정의만을 제공하는 이유 >

1.  두 인접한 계층 사이에서 발생하는 상호 동작은 하나의 개방 시스템 내부에서 일어나는 일이고, 다른 개방 시스템과는 관련이 없음. 

따라서 다른 시스템의 동료 계층이 그 상위 계층에 대해서 동일한 서비스만 제공한다면, 그 서비스가 어떻게 제공되는지에 대한 상세한 내용은 시스템에 따라 다를 수 있고 상호 호환성과는 관련이 없음

 

2.  통상적으로 인접 계층은 같은 프로세서상에서 구현

이 경우 최대한 효율적인 인터페이스를 만들기 위하여 시스템 프로그래머가 하드웨어와 운영체제를 활용할 수 있도록 허용하는 것이 좋음.
주소 지정을 살펴보면, 서비스 접속점으로 구현되는 각 계층의 주소 매커니즘을 시용하면 인접 상위 계층에서부터 오는 다중 사용자들을 다중화할 수 있음. 다중화는 각 계층에서 항상 일어나지는 않지만 이 모델에서는 허용됨.


📟 서비스 프리미티브와 파라미터 

 

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

프리미티브: 수행할 기능을 서술하는 것

파라미터: 데이터와 제어정보를 넘겨주는데 이용


<서비스 프리미티브 유형>

프리미티브의 실제 모양은 구현에 따라 달라짐

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

 

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


1. 발신지(N) 개체는 요청(request)프리미티브로 그것의(N-1)개체를 호출 

    이때 전송할 데이터와 목적지 주소 같이 프리미티브와 관련된 파라미터가 필요

2. 발신지(N) 개체는 동료(N-1) 개체로 보낼 (N-1) PDU를 준비

3. 목적지(N—1) 개체는 지시(indication)프리미티브를 통하여 데이터를 해당 목적지 (N) 개체에 전달

     이때 데이터와 발신지 주소를 파라미터로 포함

4. 만약 확인 응답이 필요하면, 목적지 (N) 개체는 (N-1) 개체에 대해서 응답(response) 프리미티브를 발생

5. (N—1) 개체는 (N—1) 에 확인을 포함

6. 확인(confirm) 프리미티브를 사용하여 (N) 개체로 확인 응답을 전달

 


확인 서비스 :

서비스 요청자의 요청 서비스가 상대방에서 제대로 수행되었다는 확인을 받는 방식

 

미확인 서비스 : 

요청과 지시 프리미티브만 수행되는(1에서 3번까지의 과정) 서비스

- 서비스 요청자는 요청한 동작이 발생하는지에 대하여 확인을 받지 못함.


2.5  📲 인터넷 기반의 전통적 응용

다양한  표준화된 응용들 : 가장 널리 사용되는 3개

- 단순 전자 메일 프로토콜

- 파일 전송 프로토콜

- SSH ( secure shell )


📟 단순 전자 메일 프로토콜(SMTP : simple Mail Transfer Protocol)

기본 전자메일 수송 서비스를 제공

원격 호스트 간에 메시지를 전달하는 기법을 제공

 

특징 : 메일링 리스트, 수령통지, 전달, 등

 

1. 메시지 생성을 위하여 로컬 편집기나 단순한 전자메일 응용이 사용(제한 ㄴ)

2. 메시지가 생성되면 SMTP는 메시지를 받음

3. 메시지를 다른 호스트에 있는 SMTP 모듈에 전달하기 위하여 TCP를 이용

4. 목적지 SMTP모듈은 로컬 전자 메일 패키지를 이용하여 전달된 메시지를 사용자의 우편함에 저장


📟 파일 전송 프로토콜(TCP : File Transfer Protocol)

사용자의 명령에 따라 한 시스템에 있는 파일을 다른 시스템에 전송하는 데 이용

텍스트 파일이나 2진파일에 대해서 모두 사용 가능

사용자 접속을 제어할 수 있는 방법을 제공

 

1. 사용자가 파일전송 요청을 하면 FTP는 제어 메시지 교환을 위해서 목적지 시스템과 TCP 연결을 설정

2. 제어메시지에는사용자 ID와 암호, 파일지정과 파일에 대한 행위지정이 포함

3. 파일전송이 허가되면, 데이터전송을 위한 두번째 TCP 연결이 설정

4. 응용단계에서 제어정보나 헤더와 같은 비용을 들이지 않고 데이터 연결을 통해서 바로 파일이 전송

5. 전송이 완료되면 제어연결을 통해서 완료를 알리고 새로운 파일 전송 명령을 받아들이게 됨


📟 SSH ( secure shell )

안전한 원격 로그온(log-on) 기능을 제공

단말기나 PC를 이용하는 사용자가 원격 컴퓨터에 접속하여 그 컴퓨터를 직접 사용하는 것처럼 해줌.
로컬 호스트와 원격 서버 사이의 파일 전송도 지원

사용자와 원격 서버가 각각 상대방을 인증하며 양방향의 모든 트래픽을 암호화

SSH 트래픽은 TCP 연결상에서 배달


2.6  📲 멀티미디어

인터넷의 광대역 접속이 보다 쉬워짐에 따라 웹 기반 및 인터넷 기반 멀티미디어 응용에 대한 관심이 증가


<멀티미디어기술>
미디어 :
텍스트, 정지영상, 오디오, 비디오를 포함한 정보의 형태를 말함
멀티미디어 :
텍스트, 그래픽스, 음성, 비디오를 포함한 인간-컴퓨터간의 상호작용을 말함. 멀티미디어는 멀티미디어 내용물을 저장하는데 사용하는 기억장치를 뜻함

스트리밍미디어 :

인터넷이나 웹으로부터 컴퓨터에서 수신한 후 즉각 또는 수 초 이내에 재생을 시작하는 비디오 장면 오디오와 같은 멀티미디어 파일을 뜻함.

멀티미디어 내용물은 전체 파일이 다운로드될 때 까지 기다리는 것이 아니고 서버로부터 배달되는대로 재생


📟 미디어 유형

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


<통신 관점>

 

텍스트

키보드를 통하여 입력되고 바로 읽고 인쇄가능한 정보

예 : 텍스트 메시징. 즉석 메시징. 텍스트 전자 메일

+ 파일과 데이터베이스에 저장 가능하며 위의 다른 3유형의 미디어에 해당되지 않는 보다 넓은 의미의 데이터를 뜻함

 

오디오

일반적으로 서로 다른 범위의 소리 2개를 뜻

음성은 인간의 음향 메커니즘에 의해 만들어지는 소리를 뜻

예 : 전화와 관련 응용(음성 우편. 오디오 원격 회의, 텔레마켓팅)

일반적으로 음성 전달에는 낮은 대역폭이 (4KHZ 이하) 필요

음악 파일의 다운로드를 비롯한 음악 응용을 지원하기 위해서는 보다 넓은 대역폭이 필요

 

영상 

단일 그림, 차트, 도안 등의 통신을 지원

예시 : 팩스. 컴 퓨터 보조 설계,출판, 의료 영상 등

영상은 도안 프로그램이나 파일에서 와 같이 벡터 그래픽스의 형태로 표현

영상은 래스터(raster) 그래픽스 형태에서는 화소(pixel)로 불리는 점의 2차원 행렬로 표현

 

비디오

시간적으로 연속적인 그림의 열을 운반

기본적으로 비디오는 일련의 래스터-스캔 영상을 사용


📟 멀티미디어 응용

시각화를 위한 대량 데이터와 실시간 상호 작용 지원을 위한 멀티미디어 응용이 계속 증가


- 정보시스템:

멀티미디어를 사용하여 정보를 제공

오디오,비디오를 포함한 정보 매점이나 전자책 그리고 전문가 시스템이 해당


- 통신시스템:

비디오 회의와 같은 협업을 지원

 

- 오락시스템:

컴퓨터게임, 네트워크게임, 시청각오락이 해당


- 비지니스시스템:

사업용 멀티미디어 발표, 비디오 브로슈어, 온라인 쇼핑 등이 해당


- 교육시스템:

멀티미디어를 포함한 전자책, 모의실험 및 모델링 애플릿, 기타 학습 지원 시스템이 해당

 

<멀티미디어 시스템의 영역 및 응용 예제>
정보관리 : 하이퍼미디어. 멀티미디어 데이터베이스. 내용 기반 검색

오락 : 컴퓨터게임.디지털비디오.오디오
원격통신 : 비디오회의.공유작업공간.가상공동체

정보출판/배달 : 온라인 훈련. 전자책 스트리밍 미디어


📟 멀티미디어 기술

- 압축 :

디지털 비디오와 훨씬 더 적은 양인 오디오는 네트워크에 엄청난 양의 트래픽을 생성

많은 사용자가 사용하는 스트리밍 응용은 트래픽을 증가

=> 압축을 통하여 분량을 상당 부분 줄이기 위한 표준이 개발되어 옴

 주목할 만한 표준 :  정지영상 - JPG  /  비디오 - MPG


- 통신/네트워킹 :

방대한 멀티미디어 트래픽을 지원할 수 있는 전송 및 네트워킹기술을 의미


- 프로토콜 :

멀티미디어 트래픽을 지원하기 위한 다양한 프로토콜들이 사용

- 실시간 수송 프로토콜(RTP): 비탄력적 트래픽(인터넷의 지연 시간과 처리율의 변화에 쉽게 또는 전혀 적응하 지 않는 트래픽)을 지원하기 위하여 설계 ( 버퍼링과 폐기 전략을 사용)

- 세션 착수 프로토콜(SIP) : 데이터 네트워크를 통하여 두 참가자간의 실시간 세션을 설정하고 변경하고 종료하는 응용 단계의 제어 프로토콜


- 서비스 품질: 

인터넷과 하부 LAN 및 WAN은 서로 다른 형태의 응용 트래픽에 다른 수준의 서비스를 제공하는 QoS 기능을 가져야 함

 QoS 기능은 우선순위, 지연제약, 지연변이제약, 기타 유사한 요구사항들을 다룰 수 있어야 함


📟 용어 정리

서비스 접속점(SAP) /포트(port) : 각 응용이 수송 계층의 서비스를 개별적으로 접근한다는 의미

체크섬(checksum) 또는 프레임 체크 시퀀스(frame check sequence)

네트워크 접속 프로토콜(NAP)

프로토콜 데이터 유닛 (PDU) = 패킷(packet)

서브 네트워크(subnetwork)

 

으ㅡㅇ응윽,,,,

ㄴㅏ중에 용어 재정리