OSI 7계층
OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다.
각 계층은 독립적으로 작용하며 수많은 프로토콜이 존재한다.
포로토콜에 의해 하위 계층으로 갈수록 헤더가 붙으면서 데이터의 크기는 더 커진다.
OSI 모델 | 프로토콜 |
1층 : 물리계층 | 1000BASE-T, RS-232, RS-485 |
2층 : 데이터 링크 계층 | 이더넷(Ethernet), PPP, UART |
3층 : 네트워크 계층 | IP, ICMP |
4층 : 전송 계층 | TCP, UDP |
5층 : 세션 계층 | SSH, TLS, RPC |
6층 : 표현 계층 | ASCII, MPEG, JPEG |
7층 : 응용 계층 | HTTP, FTP, Telnet, DHCP |
계층을 나눈 이유
통신이 일어나는 과정을 단계별로 파악기 위해 나누었고,
어느 한 부분에 문제가 생기면 전체를 건들이지 않고 문제가 생긴 특정 부분만 고칠 수 있다.
OSI 7 계층의 Data 전송 순서
응용 계층 - L7
OSI 최상의 7계층으로 사용자 또는 어플리케이션이 네트워크에 접근할 수 있도록 해준다.
사용자와 가장 밀접하며 사용자를 위한 인터페이스를 지원하고 사용자에게 보이는 유일한 계층이다.
최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
ex) 메일 전송, 인터넷 접속, 동영상 플레이어 ...
표현 계층 - L6
데이터를 어떻게 표현할지 정하는 역할을 하는 계층
기능
- Data 전송으로 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화
- Data 수신으로 데이터 압축을 풀 수 있는 방식으로 된 데이터 압축
- 데이터 암호화와 복호화
ex) 특정 데이터가 text 파일인지, GIF 파일인지, JPEG 파일인지 등의 구분
세션 계층 - L5
네트워크상 양쪽 연결을 관리하고 연결을 지속시켜주는 계층.
세션이 종료되거나 전송 중단 시 복구 기능이 있으며 TCP/IP 세션을 만들고 유지한다.
통신 장치 간 상호작용 및 동기화를 제공하고, 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리한다.
ex) 운영체제
전송 계층 - L4
데이터를 전송하는 전송 속도를 조절하며 오류가 발생된 부분을 다시 맞춰주는 계층
송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름제어와 중복검사 등을 수행한다.
데이터 전송을 위해 포트번호를 사용하고, 헤더에 송-수신 포트번호를 포함하여 전달한다.
보통 TCP와 UDP 프로토콜 중 TCP 프로토콜을 주로 사용하며
TCP는 Segment 전송단위
UDP는 Datagram 전송단위를 사용한다.
네트워크 계층 - L3
전송 데이터를 목적지까지 경로를 선택하고 주소를 정한 뒤, 경로에 따라 패킷을 전송하는 계층
라우터 기능을 맡은 계층으로 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능이 있으며, 최적의 경로를 설정할 수 있다.
컴퓨터에 데이터를 전송할 주소를 갖고 있어 통신할 수 있고,
주소(IP)를 정하고, 경로(Route)를 선택하고, 패킷을 전달하는 것이 핵심이다.
네트워크 계층 데이터 단위는 패킷을 사용한다.
ex) 네트워크 라우팅, 라우터, L3 스위치
데이트 링크 계층 - L2
물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달.
데이터 전송 오류를 감지하는 기능을 제공하며 오류를 감지하면 재전송한다.
전송되는 단위는 프레임이다.
물리 계층 - L1
통신 케이블을 통해 전기 신호를 사용하여 데이터를 주고 받는 계층
비트는 물리계층에서 사용되는 단위로 0과 1로 구분되는 전기 ON/OFF 개념이다.
물리계층은 단지 데이터를 전달할 뿐 전송하거나 받으려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경쓰지 않고,
알고리즘, 오류제어 기능이 없다.
ex) 케이블, 리피터, 허브
OSI 모델을 통해 데이터가 전송되는 방법
네트워크를 통해 사람이 읽을 수 있는 정보를 장치 간에 전송하려면 데이터가 송신 장치에서
OSI 모델의 7가지 계층 아래로 이동한 다음 최종 수신자에서 7가지 계층 위로 이동해야 한다.
전송 예시
누군가에게 이메일 소프트에어로 이메일 메세지를 작성하고 '발송'을 클릭하면 이메일 메세지가 애플리케이션 계층에서 시작된다.
애플리케이션 레이어는 프로토콜을 선택하고, 데이터 프레젠테이션 계층으로 전달한다.
프레젠테이션 계층에서 메시지를 인코딩하거나 압축을 하고 압축한 데이터는 세션 계층에 도달하고 세션을 시작한다.
이제 데이터는 발신자의 전송 계층으로 넘어가 세그먼트로 나눠지고,
이 세그먼트는 네트워크에서 패킷으로 다시 나눠지고, 이 패킷은 데이터 링크 계층에서 프레임으로 나눠진다.
데이터 링크 계층은 해당 프레임을 물리적 계층으로 전달하며,
물리적 계층은 데이터를 1과 0의 비트스트림으로 변환하고 물리적 매체를 통해 전송합니다.
이메일을 받은 사람이 물리적 매체를 통해 비트스트림을 수신하면, 데이터는 반대 순서로 계층을 지나게 된다.
먼저 물리적 계층은 비트 스트림을 1과 0에서 프레임으로 변환해 데이터 링크 계층으로 넘긴다.
데이터 링크 계층은 프레임을 패킷으로 재조립해 네트워크 계층으로 넘긴다.
네트워크 계층은 패킷으로 세그먼트를 만들어 전송 계층으로 넘기고, 전송 계층은 세그먼트를 재조립해 하나의 데이터를 만든다.
이제 데이터 수신자의 세션 계층으로 흐르고, 세션 계층이 이 데이터를 프레젠테이션 계층으로 넘기면, 통신 세션이 종료된다.
프레젠테이션 계층은 압축을 제거하고 원본 데이터를 애플리케이션 계층으로 넘긴다.
애플리케이션 계층은 사람이 읽을 수 있는 데이터를 이메일 소프트웨어에 제공하고, 자기 노트북 화면에서 이메일을 읽을 수 있게된다.
'CS > 네트워크' 카테고리의 다른 글
유니캐스트, 브로드캐스트, 멀티캐스트 (0) | 2024.06.03 |
---|---|
3-Way HandShake & 4-Way HandShake (0) | 2024.06.03 |
TCP & UDP (0) | 2024.05.29 |
HTTP & HTTPS (0) | 2024.05.24 |
네트워크 기초 (1) | 2024.05.23 |