Krafton Jungle/2. Keywords

[WEEK08] 네트워크 계층

munsik22 2025. 5. 1. 16:12

OSI 7계층

[출처] What is the OSI model? | Cloudflare

[참고] Seogeurim / CS-study / Network

OSI 모델open systems interconnection model은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 ISO(국제표준화기구)에서 만든 개념 모델이다. OSI는 서로 다른 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다. OSI 모델은 컴퓨터 네트워킹의 범용 언어로 볼 수 있다. 이 모델은 통신 시스템을 7개의 추상적 계층으로 나누며 각 계층은 다음 계층 위에 스택된다.

 

여기서 프로토콜protocol은 데이터 서식 지정 및 처리를 위한 규칙 세트를 의미한다. 네트워크 프로토콜은 컴퓨터의 공통 언어와 같다. 네트워크 내의 컴퓨터들은 서로 다른 SW와 HW를 사용하지만 프로토콜을 사용하면 서로 통신할 수 있다.

Physical: 케이블, 전기 신호 등 하드웨어
Data Link: MAC 주소, 프레임 전송 (ex. Ethernet)
Network: IP 주소 지정, 라우팅 (ex. IP, ICMP)
Transport: 세그먼트 전송, 오류 제어 (ex. TCP, UDP)
Session: 연결 설정 및 동기화 등
Presentation: 데이터 형식 변환, 인코딩 (ex. 암호화, 압축)
Application: 사용자와 가장 가까운 계층 (ex. HTTP, FTP, DNS)

7️⃣ 응용 계층Application Layer

사용자와 네트워크 간의 응용 서비스 연결 및 데이터 생성
  • 사용자의 데이터와 직접 상호 작용하는 유일한 계층이다. 웹 브라우저 및 이메일 클라이언트와 같은 소프트웨어 애플리케이션은 통신을 개시하기 위해 애플리케이션 계층에 의존한다.
  • 그러나 클라이언트 소프트웨어 애플리케이션은 응용 계층의 일부가 아니라는 것을 기억하자. 더 정확히 말하자면, 응용 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 한다.

🔹 프로토콜 : HTTP, FTP, SMTP, DNS, Telnet, SSH


6️⃣ 표현 계층Presentation Layer

데이터 형식 설정, 부호 교환, 암호화 및 복호화
  • 주로 데이터를 준비하는 역할을 하여 응용 계층이 이를 사용할 수 있게 한다. 즉, 표현 계층은 응용 프로그램이 사용할 수 있도록 데이터를 표현한다. 표현 계층은 데이터의 변환, 암호화, 압축을 담당한다.
  • 서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있기 때문에, 표현 계층은 수신 장치의 응용 계층이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당한다.
  • 장치가 암호화된 연결을 통해 통신하는 경우, 표현 계층은 최종 송신자에게 암호화를 추가할 뿐만 아니라 최종 수신자에게 암호화를 디코딩하여 암호화되지 않은 읽기 쉬운 데이터로 응용 계층을 제시할 수 있도록 하는 역할을 한다.
  • 표현 계층은 응용 계층에서 수신한 데이터를 세션 계층으로 전송하기 전에 압축하는 일도 담당한다. 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는 데 도움이 된다.

🔹 프로토콜 : JPEG, MPEG, SSL, TLS


5️⃣ 세션 계층Session Layer

송수신 간의 논리적 연결, 연결 접속 및 동기제어
  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당한다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장한다.
  • 세션 계층은 데이터 전송을 체크포인트와 동기화한다. 예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있다. 52MB가 전송 된 후 연결이 끊어 지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능하다. 즉, 50MB의 데이터만 더 전송하면 되는 것이다. 체크 포인트가 없으면 전체 전송을 처음부터 다시 시작해야 한다.

🔹 프로토콜 : NetBIOS, RPC, NFS


4️⃣ 전송 계층Transportation Layer

┌ 송수신 프로세스 간의 연결
├ 신뢰성 있는 통신 보장
└ 데이터 분할, 제조립, 흐름제어, 오류제어 및 혼잡제어
  • 두 기기 간의 종단 간 통신을 담당한다. 여기에는 세션 계층에서 데이터를 가져와서 네트워크 계층으로 보내기 전에 세그먼트라고 하는 조각으로 분할하는 일이 포함된다. 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야 한다.
  • 전송 계층은 흐름 제어 및 오류 제어 기능의 역할도 수행한다. 흐름 제어는 연결 속도가 빠른 송신자가 연결 속도가 느린 수신자를 압도하지 않도록 최적의 전송 속도를 결정한다. 전송 계층은 수신된 데이터가 완료되었는지 확인하고 수신되지 않은 경우 재전송을 요청하여 최종 수신자에 대해 오류 제어를 수행한다.

🔹 프로토콜 : TCP, UDP

  • TCP (Transmission Control Protocol)
    • 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟octet을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜
    • 신뢰성 보장 / 연결 지향적 특징 / 흐름 제어Flow Control / 혼잡 제어Congestion Control
  • UDP (User Datagram Protocol)
    • 비연결성 및 비신뢰성 전송 서비스를 제공
    • 흐름 제어나 순서 제어가 없어 전송 속도가 빠름
    • 실시간 전송에 유리하며 신뢰성 보다는 속도가 중요시되는 네트워크에서 사용함

3️⃣ 네트워크 계층Network Layer

단말기간 데이터를 전송하기 위한 최적화된 경로 제공
  • 네트워크 계층은 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않다.
  • 네트워크 계층은 전송 계층의 세그먼트를 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립한다. 또한, 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데 이를 라우팅이라고 한다.

🔹 프로토콜 : IP, ARP, RARP, ICMP 등

  • IP (Internet Protocol) : 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신 프로토콜
  • ARP (Address Resolution Protocol) : IP 네트워크 상에서 IP 주소를 MAC 주소(물리 주소)로 변환하는 프로토콜
  • RARP (Reverse ARP) : IP 호스트가 자신의 물리 네트워크 주소(MAC)은 알지만 IP 주소는 모르는 경우, 서버로부터 IP주소를 요청하기 위해 사용하는 프로토콜
  • ICMP (Internet Control Messege Protocol) : IP 패킷을 처리할 때 발생하는 문제를 알려주는 프로토콜로, 메시지 형식을 8비트 헤더와 가변 길이의 데이터 영역으로 분리됨.
  • IGMP (Internet Group Message Protocol) : 호스트 컴퓨터와 이넙 라우터가 멀캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜
  • Routing Protocol : 데이터 전송을 위해 목적지까지 갈 수 있는 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜

2️⃣ 데이터링크 계층Data Link Layer

인접 시스템 간 데이터 전송, 전송 오류 제어 및 동기화, 오류제어, 흐름제어, 회선제어
  • 데이터링크 계층은 네트워크 계층과 비슷하지만, 데이터링크 계층은 LAN 내부와 같은 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 한다.
  • 데이터링크 계층은 네트워크 계층에서 패킷을 가져와서 프레임이라고 불리는 더 작은 조각으로 세분화한다.
  • 네트워크 계층과 마찬가지로 데이터링크 계층도 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당한다.
    (전송 계층은 네트워크 간 통신에 대해서만 흐름 제어 및 오류 제어만을 담당함)

1️⃣ 물리 계층Physical Layer

0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
  • 네트워크 전송 매체를 통해 데이터를 전송하기 위한 기초적인 기능을 수행한다. 전기적, 물리적, 기계적인 특성을 결정하고 데이터를 전기 신호, 광 신호, 전파 등으로 변환한다.
  • 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다.
  • 0과 1의 문자열인 비트 스트림으로 변환한다. 두 장치의 물리적 계층은 신호 규칙에 동의해서 두 장치의 0이 1과 구별될 수 있어야 한다.
계층 (Layer) 주요 역할 및 설명 관련 장비 관련 프로토콜
7계층: 응용
Application
사용자가 네트워크에 접속할 수 있도록 서비스 제공, 프로세스 간 정보 교환 (전자 사서함, 가상 터미널 등) 게이트웨이 HTTP, FTP, SMTP, POP3, IMAP, DNS, SSH, Telnet
6계층: 표현
Presentation
데이터의 형식과 표현을 담당, 응용 계층이 데이터의 의미를 이해할 수 있도록 변환 (암호화, 압축, 포맷 변환) 게이트웨이 JPEG, MPEG, GIF, ASCII, EBCDIC, SSL, TLS
5계층: 세션
Session
데이터 교환 관리 및 대화 제어를 위한 규정, 연결 설정/유지/종료, 동기화 게이트웨이 NetBIOS, RPC, PPTP
4계층: 전송
Transport
종단(End-to-End) 간의 신뢰성 있는 데이터 전송 또는 비연결형 전송, 흐름 제어, 혼잡 제어 게이트웨이
(L4 스위치)
TCP, UDP, RTP, RTCP, SCTP
3계층: 네트워크 Network IP 주소를 사용하여 통신 경로 설정 및 데이터 패킷 전송, 라우팅 기능 라우터 IP, ICMP, ARP, RIP, OSPF 등
2계층: 데이터 링크
Data Link
MAC 주소를 사용하여 같은 네트워크 내 장치 간 데이터 전달, 프레임 구성, 오류 감지 및 수정, 흐름 제어 스위치, 브리지 이더넷(Ethernet), ARP, MAC, HDLC, PPP
1계층: 물리
Physical
비트 단위 데이터 전송, 물리적인 연결(케이블, 커넥터 등), 전기적/기계적/기능적 특성 정의 허브, 리피터, 케이블 -

 


TCP/IP 계층

[출처] TCP/IP Model | Oguzhan Ozturk

[참고] TCP/IP를 알아보자! | Juwon

TCP/IP 모델Transmission Control Protocol/Internet Protocol model은 미국 국방부(DoD)에서 설계 및 개발된 표준 프로토콜을 기반으로 하는 계층 모델이다. TCP/IP 모델은 OSI 모델을 간략하게 표현한 것으로, OSI 모델의 7개 계층과 달리 4개의 계층으로 구성된다.

4️⃣ 응용 계층Application Layer

OSI 모델의 응용 계층에 대응된다.

  • 프로토콜 : HTTP, FTP, SMTP, DNS, Telnet, SSH

3️⃣ 전송 계층Transportation Layer

OSI 모델의 전송 계층에 대응된다.

  • 프로토콜 : TCP, UDP

2️⃣ 인터넷 계층Internet Layer

OSI 모델의 네트워크 계층에 대응된다.

  • 프로토콜 : IP, ARP, RARP, ICMP 등

1️⃣ 링크 계층 Link Layer (네트워크 인터페이스 계층Network Interface Layer)

OSI 모델의 물리 계층과 데이터링크 계층에 대응되는 단계로, 네트워크를 통해 데이터를 물리적으로 전송하는 방법을 정의한다.
주로 동일한 네트워크 상의 두 장치 간의 데이터 전송을 담당하고, IP 데이터그램을 네트워크에서 전송되는 프레임으로 캡슐화하고 IP 주소를 물리적 주소로 매핑하는 기능을 수행한다.

OSI 계층 TCP/IP 계층 설명
응용 계층, 표현 계층, 세션 계층  응용 계층 응용프로그램 간의 데이터 송수신 제공 (FTP, SMTP, DNS, HTTP)
전송 계층 전송 계층 호스트간의 신뢰성 있는 통신 제공 (TCP, UDP)
네트워크 계층 인터넷 계층 데이터 전송을 위한 주소 지정, 경로 설정을 제공 (IP, ARP, ICMP)
데이터링크 계층, 물리 계층 링크 계층 실제 데이터(프레임)를 송수신하는 역할