티스토리 뷰

protocol 및 layer architecture에 대한 모델에 대해 이해

  • service / entity / protocol 모델의 기본 개념 및 용어
  • layered architecture 특정
  • OSI layer 개념 (Open Systems Interconnection 7Layer)

Protocol이란?

Internet안에서 각 entity들이 동작하는 방식

  • HW / SW 간 서로 메시지를 주고받으며 상호작용을 하는 약속
  • entity로는 end-system, router 등을 의미

주로 주고받는 메시지 + 관련동작을 정의

  • "Protocol defines the format and the order of message exchanged between two or more communicating entities"
  • 프로토콜은 두개 또는 이상의 커뮤니케이션을 하는 엔티티 사이의 교환되는 메시지의 형식이나 순서를 정의한다.

Protocol 구조

  • 통신 네트워크는 여러개의 프로토콜이 얽혀서 동작한다
  • stack구조로 쌓여있는 형태이고, 위아래 protocol끼리 API로 상호작용한다
  • 상대방 protocol과 상호작용을 한다

Service 개념

Client(= service user)에게 무언가를 해주는것이다

  • SAP (Service Access Point)를 통해 Packet 전달 서비스 제공
  • service user는 SP (Service Primitive)를 통해 서비스를 받는다

    SP : 공통된 메시지 형태

Service Primitive

  • 이름 / 형식 / 파라미터 로 구성되어 있다

이름 : CONNECT, DATA, ..
형식 : request, indication, response, confirm
파라미터 : called address, calling address, ..

 

REQUEST

  • 서비스가 무언가 시작하는 것

CONFIRM

  • REQUEST 대한 응답으로 CONFIRM되는 것

INDICATION

  • 프로토콜에서 서비스한테 무언가 동작을 시작 할 때, primitive가 indication 되는 것
  • request 받은 반대편 프로토콜이 현재 서비스한테 indicate를 주는 PM

RESPONSE

  • INDICATION에 대한 응답

Entity & SAP 개념

Enitities

  • service provider 내에서 서로 상호작용하면서 실제 동작을 하는 존재
  • communication service 실현을 위해 서로 message를 주고받는다.
  • peer eintity를 통해 SAPs을 제공한다.
  • SAP를 통해 받은 Service Primitive를 기반으로 동작한다.

하나의 SAP는 하나의 Entity에 매핑이 되어있다. 복수의 SAP가 하나의 Entity를 가질수 있지만, 복수의 Entity가 하나의 SAP을 갖는 것은 불가하다.

 

Communication Protocol

  • 즉, peer entity들간에 상호작용에 대한 규칙을 정한것이다
  • Service provider내에서 Service를 실현하기 위한 도구/규칙이 protocol인 것

Protocol 구성

  • Syntax : PDU에 대한 형식 (data block의 format)
  • Semantics : protocol 동작을 위한 제어정보
  • Timing : procedure에 대한 동작 순서

protocol Representation

  • Time sequence diagram으로 표현상호작용은 곧 message를 주고받는 동작
  • 시간 흐름에 따른 entity간 상호 작용을 그래픽하게 나타낸 것

    SAP를 통해 CR (connect request)가 들어오면 반대편 서비스로 indication이 올라오고 서비스가 이를 받아서 response메시지를 내려주면 CC (connect confirm)메시지를 전달한다

PDU - Protocol Data Unit

peer entity간 서로 주고받는 message(정보)
PDU의 format은 protocol(sementics)에 의해 정의된다

  • peer entity 양쪽에 format이 모두 알려져있고, 한 PDU에 대해 양쪽에서 동일하게 해석한다
  • 한 프로토콜에서 여러종류의 PDU를 활용한다.
    SAP를 통해 peer entity로 들어오는 message는 Service Data Unit이다.
    SDU → Entity(protocol) → PDU

Service Provider는 PDU에대해 principle of Transparency를 적용하는데

  • user data를 조작하지 않고 통과시킨다
  • user data를 참고하여 동작하지 않는다

Protocol Control Information (PCI)

  • Protocol동작을 위해 SDU 앞뒤에 붙이는 제어 정보이다 - 앞 (header) / 뒤(trailer)
  • 송신측 entity가 붙이고, 수신측 entity에서 제거한다

Protocol Functions

프로토콜에서 두루 사용되는 특정 절차 / 메커니즘

error control : PDU가 정상적으로 전달되지 않는 상황에서의 entity의 동작
fragmentation, flow control : entity간 data를 서로 주고받는 속도 및 형태 조절

 

Protocol 동작의 특성

Concurrency

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

Nondeterminism

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

Layer

위에서 말했듯이 SAP-Entity 쌍으로 구성되어있는데 이를 말하는 것.
각 layer는 하나 이상의 service를 제공한다.

 

Layered architecture

  • layer가 위아래로 존재한다 : N-Layer
  • peer entity간 message교환은 인접한 하위 layer의 entity에 의해 이뤄진다

Layer간 상호작용은 Service Primitive를 통해 이뤄진다

  • primitive : 수행되는 함수로 Layer간 소통을 위한 것
  • 함수에는 매개변수로 데이터나, 제어 정보등이 있다
  • 이에반해 PDU는 Entity간 소통을 위해 주고받는 message이다

Layered Architecture

Protocol Stack도 layered architecture의 한 사례
일상에서 항공 서비스 시스템 등을 찾아 볼 수 있다

  • stack구조의 layered architecture
  • Horizontal layering of functionality (service)
  • layer는 반대편 layer와 대칭적이다
  • 각 layer는 각각의 서비스를 한다

특징

horizontal interaction

  • peer entities끼리만 interaction이 이뤄지고, 위아래 계층끼리는 이뤄지지않는다. 서비스는 받아도 서로간에 영향 X

principle of trasparency

  • SDU를 그대로 통과시키며 protocol 동작이 SDU에 의해 영향 받지 않는다

상위 layer의 interaction이 하위 layer의 동작을 줄여주지 않고, 하위 layer의 동작상의 문제는 상위 layer에게 알려주지 않는다 (독립적)

  • 보통 자체적으로 문제해결이 이뤄지고, 치명적인 문제 경우에만 infom을 준다

장점

크고 복잡한 기능들의 시스템을 표현하기 적절한다

  • Modularity : 기능 단위로 시스템을 분해
  • 각 layer의 service에 대해 비교적 쉽게 구현
  • 기능의 series형태로 표현되므로 동작 흐름이 쉽게 보인다 → 동작 분석 및 디버깅이 용이하다

Layer Architecture 관점에서 PDU

N - layer의 PDU → (N-1) - layer의 SDU ...
계층을 내려갈 수록 PCI가 붙으면서 PDU의 크기가 커진다

  • 여기서 PCI는 SDU에 붙는 것이고 PDU에 대한 priciple of transparency는 유지된다

Layer에서의 Mapping
Entity - SAP는 1~N개의 SAP에대해 단 한개의 Entity만이 붙을 수 있다

  • 아래 방향으로 여러 SAP로 분기되는 형태는 가능하다
  • Entity가 어느 SAP로 내릴지는 선택 가능하나, SAP가 어느 Entity로 선택하는 것은 안된다

Open Systems Interconnection Model

OSI Model 7계층 _ ISO에서 제안한 통신 네트워크 표준 계층 구조

  • 현 internet은 5계층 모델

L1 : Physical Layer (link laeyr)

PDU = bit (stream)

  • 물리적으로 연결된 링크에 맞는 실제 물리 신호를 생성
  • 1 hop으로 연결된 상대방에게 직접 정보 전달
    링크나 물리매체에 따라 상이하다
  • Ethernet / wireless siganl (wifi, lte..)

L2 : Data link Layer, Medium Access Control (MAC) layer

PDU = frame

  • 통신 매체에 대한 접근 제어
  • 여러 개체가 하나의 통신 매체를 공유하는 것에 대한 교통정리 (공유기, 기지국)
  • L1에 매우 의존적, 쌍으로 이뤄지는 경우가 많다

L3 : Network Layer (IP)

PDU = packet
L1, L2가 하나의 장치에서 다른 장치로 1hop으로 딱 한번 이동을 할 때에 대한 프로토콜인 반면에 L3, L4는 네트워크내에서 end to end로 인터넷을 계속 타면서 갈 때의 프로토콜이다

  • 네트워크 내에서 Packet 흐름을 결정하는 핵심 역활
  • Routing protocol
    우편 서비스에서 보내는사람 → 받는 사람으로 우편물 전달 역활과 동일하다. 즉 여러 우편 처리 시설을 들리면서 end to end로 가게 되는 것

L4 : Transport Layer (TCP, UDP)

PDU = TCP 세그먼트
application endpoint간 Packet을 전달하는 역활로, flow(흐름)을 제어한다

  • TCP : Connection-Oriented, flow control
  • UDP : Connectionless Service (받았는지 확인하지 않고 보내기만 하고 끝)
    우편이 너무 많으면 나눠서 전달하는 등 흐름을 제어하거나 등기처럼 받았는지 확인하거나 아니면 우편처럼 그냥 보내고 끝인 방식

L5 : Application Layer

PDU = 메시지, 데이터
통신 네트워크를 사용하는 실제 프로그램 혹은 APP

  • HTTP
  • SMPT
  • FTP
  • DNS
    ...

TCP/IP 기반 Protocol Stack 예시

Host A → Host B로 정보가 전달될 때

  1. 프로토콜 A 애플리케이션이 정보를 만들어서 TCP쪽 SAP에 DATA를 내려준다. SDU가 내려간다 (L5 → L4)
  2. TCP는 받은 SDU에 대해 PDU로 만들어서(SDU+PCI) IP로 전달한다 (L4 → L3)
  3. IP는 전달 받은 데이터를 통해서 Destination IP(Host B의 주소)를 얻게 된다. 그러고 해당 목적지 IP를 확인하고 어디로 보낼지 정해서 PDU를 내려준다 (L3 → L2)
  4. L2와 L1에서 네트워크를 타고가서 중간 라우터로 가게된다
  5. 중간 Router의 IP Layer가 Destination IP주소를 확인하고 네트워크 2로 보내서 PDU가 전달된다
  6. Host B의 L1, L2에서는 데이터를 받아서 올려주는데 이때는 목적지 IP를 보지않고 처리한다
  7. IP (L3)까지 오면 그제서야 자신한테 온것임을 알고 TCP (L4)로 올려준다
  8. TCP에서도 확인 후 SAP을 통해 애플리케이션 계층까지 전달을 하게 된다

Encapsulation

OSI model관점에서 본 Internet상에서의 Packet 전달
layer를 통과하면서 PCI가 붙으면서 PDU가 점점 헤더가 붙으면서 가는것을 뭔가가 계속 감싸지면서 가는 형태로 캡슐화라 한다 == Encapsulation

  • switch / router는 모든 Layer가 있지 않고, 하위 1~3 Layer들만 갖는다
  • 각 layer가 자신만의 정보 Header를 붙이면서, 상위 Layer의 Packet을 Encapsulation 한다
반응형

'CS > 네트워크 전공 수업 정리' 카테고리의 다른 글

5. Protocol Function 3  (2) 2021.04.27
4. Protocol Function 2  (0) 2021.04.27
3. Protocol Function  (0) 2021.04.27
1. Communications Networks and the Internet  (0) 2021.04.27
네트워크  (0) 2021.04.27
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday