happy coding

[lecture] 네트워크 구조 본문

lecture/computer network

[lecture] 네트워크 구조

yeoonii 2023. 1. 11. 16:58

프로토콜(protocol)

프로토콜이란 통신에 사용되는 약속으로 정의할 수 있는데, 약속이기에 반드시 대칭 관계를 가져야 한다. > 양쪽이 같아야 한다.

다양한 컴퓨터통신 시스템과 응용이 생겨나면서 프로토콜이 복잡해져갔고, 해석이 불명확해졌다. 이는 프로토콜을 변경 하는 등의 관리에 대해 어려움을 야기했고, 이는 새로운 프로토콜이 필요할 때마다 반복되어갔다. 이를 지나오게 되면서 복잡성을 해결하는 구조적인 기법이 필요해졌는데, "계층화"하는 방법으로 해결하게 되었다.

계층화 (Layering)

먼저, 추상화(abstractions)란, 복잡한 내용과 문제를 숨겨 문제를 단순화하는 것이다. 이 추상화된 문제와 내용을 해결하는 방법은 추상화를 반복적으로 적용하는 것이다. 추상화를 이용해서 복잡한 문제를 한번에 풀 수 없다는 상황을 계층화를 유도해 해결할 수 있다.

Application programs
Process-to-process channels
Host-to-host connectivity
Hardware

이로써 통신 프로토콜은 여러 계층으로 정의됨으로써 관리하기 쉬워졌다는 것을 알 수 있다. 각 계층은 하나의 기능을 하는 개체로서 다른 프로토콜에서 재사용이 가능하다.

프로토콜 계층과 개체

프로토콜 계층이란 전체 프로토콜을 구성하는 계층인데, 즉 프로토콜의 구성 요소를 의미한다. 여기서 계층 또한 약속이기 때문에 프로토콜이 대칭이여야 한다.

각 프로토콜 개체는 2개의 다른 인터페이스를 갖는다.

1. 서비스 인터페이스(service interface) : 해당 프로토콜의 작업을 정의한다.

  • 해당 프로토콜의 작업을 정의한다.
  • 상위 계층이 나를 쓸 때 어떤 식으로 써야할지(설명서처럼) 라는 안내를 한다.(ex.API)
  • 우리가 사용할 때 봐야 한다.

2. 동료 인터페이스(peer-to-peer interface) : 동료 간에 교환되는 메시지를 정의한다.

  • 동료간에 교환되는 메시지를 정의한다.
  • 계층과 계층 사이의 약속이다. (메시지를 보내고, 뜯어보기 위해 필요하다.)
  • 우리가 수정할 때 봐야 한다.
  • 대개 간접적으로 이루어진다. (맨 밑 계층인 하드웨어 수준에서만 동료간이 간접적으로 이루어진다.)

내려올 땐 header를 encapsulation, 올라갈 땐 header를 decapsulation 과정이 필요하다.

(전체)프로토콜 정의 : 프로토콜 그래프

프로토콜 그래프(또는 프로토콜 스택)이란 계층화된 구조로 모여 프로토콜들의 집합을 말하며, 프로토콜의 모음(collection)과 그들 사이의 의존 관계(dependency)를 표현한다. 동료간의 통신은 대개 간접적으로 이루어지는데, 실제 통신은 하위 계층을 사용하여(위임하여) 이루어지고 하드웨어 수준에서만 동료 간이 직접적이다.

하위 프로토콜을 공유하는 것은 다중화(Multiplexing) 및 역 다중화(Demultiplexing) 과 demux key 를 이용해 진행한다.

 


https://m.blog.naver.com/donghae0414/221693536544

'lecture > computer network' 카테고리의 다른 글

[lecture] 10주차 (무선 LAN~)  (0) 2023.01.11
[lecture] DHCP(Dynamic Host Configuration Protocol)  (0) 2023.01.11
[lecture] 7(9)주차  (0) 2022.11.03
Comments