1. Internet이란 무엇인가?

Internet을 이해하는 관점은 크게 두 가지로 나뉜다.

1.1 “Nuts and Bolts” 관점 - 구성 요소 중심

Internet은 수십억 개의 computing device가 연결된 네트워크다. 이 device들을 host 또는 end system이라 부르며, 네트워크의 가장자리(edge)에서 네트워크 애플리케이션을 실행한다.

Internet을 구성하는 핵심 요소는 다음과 같다:

구성 요소설명
Host (End System)네트워크 애플리케이션을 실행하는 장치. 스마트폰, 노트북, 서버, IoT 기기 등
Communication LinkHost 간 데이터를 전달하는 물리적 통로. 광섬유, 구리선, 무선 전파, 위성 등
Packet Switch데이터 조각(packet)을 다음 목적지로 전달하는 장치. Router, Link-layer Switch
NetworkDevice, router, link의 집합. 하나의 조직이 관리하는 단위

Internet은 이런 네트워크들이 서로 연결된 구조, 즉 “네트워크의 네트워크(network of networks)“다. 각 네트워크는 ISP(Internet Service Provider)에 의해 관리되며, ISP들이 서로 상호 연결되어 전 세계적인 통신이 가능해진다.

Internet의 프로토콜은 표준화 기관에 의해 관리된다:

  • RFC (Request for Comments): Internet 표준 문서. 프로토콜의 동작 방식을 정의
  • IETF (Internet Engineering Task Force): RFC를 개발하고 관리하는 조직

1.2 “Services” 관점 - 서비스 중심

또 다른 관점에서 Internet은 애플리케이션에 서비스를 제공하는 인프라다.

웹 브라우저, 이메일, 화상 회의, 온라인 게임 같은 **분산 애플리케이션(distributed application)**들은 서로 다른 end system에서 실행되면서 데이터를 교환한다. Internet은 이런 애플리케이션이 데이터를 주고받을 수 있도록 프로그래밍 인터페이스를 제공한다. 이는 우편 서비스와 유사하다 - 편지를 쓰는 사람은 우체국의 내부 동작을 알 필요 없이, 정해진 규칙(봉투에 주소를 쓰고 우체통에 넣는 것)만 따르면 된다.

2. Protocol이란?

2.1 Human Protocol과의 비유

사람 사이의 대화에도 프로토콜이 있다. “안녕하세요?”라고 인사하면 상대도 “안녕하세요?”로 응답하고, 그 다음에 본론을 꺼낸다. 시간을 물을 때도 “지금 몇 시예요?”라고 묻고, 상대가 “2시요”라고 답하는 일정한 형식이 있다.

네트워크 프로토콜도 마찬가지다. TCP 연결을 시작할 때 클라이언트가 connection request를 보내면, 서버가 connection response로 응답하고, 그 다음에 실제 데이터(예: HTTP GET 요청)를 주고받는다.

2.2 Protocol의 정의

Protocol의 정의

Protocol은 네트워크 개체(entity) 간에 주고받는 메시지의 형식(format), 순서(order), 그리고 메시지 송수신 시 취해야 할 행동(action)을 정의한다.

이 정의에서 세 가지 핵심 요소를 짚어보면:

  • Format: 메시지가 어떤 구조와 형태를 가지는가 (헤더 필드, 데이터 배치 등)
  • Order: 메시지가 어떤 순서로 교환되는가 (요청 후 응답, 3-way handshake 등)
  • Action: 메시지를 보내거나 받았을 때 어떤 동작을 수행하는가 (연결 수립, 데이터 전송, 오류 처리 등)

Internet에서 일어나는 모든 통신은 프로토콜에 의해 제어된다. HTTP, TCP, IP, WiFi, Ethernet 등 우리가 듣는 네트워크 용어 대부분이 프로토콜의 이름이다.

3. Network Edge

Network edge는 Internet의 가장자리, 즉 end system(host)이 위치하는 영역이다. Host는 크게 clientserver로 구분되며, server는 대부분 대규모 data center에 집중되어 있다.

3.1 Access Network

Access network는 end system을 첫 번째 router(edge router)에 연결하는 네트워크다. End system이 Internet의 나머지 부분과 물리적으로 연결되는 지점이라 할 수 있다. 주요 유형은 다음과 같다.

Cable-based Access

기존 케이블 TV 인프라를 활용하는 방식이다.

  • HFC (Hybrid Fiber Coax): 광섬유(fiber)와 동축 케이블(coaxial cable)의 혼합 구조
  • 비대칭(asymmetric) 전송: downstream(다운로드) 속도가 upstream(업로드)보다 빠르다
    • Downstream: 최대 40 Mbps - 1.2 Gbps
    • Upstream: 30 - 100 Mbps
  • FDM (Frequency Division Multiplexing): 서로 다른 채널이 서로 다른 주파수 대역에서 전송
  • 특징: 여러 가구가 cable headend까지의 access network를 공유(shared)한다

DSL (Digital Subscriber Line)

기존 전화선 인프라를 활용하는 방식이다.

  • 전화 회사의 기존 전화선을 사용하여 central office의 **DSLAM (DSL Access Multiplexer)**에 연결
  • 하나의 전화선 위에서 음성(voice)과 데이터(data)를 서로 다른 주파수로 동시에 전송
  • Cable과 달리 각 가구가 DSLAM까지 전용선(dedicated line)을 사용
  • 전송 속도:
    • Downstream: 24 - 52 Mbps
    • Upstream: 3.5 - 16 Mbps

Home Network

가정 내부의 네트워크는 보통 다음과 같은 구조를 갖는다:

  • Cable/DSL modem: 외부 ISP 네트워크에 연결
  • Router/Firewall/NAT: 가정 내 장치들의 트래픽을 관리하고 외부와 연결
  • WiFi 무선 AP: 무선 장치들을 연결 (802.11b/g/n: 11, 54, 450 Mbps)
  • Wired Ethernet: 유선 장치들을 연결 (1 Gbps)
  • 현대 가정에서는 이 모든 기능이 하나의 장치(공유기)에 통합되어 있는 경우가 많다

Wireless Access Network

무선 접속 네트워크는 크게 두 종류로 나뉜다:

유형범위속도예시
WLAN (Wireless LAN)건물 내부 (~100ft)11, 54, 450 MbpsWiFi (802.11b/g/n)
Wide-area Cellular수십 km수십 Mbps4G LTE, 5G

Enterprise Network

기업, 대학 등의 조직 내부 네트워크다.

  • 유선(Ethernet: 100 Mbps, 1 Gbps, 10 Gbps)과 무선(WiFi)이 혼합
  • Ethernet switch와 router가 조합되어 내부 장치를 연결하고, ISP를 통해 외부 Internet에 접속

Data Center Network

대규모 서버를 수용하는 data center 내부의 네트워크다. 수백에서 수천 대의 서버가 10 - 100 Gbps의 고대역폭 링크로 상호 연결되며, 외부 Internet에도 연결된다. Google, Amazon, Microsoft 같은 대형 서비스 제공자는 자체 data center를 전 세계에 분산 배치한다.

3.2 Physical Media

데이터가 송신자에서 수신자까지 전달되려면 물리적 매체를 통과해야 한다. Physical media는 크게 두 가지로 분류된다:

  • Guided media: 신호가 고체 매체를 따라 전달됨 (구리선, 광섬유, 동축 케이블)
  • Unguided media: 신호가 대기 중으로 자유롭게 전파됨 (무선 전파, 위성)

Twisted Pair (TP)

가장 저렴하고 널리 사용되는 guided media다. 두 개의 절연된 구리선이 꼬여 있는 구조로, 전자기 간섭을 줄이는 효과가 있다.

  • Category 5/6: 100 Mbps - 10 Gbps Ethernet에 사용
  • 전화선(DSL)에서도 사용

Coaxial Cable

동축 케이블은 중심 도체를 절연체와 외부 도체(shield)가 감싸는 구조다.

  • 양방향(bidirectional) 전송 가능
  • 여러 주파수 대역을 동시에 전송할 수 있어 broadband 사용에 적합
  • Cable TV 네트워크에서 주로 사용

Fiber Optic Cable

빛의 펄스로 데이터를 전송하는 유리 섬유 케이블이다.

  • 매우 높은 전송 속도: 수십 - 수백 Gbps
  • 낮은 오류율: 전자기 간섭에 영향을 받지 않음
  • 낮은 감쇠: 장거리 전송에 적합 (수십 km 이상 중계기 없이 전송 가능)
  • 대양 횡단 케이블, ISP 백본 등에 사용

Radio (무선)

전자기파를 통해 신호를 전달한다. 물리적 와이어가 필요 없어 이동성이 뛰어나지만, 환경에 의한 영향을 받는다:

  • 벽, 장애물에 의한 감쇠
  • 다른 신호와의 간섭(interference)
  • 다중 경로(multipath) 반사에 의한 신호 왜곡

주요 유형:

  • Terrestrial microwave: 최대 45 Mbps 채널
  • WiFi (802.11): 수십 - 수백 Mbps
  • Wide-area cellular (4G/5G): 수십 Mbps 이상
  • Satellite: GEO(Geostationary Earth Orbit) 위성은 높은 one-way 지연(~270 ms)이 단점. Starlink 등 LEO(Low Earth Orbit) 위성으로 개선 중

4. Network Core

Network core는 Internet의 내부 - packet switch(router, switch)들이 상호 연결된 mesh 구조다. 이 영역의 핵심 기능은 데이터를 출발지에서 목적지까지 전달하는 것이다.

데이터를 전달하는 방식에는 크게 두 가지가 있다: Packet SwitchingCircuit Switching.

4.1 Packet Switching

현재 Internet이 사용하는 방식이다. 데이터를 packet이라는 작은 단위로 분할하여 전송한다.

Store-and-Forward

Packet switch는 store-and-forward 방식으로 동작한다:

  1. 입력 링크로부터 packet의 모든 비트를 수신(store)할 때까지 기다린다
  2. 전체 packet이 도착하면 출력 링크로 전송(forward)한다

이 방식에서 하나의 packet이 source에서 destination까지 개의 링크를 거칠 때, 각 링크의 전송 속도가 bps이고 packet 크기가 bits라면:

여기서 은 하나의 링크에서 packet을 전송하는 데 걸리는 시간, 즉 transmission delay다.

Queueing

각 packet switch는 출력 링크마다 **output buffer(queue)**를 가지고 있다. 여러 입력 링크에서 동시에 packet이 도착하면, 출력 링크의 전송 용량을 초과할 수 있다. 이때:

  • Queueing delay: Packet이 buffer에서 자기 차례를 기다리는 시간. 네트워크 혼잡(congestion) 정도에 따라 달라진다.
  • Packet loss: Buffer가 가득 찬 상태에서 새로운 packet이 도착하면, 해당 packet은 버려진다(drop). 이것이 packet loss다.

Routing과 Forwarding

Packet이 source에서 destination까지 가려면 여러 router를 거쳐야 한다. 이 과정에는 두 가지 핵심 기능이 관여한다:

  • Forwarding (전달): Router에 도착한 packet의 목적지 주소를 보고, forwarding table을 참조하여 적절한 출력 링크로 보내는 local 동작
  • Routing (경로 결정): Source에서 destination까지의 전체 경로를 결정하는 global 동작. Routing algorithm에 의해 forwarding table이 구성된다

비유하자면, routing은 여행 전에 지도를 보고 전체 경로를 계획하는 것이고, forwarding은 교차로에서 이정표를 보고 방향을 선택하는 것이다.

4.2 Circuit Switching

Packet switching의 대안이 되는 방식으로, 전통적인 전화 네트워크에서 사용된다.

Circuit switching에서는 통신을 시작하기 전에 source와 destination 사이에 **전용 경로(dedicated circuit)**를 먼저 설정한다. 이 경로가 유지되는 동안 해당 회선의 자원(대역폭)은 다른 사용자와 공유되지 않고 독점적으로 예약된다.

  • 장점: 자원이 예약되어 있으므로 **일정한 성능(guaranteed performance)**을 보장
  • 단점: 통신이 없는 순간에도 자원이 예약되어 있어 **낭비(idle waste)**가 발생

FDM vs TDM

하나의 링크를 여러 회선이 공유하는 방법에는 두 가지가 있다:

  • FDM (Frequency Division Multiplexing): 전체 주파수 대역을 여러 개의 좁은 주파수 대역으로 나누어, 각 연결에 하나의 대역을 할당한다. 각 사용자는 자신의 주파수 대역을 항상 사용할 수 있다.
  • TDM (Time Division Multiplexing): 시간을 일정한 프레임으로 나누고, 각 프레임을 다시 여러 개의 time slot으로 분할한다. 각 연결에 하나의 time slot이 할당되어, 해당 slot 시간에만 전체 대역폭을 사용할 수 있다.

TDM 예시

링크 전송 속도가 1.536 Mbps이고, 24개의 time slot이 있다면, 각 연결의 전송 속도는:

4.3 Packet Switching vs Circuit Switching

비교 항목Packet SwitchingCircuit Switching
자원 할당On-demand (필요 시)사전 예약 (dedicated)
자원 공유통계적 다중화 (sharing)공유 없음 (no sharing)
Call setup불필요필요
성능 보장보장 없음보장 (guaranteed)
Bursty data 효율높음낮음
혼잡 시Delay 증가, packet loss새 연결 거부 (blocking)

Packet switching이 Internet에서 주류가 된 이유는 대부분의 데이터 통신이 bursty하기 때문이다. 웹 브라우징을 예로 들면, 페이지를 요청하는 짧은 순간에만 대역폭이 필요하고 나머지 시간은 유휴 상태다. Circuit switching이라면 이 유휴 시간에도 자원이 예약되어 낭비된다.

Packet Switching의 효율성

1 Mbps 링크를 공유하는 상황에서, 각 사용자가 활성화 시 100 kbps를 사용하고, 전체 시간 중 10%만 활성화된다고 가정하자.

  • Circuit switching: 최대 10명만 동시 사용 가능
  • Packet switching: 35명이 공유해도, 11명 이상이 동시에 활성화될 확률은 0.04% 미만

통계적 다중화(statistical multiplexing)를 통해 같은 자원으로 훨씬 많은 사용자를 수용할 수 있다.

그러나 packet switching에도 단점이 있다. 혼잡(congestion) 시 packet delaypacket loss가 발생할 수 있어, 실시간 서비스(영상 통화, 온라인 게임 등)에 불리할 수 있다. 이를 보완하기 위해 packet switching 위에서 circuit-like 동작을 구현하는 기술들이 연구되고 있다.

4.4 Internet의 구조 - Network of Networks

수백만 개의 access ISP가 존재하는데, 이들을 어떻게 서로 연결할 것인가? 모든 ISP를 서로 직접 연결하면 개의 연결이 필요해 확장성이 없다.

실제 Internet은 계층적(hierarchical) 구조로 발전했다:

  1. Access ISP: 최종 사용자(가정, 기업)에게 Internet 접속을 제공
  2. Regional ISP: 특정 지역의 access ISP들을 모아서 상위 ISP에 연결
  3. Tier-1 ISP: 국제적 규모의 백본 네트워크를 운영 (예: Level 3, AT&T, NTT)
    • Tier-1 ISP들은 서로 peering 관계로 연결 (비용 정산 없이 트래픽 교환)
  4. IXP (Internet Exchange Point): 여러 ISP가 만나서 직접 트래픽을 교환하는 물리적 장소
  5. Content Provider Network: Google, Meta, Microsoft 같은 대형 컨텐츠 사업자가 운영하는 자체 네트워크. 자사 data center를 직접 access ISP에 연결하여 Tier-1 ISP를 우회하기도 한다

이 구조에서 핵심 관계는:

  • Customer-Provider: 하위 ISP(customer)가 상위 ISP(provider)에게 비용을 지불하고 Internet 접속을 구매
  • Peering: 같은 계층의 ISP끼리 비용 정산 없이 트래픽을 직접 교환

5. Performance

네트워크 성능을 측정하는 세 가지 핵심 지표는 delay, loss, throughput이다.

5.1 Packet Delay의 네 가지 원인

Packet이 하나의 router를 통과할 때 발생하는 지연(nodal delay)은 네 가지 요소의 합이다:

Processing Delay ()

Router가 packet을 수신한 후 처리하는 데 걸리는 시간이다.

  • Bit error 확인 (checksum 검증)
  • 목적지 주소를 검사하여 출력 링크 결정 (forwarding table lookup)
  • 일반적으로 마이크로초(microsecond) 단위 - 매우 짧다

Queueing Delay ()

Packet이 출력 링크의 buffer(queue)에서 전송 차례를 기다리는 시간이다.

  • Router의 **혼잡 수준(congestion level)**에 따라 크게 달라진다
  • 네트워크가 한가하면 거의 0이지만, 혼잡하면 수 밀리초 이상 될 수 있다
  • 네 가지 delay 중 가장 가변적(variable)인 요소

Transmission Delay ()

Packet의 모든 비트를 링크 위로 밀어내는 데 걸리는 시간이다.

  • : packet 길이 (bits), : 링크 전송 속도 (bps)

예를 들어, 1,500 byte packet을 1 Gbps 링크로 전송하면:

Propagation Delay ()

Bit가 링크의 한 쪽 끝에서 다른 쪽 끝까지 물리적으로 이동하는 데 걸리는 시간이다.

  • : 링크의 물리적 길이 (m), : 전파 속도 (~ m/sec, 매체에 따라 다름)

Transmission Delay vs Propagation Delay

이 두 개념을 혼동하기 쉽다. 비유로 설명하면:

  • Transmission delay: 톨게이트에서 자동차 행렬(packet) 전체를 통과시키는 시간. 차 수(bit 수)와 처리 속도에 의존한다.
  • Propagation delay: 자동차가 톨게이트에서 다음 톨게이트까지 고속도로를 달리는 시간. 도로 길이와 주행 속도에 의존한다.

두 delay는 완전히 별개의 물리적 현상이다. Transmission delay는 packet 크기와 링크 속도에 따라 결정되고, propagation delay는 링크의 물리적 길이에 따라 결정된다.

5.2 Queueing Delay와 Traffic Intensity

Queueing delay는 네트워크 성능에서 가장 흥미로우면서도 중요한 요소다. 이를 분석하기 위해 traffic intensity라는 개념을 사용한다.

  • : 평균 packet 도착률 (packets/sec)
  • : packet 길이 (bits)
  • : 링크 전송 속도 (bps)

이 값은 bit의 도착률bit의 서비스 처리율의 비율이다.

  • : 트래픽이 적어 queueing delay가 거의 없다
  • : 트래픽이 링크 용량에 근접하면서 queueing delay가 급격히 증가한다
  • : 처리할 수 있는 것보다 더 많은 트래픽이 도착하여 queue가 무한히 커지고, 평균 delay가 무한대로 발산한다

네트워크 설계 원칙

네트워크를 설계할 때 traffic intensity가 1에 가까워지지 않도록 충분한 여유 용량을 확보해야 한다. 그래프에서 볼 수 있듯이, traffic intensity가 0.7만 넘어도 queueing delay가 급격히 증가하기 시작한다.

5.3 Traceroute를 이용한 실제 Delay 측정

traceroute 프로그램을 사용하면 source에서 destination까지의 경로에 있는 각 router까지의 delay를 실측할 수 있다.

동작 원리:

  1. TTL(Time-to-Live)을 1로 설정한 packet 3개를 전송 - 첫 번째 router에서 만료되어 반환
  2. TTL을 2로 설정한 packet 3개를 전송 - 두 번째 router에서 만료되어 반환
  3. 이를 destination에 도달할 때까지 반복

각 단계에서 송신과 응답 사이의 시간을 측정하여 해당 router까지의 round-trip delay를 알 수 있다. 측정 결과에서 때때로 후속 hop의 delay가 이전보다 작아 보이는 경우가 있는데, 이는 queueing delay의 변동성 때문이다.

5.4 Packet Loss

Router의 buffer(queue)는 유한한 크기를 가진다. Buffer가 가득 찬 상태에서 새로운 packet이 도착하면 해당 packet은 버려진다(drop). 이것이 packet loss다.

손실된 packet은:

  • 이전 router나 source end system에 의해 재전송될 수 있다
  • 또는 아예 재전송되지 않을 수도 있다 (애플리케이션에 따라 다름)

5.5 Throughput

Throughput은 sender에서 receiver로 데이터가 전달되는 실제 속도(bits/time unit)를 말한다.

  • Instantaneous throughput: 특정 순간의 전송 속도
  • Average throughput: 일정 기간에 걸친 평균 전송 속도

경로 상에 여러 링크가 있을 때, end-to-end throughput은 경로 상의 가장 느린 링크에 의해 결정된다. 이 가장 느린 링크를 bottleneck link라 한다.

여기서 는 server 측 링크 속도, 는 client 측 링크 속도다.

실제 환경에서는 여러 연결이 하나의 backbone 링크를 공유하므로, 10개의 연결이 bps의 backbone을 공유한다면 각 연결의 throughput은:

실제로 Internet에서는 (access 네트워크)가 대부분 bottleneck이 된다. 코어 네트워크의 backbone 링크는 매우 높은 대역폭을 갖기 때문이다.

6. Network Security

Internet은 원래 보안을 깊이 고려하지 않고 설계되었다. 초기 Internet의 비전은 “상호 신뢰하는 사용자들이 투명한 네트워크에 연결된 것”이었다. 그러나 오늘날의 Internet은 그런 환경이 아니므로, 보안은 모든 계층에서 고려해야 하는 필수 요소가 되었다.

6.1 주요 공격 유형

Packet Sniffing (패킷 도청)

공유 매체(shared Ethernet, WiFi)에서 네트워크 인터페이스를 promiscuous mode로 설정하면, 자신에게 보내진 것이 아닌 packet까지 모두 읽을 수 있다. 공격자는 이를 통해 비밀번호, 개인 정보 등을 탈취할 수 있다.

대응: 데이터를 암호화하여 전송 (HTTPS, TLS 등)

IP Spoofing (IP 위조)

Packet의 source IP 주소를 위조하여, 다른 호스트인 것처럼 위장하는 공격이다. 이를 통해 수신자를 속여 신뢰할 수 없는 출처의 데이터를 수락하게 만들 수 있다.

대응: End-point authentication (상대방의 신원을 검증하는 메커니즘)

DoS (Denial of Service)

공격 대상의 서버, 네트워크, 인프라를 과도한 트래픽으로 압도하여 정상적인 사용자가 서비스를 이용할 수 없게 만드는 공격이다.

DDoS (Distributed DoS): 공격자가 여러 대의 감염된 호스트(botnet)를 이용해 동시에 대상을 공격하는 분산형 DoS. 수많은 source에서 트래픽이 오므로 방어가 더 어렵다.

6.2 방어 수단

방어 수단설명
Authentication통신 상대의 신원을 증명. 셀룰러 네트워크의 SIM 카드 등
Confidentiality암호화(encryption)를 통해 도청을 방지
Integrity Check디지털 서명 등으로 데이터 변조를 탐지
Access RestrictionVPN 등을 통한 접근 제한
Firewall네트워크 경계에서 비정상 트래픽을 필터링하는 middlebox

7. Protocol Layers와 Service Model

7.1 Layering의 필요성

네트워크는 매우 복잡한 시스템이다 - host, router, 다양한 매체의 링크, 애플리케이션, 프로토콜, 하드웨어, 소프트웨어가 얽혀 있다. 이 복잡성을 다루기 위해 계층화(layering) 접근을 사용한다.

계층화의 장점:

  • 구조화: 시스템의 각 부분과 그 관계를 명확히 식별할 수 있다
  • 모듈화: 한 계층의 내부 구현을 변경해도 다른 계층에 영향을 주지 않는다. 예를 들어, gate 절차를 변경해도 항공 운항 경로에는 영향이 없다
  • 각 계층은 자신의 내부 동작과 하위 계층이 제공하는 서비스를 이용하여 상위 계층에 서비스를 제공한다

7.2 Internet Protocol Stack (5계층)

Internet은 5개의 계층으로 구성된 protocol stack을 사용한다:

계층역할대표 프로토콜데이터 단위
Application네트워크 애플리케이션 지원HTTP, SMTP, DNS, FTPMessage
TransportProcess 간 데이터 전달TCP, UDPSegment
NetworkSource에서 destination까지 datagram 라우팅IP, Routing protocolsDatagram
Link인접한 네트워크 요소 간 데이터 전달Ethernet, WiFi (802.11), PPPFrame
Physical개별 비트를 물리적 매체로 전송-Bit

각 계층은 바로 아래 계층의 서비스를 이용하면서, 바로 위 계층에 서비스를 제공한다.

7.3 OSI 7계층 모델

ISO(International Standards Organization)가 정의한 OSI(Open Systems Interconnection) 모델은 7개 계층으로 구성된다. Internet protocol stack의 5계층에 PresentationSession 계층이 추가된 형태다.

OSI 계층Internet 대응역할
7. ApplicationApplication네트워크 리소스에 대한 접근 제공
6. Presentation(Application에 포함)데이터의 변환, 암호화, 압축
5. Session(Application에 포함)세션의 수립, 관리, 종료
4. TransportTransport신뢰성 있는 process-to-process 메시지 전달 및 오류 복구
3. NetworkNetworkSource에서 destination까지 packet 이동, internetworking
2. Data LinkLinkBit를 frame으로 구성, hop-to-hop 전달
1. PhysicalPhysical매체를 통한 bit 전송, 물리적/전기적 규격

Internet에서는 Presentation과 Session 계층의 기능이 필요한 경우 Application 계층에서 직접 구현한다. 따라서 실질적으로 Internet은 5계층 모델을 따른다.

TCP/IP Protocol Suite

위 그림은 각 계층에 실제로 속하는 프로토콜들을 보여준다. Application 계층에는 SMTP, FTP, HTTP, DNS 등이, Transport 계층에는 TCP, UDP, SCTP가, Network 계층에는 IP를 중심으로 ICMP, IGMP, ARP 등이 위치한다.

7.4 Encapsulation

각 계층은 상위 계층으로부터 받은 데이터에 자신의 header 정보를 추가(encapsulate)하여 하위 계층에 전달한다. 이 과정은 마트료시카(Matryoshka, 러시아 전통 인형)와 같다 - 가장 작은 인형(message)이 점점 더 큰 인형(segment, datagram, frame) 안에 들어간다.

구체적인 encapsulation 과정:

  1. Application 계층: 애플리케이션이 message 을 생성
  2. Transport 계층: Message에 transport header 를 추가하여 segment 을 생성
    • 에는 source/destination port 번호, 오류 검출 정보 등이 포함
  3. Network 계층: Segment에 network header 을 추가하여 datagram 을 생성
    • 에는 source/destination IP 주소 등이 포함
  4. Link 계층: Datagram에 link header 을 추가하여 frame 을 생성
    • 에는 MAC 주소 등이 포함

수신 측에서는 이 과정이 역순으로 진행된다. 각 계층에서 자신의 header를 제거(decapsulate)하고 상위 계층에 데이터를 전달한다.

End-to-End 관점에서의 Encapsulation

Source에서 destination까지의 경로에서, 중간 장비들은 모든 계층을 처리하지 않는다:

  • Switch: Link 계층과 Physical 계층만 처리 (frame의 link header를 읽고 적절한 포트로 전달)
  • Router: Network 계층까지 처리 (datagram의 network header를 읽고 routing 결정을 수행)
  • End system: 모든 5개 계층을 처리

8. Internet의 역사

8.1 1961-1972: Packet Switching의 탄생

  • 1961: Kleinrock이 queueing 이론을 통해 packet switching의 효율성을 입증
  • 1964: Baran이 군사 네트워크를 위한 packet switching 개념을 제안
  • 1967: ARPA(Advanced Research Projects Agency)에서 ARPAnet 구상
  • 1969: 최초의 ARPAnet 노드가 가동 (UCLA, SRI, UCSB, Utah - 4개 노드)

  • 1972: ARPAnet이 공개 시연됨. NCP(Network Control Protocol)가 최초의 host-to-host 프로토콜로 사용됨. 최초의 이메일 프로그램이 등장. ARPAnet이 15개 노드로 성장.

8.2 1972-1980: Internetworking의 시대

  • 1970: ALOHAnet - 하와이에서 위성 기반 네트워크 실험
  • 1974: Vint Cerf와 Bob Kahn이 네트워크 간 상호 연결 아키텍처를 발표
    • 이것이 오늘날 Internet 아키텍처의 기초가 된 원칙들이다:
      • Minimalism, Autonomy: 네트워크를 상호 연결하기 위해 내부 변경이 필요 없어야 한다
      • Best-effort service model: 전달을 보장하지는 않지만 최선을 다한다
      • Stateless routing: Router가 연결 상태를 유지하지 않는다
      • Decentralized control: 중앙 제어 없이 분산적으로 동작한다
  • 1976: Xerox PARC에서 Ethernet 개발
  • 1979: ARPAnet이 200개 노드로 성장

8.3 1980-1990: 프로토콜의 확산

  • 1982: SMTP 이메일 프로토콜 정의
  • 1983: TCP/IP 배포. 이 해를 “Internet의 생일”로 보기도 한다
  • 1983: DNS(Domain Name System) 정의
  • 1985: FTP 프로토콜 정의
  • 1988: TCP congestion control 도입

이 시기에 CSnet, BITnet, NSFnet, Minitel 등 새로운 국가 규모의 네트워크들이 등장했고, 약 100,000개의 host가 네트워크에 연결되었다.

8.4 1990-2000년대: Web의 등장과 상업화

  • 1990년대 초: ARPAnet이 해체됨
  • 1991: NSF가 NSFnet의 상업적 사용 제한을 해제 (1995년 해체)
  • 1990년대 초: Tim Berners-Lee가 HTML, HTTP를 발명하여 World Wide Web 탄생
  • 1994: Mosaic 브라우저 등장, 이후 Netscape
  • 1990년대 후반: Web의 상업화, 인스턴트 메시징, P2P 파일 공유 등장
  • 약 5천만 대의 host, 1억 명 이상의 사용자

8.5 2005-현재: 규모, 이동성, 클라우드

  • 광대역 가정 접속의 보편화 (10 - 100 Mbps 이상)
  • 2008: SDN(Software-Defined Networking) 등장
  • 고속 무선 접속의 보편화: 4G/5G, WiFi 6
  • Google, Meta, Microsoft 등 대형 서비스 사업자가 자체 네트워크를 구축하여 상업 Internet을 우회
  • 기업들이 클라우드(AWS, Azure 등)에서 서비스를 운영
  • 2017: 모바일 기기가 고정 기기보다 더 많아짐
  • 2023: 약 150억 대의 장치가 Internet에 연결

9. Chapter 1 정리

이 장에서 다룬 핵심 개념을 요약한다:

주제핵심 내용
Internet네트워크의 네트워크. Host, router, link, protocol로 구성
Protocol메시지의 format, order, action을 정의하는 통신 규칙
Network EdgeHost, access network (Cable, DSL, WiFi, Ethernet), physical media
Network CorePacket switching (store-and-forward, queueing) vs Circuit switching (FDM, TDM)
PerformanceDelay (processing, queueing, transmission, propagation), Loss, Throughput, Bottleneck
SecuritySniffing, Spoofing, DoS. 방어: authentication, encryption, firewall
Protocol LayersInternet 5계층 (Application, Transport, Network, Link, Physical), OSI 7계층
Encapsulation각 계층이 header를 추가하여 message segment datagram frame
Internet 역사ARPAnet(1969) TCP/IP(1983) Web(1990s) 모바일/클라우드(2005-)

이 장은 앞으로 각 계층을 Top-down으로 자세히 살펴볼 기초를 마련한다. 다음 장에서는 Application Layer부터 시작한다.