도순씨의 코딩일지

데이터 통신 :: 프로토콜, OSI, 인터넷 본문

 🌼 프로토콜

프로토콜 그래프는 프로토콜의 모음(collection)과 그들 사이의 의존관계(dependency)를 보여줍니다. 동료간의 통신은 대부분 간접적(논리적)으로 이루어집니다. 실제 통신은 하위계층을 사용하여 이루어지기 때문에 하드웨어 수준에서만 동료 간의 통신이 직접적입니다.

 

MSP(Message Stream Protocol)은 메시지 흐름을 나타내는데, 비디오 응용은 다른 응용과 차이가 있으므로 MSP를 사용합니다. RRP와 MSP 사이의 논리적 통신에서는 Demux Key가 필요합니다. 두 개의 다른 어플리케이션으로부터 전달된 메시지들은 발생지 호스트에서 다중화되어 목적지 호스트로 전달됩니다. 그리고 역다중화되어 적합한 애플리케이션에 전달됩니다. 역다중화를 위해서 발생지 호스트에서 RRP는 적합한 역다중화 키를 헤더에 포함시킵니다. 

 

캡슐화 는 수신 단계에서 헤더를 붙이며 아래 계층으로 내려보내는 작업을 의미합니다. 논리적으로는 상대방에게 메시지를 보냈지만 실제로는 아래로 내려보낸 것입니다. 

RRP는 단지 동료들에게 메시지를 전달하는 것만 담당합니다. 본인만의 공간이기도 하며, 대칭에 있는 상대방 RRP에게 보내는 것이기도 합니다. 헤더는 메시지가 도착했을 때 전달된 메시지를 다루는 법을 제시합니다. 하는 일에 따라서 추가되는 데이터는 달라집니다. 메시지가 목적지에 도착하면 HHP는 먼저 메시지앞의 헤더를 해석하고 HHP를 제외한 메시지의 몸체를 RRP에게 전달해줍니다.

 

추상화계층화 에 대해서 다시 정리해봅시다. 추상화는 문제를 쪼개서 해결하는 것입니다. 어떠한 기능이 있다고 가정하여  문제를 단순화시킵니다. 또 특정 기능이 하위 계층에서 제공된다고 가정합니다. 이를 통해 문제로부터 해방될 수 있습니다. 계층화는 여러 계층으로 나누어 각 계층이 해당 기능을 담당하는 것을 의미합니다. 하위 계층이 제공하는 기능을 이용하여 주어진 기능을 상위 계층에게 제공하는 역할을 합니다.

 

 

🌼 표준 구조(Standard Architectures)

⭐️ OSI(Open System Interconnect) Architecture

 

OSI 구조는 호환성을 해결하기 위해 등장했습니다. 네트워크의 기능을 7개의 계층으로 나누어 정의합니다. 발생하는 문제점들을 누가 어디에서 해결할지 정의해 놓은 것입니다. 계층을 하나하나 살펴봅시다. 물리 계층 은 물리적인 신호 교환과 관련된 사항을 담당합니다. 비트를 주고 받는 계층이기도 한데, 아날로그 신호를 사용할 것인지, 디지털 신호를 사용할 것인지. 구리선을 사용할 것인지, 광케이블을 사용할 것인지. 이렇게 물리적으로 나타난 사항들에 대해 명시해 놓은 계층입니다. 링크 계층 은 하나의 링크로 연결된 노드 사이의 비트 묶음인 프레임을 교환합니다. 여러 개로 거쳐가는 것이 아니라 하나의 링크를 거쳐가는 것입니다. 네트워크 계층 은 네트워크를 통해 연결된 호스트(단말) 사이의 데이터(패킷)을 교환하는 것입니다. 스위치로 간접 연결된 호스트 사이의 패킷 전송을 담당합니다. 트랜스포트 계층 은 통신 응용 사이의 신뢰성 있는 메시지 교환을 하게 해줍니다. 세션 계층 은 대화 패턴과 관련된 사항을 담당합니다. procedural call은 응용들이 대화하는 패턴을 나타냅니다. 프리젠테이션 계층은 데이터 표현 방법과 관련된 사항을 나타냅니다. 응용 계층 은 응용 자체와 관련된 사항만 다룹니다. 이 계층을 만들 때는 사실 응용을 많이 사용하지 않았었는데 미래를 보고 만든 계층이라고 하니 대단합니다. 

 

 

⭐️ 인터넷 구조(Internet) 구조

인터넷 구조는 7계층과 비슷한 원리로 사용합니다. 완전한 계층을 가진 것은 아니지만 그대신 융통성을 가지고 있습니다.

 

 TCP는 신뢰성 있는 바이트 흐름 채널을 제공하고 UDP는 신뢰성 없는 데이터그램 전달 채널을 제공합니다. 

 

Comments