아롱이 탐험대

The OSI Model and the TCP/IP Protocol Suite 본문

CS/Computer network

The OSI Model and the TCP/IP Protocol Suite

ys_cs17 2022. 3. 20. 17:51
반응형

인터넷

컴퓨터로 연결하여 TCP/IP Protocol이라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크이다. 1973년 TCP/IP를 정립한 빈튼 서프와 밥 간이 네트워크의 네트워크를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결하고자 하는 의도를 본 따 인터넷이라는 말을 붙었는데 이를 토대로 현재까지 인터넷으로 불리고 있다.

위처럼 인터넷은 네트워크 간 연결하는 프로토콜로 중앙 통제 및 중앙 제어를 없애자는 것을 우선순위로 두고 개발이 되었다. 이로 인해 많은 장단점들이 생기기 시작했다.

전송 기술의 표준이 없어 다른 네트워크로의 데이터 전송이 어려웠지만 인터넷 프로토콜이 생겨남으로 인해 데이터 통신이 용이해졌다. 인터넷은 TPC/IP 기반으로 동작하게 된다.

여기서 프로토콜이란 컴퓨터 내부에서 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계이다. 만약 프로토콜이 정의되지 않으면 서로 다른 네트워크들이 마구잡이 한 규칙으로 인해 통신이 불가능해진다.

[그림 1] Internet

IOS (국제표준화기구)는 여러 나라의 표준 제정 단체들의 대표들로 이루어진 국제적인 표준화 기구이다. 이 단체는 나라마다 다른 산업 및 통상 표준의 문제점을 해결하고자 국제적으로 통용되는 표준을 개발하고 보급한다.

IOS는 OSI 7계층이라는 것을 정의하였는데 이는 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 이를 통해 효율적인 네트워크 처리를 위해 layer를 분리한다. 아래 이미지와 같이 총 7 계층으로 나누어져 있지만 TCP 통신이 하나의 규격처럼 사용됨에 따라 Application, Presentation, Seesion layer들이 하나의 Application Layer로 통합되었다. 각 layer 마다 어떤 layer인지 확인하게 해주는 header가 정해져 있다.

[그림 2] OSI 7 Layer 변천사

각 layer를 분리한 이유는 각 계층을 통해 네트워크를 더욱 효율적으로 동작하기 위해 분업화하였기 때문이다. 예를 들어 중고 나라에서 물건을 부산에 있는 구매자에게 판매하였다고 가정하자. 직거래를 통해 우리가 직접 구매자에게 직접 가져다줘도 되지만 이는 너무 비효율적이다. (교통비만 엄청 깨진다.) 그래서 각 배송 업무를 담당하는 우체국, 택배사를 업무별로 layer로 나누었다고 생각하면 된다.

 

데이터 전송 방식은 크게 2가지 종류가 있다.

1. 중앙 제어 방식

2. 목적지 주소 전달 방식

중앙 제어 방식을 예로 들면 버스, 기차와 같은 대중 교통들은 각 회사에서 미리 이동하는 경로와 시간이 정의되어 있다. 이를 네트워크에서는 중앙에서 모든 경로에 대한 데이터를 가지고 출발하기 전 이동 경로를 설정해 이동하는 방식을 중장 제어 방식이라고 한다.

중앙 제어 방식은 전쟁 중에도 인터넷이 정상적으로 작동할 수 있도록 설계하였으며, packet switching network를 채택하였다.

하지만 현재는 이 방식을 사용하지 않고 목적지 주소 전달 방식을 사용한다. 이는 목적지 주소만 가지고 데이터를 전송하는 것을 의미한다. hop-to-hop을 이용해 전송하게 되는 데 이는 아래에서 설명하겠다.

[그림 3] 택배 예시

 

필자는 몇일 전 ps5를 판 경험이 있다. 이를 서울 광진구에 보냈는데, 택배를 많이 보내보면 알겠지만 인천에서 광진구로 보낸다 해도 기사님이 바로 광진구로 배송하는 것이 아니다. 위 이미지처럼 각 센터에 머물며 택배를 송장 주소마다 분류하는 작업이 필요하다. 인하대-부천, 부천-부평, 부평-동서울, 동서울-광진구와 같이 각 센터 간 목적지가 바뀌는 것을 네트워크에서는 hop-to-hop 방식이라고 하고, 인하대에서 광진우체국까지 가는 것을 source to destination이라고 부른다.

 

Summary of layers

[그림 4] Physical layer

Physicial layer는 LAN과 WAN 기술 등에서 사용된다. 비트를 전송하는 계층이다. 헤더는 위 계층의 모든 헤더들을 포함하고 있다. 각 링크에서 다음 router로 bit를 전송한다.

[그림 5] Datalink layer

Datalink layer에서 packet을 Frame이라고 부른다. Frame은 A에서 B까지 갈 때 각 router까지 가는 정보를 Header에 저장한다. 또한 physical layer와 함께 LAN과 WAN 기술 등에서 사용된다.

[그림 5] Network layer

Network layer에서의 packet은 Datagram이라고하며, source와 destination의 정보를 header에 저장한다. 또한 인터넷 프로토콜을 도와준다.

[그림 7] Transport layer

Transport Layer는 packet을 segment, user datagram, packet라고 하며, process to process communiation을 진행한다. TCP와 같은 transport 프로토콜을 도와준다.

[그림 8] Application layer

Application의 단위는 message이다.

 

Addressing

TCP/IP 프로토콜에서는 3가지의 주소를 필로 하는데 바로 physicial address, logical address, port address이다.

1. physicial address (MAC address): hop-to-hop시 계속 변경된다. Datalink layer에 속한다. 48비트

2. logical address (IP address): source to destination에서 사용되며 변경되지 않는다. Network layer에 속한다. 32 비트

3. port address (port number): process to process communication에서 사용된다. Transport layer에 속한다. 16 비트

[그림 9] LAN에서의 데이터 이동

LAN에서의 데이터 전송을 한다고 가정하자. 10번은 87번 컴퓨터에게 데이터를 전송하려고 한다. 이때 router는 87번이 어디에 위치했는지 모르는 경우에 모든 컴퓨터에게 packet을 전송한다. 수신받은 대상은 frame의 destination 주소와 비교해서 같으면 해당 frame을 수용하고, 다르면 무시한다.

위 이미지와 같은 상황에서 router는 10, #1을 저장하는 식으로 컴퓨터의 MAC address를 mapping하여 저장한다. 이를 통해 table을 만들어 router는 데이터 전송 시 broadcast를 하지 않고 테이블에 저장된 MAC 주소를 따라 도착지에 전달한다.

네트워크 장비

1. 리피터: 신호를 증폭 시킨다.

2. 브리지: 리피터 역할에 필터링 기능을 더한 장비. 필터링은 테이블을 보고 다른 곳으로 가는 데이터를 막는 역할을 한다.

3. 허브: 리피터의 기능과 함께 interface를 여러 개 두어 data를 broadcast 하는 기능을 갖춘 장비. 필터링 기능은 없다.

4. 스위치: 허브에 필터링 기능이 추가된 장비이다. 

 

Source to destination 과정



[그림 9] Source to destination delivery

[그림 9]와 같이 A system에서 F system까지 데이터 전송을 한다고 가정하자. 우선 logicla address (IP address)에는 A와 F의 IP주소가 저장되어 있다. (출발지와 도착지 주소) 이때 데이터는 한 번에 A - F로 전송되는 것이 아닌 중간에 라우터를 거쳐 전송된다.

데이터 전송은 위에서 설명한 바와 같이 목적지 주소 전달 방식이다. 택배와 같이 중간중간 허브 센터 역할을 하는 router를 거쳐 최종적인 목적지에 도달하게 된다.

A에서 출발한 데이터는 Physical address (MAC address)를 통해 다음 router로 전송을 한다.  router는 받은 데이터를 언패키징을 통해 목적지를 확인하며, table을 통해 목적지 F와 같은 network에 이어지는 주소로 변경하여 (MAC 주소가 바뀐다.) 데이터를 패키징 한다.

이를 통해 최종적인 목적지인  F에게 데이터를 전송할 수 있게 된다.

여기서 각 router 간의 전송은 Hop-to-Hop이라고 부르고, A에서부터 F까지의 모든 과정을 Source to destination이라고 부른다.

이 과정에서 Logical address는 변화하지 않고 오로지 Hop-to-Hop 과정에서 Physical address만 변경된다.

IP 주소는 각 interface마다 다른데 왜 MAC address를 사용할까? 이는 인터넷을 디자인했을 당시 local area network는 이미 표준화가 되었기 때문에 frame에는 MAC 주소를 사용했기 때문이다. 하지만 local 통신을 제외한 통신에는 다른 프로토콜이 많아 정립이 된지는 local에 비해 늦었기 때문이다.

 

 

 

 

 

 

 

Reference

[그림 1]: http://www.tcpschool.com/webbasic/intro

[그림 2]: https://velog.io/@jakeseo_me/OSI-7%EA%B3%84%EC%B8%B5-%EC%8B%9C%EB%A6%AC%EC%A6%88-5-%EC%84%B8%EC%85%98-%ED%91%9C%ED%98%84-%EC%9D%91%EC%9A%A9-%EA%B3%84%EC%B8%B5

[그림 4]: https://www.grandmetric.com/topic/network-layers-and-devices-operation/physical-layer-layer-1/

[그림 5]: https://www.grandmetric.com/topic/network-layers-and-devices-operation/data-link-layer-2/

[그림 6]: https://www.grandmetric.com/topic/network-layers-and-devices-operation/network-layer-3/

[그림 7]: https://www.grandmetric.com/topic/network-layers-and-devices-operation/transport-layer/

[그림 8]: https://www.grandmetric.com/topic/network-layers-and-devices-operation/application-layer/

[그림 9]: https://www.researchgate.net/figure/Source-to-destination-delivery-in-Internet-Protocol-source-the-author_fig5_275098019

반응형
Comments