osi-model
네트워크 계층 모델⚑
- 인터넷 프로토콜 스위트는 인터넷에서 컴퓨터들이 서로 정보를 주고 받는 프로토콜의 집합
- OSI 7계층 모델 또는 TCP/IP 4계층 모델을 통해서 설명, 각각의 대응은 아래 그림과 같음
graph LR
subgraph OSI Model
A7(Application Layer)
A6(Presentation Layer)
A5(Session Layer)
A4(Transport Layer)
A3(Network Layer)
A2(Data Link Layer)
A1(Physical Layer)
end
subgraph TCP/IP Model
B4(Application Layer)
B3(Transport Layer)
B2(Internet Layer)
B1(Network Access Layer)
end
A7 --> B4
A6 --> B4
A5 --> B4
A4 --> B3
A3 --> B2
A2 --> B1
A1 --> B1
계층 별 역할⚑
-
Physical Layer
- 목적: 전기 신호 또는 광 신호를 전달하는 것에 집중
- 물리적 매체(케이블, 무선 등)와 관련된 장비 (허브, 리피터 등)
- 데이터는 비트 스트림 형태로 인캡슐레이션되고 전송됨
- 장비 : 허브, 리피터 등
-
Data Link Layer
- 목적: 물리적 주소(MAC 주소)를 사용하여 데이터 전송
- 프레임(Frame) 단위로 데이터를 인캡슐레이션
- 오류 검출 및 수정, 흐름 제어 기능 수행
- 장비: 스위치, 브리지 등
-
Network Layer
- 목적: 논리적 주소(IP 주소)를 사용하여 데이터 전송
- 패킷(Packet) 단위로 데이터를 인캡슐레이션
- 라우팅을 통해 데이터의 최적 경로 선택
- 장비: 라우터
-
Transport Layer
- 목적: 데이터 전송의 신뢰성 보장
- 세그먼트(Segment) 단위로 데이터를 인캡슐레이션
- 흐름 제어, 오류 검출 및 수정, 재전송 등의 기능 수행
- 프로토콜: TCP, UDP
-
Session Layer
- 목적: 통신 세션 설정, 유지, 종료 관리
- 데이터의 세션 단위로 인캡슐레이션
- 연결 동기화 및 오류 복구 지원
-
Presentation Layer
- 목적: 데이터의 표현 형식 변환 (암호화, 압축, 변환 등)
- 데이터의 포맷을 인캡슐레이션하여 애플리케이션에 전달
- 예: 텍스트 인코딩, 데이터 압축, 암호화
-
Application Layer
- 목적: 사용자와 직접 상호작용하는 애플리케이션 제공
- 데이터는 메시지 형태로 인캡슐레이션
- 사용자에게 서비스 제공 (웹 브라우저, 이메일 클라이언트 등)
각 계층의 데이터 전송 단위⚑
- 비트 스트림: 전기적 또는 광학적 신호로 변환된 1과 0의 연속적인 흐름.
- 프레임: 물리적 주소(MAC 주소)와 오류 검출 정보를 포함한 데이터 전송 단위.
- 패킷: 논리적 주소(IP 주소)와 라우팅 정보를 포함한 데이터 전송 단위.
- 세그먼트: 포트 번호와 데이터 순서 정보, 오류 검출 정보를 포함한 데이터 전송 단위.
참고 - 계층별 데이터 전송 단위
-
비트 스트림 (Bit Stream) - Physical Layer
- 정의: 비트 스트림은 1과 0으로 이루어진 데이터의 연속적인 흐름
- 정보: 이 단계에서는 구체적인 정보가 아닌, 물리적인 신호로만 이루어진 데이터 전송. 전기적 또는 광학적인 신호가 네트워크 케이블이나 무선 신호를 통해 전송.
- 목적: 비트 스트림은 물리적인 매체를 통해 데이터를 전송하는 데 필요한 가장 기본적인 데이터 형식. 이 계층에서는 데이터가 네트워크 매체를 통해 정확하게 전달되도록 하는 데 집중
-
프레임 (Frame) - Data Link Layer
- 정의: 프레임은 데이터 링크 계층에서 사용되는 데이터 전송 단위입니다. 프레임은 헤더, 페이로드(실제 데이터), 그리고 오류 검출을 위한 트레일러로 구성
- 정보:
- 헤더: 물리적 주소(출발지 MAC 주소, 목적지 MAC 주소), 프레임 유형, 제어 정보 등이 포함
- 페이로드: 상위 계층에서 받은 패킷 또는 데이터가 포함
- 트레일러: 오류 검출을 위한 체크섬(CRC) 등의 정보가 포함
- 목적: 프레임은 동일한 네트워크 또는 서브넷 내에서 데이터를 전송하기 위해 사용. 이 계층은 오류 검출, 흐름 제어, 그리고 MAC 주소 기반의 데이터 전송을 담당
-
패킷 (Packet) - Network Layer
- 정의: 패킷은 네트워크 계층에서 데이터 전송을 위해 사용되는 단위. 패킷은 헤더와 페이로드로 구성된다.
- 정보:
- 헤더: 논리적 주소(출발지 IP 주소, 목적지 IP 주소), 라우팅 정보, 프로토콜 정보, TTL(Time to Live), 식별자 등의 정보가 포함
- 페이로드: 상위 계층에서 받은 세그먼트 또는 데이터가 포함
- 목적: 패킷은 라우터를 통해 서로 다른 네트워크 간에 데이터를 전송하는 데 사용됩니다. 이 계층에서는 논리적 주소(IP 주소)를 사용하여 데이터의 최적 경로를 선택하고, 목적지 네트워크로 패킷을 전달합니다.
-
세그먼트 (Segment) - Transport Layer
- 정의: 세그먼트는 전송 계층에서 데이터 전송을 위해 사용되는 단위. 주로 TCP에서 사용되며, 세그먼트는 헤더와 데이터로 구성
- 정보:
- 헤더: 출발지 포트 번호, 목적지 포트 번호, 순서 번호(Sequence Number), 확인 응답 번호(ACK Number), 플래그(제어 비트), 윈도우 크기, 체크섬, 옵션 등이 포함
- 페이로드: 애플리케이션 데이터 또는 상위 계층에서 전달된 메시지가 포함
- 목적: 세그먼트는 데이터의 신뢰성을 보장하기 위해 사용됩니다. TCP 프로토콜은 세그먼트를 통해 데이터 전송의 신뢰성을 유지하며, 순서 보장, 오류 검출 및 수정, 재전송 등을 수행
참고 - 계층별 프로토콜
- 애플리케이션 계층 (Application Layer)
- FTP (File Transfer Protocol)
- HTTP (HyperText Transfer Protocol)
- SMTP (Simple Mail Transfer Protocol)
- DNS (Domain Name System )
- SSH (Secure Shell)
- 전송 계층 (Transport Layer)
- TCP (Transmission Control Protocol)
- UDP (User Datagram Protocol)
- QUIC (Quick UDP Internet Connections)
- 인터넷 계층 (Internet Layer)
- IP (Internet Protocol)
- ICMP (Internet Control Message Protocol)
- ARP (Address Resolution Protocol)
- RARP (Reverse Address Resolution Protocol)
- OSPF (Open Shortest Path First)
- BGP (Border Gateway Protocol)
- 네트워크 접근 계층 (Network Access Layer)
- Ethernet
- Wi-Fi
- PPP (Point-to-Point Protocol)
- SLIP (Serial Line Internet Protocol)
- FDDI (Fiber Distributed Data Interface)
- ATM (Asynchronous Transfer Mode)
인캡슐레이션/디캡슐레이션⚑
- 인캡슐레이션: 상위 계층에서 하위 계층으로 내려갈 때, 각 계층은 이전 계층의 데이터에 자신의 헤더 정보를 추가하여 새로운 데이터 단위를 생성
- 디캡슐레이션: 하위 계층에서 상위 계층으로 올라갈 때, 각 계층은 자신의 헤더를 제거하고 상위 계층으로 데이터를 전달