OSI 7 계층, TCP/IP 4계층
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다.
개요
OSI 모형(Open Systems Interconnection Reference Model)은 국제 표준화 기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 일반적으로 OSI 7 계층이라고 한다.
OSI 7 계층과 TCP/IP 4 계층 모두 네트워크 프로토콜을 계층화하여 표현한 모델이지만, 계층의 수와 각 계층의 역할에 몇 가지 차이점이 있다. 실제 네트워크 환경에서는 TCP/IP 4 계층 모델이 더 널리 사용된다.
왜 계층을 나누었는가?
네트워크는 호스트, 라우터, 여러 미디어의 연결, 어플리케이션, 프로토콜, 하드웨어, 소프트웨어 등 여러 컴포넌트로 이루어져 복잡하다. 네트워크의 구조를 조직화해 보기 위해 예시로 항공사 여행을 들어보자.
각 계층은 아래 계층에서 제공하는 서비스에 의존하는 자신의 내부 계층 작업을 통해 각 서비스를 제공할 수 있다. 이와 같은 복잡한 항공기 시스템을 쉽게 생각하기 위해, 각각의 명시적인 구조를 통해 복잡한 시스템 구성 요소의 관계를 식별할 수 있다. 예를 들어, 항공편을 끊어야 수하물을 실을 수 있고, 수하물을 실어야 게이트를 통과할 수 있다.
이러한 복잡한 시스템을 하나의 계층으로 구성하는 것은 어렵기에 여러 계층으로 모듈화하여 유지보수와 수정이 용이해지고, 통신이 일어나는 과정을 단계 별로 파악할 수 있다.
또한 계층 중 특정한 곳에 문제가 생기면 해당 계층만 고칠 수 있고, 계층의 서비스 수정을 나머지 시스템에 투명하게 공개하여 다른 계층에게 영향을 주지 않는다.
OSI 7 계층
OSI 7 계층은 다음과 같이 구성되어 있다.
- L7 : 응용 계층(Application Layer)
- L6 : 표현 계층(Presentation Layer)
- L5 : 세션 계층(Session Layer)
- L4 : 전송 계층(Transport Layer)
- L3 : 네트워크 계층(Network Layer)
- L2 : 데이터 링크 계층(Data Link Layer)
- L1 : 물리 계층(Physical Layer)
물리 계층
물리적인 매체를 통한 데이터 전송을 담당하는 계층이다. 데이터를 전달만 할 뿐, 데이터가 무엇인지 어떤 에러가 있는지 신경 쓰지 않는다.
전송 매체로는 유선(구리선[copper], 광섬유[optical])과 무선(라디오), 대표적인 장비로는 통신 케이블, 리피터, 허브 등이 있다.
물리 계층의 데이터 단위는 비트(Bit)이다.
데이터 링크 계층
물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. MAC 주소를 가지고 통신하고 오류 감지, 재전송, 주소 할당, 흐름 제어 등의 주요 기능이 있다.
이더넷, 와이파이 등이 데이터 링크 계층에 속하고, 대표적인 장비로는 브릿지, 스위치 등이 있다.
데이터 링크 계층의 데이터 단위는 프레임(Frame)이다.
데이터 링크 계층은 물리 계층의 서비스를 사용하여 네트워크 계층의 Datagram을 인접한 네트워크 요소 간에 전송한다. 이를 위해 네트워크 계층의 Datagram에 링크 계층의 Header H3가 추가된 Frame으로 캡슐화한다. (Header H3 + Header H2 + Header H1 + Data M)
네트워크 계층
경로(Route)와 주소(IP)를 정하고 데이터를 패킷 단위로 쪼개어 전송하며 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 담당한다. 즉, 호스트 사이에서의 통신(집<->집)이다.
라우팅, 흐름 제어, 오류 제어, 세그멘테이션 등을 수행하고, IP, Routing Protocol(ARP 등), ICMP 등이 네트워크 계층에 속한다.
네트워크 계층의 데이터 단위는 데이터그램(Datagram)이다.
네트워크 계층은 링크 계층의 서비스를 이용하여 전송 계층의 Segment를 호스트에서 호스트로 전송한다.
전송 계층
사용자들 간(End to End) 신뢰성 있는 데이터를 주고 받게 해주는 역할을 한다. 즉, 프로세스 사이에서의 통신(아빠<->아들)이다.
TCP, UDP 등이 전송 계층에 속하고, 전송 계층의 데이터 단위는 세그먼트(Segment)이다.
전송 계층은 네트워크 계층의 서비스를 이용하여 프로세스에서 프로세스로 데이터를 전송한다. 이를 위해 응용 계층의 메세지 M을 헤더 H1이 추가된 Segment로 캡슐화한다. (Header H1 + Data M)
세션 계층
데이터가 통신하기 위한 논리적 연결을 담당한다. TCP/IP 세션을 만들고 없애는 책임을 지니고 있다.
API, 소켓 등이 세션 계층에 속한다.
표현 계층
응용 프로그램 혹은 네트워크를 위해 데이터를 표현하는 계층이다. 압축, 암호화, 복호화, 데이터 변환 등을 담당한다.
응용 계층
네트워크 간 분산되어 있는 어플리케이션들의 정보 교환을 지원한다.
HTTP, IMAP, SMTP, POP3, DNS, Telnet, FTP 등이 응용 계층에 속한다. 응용 계층의 데이터 단위는 메세지(Message)이다.
응용 계층은 메세지를 교환할 때 전송 계층의 서비스를 이용한다. (Data M)
TCP/IP 4 계층
TCP/IP 4 계층은 다음과 같이 구성되어 있다.
- L4 : 응용 계층(Application Layer)
- L3 : 전송 계층(Transport Layer)
- L2 : 인터넷 계층(Internet Layer)
- L1 : 네트워크 인터페이스 계층(Network Interface Layer)
네트워크 인터페이스 계층
OSI 7 계층의 물리 계층과 데이터 링크 계층에 해당한다.
운영체제의 네트워크 카드와 디바이스 드라이버 등과 같은 하드웨어적인 요소와 관련되는 모든 것을 지원하는 계층이다.
송신 측의 컴퓨터의 경우 상위 계층으로부터 전달받은 패킷에 MAC 주소 정보를 가지고 있는 헤더를 추가하여 Frame을 만들고 Frame을 하위 계층인 물리 계층으로 전달한다. 수신 측의 컴퓨터의 경우 데이터 링크 계층에서 추가된 헤더를 제거하여 상위 계층인 네트워크 계층으로 전달한다.
CSMA/CD, MAC, 이더넷, LAN 등이 네트워크 인터페이스 계층에 속한다.
인터넷 계층
OSI 7 계층의 네트워크 계층에 해당한다.
주요 기능은 상위 전송 계층으로부터 받은 데이터에 IP 패킷 헤더를 붙여 IP 패킷을 만들고 이를 전송하는 것이다. 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅 기능을 담당한다. IP 패킷 전달 여부는 보증하지 않고, 경로를 설정하여 어떻게든 빨리 보내도록 한다.
IP, ICMP, ARP 등이 인터넷 계층에 속한다.
전송 계층
OSI 7 계층의 전송 계층에 해당한다.
네트워크 양단의 송수신 호스트 사이에서 신뢰성 있는 데이터 전송을 제공하는 계층이다. 시스템 논리 주소와 포트를 가지고 있어 각 상위 계층의 프로세스를 연결해서 통신한다.
TCP, UDP 등이 전송 계층에 속한다.
응용 계층
OSI 7 계층에서 세션 계층, 표현 계층, 응용 계층에 해당한다.
응용 프로그램들이 네트워크 서비스, 메일 서비스, 웹 서비스 등을 할 수 있도록 표준적인 인터페이스를 제공한다.
HTTP, FTP, Telnet, DNS, SMTP 등이 응용 계층에 속한다.
참고


