인터넷
구성요소 관점
인터넷은 네트워크의 네트워크다.
Host는 인터넷의 가장 가장자리에 있다.
Packet Switch와 Communication Link가 각 Host를 연결한다.
- Host(end-system) : 인터넷에 연결된 모든 종단 장치
- Packet switch : 패킷을 목적지 방향으로 전달하는 장치 (e.g., 라우터, 스위치)
- Communication Link : (e.g, fiber, radio)
- Band width : 단위시간당 링크가 전송할 수 있는 양 (주로 bps단위)
- Network : 어떤 기관에 의해 관리되는 위 세 가지 구성요소의 집합체
- Internet : 네트워크의 네트워크 (상호연결된 ISP)
- Protocol : 메시지의 송수신 포맷/순서, 메시지에 대한 액션을 엄격한 표준에 따라 정확히 명시/정의/구현한 것
- 인터넷 표준
- IETF이 개발
- RFC(Request For Comments) : IETF 표준 문서 참고
- 처음 RFC가 제안되면 구현 난이도, 성능, 비용 등을 심사해 표준으로 등록
인프라 관점
인터넷은 애플리케이션에 서비스를 제공하는 인프라이다.
애플리케이션은 end-system(host)에서 수행된다.
- Distributed Application (분산 애플리케이션)
- 서로 데이터를 교환하는 host를 포함한다는 사실을 강조하여 애플리케이션을 가리키는 말.
Network edge
Access network
end-system이 edge router에 연결되기 위한 네트워크
** FDM(Frequency division multiplexing) : 하나의 선으로 데이터를 전송 할 때 주파수 대역(채널)을 나누어 각각의 컨텐츠 제공. DSL, cable-based access에 적용.
- DSL(digital subscriber line) : 이미 설치된 전화선 활용
- 한 회선당 한 가입자 연결
- CO(Central Office)의 DSLAM(DSL Access Mux) → 홈 네트워크에서 나오는 정보 받음 → 데이터는 인터넷으로, 음성은 전화망으로 전송
- asymmetric transmission rate : upstream 3.5~16Mbpx / downstream 24~52Mbps
- cable-based access : 이미 설치된 TV선 활용
- 한 회선(Fiber:CMTS-Optic node)당 여러 가입자(Coax:Optic node-홈네트워크)연결 → HFC(Hybrid Fiber Coax)
- 여러 가정이 회선 공유
- cable headend의 CMTS(Cable Modem Termination System)
- asymmetric transmission rate : upstream 30~100Mbps / downstream 40Mbps~1.2Gbps
- Wireless Access Network
- base station(AP)에 연결된다.
- e.g., WLAN, Wide-area cellular access network
bit는 송/수신 장치 사이 physical media(link)를 따라 전송되는 전기적 신호이다.
pysical media는 두 가지로 나눌 수 있다.
- guided media : pysical media 안쪽으로 전파 (TP, Fiber)
- unguided media : 야외로 전파 (WLAN)
Physical media의 예시는 아래와 같다.
- TP(Twisted Pair) - 꼬임쌍선
- 2개 절연 구리선을 꼰 것을 여러 개 묶은 선
- (Cat.5 : 0.1~1Gbps / Cat.6 : 10Gbps)
- Coax cable - 동축 케이블
- 동심원 형태의 2개 구리선
- 주파수 대역 넓음(채널 많음). 양방향.
- Fiber optic cable - 광섬유 케이블
- 펄스(pulse)를 전송하는 유리섬유 (펄스당 1비트)
- 속도 높음. 리피터 비교적 덜 필요. 전자파 영향 없음.
- Wireless radio
- 전자기 스펙트럼의 대역별로 신호 전송
- half-duplex (다른 주파수 두 개 쓰면 full-duplex로 볼 수 있음)
- 간섭, 노이즈, 신호 막힘, 반사 등 있음.
- e.g., WiFi, wide-area, Bluetooth, terrestrial microwave, satellite
Host
Access network에 연결된 장치
메시지를 보내려면 아래 과정을 따른다.
1. 메시지를 작은 단위의 chunk로 나눈다. (패킷 : packet)
2. Access network로 패킷을 전송한다.
--이 때 전송 링크는 전송할 수 있는 속도가 정해져있다.
--link transmission rate = link capacity = link bandwidth
Packet Transmission Delay는 L/R
이다.
(host가 패킷을 링크에 얹는데 걸리는 시간)
- 패킷의 크기 : L bits
- link transmission rate : R bps
Network core
개요 및 주요 기능
네트워크 코어는 상호 연결된 라우터가 얽힌 그물과 같다.
라우터는 특수 목적(routing) 컴퓨터이다.
라우터와 가장 가까운 라우터 사이 간격을 1홉(hop)이라 한다.
각 라우터는 포워딩 테이블(forwarding table)과 라우팅 알고리즘을 갖고있다.
포워딩 테이블은 아래 두 특징을 갖는다.
- 패킷을 가장 빠르게 전송할 수 있도록 실시간으로 업데이트된다.
- 패킷의 헤더값에 맞는 output link로 내보낸다.
네트워크 코어(라우터들)의 주요 기능을 local범위에서, global범위에서 각각 말하면 다음과 같다.
- Forwarding(Switching) : local action
- 라우터의 input link로 들어온 패킷을 테이블에 따라 적절한 output link로 내보낸다.
- Routing : global action
- 라우팅 알고리즘으로 기점-종점(source-destination)의 path를 결정한다.
Packet switching
패킷이 출발지-도착지 전송 경로를 따라 한 라우터에서 다음 라우터로 전달되는 방식
- store-and-forward
- 모든 패킷은 링크로 내보내지기(transmitted)전에 라우터에 저장된다.
- 저장후전송 지연(transmission delay)이 발생한다.
- 1hop의 packet transmission delay는
L/R [sec]
이다. (L : 패킷 크기[bit], R : link transmission delay[bps])
- queueing
- 패킷이 저장되어 링크로 나가기 전에는 유한한 크기의 큐에 저장된다.
- 큐잉 지연이 발생한다.
- 만약 패킷이 들어오는 속도(arrival rate)가 나가는 속도(link transmission rate)보다 빠르면 큐가 가득 찬다. → 패킷이 drop된다 → loss가 발생한다 → 재전송이 필요한 상황 발생
Curcuit switching
주로 전화기에 쓰였던 통신 방식
1. 통신에 필요한 리소스(교환기, 경로)를 미리 할당 받고(call setup)
2. 실제 통신 진행
회선은 아래 두 방식으로 구현할 수 있다.
- FDM(Frequency Division Multiplexing) : 주파수를 band로 분할. 전체 시간 사용 가능
- TDM(Time Division Multiplexing) : 시간을 slot으로 분할. 전체 주파수 대역 사용 가능.
패킷 스위칭과 서킷 스위칭은 아래와 같이 비교할 수 있다.
- 패킷 스위칭은 서킷 스위칭보다 많은 사용자를 수용할 수도 있다. (call setup이 없으므로 사용자의 사용 시간에 따른 확률 적용가능)
- 패킷 스위칭은 서킷 스위칭 대비 유연하고 단순한 장점이 있으나 망이 혼잡해지면 성능을 보장하기 어렵다. (버퍼 오버플로에 의한 패킷 loss, 지연)
- 패킷 스위칭은 bursty data에 유리하다. (데이터 전송이 있다 없다 하는 것)
인터넷을 네트워크의 네트워크로 구성한 이유
점대점(Point to Point)으로 ISP를 연결하면 최대 N^2의 연결이 생기는데, 이는 복잡도가 높기 때문에 대안이 필요했다. 그 대안이 네트워크의 네트워크이다.
현대 네트워크는 아래 구성요소를 가진다.
- Global ISP : 사실상의 Tier-1 ISP
- Content provider networks
- IXP(Internet Exchange Point) : 여러 ISP가 피어링할 수 있는 점
- Regional ISP
- Access network
성능
Delay
dnodal = dproc+dqueue+dtrans+dprop
노드(라우터)의 지연 = 라우터 자체 작업 + 큐잉 + 전송 + 전파
dqueue : 버퍼(큐)에서 기다리는 시간. 랜덤.
dtrans = L/R[sec]
dprop = d/s[sec] (d:링크 길이, s:전파 속도)
Traffic Intensity
라우터에 어느정도의 세기로 패킷이 들어오는지를 보여주는 값이다.
즉, dqueue의 크기가 어떤지 알 수 있다.
Traffic Intensity = (transmission ratearrival rate) = RL∗a
** L:패킷 크기, a:평균 패킷 도착율, R:link transmission rate
0에 가까울수록 큐잉 지연이 작다
1에 가까울수록 큐잉 지연이 크다
1을 넘어서면 패킷이 드랍되고 있으므로 큐잉 지연이 무한히 크다.
Throughput
송신측에서 수신측으로 전송되는 비트의 rate이다.
- instantaneous(순간) throughput
- average throughput
어떤 네트워크(전송 경로)의 throughput 값은 전송률이 작은 링크에 따라 결정된다.
100개 링크중 99개가 1Tbps라고 해도 1개가 1bps라면, 전체 전송률은 1bps에 의해 크게 낮아진다. 이 때 가장 전송률이 낮은 1bps 링크를 bottleneck link라고 부른다.
Throughput = min(R1, R2, R3, ...)
보안
컴퓨터 네트워크가 처음 등장했을 때는 보안에 대한 고려가 없었다. 그 당시에는 망에 상호 신뢰가능한 사용자들이 연결되었기 때문이다.
공격 사례
- packet sniffing : packet interception
- IP spoofing : packet injection with false src address
- Dos(Denial of Service) : make service unavailable with bogus traffic.
방어 수단
- authentication(인증)
- confidentiality(기밀성) : 암호화를 통해 달성
- integrity checks : 변조 방지/탐지를 위한 전자서명 사용
- access restriction : VPN
- firewall : access network와 network core 사이의 중간에서 패킷 통제
Layer
인터넷 프로토콜 스택은 5계층(layer)이다.
(7 layer OSI/ISO reference model이 정의되어 있기는 하나, TCP/IP 5 layer model을 실사용한다.)
레이어링을 한 이유는 아래와 같이 설명할 수 있다.
- 복잡한 시스템을 명시적인 구조로 나누어 단순화한다.
- 모듈화는 시스템 유지보수성을 높인다.
계층과 Encapsulation
각 계층은 패킷에 새로운 헤더를 붙인다.
새로운 헤더가 붙은 상태의 패킷은 각 계층별로 다른 이름으로 부른다.
아래 계층은 윗 계층에 서비스를 제공한다.
(Transport는 Application에 서비스 제공)
계층 | 역할 | 만드는/받는 패킷 이름 | 프로토콜 |
---|
Application | 애플리케이션 구현을 위해 메시지 교환 | - | HTTP, IMAP, DNS, ... |
Transport | 애플리케이션 레이어 간 메시지 전송 | Segment | UDP, TCP |
Network | 출발지에서 도착지로 데이터그램 라우팅 | Datagram | IP, ... |
Link | 인접 네트워크 요소로 데이터그램 전송 | Frame | Ethernet, PPP, ... |
Physical | 인접 네트워크 요소로 비트 전송 | - | - |
출발지(source) 라우터에서는 헤더를 붙이고, 도착지(destination) 방향의 라우터에서는 상황에 맞게 헤더를 떼고 붙인다. 스위치는 그냥 통과한다.