OSI 7계층

이한·2023년 5월 18일
0
post-thumbnail

OSI

(Open Systems Interconnection Reference Model)

: 개방형 시스템 상호 연결 모델

국제표준화기구(ISO)에서 개발한 모델로, 이 모델은 프로토콜을 기능별로 분리하여 설명하며, 총 7개의 계층으로 구성됩니다. 각 계층은 하위 계층의 기능을 이용하고, 상위 계층에게 기능을 제공합니다. 일반적으로 하위 계층은 하드웨어로, 상위 계층은 소프트웨어로 구현됩니다.

이 모델에서 데이터의 전송은 7계층에서 1계층으로 캡슐화되어 전송되며, 수신 시에는 1계층에서 7계층으로 디캡슐화됩니다. 이 과정에서 전송될 때에는 각 계층에서 헤더가 추가됩니다. 특히, 오류 제어를 위한 정보는 2계층에서 꼬리 부분에 추가됩니다.

이렇게 계층화된 구조를 통해 각 계층은 독립적으로 작동할 수 있고, 상위 계층은 하위 계층의 서비스를 이용하여 효율적인 데이터 전송을 수행할 수 있습니다. 이 모델은 네트워크 설계와 프로토콜 개발에 있어서 일관성과 유연성을 제공하며, 다양한 시스템과 장치 간의 상호 운용성을 보장합니다.

1. 물리 계층(Physical layer)

데이터의 전송을 위해 전기적, 기계적, 기능적인 특성을 이용합니다. 데이터는 0과 1의 비트열로 표현되며, 이 계층은 단순히 데이터를 전달하는 역할을 수행합니다. 알고리즘과 오류 제어 기능은 없으며, 데이터 전송이 주요 기능입니다.

물리 계층에서는 케이블, 리피터, 허브 등과 같은 장비들이 사용됩니다. 이들은 네트워크의 기본 네트워크 하드웨어 전송 기술을 형성하며, 높은 수준의 기능을 구현하기 위한 필수적인 계층입니다.

전송 단위로는 Bit이 사용되며, 데이터는 전기적인 신호로 표현되어 전송됩니다. 물리 계층은 네트워크에서 데이터의 물리적 전송을 담당하고, 다른 계층들이 구성되는 기반을 제공합니다.

인접한 두 장치 사이의 신뢰성 있는 정보 전송을 담당하는 계층으로, 물리적인 연결을 통해 작동합니다. 이 계층은 Point-to-Point(점대점) 전송을 처리하며, 오류 검출과 재전송 기능을 제공하여 안전한 정보 전달을 보장합니다. 통신은 MAC 주소를 사용하여 이루어집니다.

데이터 링크 계층에서는 데이터 단위로 프레임(Frame)을 사용합니다. 프레임은 정보를 전송하기 위해 헤더와 트레일러로 구성되며, 데이터를 캡슐화하여 전송됩니다. 이 계층에서는 브리지(Bridge)와 스위치(Switch)와 같은 장비가 사용됩니다. 이더넷(Ethernet)은 가장 잘 알려진 데이터 링크 계층의 예시입니다.

데이터 링크 계층은 Point-to-Point 전송의 신뢰성을 보장하기 위해 CRC(순환 중복 검사) 기반의 오류 제어와 흐름 제어 기능이 필요합니다. 오류 제어는 데이터의 무결성을 검사하고 손상된 프레임을 감지하여 제거합니다. 흐름 제어는 송신 측과 수신 측 사이의 데이터 흐름을 조절하여 넘치는 데이터의 손실을 방지합니다.

주소 값은 물리적으로 할당되는데, 이는 네트워크 카드가 제조될 때부터 MAC 주소가 정해집니다. MAC 주소는 네트워크 카드를 고유하게 식별하기 위해 사용되며, 데이터 링크 계층에서 통신에 사용됩니다. 데이터 전송 단위는 프레임(Frame)이며, 이를 통해 데이터를 조각 내어 전송합니다.

3. 네트워크 계층(Network layer)

중계 노드를 통해 데이터를 전송하는 경우의 동작 방식을 규정합니다. 이 계층은 라우팅 기능을 맡고 있어 목적지까지 데이터를 가장 안전하고 빠르게 전송하는 역할을 맡고 최적의 경로를 설정하여 데이터를 전송할 수도 있습니다. 네트워크 계층은 컴퓨터에게 데이터를 전송할지를 결정하기 위해 주소를 사용합니다. 이 주소는 우리가 흔히 알고 있는 IP 주소로, 네트워크 계층의 헤더에 속합니다. 데이터 단위는 패킷(Packet)입니다.

네트워크 계층에서는 라우터(Router)와 L3 스위치(Layer 3 Switch)와 같은 장비가 사용됩니다. 이 계층은 여러 개의 노드를 거치면서 데이터의 경로를 찾아주는 역할을 담당합니다. 다양한 길이의 데이터를 네트워크를 통해 전달하며, 이 과정에서 전송 계층에서 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적인 및 절차적인 수단을 제공합니다. 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등의 기능을 수행합니다.

네트워크 계층은 논리적인 주소 구조로 이루어진 IP 주소를 사용합니다. 이 주소는 네트워크 관리자가 직접 할당하는 계층적인 구조를 가지고 있습니다. 데이터 전송 단위는 Datagram(또는 Packet)입니다.

4. 전송 계층(Transport layer)

전송 계층은 종단 간 신뢰성 있고 정확한 데이터 전송을 담당합니다. 이 계층은 송신자와 수신자 간의 신뢰성 있는 데이터 전송을 위해 오류 검출 및 복구, 흐름 제어, 중복 검사 등의 기능을 수행합니다. 데이터 전송을 위해 포트 번호를 사용하며, 대표적인 프로토콜로 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 있습니다.

전송 계층은 종단 간(End-to-end) 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 해주며, 상위 계층들이 데이터 전달의 유효성이나 효율성을 고려하지 않도록 합니다. 오류 제어 방식으로는 시퀀스 넘버 기반의 방식을 사용합니다. 전송 계층은 특정 연결의 유효성을 제어하며, 일부 프로토콜은 상태 개념이 있고(connection-oriented), 연결 기반입니다. 이는 전송 계층이 패킷들의 전송이 유효한지 확인하고, 전송 실패한 패킷들을 다시 전송한다는 것을 의미하며 데이터 전송 단위는 세그먼트입니다.

5. 세션 계층(Session layer)

통신 장치 간의 상호작용과 동기화를 제공하며, 연결 세션에서 데이터 교환과 에러 복구를 관리합니다. 이 계층은 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공합니다. 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신을 지원하며, 체크포인팅, 유휴, 종료, 다시 시작 등의 과정을 수행합니다. 또한, TCP/IP 세션의 생성과 해제를 책임집니다.

6. 표현 계층(Presentation layer)

데이터의 표현 방식을 결정하는 역할을 합니다. 이 계층은 세 가지 주요 기능을 갖고 있습니다. 첫째, 송신자에서 온 데이터를 해석하기 위한 응용 계층 데이터의 부호화와 변환을 수행합니다. 둘째, 수신자에서 데이터의 압축을 해제할 수 있는 방식으로 된 데이터 압축을 처리합니다. 셋째, 데이터의 암호화와 복호화를 담당합니다. MIME 인코딩이나 암호화와 같은 동작은 주로 표현 계층에서 이루어집니다. 이 계층은 코드 간의 번역을 수행하여 사용자 시스템에서 데이터 형식상의 차이를 다루는 부담을 응용 계층으로부터 해소해 줍니다.

7. 응용 계층(Application layer)

사용자와 가장 밀접한 계층으로서 인터페이스 역할을 담당합니다. 이 계층은 응용 프로세스 간의 정보 교환을 처리합니다. 전자메일, 인터넷, 동영상 플레이어 등과 같은 일반적인 응용 서비스를 수행합니다. 응용 계층은 응용 프로세스와 직접 관련되어 있으며, 응용 프로세스들 사이의 상호작용을 제공합니다.

profile
둥실둥실

0개의 댓글