Protocol 이란 

  • Internet 안에서의 각 entity들이 동작하는 방식
  • 주로 주고받는 메시지 + 관련 동작을 정의 

Protocol 구조

통신 네트워크는 여러 개의 protocol이 서로 얽혀서 동작

  • stack 구조로 위 아래 protocol 끼리 API로 상호 작용

Protocol Model: Service 개념 

Clinet (혹은 service user)에게 무언가를 제공하는 것

  • Communication service model
    • SAP(service access point)를 통해 packet 전달 서비스 제공
    • service user는 SP (Service Primitive)를 통해 서비스받음

image “user를 통해 제공되며 SP 형식으로 교환”

Protocol Model: Service Primitive 

Service primitive는 이름/ 형식/ 파라미터로 구성

  • 이름 : CONNECT(연결 요청), DATA(요구/보낼 데이터)
  • 형식 : request / indication / response / confirm
  • 파라미터: called address, calling address, QoS… 

image REQ -> (2) IND -> (3) RES -> (4) CNF 순서 (들어있는 내용에 따라 CONNECT/DATA로 나뉜다.)

Protocol Model: Entity and SAP 

Entities : Service Provider 내에서 서로 interacting 하면서 실제 동작을 하는 존재

  • communication service 실현을 위해 서로 message를 주고받음

SAP를 통해 받은 SP를 기반으로 동작

image“하나의 SAP에서 두 개의 Instance로 분산될 수 없다.”

 Protocol Model: Service vs. Protocol

Communication protocol

  • peer entity들 간 상호작용을 하는 규칙
  • peer entity끼리 서로 message를 주고받을 때 포맷이나 순서 등의 동작을 약속
  • symmetric / asymmetric

Service Provider 내에서 service를 실현하기 위한 도구/규칙이 바로 protocol임

Protocol Model: Protocol 구성

  • Syntax : PDU에 대한 형식
  • Semantics : protocol 동작을 위한 제어 정보
  • Timing : procedure에 대한 동작 순서

Protocol Representation

Time sequence diagram : 시간 흐름에 따른 entity 간 상호 작용을 그래픽하게 나타냄

image

Protocol Model: Protocol Data Units

peer entity간 서로 주고받는 message가 PDU

  • PDU의 format (structure, semantics)은 protocol에 의해 정의됨

반대로 SAP를 통해 전달되는 message는 SDU

image

Principle of Transparency

  • service provider는 user data에 대해 principle of transparency 적용
    • user data를 조작 없이 그대로 통과(하지만 너무 크면, fragmentation은 일어날 수 있다.)
    • Entity가 SDU를 PDU로 전달할 때는, SDU를 조작하면 안 된다.
    • user data 내용을 참고하여 동작하지 않음(protocol이 해야 하는 역할만 하고 처리해야 한다.)
  • Protocol Control Information (PCI)
    • protocol 동작을 위해 SDU 앞뒤에 붙이는 제어 정보
    • Protocol header / trailer ( header + SDU + trailer)
    • 송신 측 entity에서 붙이고, 수신 측 entity에서 제거

Protocol Functions

여러 protocol에서 두루 사용되는 특정 procedure / mechanism 

Error Control

  • PDU가 정상적으로 전달되지 않은 상황에서의 protocol entity의 동작
  • 에러가 난 packet은 재전송한다. (공용 protocol function)

Fragmentation, Flow control

  • entity 간 data를 서로 주고받는 속도 및 형태 조절

Protocol 동작의 특성

Concurrency

  • entity는 어떤 순간에도 서로 다른 service demand 및 event에 대해 동시적으로 반응동작해야 한다.

Nondeterminism

  • 여러 가지 event가 동시에 발생하는 경우 어떤 순서로 처리가 될 지에 대한 예측이 되지 않는 특성
  • 어떤 event든 먼저 처리가 될 수 있어야 한다.