2. The Internet

chelseey·2025년 4월 16일

Packet-switching : Queueing delay, loss

상황 :

  • 송신 노드 (A, B)에서 다량의 데이터를 라우터로 전송
  • 첫 번째 라우터는 이 데이터를 100 Mbps 속도로 받아들이지만,
    그 데이터를 전달하는 다음 링크의 전송 속도는 1.5 Mbps로 훨씬 느림

발생하는 현상 :

  • Queueing :
    라우터 내부에는 임시로 데이터를 보관할 수 있는 버퍼(메모리)가 있음
    (도착하는 데이터의 양 > 출력할 수 있는 양)일 때,
    패킷들이 버퍼에 대기하게 됨
  • 패킷 손실 (Packet Loss) :
    버퍼의 용량은 한정되어 있음. 만약 대기하는 (패킷의 수 > 버퍼 용량)으로 초과하면, 추가로 들어오는 패킷은 버려지게 됨

Two key network-core functions

Forwarding (전달)

: 도착한 패킷을 해당 목적지에 맞는 출력 포트로 즉시 보내는 작업

한 라우터 내부에서 발생하는 동작
라우터는 미리 준비된 Forwarding Table 을 참고하여,
패킷의 목적지 주소에 따라 어떤 포트로 내보낼지 결정

ex.
패킷의 목적지 주소가 0111일 때,
라우터 내부의 전달 테이블에서 주소에 해당하는 출력 포트 2번을 확인한 후,
해당 포트로 패킷을 보냄

Routing (라우팅)

: 네트워크 전체에서 패킷이 최종 목적지까지 도달할 수 있도록
경로를 결정하는 과정

라우터들은 서로 연결되어 있으며,
Routing Algorithm 을 사용하여 전체 네트워크 구조를 고려한
최적의 경로(Path)를 계산

각 라우터는 이 결과를 바탕으로 자신만의 Forwarding Table을 업데이트함

Alternative to packet switching : Circuit switching

: 통신을 시작하기 전에 송신자와 수신자 사이에
전용 통신 경로(회선)를 미리 설정하는 방식

  • 전체 경로 할당:
    통신을 시작하기 전에, 송신자와 수신자 사이의 모든 링크
    (네트워크 경로상의 각 구간)에서 사용할 수 있는
    하나의 회선을 선택해 할당함
  • 전용 회선 사용:
    회선이 설정되면, 그 통신을 하는 동안에는 해당 경로의 회선이
    오로지 그 통화만을 위해 사용됨
  • 자원 반환:
    통신이 종료되면 할당되었던 회선이 해제되어 다른 통신을 위해 재사용됨

→ 통신 중에 회선이 할당되어 있지만 실제 데이터가 많이 오가지 않더라도
그 자원은 계속 점유되므로, 전체 자원 활용도가 떨어질 수 있음

Circuit switching : FDM and TDM

FDM (Frequency Division Multiplexing)

: 전체 통신 주파수 대역을 여러 개의 작은 주파수 영역으로 분할하여,
각 영역을 개별 사용자에게 고정적으로 할당

  • 동시성
    : 모든 사용자가 동시에 지정된 자신의 주파수 대역에서 데이터를 전송 가능
  • 자원 고정
    : 사용하지 않더라도 각 사용자에게 할당된 주파수는 계속 점유됨
    → 자원 활용에 비효율적일 수 있음

TDM (Time Division Multiplexing)

: 하나의 주파수 대역을 시간 슬롯으로 나누어,
시간 슬롯마다 한 명의 사용자에게 데이터를 전송할 기회를 제공

  • 순차 전송
    : 한 번에 한 사용자만 데이터를 전송하지만, 매우 빠른 속도로 순환하여 사용자들이 거의 동시에 사용하고 있는 것처럼 보임
  • 자원 효율
    : 필요할 때만 사용하기 때문에
    주파수 대역을 보다 효율적으로 사용할 수 있음

Packet switching vs Circuit switching

example

링크 속도: 1 Gbps
사용자당 사용 조건:
활성(active) 상태일 때: 100 Mbps 전송
활성 상태가 되는 비율: 10%의 시간만 사용함

Circuit Switching

: 1 Gbps 링크에서 각 사용자가 100 Mbps의 고정 대역폭을 사용해야 하는 경우

최대 10명만 동시에 통신 가능 → 10개의 회선이 미리 예약되어야 함

Packet Switching

: 같은 1 Gbps 링크를 사용하되, 각 사용자가 활성화 상태일 때 100 Mbps를 사용
ex. n=35로 할 때, 기대되는 동시 활성 사용자 수는 35×0.1=3.5명

by. 이항분포
동시에 10명 이상이 활성화될 확률 = 0.0004 (0.04%)
→ 낮은 확률로 충돌(혼잡)이 발생

Packet Switching 이 적합한 경우

  • bursty data
    : 데이터가 간헐적으로 몰려 나오는 경우
    → 불규칙적 트래픽에 유리

  • call setup 없음
    : 경로 사전 설정 없이 바로 전송 가능 → 단순하고 유연함

Packet Switching 의 문제점

  • excessive congestion 가능성
    : 너무 많은 패킷이 몰리면 버퍼 오버플로우 발생
    → 지연(delay) 또는 패킷 손실(loss) 발생

해결 방법 :
reliable data transfer protocol 필요 (TCP)
혼잡 제어 필요 (TCP congestion control)

→ 실시간 오디오/영상처럼 일정한 품질이 필요한 통신에서는
Circuit Switching 같은 대역폭 보장이 필요

Circuit Switching

• 전용 통신 경로 사용:
통신이 시작되기 전에 송신자와 수신자 사이에 전용 회선이 설정됨. 이 회선은 통신이 종료될 때까지 독점적으로 사용되며, 다른 사용자와 공유되지 않음

• 연결된 물리적 링크들로 구성:
Circuit은 TX부터 RX까지 여러 개의 물리적 링크(네트워크의 각 구간)로 구성됨. 각 구간마다 circuit이 확보되어 전체 경로가 하나의 연결로 형성됨

• 빠른 전송 속도:
회선이 한 번 설정되면, 전용 경로를 사용하므로 전송 중에 지연이나 혼잡 없이 빠른 통신이 가능

Packet Switching

• 데이터의 패킷 단위 전송:
전송할 데이터가 작은 단위인 패킷으로 나누어져 전송됨. 각 패킷에는 송신지와 수신지 정보가 포함되어 있으며, 독립적으로 네트워크를 통해 이동

• 노드 간 패킷 전달:
패킷은 출발지에서 목적지까지 여러 중간 노드를 거쳐 전달.
각 노드는 패킷의 목적지를 확인하고 다음 목적지로 전달하는 역할

• 유연한 경로 선택:
패킷은 항상 동일한 경로를 따라갈 필요 없이, 네트워크 상황
(혼잡도, 링크 장애) 에 따라 다양한 경로로 전송될 수 있음

• 터미널 간 통신에 최적화:
컴퓨터와 컴퓨터 또는 단말기 간의 통신에 주로 사용되며,
인터넷과 같은 데이터 네트워크에서 일반적으로 적용됨

Internet structure : a “network of networks”

: 인터넷은 단일한 중앙 네트워크가 아니라,
여러 개의 독립된 네트워크들이 서로 연결되어 형성

호스트와 Acess ISP

• 호스트(Hosts):
: 컴퓨터, 스마트폰, 서버 등 모든 인터넷에 연결된 기기

• Access ISP (Internet Service Providers):
: 호스트들은 직접 인터넷에 연결되는 것이 아니라, 접근 ISP를 통해 인터넷에 접속
ex. 일반 가정용 인터넷(Residential ISP),
기업, 대학, 상업용 네트워크(Enterprise ISP)

→ 각 접근 ISP는 서로 독립적으로 운영되지만,
모든 호스트들이 서로 패킷을 주고받을 수 있도록 하기 위해
ISP 간의 상호 연결(interconnection)이 필요

ISP 간의 효율적인 연결

• 모든 access ISP를 서로 직접 연결

연결 수 O(N²)
→ 비효율적

• 모든 access ISP를 하나의 글로벌 ISP에 연결

단순하고 확장 가능
but, ISP 간에 Customer-Provider 관계가 성립되어야 함
ex. access ISP가 global ISP에게 비용을 지불하고 트래픽을 전달받음

• 여러 경쟁 ISP가 생김

IXP (Internet Exchange Point)

: 인터넷 교환 지점으로, 여러 ISP들이 서로 직접 연결되는 장소

→ IXP를 통해 데이터가 더 빠르고 저렴하게 오갈 수 있음
(기존엔 글로벌 ISP 거쳐 가던 트래픽을 바로 연결해줌)

: 두 ISP가 서로 직접 연결해서 트래픽을 교환하는 1:1 연결

• 지역 ISP(Regional ISP) 등장

Access net → Regional ISP → 대형 ISP (ISP A, ISP B) 의
계층적 구조로 연결됨

regional ISP도 IXP를 통해 다른 ISP들과 연결됨

• Content Provider Networks
: Google, Facebook, Netflix 같은 콘텐츠 제공자가 자기 네트워크를 직접 구축

Content Provider가 자체 네트워크를 통해 사용자와 가까운 지점에 데이터를 저장하거나 전달하면, 전송 지연을 줄이고 빠른 서비스를 제공 가능

중간의 글로벌 ISP를 거치지 않고 직접 연결함으로써, 데이터 전송 비용을 절감

• 인터넷의 전체 구조

Tier-1 ISP (상위 ISP):

  • 국제적 규모의 초대형 ISP
    ex. Level 3, Sprint, AT&T, NTT 등
  • 서로 무료로 peering 함
  • 모든 곳에 연결 가능 (full connectivity)

Content Provider (ex. Google):

  • 자체 네트워크 운영
  • 필요 시 Regional/Tier-1 ISP를 우회하여 직접 연결

IXP (Internet Exchange Point):

  • 여러 ISP와 Content Provider가 트래픽을 교환하는 중립 장소

Regional ISP (지역 ISP):

  • 지역 단위에서 access ISP와 Tier-1 ISP 사이의 연결 역할

Access ISP (접근 ISP):

  • 일반 사용자, 기업 등이 연결되는 가장 아래 레벨의 ISP

Tier-1 ISP Network map : Sprint

Why layering?

: 네트워크를 계층으로 나누는 이유

복잡성 관리

복잡한 시스템을 여러 계층으로 나누면,
각 계층이 특정한 역할과 기능만 담당하게 되어, 전체 구조를 쉽게 파악할 수 있음
ex. 하위 계층 :어떻게 데이터를 주고받는지,
상위 계층: 어떤 데이터를 보내고 받을지

모듈화와 독립성

: 각 계층은 독립적인 모듈처럼 동작.

한 계층의 내부 구현 방식이 변경되더라도, 상위 계층은 동일한 인터페이스 (약속된 프로토콜) 만 사용하면 되기 때문에 전체 시스템에 영향을 미치지 않음.
유지보수 용이

ex. Wi-Fi 기술이 바뀌어도(물리 계층의 변경) 애플리케이션(상위 계층)은 그대로 작동 가능

표준화

각 계층별로 표준화된 프로토콜이 존재하면, 서로 다른 제조업체나 개발자가 만든 장비와 소프트웨어도 같은 방식으로 통신 가능

프로토콜*: 계층에서 작동하는 구체적인 통신 규칙

Internet Protocol Stack

• Application 계층
: 네트워크 애플리케이션이 동작하는 계층
사용자에게 직접 서비스를 제공하며, 이메일, 웹 브라우징, 파일 전송 등 다양한 애플리케이션 기능을 지원
ex. IMAP, SMTP, HTTP

• Transport 계층
: 두 호스트의 프로세스 간 데이터 전송을 담당
데이터의 신뢰성, 순서 보장, 오류 검출 및 수정 등의 기능을 제공하여 상위 애플리케이션 계층이 안정적인 통신을 할 수 있게 도와줌
ex. TCP, UDP

• Network 계층
: 패킷을 출발지에서 목적지까지 라우팅하는 역할
여러 네트워크 간의 연결과 경로 선택(라우팅) 기능을 제공하여 데이터가 최종 목적지에 도달할 수 있도록 함
ex. IP, routing protocols

• Link 계층
: 인접한 네트워크 장비(동일한 LAN 내의 컴퓨터나 스위치) 사이에서 데이터 전송을 담당
ex. Ethernet, 802.11 (WiFi), PPP

• Physical 계층
: 데이터를 전기적, 광학적, 전파 형태의 비트 단위로 전송하는 계층 (가장 하위)

Encapsulation

: 데이터를 전송할 때, 각 네트워크 계층이 자신만의 Header를 붙여서 데이터를 감싸는 것

IP/MAC
IP 주소 = 목적지 주소 (끝까지 유지됨)
MAC 주소 = 한 구간(link) 마다 바뀜

  • Switch (스위치)
    Layer 2 장비 (데이터 링크 계층만 인식)
    프레임 수준(MAC 주소)으로만 판단해서 목적지로 전달
    IP(3)나 TCP(4) 내용은 보지 않음

  • Router (라우터)
    : Layer 3 장비 (네트워크 계층까지 인식)
    MAC 헤더(Hl)(2)는 제거하고 새로운 링크 헤더를 붙임
    → MAC은 "지금 누구에게 넘겨줘야 하는지" 를 나타냄
    IP 주소(3) 기반으로 다음 hop 결정

hop* : 네트워크에서 패킷이 라우터를 한 번 통과하는 것

[Application Layer]
    ↓
[Transport Layer]     → TCP Header + Message = Segment
    ↓
[Network Layer]       → IP Header + Segment = Packet (Datagram)
    ↓
[Data Link Layer]     → Ethernet Header + Packet = Frame
    ↓
[Physical Layer]      → Frame이 비트로 변환되어 전송

TCP/IP Protocol Architecture

ARPANET 연구의 결과, TCP/IP 프로토콜이 개발

TCP/IP (protocol suite)

: 인터넷에서 사용되는 모든 계층의 프로토콜을 포함하는 통신 체계
(단순히 3,4계층 프로토콜 자체 말하는 거 x)

TCP/IP의 구성 요소들(TCP, IP, DNS, HTTP 등)은 국제 표준으로 문서화

  • Application Layer
    사용자와 가장 가까운 계층.
    TCP/IP 환경에 접근하거나, 정보를 주고받는 응용 서비스를 제공
    (ex. 이메일, 웹 브라우징, 파일 전송)

SMTP: 이메일 전송
FTP: 파일 전송
SSH: 보안 접속
HTTP: 웹 통신

  • Transport Layer
    출발지와 목적지 간의 애플리케이션들 사이 통신을 보장
    포트 번호 사용

TCP: 연결형, 신뢰성 보장 (순서, 재전송 등)
UDP: 비연결형, 빠르지만 신뢰성 없음

  • Internet Layer
    IP 주소 기반으로 패킷을 전송하고, 경로 결정 (라우팅)
    상위 계층을 하드웨어 세부사항(Layer 1, 2)으로부터 분리

IPv4 / IPv6: IP 주소 부여 및 라우팅
ICMP: 진단용 (ex. ping)
OSPF / RSVP: 라우팅 프로토콜
ARP: IP ↔ MAC 주소 매핑
(실제로는 링크 계층에 가까움, Layer 2.5로도 불림)

  • Network Access / Data Link Layer
    장비 간 직접 연결된 link에서 프레임을 주고받는 역할
    MAC 주소 등을 사용

Ethernet: 유선 LAN
WiFi (802.11): 무선 LAN
ATM, Frame Relay: WAN 기술

  • Physical Layer
    데이터를 비트(0,1)의 신호로 바꿔서
    실제 매체(케이블, 전파 등)를 통해 전송하는 계층

Twisted Pair : 이더넷 케이블
Optical Fiber : 광케이블
Satellite,
Terrestrial Microwave : 지상 마이크로파 통신MAC 주소 등을 사용

Physical Layer

컴퓨터와 네트워크 장비 사이의 물리적인(하드웨어적) 연결 부분을 다룸

하드웨어 수준 문제 :

  • 전송 매체의 특성
    transmission medium의 종류
    ex.구리선, 광섬유, 공기 중 무선파
    전송 가능한 거리, 감쇠(신호 약해짐), 간섭 발생 여부

  • 신호의 성질
    디지털 신호 or 아날로그 신호
    펄스 폭, 진폭, 주파수 정보

  • Data rates
    데이터 전송 속도

같은 네트워크(ex. LAN, Wi-Fi)에 연결된 두 장비(호스트) 간에
데이터를 전달하고, 경로를 잡는 일 (주소 지정 및 프레임 전달)을 담당

같은 네트워크 : 라우터를 통과하지 않고, MAC 주소로 직접 통신 가능한 환경

Internet Layer

하나의 네트워크(LAN) 내부가 아니라,
여러 네트워크 간(IP 네트워크들 간) 통신을 가능하게 함

IP를 사용해 라우팅 기능을 제공
→ 전 세계 어디든 IP 만 있으면 통신 가능

Internet Layer는 패킷을 보내는 호스트와 라우터 모두에 구현됨

Host-to-Host (Transport) Layer

신뢰성 있는 방식: 오류 검사, 재전송, 순서 보장, 흐름 제어 등 (→ TCP)
단순한 전송: 그냥 보냄. 중간에 유실되어도 책임 안 짐 (→ UDP)

TCP (Transmission Control Protocol)
: 가장 많이 쓰이는 protocol

Application Layer

각 애플리케이션(서비스)의 특성에 맞는 별도의 프로토콜이 필요
서비스에 맞는 프로토콜이 담긴 계층

TCP/IP Address Requirements

TCP/IP 주소는 두 단계로 나뉘어 있음:

  • 호스트(컴퓨터 자체)를 구분하는 주소 → IP 주소
    IP는 전 세계적으로 고유

  • 호스트 내의 프로그램(프로세스)을 구분하는 주소 → 포트 번호
    포트 번호는 호스트 내에서만 고유

ex.
IP: 203.0.113.25
포트: 80 (웹서버)
→ 203.0.113.25:80

encapsulation

앱이 데이터를 만듦 → User data
TCP가 포트 정보 등을 붙임 → TCP header + data
IP가 목적지 주소를 붙임 → IP header + TCP + data
이더넷이 MAC주소를 붙임 → Ethernet + IP + TCP + data

Network-level packet (frame)
: 케이블이나 무선에서 흐르는 최종 패킷

[Network header][IP header][TCP header][User data]

Transmission Control Protocol (TCP)

TCP는 reliable connection을 제공

  • 데이터가 빠짐없이 도착하도록 확인
  • 순서대로 도착하게 재정렬
  • 손실되면 자동 재전송
  • 네트워크 과부하 방지 (혼잡 제어)

TCP segment = [TCP header] + [데이터(payload)]
: TCP가 보내는 기본 데이터 단위

TCP는 연결이 유지되는 동안 상대방과 주고받는 모든 세그먼트의 상태를 추적

Window : 수신 측의 버퍼 크기(흐름 제어용)
Flags : flow control

User Datagram Protocol (UDP)

UDP가 보장하지 않는 것들:

  • 메시지가 도착하지 않을 수 있음
  • 메시지가 순서가 바뀔 수 있음
  • 메시지가 중복될 수 있음

간단한 방식으로 데이터를 전송하여 헤더가 작고, 처리도 단순
→ 속도가 빠르므로 실시간성이 중요한 곳 사용
ex. 영상 스트리밍, 음성 통화 (VoIP)

UDP도 오류 감지 기능(checksum)은 있음
→ 데이터가 손상되었는지 정도는 확인 가능
하지만, 손상 시 자동 복구는 안 함, TCP처럼 다시 안 보냄

SNMP (Simple Network Management Protocol; Application Layer) 프로토콜과 함께 쓰임

IPv4 헤더 구조

IHL (4비트) : Internet Header Length, 헤더 길이 (4바이트 단위)
Flags (3비트) : fragment 허용 여부

  • 001 : Fragment. 패킷은 필요 시 여러 조각으로 분할될 수 있음.
  • 010 : Don't Fragment. 패킷은 절대로 분할되어서는 안 됨.

Time To Live (TTL) : 패킷의 생존 시간 (몇 개의 라우터를 지날 수 있는지 제한)
Protocol : 다음 상위 계층 프로토콜 (ex. TCP는 6, UDP는 17)
Source Address : 송신 IP 주소 (32비트)
Destination Address : 수신 IP 주소 (32비트)

Some Protocols in the TCP/IP Protocol Suite

ICMP, IGMP, OSPF, RSVP : Network Layer에서 동작하는 프로토콜

0개의 댓글