[데이터통신] 통신의 계층적 구조
서론
내 컴퓨터랑 서버와 어떠한 통신을 하고 싶다고 가정해보자.
그런데 이 신호를 어떻게 옮겨야할까?
바로 스마트폰에서 바로 서버로 옮기는게 아니라 스마트폰, 공유기, 통신사 기지국 등을 거치며 데이터센터로 옮기는 것이다.
이러한 흐름들은 계층적 구조를 가지고 있어서 계층으로 표현할 수 있다.
계층 표현 방식으론, TCP/IP 모델과 OSI 모델 크게 2가지가 존재한다.
먼저 OSI 모델이 무엇인지 알아보고, TCP/IP 모델에 대해서는 OSI 모델과 차이점이 무엇인지 비교하는 식으로 설명한다.
개념 정리
모델을 설명하기에 앞서 여러 개념들을 정리하고 작성하려고 합니다.
인터넷 백본
인터넷 백본(Internet Backbone)은 전 세계의 개별 네트워크(지역 ISP, 기업망, 콘텐츠 제공자 등)를 연결하는 “고속·대용량의 핵심 통신망”입니다.
프로토콜
프로토콜은 통신을 위한 약속으로 문법, 의미, 타이밍의 구성 요소를 가지고 있습니다.
HTTPS, HTTP, TCP, IP, SMTP, SSH, SSL 등의 프로토콜을 가지고 있습니다.
이런 프로토콜 들의 집합을 프로토콜 스위트(Suite)라고 합니다.
IP 주소
IP주소는 호스트를 식별하기 위한 32비트 또는 128비트로 구성된 논리 주소입니다.
IP주소는 네트워크 부분과 호스트 부분으로 나뉘며, 서브넷 마스크로 경계를 지정합니다.
IP주소를 표현하는 방식은 3가지가 있습니다.
- IPv4, $(0, 255)$ 사이의 값 네 개로 구성됩니다.
- IPv6, $(0, 2^16 -1)$ 사이의 값 8 개로 구성됩니다.
- CIDR, 위 IP 주소 뒤에 슬래시 ‘/’와 네트워크 접두사 길이(비트 수)를 붙여서 표현하는 방식입니다.
ex) 192.168.0.0/24 -> 네트워크 부분 24비트, 호스트 부분 8비트..
OSI 모델
OSI 모델은 다음과 같이 7개의 계층으로 나눌 수 있다.
- 물리 계층(L1)
- 데이터 링크 계층(L2)
- 네트워크 계층(L3)
- 전송 계층(L4)
- 세션 계층(L5)
- 표현 계층(L6)
- 응용 계층(L7)
각 계층에서 하는 역할은 다음과 같다.
응용(Application) 계층(L7)
사용자와 가장 가까운 계층이고, 네트워크 서비스를 직접 제공한다.
주요 기능으로는 HTTP 요청 생성이다.
다른 프로토콜/서비스 또한 지원하는데, HTTPS, FTP, SMTP, POP3, DNS, Telnet 등이 존재한다.
표현(Represent) 계층(L6)
그렇다면, 이제 응용(Application) 계층에서 전송될 데이터를 결국 어떠한 신호로 보낼 때, 그냥 보내는 건 조금 낭비니깐 일종의 최적화를 진행해준다.
데이터의 형식을 변환해주고, 암호화/복호화를 진행하고, 압축/압축 해제를 담당한다.
대표적인 예시를 보자.
데이터의 형식 변환은 문자 인코딩(ASCII -> EBCDIC) 등이 있다.
EBCDIC은 8비트 단위로 문자를 표현하는 방식이다.
데이터 암호화는 SSL, TLS
둘 다 네트워크 보안 프로토콜로, TCP 위에서 동작하는 특징이 있다.
데이터 압축은 GZIP 등이 있다.
세션(Session) 계층(L5)
세션 계층은 세션 설정(Establishment) → 세션 유지(Maintenance) → 세션 종료(Termination) 의 과정을 통해 애플리케이션 간 장시간·복잡한 대화를 안정적으로 관리한다.
우선 세션이 무엇인지 간략하게 알아보자.
세션: 애플리케이션 간 연속된 대화를 관리하기 위한 논리적 연결 단위.
세션에 대해서는 더 많은 정보가 있지만, 간략하게 설명하자면.
- 식별 및 상태 관리
- 세션 ID를 통해 “어느 대화에 속하는지” 파악
- 로그인→조회→수정 같은 연속 작업을 하나의 세션으로 묶어 상태 유지
- 대화 방식 협상
- 반이중(half‑duplex) vs 전이중(full‑duplex), 타임아웃, 인증 토큰 교환 등 통신 규칙 합의
- 동기화 및 복구
- 중간 체크포인트 설정 → 네트워크 장애 시 해당 지점부터 재전송
- 자원 할당 및 해제
- 세션 테이블·로그·메타데이터 등 자원 할당 → 종료 시 자원 해제
등의 역할을 수행합니다.
정리하면, 현대 사회에서는 장시간, 복잡한 대화가 진행되기에, 이에 대한 안정적인 관리가 필요해 이 세션 계층이 필요하다.
전송(Transport) 계층(L4)
이제 이러한 데이터들을 신뢰성 있게 전송하는 것을 보장하는 계층입니다.
프로토콜로는 TCP(Transmission Control Protocol), UDP(User Datagram Protocol)가 존재합니다.
내용이 별로 없으니, 두 프로토콜에 대해 간략히 알아봅시다.
TCP는 신뢰성과 순서 보장을 목적에 둔 프로토콜입니다.
UDP는 빠르고 가벼운 전송을 목적에 둔 프로토콜입니다.
이것을 현실 세계 대기업의 예시를 들어 정리해봅시다.
유튜브는 영상을 결국 수신해야 하는데, 기존에서는 TCP를 이용해 데이터를 전송했습니다.
현재는 QUIC라는 UDP 기반의 전송 프로토콜을 제작해 영상 전송 품질과 지연을 크게 개선했습니다.
자세히 알아보기에는 너무 무거운 것 같아서, TCP와 UDP의 장점을 잘 모아서 유튜브 시장에 최적화를 잘 시켰다 정도로만 이해하면 좋을 것 같습니다.
네트워크 계층(L3)
이제 이러한 패킷을 서로 다른 네트워크 간에 전송하기 위해 경로 설정(Routing)을 합니다.
논리적 주소 지정 관리, 최적 경로 선택, 전달, 오류 검사/진단, 패킷 분할/재조립 역할을 수행합니다.
프로토콜로는 IP, ICMP 등이 존재합니다.
데이터 링크 계층(L2)
물리 매체 위에서 프레임 단위로 신뢰성 있는 전송을 보장하는 역할입니다.
물리 주소 MAC를 이용해 같은 네트워크 내 장치간 통신을 수행합니다.
프레이밍, 오류 검출, 흐름 제어, 충돌 제어 등의 기능이 존재하며
대표 프로토콜로는 이더넷, Wifi, PPP 등이 있습니다.
물리 계층(L1)
0과 1의 비트 스트림을 전기적, 광학적, 무선 신호로 변환해서 실체 매체 위로 전송하는 역할입니다.
예제
스마트폰에서 데이터 센터와 통신을 한다고 가정하면, OSI 계층에선 무엇을 하는지 간단히 알아보자.
먼저, L5-L7에서 스마트폰의 앱에서 서버 주소를 도출하기 위해 DNS 조회를 하고, HTTPS 요청을 만든다.
L3-L4에서 HTTP 요청이 TCP 세그먼트로 TCP 헤더가 붙은 뒤 IP 패킷으로 캡슐화된다.
L1-L2에서 이런 패킷들이 전달되는 식이다.
TCP/IP 모델과 비교
OSI 계층의 L5-L7을 응용으로 한번에 묶은 것이라고 생각하면 됩니다.
OSI 계층에 비해 간결하고 실용적이라는 장점이 있습니다.
TCP/IP모델을 간단히 정리해 봅시다.
계층 | 예시 데이터 단위 | 식별자/주소 예시 |
---|---|---|
Application | HTTP 메시지, Email 메시지 | URL, Email 주소, 도메인 이름 |
Transport | TCP 세그먼트, UDP 데이터그램 | 포트 번호 |
Network | IP 패킷/데이터그램 | IP 주소 (예: 192.168.1.85) |
Data Link | Ethernet 프레임 | MAC 주소 (예: F4-D1-08-4A-CD-BA) |
Physical | 비트 스트림 | 비트 (신호 단위) |