OSI 7계층
공부할 때 필기한 내용이라 알고 계시는 내용과 다를 수 있습니다.
간단하게 정리한 내용이므로 자세한 설명은 아닙니다.
1계층 (물리 계층, Physical Layer)
하드웨어 전송 기술로 이루어져 있다.
전기적, 기계적인 신호를 주고받는 역할을 하는 계층이다.
비트 0,1의 통신 단위로 통신한다.
대표적인 장비는 통신 케이블, 허브, 리피터, 컨넥터, NIC 등이 있다.
2계층 (데이터 링크 계층, Data Link Layer)
Point to Point 간의 신뢰성 있는 전송을 보장하기 위한 계층이다.
전송 데이터에 대한 CRC 오류 제어가 필요하다.
네트워크 개체들 간 데이터를 전달하고 물리 계층에서 발생할 수 있는 오류를 찾아내고 수정하는데 필요한 기능적, 절차적 수단을 제공한다.
대표적인 장비로는 L2 스위치, 브리지가 있다.
물리 주소인 MAC 주소가 이 계층에 해당하고 전송 단위는 프레임(Frame)이다.
3계층 (네트워크 계층, Network Layer)
IP 주소(논리적인 주소)를 제공하는 계층이다.
대표적으로 노드들을 거칠 때마다 라우팅해주는 역할을 담당한다.
실생활에서 가장 쉽게 볼 수 있는 라우팅 장비가 공유기이고, 공유기는 라우터의 NAT이라는 기능을 활성화시킨 것이다.
공유기는 하나의 외부 통신선에서 들어오는 요청에 사설망에 연결되어 있는 컴퓨터에게 전달해 주는 역할을 한다.
대표적인 장비로는 라우터, L3 스위치, 공유기 등이 있다.
전송 단위는 패킷(Packet)이다.
4계층 (전송 계층, Transport Layer)
양 끝단(End to End)의 사용자들이 데이터를 주고받을 수 있게 하는 계층이다. 대표적으로 우리가 자주 사용하는 TCP, UDP 프로토콜이 있는 계층이다.
TCP의 경우 신뢰성 있는 통신을 보장한다. 데이터가 전달되는 과정에서 여러 스위치, 라우터 등을 거치면서 데이터가 잘못 전달되는 현상이나 전달이 안되는 경우 오류 제어, 흐름 제어를 통해 신뢰성 있는 데이터가 전달될 수 있도록 한다.
TCP는 연결 시 3-way handshaking 방식으로 목적지와 상호 패킷을 교환하여 연결한다. 연결을 종료할 때는 4-way handshaking 방식을 사용한다. 신뢰성 연결과 전달을 보장하는 만큼 중간의 확인 과정을 거치고 연결을 계속 유지해야 되기 때문에 그만큼의 리소스가 더 들어간다.
UDP 프로토콜의 경우 비연결형 프로토콜로서 데이터를 빠르게 전달하는 데에 초점을 두고 있다.
따라서 UDP는 목적지에 데이터가 제대로 전달되었는지조차 확인하지 않는다. 그냥 전송을 하면 끝인 것이다.
비연결을 지향하고 데이터를 전달할 때 TCP에 비해 오버헤드가 적다. 그래서 신뢰성 있는 데이터 전송이 필요할 때보다 스트리밍같이 연속적인 특성을 가지고 있는 서비스에 사용한다.
신뢰성 있고 효율적인 데이터를 전송하며, 기능은 오류 검출 및 복구와 흐름 제어, 중복검사 등을 수행한다.
전송 단위는 세그먼트(Segment)를 포트(Port) 번호로 구분해 준다.
방화벽, L4 스위치
5계층 (세션 계층, Session Layer)
데이터를 만들어내는 계층이다.
양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다. 동시 송수신 방식(Duplex), 반이중 방식(Half-Duplex), 전이중 방식(Full Duplex)의 통신과 함께 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다.
TCP/IP 세션을 만들고 없애는 책임을 지는 계층이다.
통신하는 사용자들을 동기화하고 오류 복구 명령들을 일괄적으로 다룬다.
통신을 위한 세션을 확립, 유지, 중단 (운영체제가 해준다.)
대표적으로는 RPC, 소켓(Socket) 등이 있다.
6계층 (표현 계층, Presentation Layer)
데이터(Data)의 형식(Format)을 정의한다. 일반적으로 응용프로그램 형식을 준비 또는 네트워크 형식으로 변환하거나 네트워크 형식을 응용프로그램 형식으로 변환하는 것을 나타낸다.
서로 다른 환경의 컴퓨터와 응용프로그램들이 데이터를 서로 이해할 수 있도록 도와주는 계층
JPEG, TIFF, GIF(그래픽 포맷), MPEG(동영상 포맷), ASCII (텍스트 포맷), 데이터의 압축(Compression), 암호화(Encryption)의 기능도 수행한다.
7계층 (응용 계층, Application Layer)
응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
웹 브라우저, HTTP, FTP, WWW, Telnet, SMTP, POP 등의 사용자와 직접적으로 상호작용하는 모든 응용 프로그램이 속한다.
L7 스위치, PC, 방화벽
OSI 7 계층의 동작 원리
OSI 7 계층에서는 데이터를 전송할 때는 각각의 층에서 인식할 수 있는 헤더를 붙이게 되는데 이를 캡슐화(Encapsulation)라고 부른다.
데이터를 전송할 때는 헤더를 하나씩 추가하면서 화살표 방향대로 위에서 밑으로 가게 된다.
반대로 데이터를 전송받을 시(해석할 시) 헤더를 하나씩 제거하면서 밑으로 위로 가게 되고 차례대로 헤더를 분석해서 최종적인 메시지(Meaage)를 받게 된다.