본문 바로가기
그 외

OSI 7계층(OSI 7 Layers)

by Hindsight.. 2020. 10. 7.

1970년대 후반부터 IBM과 DEC 등의 회사들이 네트워크 구조를 발표했었지만, 하나의 회사가 발표한 네트워크 구조는 타사의 네트워크 구조는 전혀 고려하지 않은채 개발하고 발표해 서로 다른 회사들의 제품들이 상호 연동하기 어려웠다. 이를 보다 못한 국제표준화기구(ISO)에서 네트워크들의 호환을 위해 표준을 발표하는데 그것이 OSI 7계층(OSI 7 Layers)이다. 

이 계층들은 입문자부터 숙련자까지 모두에게 필요한 지식이고, 한번 배워두면 긴히 쓸일이 많을테니 꼭 잘 알아두장

1계층(물리 계층, Physical Layer) - 실제 장치들을 연결하기 위한 전기적, 물리적 세부 사항을 정의한 계층
               => LAN선, 전화선, 동축 케이블, 광 케이블 등의 연결을 의미한다. (전송단위: 비트스트림(bitstream)


2계층(데이터 링크 계층, Data link Layer) - 포인트 투 포이트(Point to Point)간 신뢰성 있는 전송을 보장하기 위한 계층
               => 2계층에서 MAC 주소를 할당 받고 허브,스위치가 쓰인다.. (전송단위: 세그먼트(segment))
               => 여기서 토폴로지(topology)가 이루어지며, 가장많이 쓰이는 성형은 확장이 용이한 중앙집중 방식이며, 버스형은     CSMA/CD방식을 사용해 충돌을 방지하지만, 최근 원거리 확장성이 떨어져 거의 사용되지 않는다.
(CSMA/CD : 이더넷의 프로토콜로 다른 장치가 사용중인지 신호를 통해 확인(Carrier Sense)하고, 사용중이면 대기한다.)


3계층(네트워크 계층, Network Layer) - 서로 다른 데이터 타입들을 네트워크를 통해 전송하고, 노드를 지날때마다 경로를 찾아주는 역할(IP)을 하는 계층, 4계층인 전송 계층에서 요구하는 서비스 품질(Qos)를 제공하기 위한 기능적, 절차적 수단을 제공한다.
                => 이 계층에서 라우터가 쓰인다, IP 사용 (전송단위: 데이터그램, 패킷)
                => Unicast, Multicast, broadcast


4계층(전송 계층, Transport Layer) - 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 함으로써 데이터 전달의 유효성이나 효율성을 전담하는 계층. (전송단위: 세그먼트)
               => 전송 프로토콜로 TCP를 사용하며 시스템내의 패킷을 전송하기 위해 포트(port)를 사용한다.


5계층(세션 계층, Session Layer) - 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공하는 계층.
               => 프로세스간의 통신을 뜻하며, 동시 송수신(duplex), 반 이중방식(half-duplex), 전이중 방식(Full-duplex)방식으로 통신한다.(운영체제의 프로세스간 통신부분에서 볼 수 있다.) (전송단위: 메시지)


6계층(표현 계층, Presentation Layer) - 표현계층이라는 이름 그대로 데이터의 형식표현을 통일하고 변환해주는 계층
              => 시스템 마다 ASCII와 EBCDIC등 다른 형식으로 데이터가 표현되어 있으므로, OSI에서는 ASN.1로 변환하여 전송하고 각자 시스템에서 맞는 형식으로 변환하는 것을 표준으로 한다.


7계층(응용 프로그램 계층, Application Layer) - 응용 프로세스와 직저 관계하여 일반적인 응용 서비스를 수행하는 계층
              => HTTP, FTP, 터미널 서비스, 메일 프로그램 등을 제공하며, 사용자나 응용 프로그램 간의 데이터 교환이 가능하게 한다.

모두 간략하게 핵심만 담아보았는데, 데이터 흐름는 1계층부터 7계층까지 케이블 -> MAC -> IP -> Port -> 프로세스 -> 응용프로그램 순으로 이동한다고 생각하면 이해하기 쉬울 것 같다.(물론 전송은 반대)

저도 처음엔 네트워크라는 것이 마냥 인터넷, 연결, 데이터, 패킷.... 이라고 생각했지만, 역시 데이터의 시작부터 끝까지 모두를 표준으로 정해놨다는 것을 알게 되었습니다. 1~4계층은 쉽게 생각할 수있는 네트워크에서의 데이터, 5계층 부터는 시스템에서의 데이터흐름 그대로를 편하게 생각해보시면 좀더 쉽게 이해할 수 있지 않을까! 라는 생각이 듭니다.