OSI 7계층 모델은 여러 기능들을 계층별로 나누어서 네트워크 통신을 보다 체계적으로 이해하고 설계할 수 있도록 도와줍니다. 각 계층은 독립적으로 작동하며, 상위 계층은 하위 계층의 서비스를 이용하여 데이터를 전달하고 받습니다. 이와 유사하게, TCP/IP 4계층 모델도 네트워크 통신의 기능을 단계별로 정의하고 구조화합니다.

TCP/IP 모델은 OSI 모델과 다르게 계층을 조금 더 간소화하여, 인터넷에서 보다 실용적인 사용이 가능하도록 설계되었습니다. 이제 많은 네트워크가 TCP/IP 모델을 기반으로 운영되고 있습니다. 하지만 이 포스트에선 OSI 7계층 모델에 대해 정리하고자 합니다. OSI 7계층 모델을 잘 이해한다면, TCP/IP 모델도 쉽게 이해할 수 있을 것으로 생각합니다.

  1. 물리 계층
  2. 데이터링크 계층
  3. 네트워크 계층
  4. 전송 계층
  5. 세션 계층
  6. 표현 계층
  7. 응용 계층


물리 계층

물리 계층은 네트워크의 최하위 계층으로, 데이터를 전기적, 광학적, 전파적 신호로 변환하여 물리적인 매체를 통해 전송하는 역할을 합니다. 이러한 데이터 전송을 위해 물리적인 장치와 방식이 사용됩니다. 주요 기술은 이더넷, WiFi, 블루투스, USB, HDMI, RS-232 등이 있습니다.


데이터링크 계층

이 계층은 물리 계층의 물리적인 매체를 통해 전송된 비트 스트림을 논리적인 프레임 단위로 분할하고, 각 프레임에 대한 주소 지정 및 오류 감지 및 수정을 수행하여 신뢰성 있는 데이터 전송을 보장합니다. 주요 기능은 주소 지정, 오류 제어(감지와 수정), 흐름 제어, 매체 엑세스 제어(MAC Access control), 프레임 분할 및 전송이 있습니다.

  • 이더넷(Ethernet, 802.3, CSMA/CD) : 유선 네트워크에서 가장 널리 사용되는 프로토콜 중 하나로, 컴퓨터나 네트워크 장치들 간에 데이터를 주고받는 데 사용됩니다. Ethernet은 다양한 전송 속도와 물리적 매체(UTP, 광섬유 등)를 지원하며, 프레임 형식으로 데이터를 전송합니다.

  • Wi-Fi(802.11, CSMA/CA) : 무선 네트워크를 위한 프로토콜로, 다양한 무선 표준을 정의합니다. Wi-Fi는 주로 무선 액세스 포인트와 클라이언트 간에 데이터를 무선으로 주고받을 때 사용됩니다.

  • IEEE 802.15(WPAN) : 이 표준은 주로 짧은 거리 내에서 저전력 무선 통신을 위한 기술을 다루며, 주변 장치 간의 데이터 통신과 네트워킹을 가능하게 합니다. 주로 블루투스, 스마트 홈, 의료 기기 간 통신에서 사용됩니다.

  • PPP(Poin-to-Point Protocol) : 주로 점대점 연결에서 사용되는 프로토콜로, 두 개의 네트워크 장치 사이의 직접적인 연결을 위해 사용됩니다.

  • HDLC(High-Level Data Link Proctocol) : 데이터 링크 계층에서 널리 사용되는 프로토콜로, 점대점 및 다중 접속 회선에서 데이터를 전송하는 데 사용됩니다.


네트워크 계층

데이터 전송의 경로를 설정하고 관리하는 역할을 하는 세 번째 계층입니다. 이 계층은 라우팅, 패킷 전달, IP 주소 할당 및 데이터의 분할과 재조립과 같은 기능을 담당하여 여러 네트워크 간의 통신을 관리합니다. 네트워크 계층의 주요 목적은 패킷을 출발지에서 목적지까지 안정적이고 효율적으로 전달하는 것입니다.

  • IP(Internet Protocol) : IP는 인터넷에서 데이터 패킷을 주고받기 위한 주요 프로토콜로, 네트워크 계층에서 데이터의 전송 경로를 설정하고 IP 주소를 사용하여 호스트와 라우터를 식별합니다. IP 주소는 네트워크와 호스트를 식별하기 위해 사용되며, IPv4와 IPv6의 두 가지 주요 버전이 있습니다. IP 프로토콜은 패킷의 출발지와 목적지 주소를 포함하고, 라우팅 및 패킷 전달을 담당합니다.

  • ICMP(Internet Control Message Protocol) : ICMP는 네트워크 상태를 모니터링하고 제어하는 데 사용되는 프로토콜로, 주로 네트워크 상태 감지 및 오류 메시지 전달을 위해 활용됩니다. ICMP 패킷에는 Type 필드가 존재합니다. 이러한 Type은 해당 패킷의 내용이 무엇인지 알려주는 역할을 합니다. 예를 들어, Type 0은 Echo reply를, Type 8은 Echo request를 의미합니다. 그리고, 3은 패킷이 목적지에 도착하지 않음을, 5는 Redirect, 11은 time exceeded를 의미합니다. ping, tracert/traceroute 명령어를 통해 확인할 수 있습니다.

  • NAT(Network Address Translation) : NAT는 사설 네트워크 내부의 여러 호스트가 단일 공용 IP 주소를 사용하여 외부 네트워크와 통신할 수 있게 해주는 기술입니다. 포트 포워딩 또한 NAT의 응용 기술입니다.

  • ARP (Address Resolution Protocol) : ARP는 IP 주소를 물리적인 MAC 주소로 매핑하는 프로토콜입니다. 이 매핑은 네트워크 계층과 데이터 링크 계층 간의 통신을 지원합니다. RARP는 MAC주소를 IP주소로 매핑하는 프로토콜입니다.

  • 서브넷팅 (Subnetting) : 서브넷팅은 IP 주소 공간을 더 작은 서브넷으로 분할하는 기술입니다. 이를 통해 네트워크 관리와 IP 주소 할당을 더욱 효율적으로 수행할 수 있습니다.

  • 라우팅 프로토콜 : 라우팅 프로토콜은 네트워크에서 데이터 패킷의 경로를 결정하고 전송하는 역할을 수행하는 프로토콜입니다. 이 프로토콜들은 네트워크의 효율성, 안정성 및 신뢰성을 향상시키기 위해 사용되며, 다양한 라우팅 알고리즘과 프로토콜이 존재합니다. RIP, OSPF, BGP, EIGRP, IS-IS등이 있습니다.

    • RIP (Routing Information Protocol): 거리 벡터 알고리즘을 기반으로 한 내부 라우팅 프로토콜로, 네트워크의 경로 정보를 주기적으로 전파하고 업데이트합니다. RIP 버전 1과 2가 있으며, 보통 작은 규모의 네트워크에서 사용됩니다.
    • OSPF (Open Shortest Path First): 링크 상태 알고리즘을 기반으로 한 내부 라우팅 프로토콜로, 라우터 간의 링크 상태 정보를 교환하여 네트워크의 토폴로지를 동적으로 계산합니다. 대규모 네트워크에서 사용되며, 계층 구조를 가지고 있습니다.
    • BGP (Border Gateway Protocol): 외부 라우팅에서 사용되며, AS (Autonomous System) 간의 경로 교환을 관리하는 프로토콜입니다. 인터넷에서의 라우팅을 관리하고 인터넷 서비스 제공자와의 연결을 관리하는 데 사용됩니다.
    • EIGRP (Enhanced Interior Gateway Routing Protocol): Cisco의 고급 내부 라우팅 프로토콜로, 거리 벡터와 링크 상태의 요소를 결합한 하이브리드 프로토콜입니다. Cisco 장비에서 사용되며, OSPF와 같은 복잡한 네트워크에서 사용될 수 있습니다.
    • IS-IS (Intermediate System to Intermediate System): OSPF와 유사한 링크 상태 내부 라우팅 프로토콜로, OSI 네트워크에서 주로 사용됩니다.

전송 계층

네트워크의 종단 간 통신을 제어하고 관리하는 역할을 수행하는 네 번째 계층입니다. 이 계층은 호스트 간의 데이터 전송을 담당하며, 데이터의 신뢰성, 흐름 제어 등을 보장하여 안정적인 통신을 제공합니다. 대표적으로 TCP, UDP 프로토콜이 있습니다.

  • TCP(Transmission Control Protocol) : 연결 기반 프로토콜로, 신뢰성 있는 데이터 전송을 보장합니다. 흐름 제어, 오류 검출, 재전송 기능을 제공하여 안정적인 통신을 지원합니다. 주로 3 way-hand-shaking(Syn->Syn+Ack->Ack) 방법을 사용합니다. 패킷 전송 순서가 보장되며, 중복된 데이터 전송을 방지합니다. 브로드캐스트 및 멀티캐스트를 지원하지 않습니다. 대부분의 웹 브라우징, 이메일, 파일 전송과 같은 애플리케이션에서 사용됩니다.

  • UDP(User Datagram Protocol) : 비연결 기반 프로토콜로, 간단하고 빠른 데이터 전송을 지원합니다. 신뢰성 및 오류 복구 기능을 제공하지 않습니다. 따라서 데이터 유실이 발생할 수 있습니다. 패킷 전송 순서가 보장되지 않으며, 중복된 데이터 전송이 가능합니다. 브로드캐스트와 멀티캐스트를 지원합니다. 실시간 음성 및 비디오 스트리밍, 온라인 게임과 같이 빠른 데이터 전송이 필요한 애플리케이션에서 사용됩니다. DNS, DHCP, TFTP, SNMP 등이 UDP 프로토콜 기반으로 작동합니다.


특징 TCP UDP
신뢰성 높음(흐름 제어, 재전송 기능) 낮음
연결 연결 기반 비연결 기반
전송 순서 보장 아니오
데이터 유실 가능 아니오
중복된 패킷 처리 아니오
대상 포트 지정 필요 지정 필요
브로드 및 멀티캐스트 미지원 지원

(추가적으로 UDP, TCP 모두 Checksum 필드를 가지고 있어 무결성을 보장합니다. UDP의 경우 비연결 기반이라 세그멘트에 Flag 필드가 존재하지 않습니다.)

세션 계층

네트워크 간의 연결을 설정, 유지 및 해제하며 데이터 통신을 관리하는 역할을 담당하는 계층입니다. 이 계층은 데이터 전송 중 발생할 수 있는 문제를 처리하고, 세션을 관리하여 안정적이고 신뢰성 있는 통신을 제공합니다.

표현 계층

데이터의 형식 변환과 암호화 등의 기능을 담당하는 계층입니다. 암호화와 인증 등의 보안 기능을 제공하여 데이터의 안전성과 기밀성을 유지합니다. 또한, 데이터의 압축과 해제를 수행하여 효율적인 데이터 전송을 지원합니다.

응용 계층

사용자 및 응용 프로그램과 네트워크 간의 상호작용을 다루는 계층입니다. 이 계층은 사용자가 네트워크를 통해 서비스 및 데이터를 제공하고 사용할 수 있도록 도와줍니다. 응용 계층은 다양한 프로토콜과 서비스를 포함하며, 사용자가 네트워크를 통해 효율적으로 통신하고 데이터를 교환할 수 있도록 해줍니다.

  • FTP(File Transfer Protocol, 20-데이터송수신, 21-연결제어) : 파일 전송을 위한 프로토콜로, 파일 서버와 클라이언트 간의 파일 전송을 처리합니다.

  • SSH(Secure Shell, 22) : 원격 로그인과 안전한 데이터 통신을 위한 암호화된 프로토콜로, 보안 접속을 제공합니다.

  • Telnet(23) : 원격 로그인을 지원하는 프로토콜로, 암호화되지 않은 통신을 제공합니다. (보안에 취약하여 현재는 사용이 제한적)

  • SMTP(Simple Mail Transfer Protocol, 25) : 이메일 전송을 위한 프로토콜로, 메일 서버 간의 이메일 전송을 처리합니다.

  • POP3(Post Office Protocol 3, 110) : 이메일 수신을 위한 프로토콜로, 이메일 서버로부터 이메일을 가져올 때 사용됩니다.

  • IMAP(Internet Message Access Protocol, 143) : 이메일 수신 및 관리를 위한 프로토콜로, 이메일 서버와 클라이언트 간의 상호작용을 지원합니다. POP3와 차이점은 IMAP는 서버에 이메일이 유지됩니다.

  • HTTP(Hypertext Transfer Protocol, 80) : 웹 서버와 클라이언트 간의 통신을 위한 프로토콜로, 웹 페이지를 요청하고 전송하는 데 사용됩니다.

  • HTTPS(Hypertext Transfer Protocol Secure, 443) : 보안을 강화한 HTTP 프로토콜로, 데이터의 암호화와 보안 인증을 제공하여 안전한 웹 통신을 지원합니다.

  • SNMP(Simple Network Management Protocol, 161) : 네트워크 관리와 모니터링을 위한 프로토콜로, 네트워크 장치 상태 및 성능 정보를 수집합니다.

  • DNS(Domain Name System, 53) : 도메인 이름을 IP 주소로 변환하거나 역으로 변환하는 역할을 하는 프로토콜입니다.