본문 바로가기
카테고리 없음

OSI 7 Layer 계층별 특징

by 원톄로 2023. 7. 26.

01. OSI 7 Layer

OSI 7 Layer는 국제표준기구(ISO)가 개발한 모델로, 서로 다른 프로토콜과 통신 기술을 사용하여 발생되는 네트워크 통신 문제를 완화하기 위하여 표준화된 네트워크 구조를 제시한 기본 모델이다.

 

통신망을 통한 상호접속에 필요한 제반 통신절차를 정의하여 호환성을 보장하고, 비슷한 기능을 제공하는 모듈을 동일계층으로 분할하여 각 계층마다 다른 계층과는 무관하게 독립적인 기능을 지원하도록 구성하였다. 즉, 일부 모듈의 변경이 있는 경우에 해당 모듈만을 바꾸면 되도록 하여 관리 및 유지보수 효율 높였다.

 

02. 계층 모델

5~7계층은 상위 계층, 1~3계층은 하위 계층이라고 표현한다.

4계층은 상위에 분류되기도 하고 하위에 분류되기도 하며, 상위도 하위도 아닌 중간에 위치한다고 표현하기도 한다.

 

사용자는 응용 계층을 통해 데이터의 송수신을 요청하고, 이 요청은 하위 계층으로 순차적으로 전달되어 물리 계층을 통해 상대 호스트에 전송된다.

 

요청이 각 계층으로 하달되는 과정 동안 계층별 담당 기능을 수행해 데이터를 전달한다.

 

데이터를 수신한 호스트에서는 송신 호스트와 반대 과정으로 처리한다. 즉, 물리 계층으로 들어온 데이터는 순차적인 상향 전달 과정을 거쳐 응용 계층으로 올라간다.

 

데이터를 송수신하는 최종 주체는 송수신 호스트 응용 계층이며, 하부의 계층은 데이터 전송에 필요한 기능만 나누어 처리한다.

 

03. L1: 물리 계층(Physical Layer)

물리적 통신 매체를 통하여 전달되는 구조화되지 않은 비트 스트림 (bit stream)의 전송을 책임지며, 통신 매체를 접근하는 데 필요한 기계적이고 전기적인 기능과 절차 등을 규정한다.

 

- 데이터 전송 단위: 비트(Bit)

비트는 0과 1로 이루어진 가장 작은 디지털 데이터 단위로, 전기 신호로 변환되어 전송된다.

 

- 주요 장비: 케이블, 허브, 리피터

 

04. L2: 데이터 링크 계층(Data Link Layer)

물리 계층의 전기적인 신호를 데이터 형태로 변환해주는 데 필요한 기능을 한다. 데이터 전송을 위한 기능적이고 절차적인 수단을 제공하고, 물리 계층에서 발생할 수 있는 오류 검출 및 수정을 담당한다.

 

- 데이터 전송 단위: 프레임(Frame)

상위 계층에서 보낸 전송 데이터에 오류 확인을 위한 체크섬(Checksum), 송수신 호스트 주소, 기타 프로토콜에서 사용하는 제어 코드 같은 정보가 포함된다. 오류가 발생하면 부정 응답 프레임을 회신하여 송신 호스트가 원래의 데이터 재전송하도록 요구함으로써 복구 과정을 시작해야 한다.

 

- 대표적인 프로토콜: Ethernet, Token Ring, FDDI

 

- 주요 장비: 스위치, 브리지

 

05. L3: 네트워크 계층(Network Layer)

송신측에서 수신측까지 최적 경로를 설정해주는 계층이다.

통신 시스템 간의 경로를 선택하는 경로 선택(routing) 기능, 통신 트래픽(traffic)의 흐름을 제어하는 흐름 제어(flow control) 기능, 데이터 통신 중에 패킷의 분실로 재전송 요청을 할 수 있는 오류 제어(error control) 기능 등을 수행한다.

 

- 데이터 전송 단위: 패킷(Packet)

패킷 전송은 두 지점 사이에 데이터를 연속적으로 전송하지 않고, 전송할 데이터를 적당한 크기로 나누어 패킷의 형태로 구성한 다음 패킷들을 하나씩 보내는 방법을 사용한다. 각각의 패킷은 일정한 크기의 데이터뿐만 아니라 데이터 수신처, 주소 또는 제어 부호 등의 제어 정보까지 담고 있다.

 

- 대표적인 프로토콜: IP, ICMP, ARP, RARP

 

- 주요 장비: 라우터, L3 스위치

 

06. L4: 전송 계층(Transport Layer)

송신 프로세스와 수신 프로세스 간의 연결(Connection) 기능을 제공한다.

프로세스 사이의 안전한 데이터 전송을 지원한다. 계층 4까지의 기능은 운영체제에서 시스템 콜(System Call) 형태로 상위 계층에 제공하며, 계층 5~7의 기능은 사용자 프로그램으로 작성한다.

 

- 데이터 전송 단위: 세그먼트(Segment) 또는 데이터그램(Datagram)

전송 계층의 데이터 전송 단위는 프로토콜에 따라 세그먼트(TCP의 경우) 또는 데이터그램(UDP의 경우)으로 구분한다.

 

- 대표적인 프로토콜: TCP, UDP

 

- 주요 장비: L4 스위치

 

07. L5: 세션 계층(Session Layer)

통신의 전반적인 내용에 관여한다고 볼 수 있는 계층이다. 전송 계층의 연결과 유사한 세션 연결을 지원하지만 이보다 더 상위의 논리적 연결이다. 즉, 응용 환경에서의 사용자 간의 대화(Dialog) 개념의 연결로 사용되기 때문에 전송 계층의 연결과는 구분된다.

 

- 데이터 전송 단위: 데이터(Data) 또는 메시지(Message)

 

- 대표적인 프로토콜: NetBIOS, SAP, SDP, NWLink

 

08. L6: 표현 계층(Presentation Layer)

두 시스템 사이에서 교환되는 정보의 구문과 의미에 관련되어 변환, 압축 및 암호화를 담당한다. 데이터에 확장자를 부여하는 계층이다.

 

- 데이터 전송 단위: 데이터(Data) 또는 메시지(Message)

 

- 대표적인 프로토콜: ASCII, MPEG, JPEG, MIDI

 

09. L7: 응용 계층(Application Layer)

사용자의 인터페이스를 담당하는 계층이다. 사용자가 직접 접하게 되는 계층이며 사용자는 하위 계층에 대한 자세한 지식 없이도 서비스를 사용할 수 있어야 한다.

응용 계층은 응용 서비스를 제공하는 계층으로 다른 계층과는 달리 수많은 서비스가 존재한다.

 

- 데이터 전송 단위: 데이터(Data) 또는 메시지(Message)

 

- 대표적인 프로토콜: HTTP, SMTP, FTP

 

10. 캡슐화(Encapsulation)

객체의 자료와 행위를 하나로 묶고, 실제 구현 내용을 외부에 감추는 것이다. 캡슐화된 객체의 행위는 외부에서 볼 때는 실제가 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 지켜진다. 객체 자료에는 직접적으로 접근할 수 없다. 객체지향의 개념이다. 데이터와 이 데이터를 다루는 방법(method)을 통합한 것으로 정보 은폐의 장점을 가질 수 있다.

각 계층별로 순차적으로 통신을 하는데 전송 단위가 다르다 보니 캡슐화 과정이 이루어진다.

 

11. 역캡슐화(Decapsulation)

데이터가 수신되어 상위 계층으로 올라갈 때 실행되는 과정이다.

각 계층에서 해당하는 헤더나 트레일러를 제거하고 원래 데이터를 추출하여 상위 계층으로 전달하는 작업을 의미한다. 즉, 캡슐화 과정의 반대이다.

역캡슐화를 통해 각 계층별로 처리되어야 하는 데이터를 전달한다. 각 계층의 기능에 맞는 데이터 처리가 가능해진다. 따라서 역캡슐화는 네트워크 통신 과정에서 데이터의 원활한 송수신에 필수적인 역할을 한다.