✔️요약
OSI 모형(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다.
이 모델은 프로토콜을 기능별로 나눈 것이며 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공하며 일반적으로 하위 계층은 하드웨어로, 상위 계층은 소프트웨어로 구현된다.
계층을 분리함으로써 각 계층은 독립적인 역할을 할 수 있고 문제 발생 시 문제의 현상을 보았을 때 어떤 계층에 문제가 생겼는지도 파악이 가능하다.
📌물리 계층(Physical Layer)
물리 계층은 OSI 7계층의 최하위 계층으로 기본 네트워크 하드웨어 전송 기술을 이루어 0과 1의 비트 정보를 회선에서 보내기 위해 전기적으로 신호 변환을 합니다.
- 대표적 장비 : 허브, 리피터
- 프로토콜 : RS-232C 직렬 포트
- 데이터 전송 단위 : 비트(Bit)
📌데이터 링크 계층(Data Link Layer)
데이터 링크 계층은 물리 계층에서 받은 데이터를 신뢰할 수 있는 링크로 변환하여 전송하는 역할을 합니다.
이 때 전송은 포인트 투 포인트(Point-to-Point)간 물리적인 연결(MAC)을 통해 이뤄집니다.
데이터가 오류나 손실없이 전송됨을 보장하기 위해 흐름제어, 오류제어, 순서제어 등의 기능을 수행하고 프레임 단위로 전송하게 됩니다.
데이터 링크 계층에서는 인접 시스템 간 데이터 전송 및 CRC 기반의 오류 제어와 동기화 기능을 수행합니다.
이외에도 오류검출, 재전송 등의 기능을 통해 신뢰성 있는 전송을 목표로 하고 있습니다.
- 대표적 장비 : L2 스위치, 브릿지, 랜카드 등
- 프로토콜 : HDLC, LAPB, PPP, LLC 등
- 데이터 전송 단위 : 프레임(Frame)
📌네트워크 계층(Network Layer)
네트워크 계층은 단말기 간의 데이터 전송을 위한 최적화된 경로를 제공하는 중계역할을 하고 있습니다.
그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)를 제공하기 위한 기능적, 절차적 수단을 제공합니다.
송신측에서 수신측까지 전달받은 패킷을 전송하기 위한 계층으로 종단 노드간의 라우팅을 담당합니다.
여기서 라우팅이란 목적지까지 데이터를 전송하기 위해 알고리즘을 통해 최적의 경로를 설정하고 패킷을 교환하는 것을 말합니다.
최종 목적지 노드(Endpoint)까지 가기 위해서는 노드에 대한 논리적 주소가 필요한데 이를 IP 주소라 합니다.
따라서 네트워크 계층은 라우터를 담당하고, IP 주소를 사용하여 네트워크 설정, 유지, 해제 등의 역할을 하고 있습니다.
- 대표적 장비 : L3 스위치, 라우터
- 프로토콜 : IP, ARP, ICMP, IGMP, RARP
- 데이터 전송 단위 : 패킷(Packet)
📌전송 계층(Transport Layer)
전송 계층은 세션을 맺고 있는 사용자 사이의 종단간 신뢰성 있는 데이터 통신을 보장하며 데이터의 분할과 재조립, 흐름제어, 오류제어, 혼잡제어 등의 기능을 담당하고 있습니다. 이 때 시퀀스 넘버 기반의 오류 제어 방식을 사용합니다.
여기서 종단간 신뢰성 있는 전송은 송신 컴퓨터의 응용 프로그램에서 수신 컴퓨터의 응용 프로그램으로의 전달(Process to Process)을 의미합니다.
- 대표적 장비 : 게이트웨이
- 프로토콜 : TCP, UDP 등
- 데이터 전송 단위 : TCP - 세그먼트(Segment) / UDP - datagram
📌세션 계층(Session Layer)
세션 계층은 응용 프로그램 간의 논리적 연결인 세션을 관리하여 연결 접속 및 동기제어 역할을 담당합니다.
TCP/IP 세션을 생성, 유지, 종료, 복구하여 송수신간의 대화 제어를 하여 데이터를 전송하고 동기화하며 오류복구 명령들을 일괄적으로 다룹니다.
동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행합니다.
- 프로토콜 : SSH, TLS 등
- 데이터 전송 단위 : 메시지(Message)
📌표현 계층(Presentation Layer)
표현 계층은 데이터 형식 설정과 부호교환(인코딩 및 디코딩), 암호화 및 복호화 기능을 담당하고 있습니다.
코드 변환, 데이터 암호화 및 복호화, 구문 검색, 문맥 관리, 형식 변환, 압축 등을 통해 송수신자가 이해할 수 있도록 데이터를 표현하는 역할을 수행합니다.
JPEG, TIFF, MPEG 등 다양한 압축 포맷을 구분하고 있습니다.
- 데이터 전송 단위 : 메시지(Message)
📌응용 계층(Application Layer)
응용 계층은 OSI 7계층의 최상위 계층으로 사용자와 네트워크 간의 응용 서비스(응용 프로그램 또는 애플리케이션)를 연결하며 데이터를 생성하는 역할을 담당하고 있습니다.
네트워크 소프트웨어 UI 부분이나 사용자의 입출력(I/O)과 같은 것을 제공합니다.
- 데이터 전송 단위 : 메시지(Message)
- 프로토콜 : HTTP, FTP, DNS 등
📄참고
https://ko.wikipedia.org/wiki/OSI_%EB%AA%A8%ED%98%95
https://davidhwang.netlify.app/Developments/OSI-7-layer%EC%99%80-HTTP/
'🖥 CS > 네트워크' 카테고리의 다른 글
호스팅(Hosting) (0) | 2022.04.13 |
---|---|
DNS(Domain Name System) (0) | 2022.04.13 |
HTTP(HyperText Transfer Protocol) (0) | 2022.04.12 |
TCP/IP (0) | 2022.04.12 |
인터넷의 작동원리 (0) | 2022.04.11 |