네트워크의 본질을 이해하기 위해서는 OSI 7 계층에 대한 깊이 있는 이해는 필수인데요.
오늘은 OSI 참조모델의 역사와 개념, 각 계층별 역할과 기능 등에 대해 정리해보겠습니다.
OSI 참조모델은 비록 지금은 현재의 TCP/IP 4 계층 밀려 이론적인 개념으로 남아있긴 하나, 이것을 이해해야만 비로소 각 장비 간 통신이 어떠한 원리로 진행되는지 이해할 수 있다는 점에서 아직도 주목받고 있습니다. 특히, 업체에서 새로운 제품을 개발했을 때 이 제품이 어느 계층에서 주로 작동하는지 또는 全 계층에서 작동하는지 등을 OSI 모델을 통해 설명하곤 한답니다.
그럼 OSI 모델의 역사부터 알아보시죠.
OSI 참조모델의 역사
OSI 참조모델(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)가 주가 되어 개발했습니다. 컴퓨터 통신을 각 역할과 기능에 따라 계층별로 구분하여 설명했으며, 일반적으로 OSI 7 계층 모델이라고 부릅니다.
이전에 네트워크 개념에 대해서 설명한 아래의 포스팅에서 프로토콜의 등장을 말씀드렸는데요. 이 프로토콜과 함께 각 컴퓨터간 원활한 통신을 위한 새로운 네트워크 모델 또한 필요했습니다. 이에 따라 ISO에서는 OSI 7 계층이라는 새로운 모델을 발표하게 되었어요.(1984년 경입니다.) 이 모델은 인터넷을 기반으로 통신하는 모든 장비에서 동일하게 적용되는 개념인데요. 그렇다고 해서 모든 장비가 다 7 계층을 다 구현하고 있는 것은 아니고요. 어떤 장비는 한 두 개 계층으로만 구현되기도 합니다. 아까부터 계층, 계층이란 말씀을 자꾸 드리고 있는데요. 그럼 OSI 참조모델의 각 계층이 무엇인지 알아볼까요?
2020/08/11 - [[정보] 요거 괜찮은데?] - 네트워크 개념과 인터넷의 발전
OSI 참조모델 7계층
1 계층 : 물리 계층(Physical layer) ; 비트(Bit)
네트워크의 가장 근본이 되는 계층입니다. 실제 하드웨어를 다루는 계층으로, 허브 및 네트워크 카드 등 전송매체를 통해 비트(bit)를 전송합니다. 상위 계층에서 전송된 데이터를 전송 매체를 통해 다른 장비에 전기적 신호로 전송하는 기능을 담당합니다.
송신하는 장비의 물리계층은 2 계층인 데이터 링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임;2계층의 전송 단위)를 받아 전기적 신호로 변환하여 전송매체(Transmission medium)을 통해 수신 장비에 보냅니다.
수신 장비의 물리계층은 송신 장비에서 보낸 전기 신호를 0과 1로 구성된 비트로 변환하여 2계층인 데이터 린크 계층으로 보냅니다. 아래 사진을 참고하세요.
2계층 : 데이터 링크 계층(Date link layer)
네트워크로 데이터를 전송할 때 길이 되는 역할을 담당합니다. 1 계층인 물리적 계층에서 단위로 사용되는 비트를 '프레임(Frame)'이라는 논리적 단위로 변환하는데요. 이때 전송되는 데이터에 근처에 위치한 장비(노드)들의 위치(주소)도 덧붙여집니다.
3 계층인 네트워크 계층에서 받은 데이터 단위(패킷;packet)을 다시 프레임으로 변경하여, 1계층인 물리계층으로 전송(비트로 변환하여)합니다.
3계층 : 네트워크 계층(Network layer)
상위 계층으로의 연결에 필요한 데이터 전송 및 경로 선택 기능을 제공하고, 라우팅(길 찾기) 프로토콜을 이용하여 가장 최적화된 길을 찾습니다. 수신된 데이터(패킷)를 분석하여 패킷이 목표로 하는 주소를 확인 후, 주소가 나의 장비의 주소라면 4 계층인 전송 계층으로 보냅니다.
특히, 3 계층의 특징은 데이터를 패킷단위로 분할하여 전송하고, 이를 다시 받아서 재결합한다는 것입니다.
이때 송수신되는 패킷의 최대 크기(MTU)는 이더넷의 경우 최대 1500바이트입니다. 그리고, 1500바이트에서 IP 및 TCP 헤더를 제외하면 1460이라고 보시면 되겠습니다.
4 계층 : 전송 계층(Transport layer)
프로토콜(TCP, UDP)과 관련된 계층으로, 흐름을 제어하는 기능을 담당합니다. 이 계층을 통해 누락된 패킷 들을 확인하여 재 전송을 요청하는 방법 등을 통해 두 장비 간 데이터 전송 시 신뢰도를 올립니다.
3 계층인 네트워크 계층에서 올라온 데이터를 5 계층인 세션 계층의 어느 애플리케이션에 보낼 것인 지 확인합니다. 그리고, 반대로 다른 장비로 데이터를 보낼 때는 세그먼트로 보내게 됩니다. 즉, 네트워크 계층에서는 4 계층인 전송 계층에서 받은 세그먼트를 4 계층의 논리적 단위인 패킷으로 분할하는 것입니다. 이때 분할 최대 크기가 바로 1500바이트라고 보시면 되겠습니다. 반대로 수신되는 패킷들은 전송 계층으로 올라올 때 세그먼트로 재조립되며, 이때 전송 오류로 누락되는 패킷이 있다면 재전송을 요청하는 식으로 완전한 세그먼트를 만들게 됩니다. 이렇게 아예 누락되는 패킷이 없도록 조정 및 통제하는 프로토콜을 'TCP'라고 하며, 패킷이 누락되어도 흐름과 속도를 중요시하여 그대로 다음 패킷을 받도록 통제하는 프로토콜이 'UDP'입니다. TCP 같은 경우는 패킷이 누락될 경우 파일을 열 때 오류가 나는 문서 등의 자료를 받을 때 즉, 정확도가 매우 중요할 때 사용되는 프로토콜입니다. UDP는 영상 스트리밍이나 실시간 온라인 게임 등 정확도보다 흐름이 더 중요할 때 사용되는 프로토콜입니다.
5 계층 : 세션 계층(Session layer)
응용 프로그램 계층 간의 통신을 제어하기 위해, 각 프로그램 간의 접속을 시작하고 유지 및 종료시켜주는 역할을 담당합니다. 보통 '세션을 맺다' 또는 '세션이 끊어지다.'라고 말하곤 합니다. 즉, 통신 장치 간 연결을 유지하고 동기화하는 역할입니다. 여기서 데이터 단위는 '메시지'라고 하며, 4 계층인 전송 계층으로 전송할 순서를 결정합니다.
6 계층 : 표현 계층(Presentation layer)
데이터의 표현 차이를 해결하기 위해 다른 형식으로 변환하는 역할을 담당하는 계층입니다. 그래픽 정보는 JPEG 형태 및 동영상은 MPEG 형태로 변환하여 보내고 받거나, 데이터 압축 및 암호화 기능을 제공합니다.
7 계층 : 응용 계층(Application layer)
데이터베이스 및 원격 접속, 이메일 전송 등 응용 서비스를 네트워크에 연결하는 역할을 담당하는 계층입니다. 서비스를 이용하는 사용자에게 정보를 입력받고, 그것을 하위 계층으로 전달합니다. 그리고, 하위 계층에서 전송한 데이터를 사용자에게 전달합니다. 컴퓨터 통신에서 가장 중요한 계층이라고 볼 수 있습니다.
지금까지 OSI 참조모델에 대해 알아보았습니다. 이밖에도 '캡슐화'라는 중요한 개념이 있는데요.
다음 그림을 보시죠.
그림에서 보시듯 송신되는 장비(좌측)에서 네트워크를 통해 수신되는 장비(우측)로 비트(1 계층)가 전송됩니다. 이후, 비트에서 'PDU7'이 빠지며 프레임(2 계층)이 됩니다. 다시 프레임에서는 PDU6가 빠지면서 패킷(3 계층)이 됩니다. 이후, PDU5를 제외하고 재조립되어 세그먼트(4 계층)가 됩니다. 이후에는 PDU4가 빠지면서 세션으로 이동합니다. 이것을 역 캡슐화(Decapsulation)라고 합니다. 이러면, 반대로 송신 시 이런 PDU가 하나씩 씌워지는 과정을 캡슐화(Capsulation)라고 한답니다. 다음 사진을 보시면 더욱 이해가 잘 되실 겁니다.
오늘은 네트워크를 이해하기 위한 필수 개념 중 하나인 OSI 참조모델에 대해 알아보았습니다.
다음에는 더욱 도움이 되는 정보로 찾아뵙겠습니다.
감사합니다.
'CS' 카테고리의 다른 글
[아이디어] 인공지능(AI) 부모님 제작(회상/추억) (0) | 2022.03.24 |
---|---|
유즈 케이스는 무엇인가? (0) | 2020.09.06 |
인트라넷과 엑스트라넷 / LAN과 WAN (0) | 2020.08.12 |
네트워크 개념과 인터넷의 발전 (0) | 2020.08.11 |
댓글