프로그래밍/네트워크

OSI 참조 모델

studylida 2023. 1. 19. 21:00

OSI 참조 모델

데이터를 주고받을 때(통신할 때) 사용하는 규칙을 프로토콜(Protocol)이라고 하고, 통신하는 상호 간에 같은 프로토콜을 사용해야만 의도한 내용을 주고받을 수 있다고 한다. 1960년대 ~ 1970년대에는 각 업체가 자신들의 컴퓨터끼리 네트워크를 사용해서 데이터 통신을 할 수 있도록 컴퓨터와 통신에서 사용하는 기기, 프로토콜 규격을 독자적으로 만들었고, 이로 인해 다른 회사와는 규격이 달라 호환되지 않는 문제가 발생했다.

 

이를 해결하고자 데이터 통신의 규격과 프로토콜을 통일하려고 했던 ISO(International Organization for Standardization, 국제표준화기구)라는 단체가 있었다. ISO의 표준화 단계에서 선언한 것이 바로 OSI 참조 모델(Open Systems Interconnection Reference Model)이다. 

 

OSI 참조 모델은 데이터 통신의 단계 구성도로, 데이터 통신 전체를 표준화하기 위해 먼저 데이터 통신 전체의 설계도를 만든 것이다. 즉, 데이터 통신을 단계로 나누어 각 단계의 순서를 명확히 하고, 이 모델에 따라 프로토콜을 정의해서 데이터 통신을 구축하려고 한 것이다. 

 

7계층 응용계층 사용자에게 네트워크 서비스를 제공한다 내용표현
6계층 표현계ᅎᅳᆼ 데이터의 형식을 결정한다 내용표현
5계층 세션계층 데이터 송수신의 순서 등을 관리한다. 내용표현
4계층 전송계층 신뢰성이 높은(에러가 적은) 전송을 시행한다. 전송물
3계층 네트워크계ᅎᅳᆼ 전송 규칙과 수신처를 결정한다. 전송물
2계ᅎᅳᆼ 데이터링크계ᅎᅳᆼ 인접기기 사이의 데이터 전송을 제어한다. 전송
1계층 물리계층 전기 · 기계적인 부분의 전송을 시행한다. 전송

 

OSI 모델의 각 계층에는 자체적으로 잘 정의된 기능이 있으며, 각 계층의 기능이 하위 또는 상위 계층이 없는 경우가 아니라면 바로 위 및 아래의 계층과 통신하고 상호 작용한다. 각 중간 계층은 상위 계층에 기능을 제공하고, 하위 계층의 기능을 이용한다. 

 

이때 각 계층은 각각의 역할과 규칙을 수행한다. 또한 각 계층은 복수의 프로토콜로 실현된다. 또한, 각 계층이 독립되어있으므로 각 계층의 역할만 잘 수행하면 되고, 독립되어있으므로 어떤 계층의 프로토콜 변경이 다른 계층에 영향을 끼치지 않는다.

 

각 계층의 간략한 설명은 다음과 같다. 

 

5~7계층은 4계층 이하에서 수행하는 처리에 따라 애플리케이션에 수신한 · 송신할 데이터에 대한 처리를 수행한다(서비스, 데이터 형식, 세션 관리 등). 7계층이 네트워크 서비스를 실시하고, 6계층이 데이터 형식을 변환하고, 5계층이 세션을 관리한다. 이들은 TCP/IP에서는 동일 프로토콜로 처리된다.

4계층은 3계층 이하의 기능으로 컴퓨터에 도달한 데이터에 대해 신뢰성이 높은 데이터 통신을 5계층에게 제공하는데, 애플리케이션을 식별하고, 각각에 대해 신뢰성이 있다 · 없다를 제공한다. 통신 애플리케이션의 식별은 포트 번호를 통해 이루어지고, 신뢰성이 있다 · 없다는 TCP를 사용하는지, UDP를 사용하는지에 따라 갈린다.

3계층은 2계층 이하의 기능에서 케이블에 접속된 기기 간의 데이터 통신을 사용해 다른 네트워크 간의 접속을 4계층에게 제공한다(어드레싱과 라우팅에 의해 인터넷 작업을 수행한다).

=> 4계층은 3계층에 의해 서로 다른 네트워크 간에서도 데이터 전송이 가능하게 되고, 3계층은 2계ᅎᅳᆼ 네트워크 내에서의 기기 간 데이터 전송을 통해서 네트워크 간의 접속을 수행한다.  

2계층은 1계ᅎᅳᆼ의 기능에서의 전기적인 데이터를 사용해서 서로 다른 기기의 데이터 송수신을 3계층에 제공한다. 즉, 2계ᅎᅳᆼ에서는 직접적인 데이터 전송 수행, 실질적인 데이터의 송수신과 제어(CSMA/CD)가 이루어진다. CSMA/CD를 통해 1계층의 전기신호 흐름에 있어서 충돌이 발생하지 않게 효율적으로 운영하고, 네트워크 내의 데이터 전송을 3계층에 제공한다.

1계층은 전기와 신호를 담당한다. 즉, 케이블과 신호를 2계층에 제공한다.

=> OSI 모델의 각 계층에는 자체적으로 잘 정의된 기능이 있으며, 각 계층의 기능이 하위 또는 상위 계층이 없는 경우가 아니라면 바로 위 및 아래의 계층과 통신하고 상호 작용함을 알 수 있다. 각 중간 계층은 상위 계층에 기능을 제공하고, 하위 계층의 기능을 이용한다. 이를 달리 말하면, 하위 계층은 상위 계층에게 기능을 제공하고 데이터 전송을 수행하는 환경을 만들어 간다고 할 수 있다. 그리고 최종적으로 7계층이 애플리케이션에게 네트워크 서비스 그 자체를 제공하는 셈이 된다. (상하구조가 존재하기) 때문에 만약 하위 계층이 정상적으로 작동하지 않는다면 상위 계층도 작동하지 않는다. 

 

 

관련된

 

참고문헌

  • 아미노 에이지. 2016. (하루 3분)네트워크 교실:인터넷 박사가 조교 넷군에게 알려주는 왕초보를 위한 네트워크 교실. 김현주 역. 서울:영진닷컴.
  • https://en.wikipedia.org/wiki/OSI_model

'프로그래밍 > 네트워크' 카테고리의 다른 글

캡슐화  (0) 2023.01.24
TCP/IP  (0) 2023.01.23
네트워크 구분  (0) 2023.01.12
통신에 필요한 기기  (0) 2023.01.10
회선교환과 패킷교환  (0) 2023.01.09