wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Computer Science/Data Communications

[데이터통신] 프로토콜 계층화(Protocol Layering)에 대하여

Kick_snare 2022. 4. 11. 09:22
728x90

본 포스팅은 McGraw-Hill Education의 Data Communications and Networking, 5th Edition By Behrouz .A Forouzan 을 참고하였습니다.

.

2.1 프로토콜 계층화 Protocol Layering

프로토콜(Protocol)이란?

데이터 통신과 네트워킹에서 프로토콜은 송신자와 수신자, 그리고 중간 연결장치들이 효과적으로 통신하기 위해 따라야하는 규칙이다.

통신이 아주 복잡하게 이루어지는 경우 프로토콜 계층화(Protocol layering)를 통해 서로 다른 계층 간의 역할을 나눌 수 있다.

2.1.1 Ann과 Maria의 통신 시나리오

프로토콜 계층화는 복잡한 작업을 여러 개의 작고 단순한 작업들로 나눌 수 있게 해준다.

위의 그림에서 Layer 1, 2, 3은 각각 다른 역할을 가지고 임무를 수행한다. 물론 3개의 계층을 통합하여 하나의 단계로 만들 수 있다. 하지만 이는 통신 작업을 추가하거나 교체하는 경우 통채로 갈아야 하는 반면, 계층화 된 통신은 원하는 부분만 교체할 수 있다. 이를 모듈성(modularity)이라고 한다.

프로토콜 계층화의 장점 중 하나는 우리가 서비스들을 구현으로 부터 분리할 수 있게 해준다는 것이다. 어느 한 계층은 하위 계층으로 부터 서비스를 받고, 상위 계층에 서비스를 제공한다. 자신의 역할을 제외하고는 다른 부분에 대해 고민할 필요가 없는 것이다.

또 다른 장점은 중간 시스템이 전체 계층이 아닌 단 몇개의 계층만 가지고도 통신이 가능한 것이다. 만약 계층화를 하지 않았더라면 중간 시스템 역시 전체의 복잡한 시스템을 따라야 할 것이다.

2.1.2 프로토콜 계층화의 원칙

프로토콜 계층화는 두가지 원칙을 가진다.

첫 번째

만약 우리가 양방향 통신을 원한다면, 각 계층이 각방향으로 한가지 씩, 상반되는 두 가지 작업을 수행할 수 있도록 만들어야 한다. 예를 들어 “듣기” 라는 작업을 하는 레이어가 있다면 반대편의 똑같은 레이어에는 “말하기"라는 작업을 하는 레이어가 존재해야한다.

두 번째

양측의 각 계층에 있는 객체는 서로 동일해야한다. 예를 들어 Layer1 끼리는 mail, Layer 2끼리는 암호문, Layer1 끼리는 평문과 같이 말이다.

728x90