인터넷이란?
인터넷을 보는 관점들
1. "Nuts and Bolts" View
Host / End system
- 연결된 컴퓨팅 장치
- 네트워크 어플리케이션이 실행됨
Packet Switches
- 패킷을 전달함.
- 예시 : 라우터(Router), 스위치(Switch)
Communication links
- 전송매개, 전송속도 == 대역폭 ( Transmission rate == Bandwidth )
- 예시 : 광케이블(Fiber), 동선(Copper), 무선(Radio), 위성(Satellite)
Network
- 기기, 라우터, 링크의 모임.
- 주로 기관에 의해 관리됨.
Internet / Network of Network
- 상호연결(Interconneted)된 ISP(Internet Service Provider)들
Protocol
- 메시지 전송, 수신을 관리
- 예시: HTTP, TCP
Internet standards
- RFC : 인터넷 표준 문서, 자주 바뀜
- IETF : Internet Engineering Task Force, 인터넷 프로토콜을 정하는 기관.
1. "Service" View
- 인터넷은 프로그램(Application)에 서비스를 제공하는 기반시설(Infrastructure)
- 인터넷은 배포용 프로그램들에 접근을 위한 소켓 프로그래밍 인터페이스를 제공함.
프로토콜
- 네트워크 내에서 메시지를 송수신하기 위한 양식(Format) 과 순서(Order)
- 메시지 송수신 과정에서 일어나는 행동들(Actions)
네트워크 구조
Network Edge
host
- 클라이언트와 서버
- 서버는 보통 데이터센터에 위치함.
Network code
- 상호연결(Interconnected) 된 라우터
- Network of Network
Host
패킷을 전달함
Host sending function
- 애플리케이션 메시지 받아옴
- L bit 길이의 패킷이라는 작은 단위로 분리함
- R bps 전송속도(Transmission rate)으로 패킷을 네트워크에 전송
- link transmission rate
- link bandwidth
Packet transmission delay
- Time needed to transmit L-bit packet into link
- L bits / R bits per second
Packet propagation delay
- 송신지와 수신지의 거리 차이로 인해 생기는 지연
- 거리 / 빛의 속도 로 계산
Propagation delay / Transmission delay
- Propagation 되는 동안 안에 전송되는 패킷의 갯수.
Links
물리적 전달 매개
bit
physical link
- 신호가 일정한 매개체를 통해 전달됨
- 예시 : 동축, 광케이블, 동선
Twisted Pair
- 꼬임쌍선
- 하나의 Twisted pair는 2개의 차폐된 동선으로 이루어짐
- Category 5 TP : 100 Mbps, 1Gbps Ethernet
- Category 5 TP : 10Gbps Ethernet
Coaxial cable
- 두개의 동심원(Concentric) 형태의 구리 전도체
- 양방향, 주파수 대역 여러개 전송 가능
- 단일 케이블에 여러 주파수 채널
- 채널당 100Mbps
Fiber optic cable
- 빛 Pulse를 전달하는 유리섬유, 각각의 Pulse는 1 Bit를 의미한다.
- 고속 동작
- 고속 Point to Point 전송 ( 10 ~ 100 Gbps )
- 적은 에러율
Wireless Radio
- 신호가 전자기파를 통해 전송됨
- 물리적인 "선" 이 없음
- broadcast / half-duplex
- propagation environment effects
- Reflection
- Obstruction(방해) by object
- Interference
Radio link types
- Terrestrial microwave
- Wireless LAN (WIFI, Wireless Fidelity)
- Wide-area cellular
- Satellite
- upto 45Mbps per channel
- 270ms end-to-end delay
- geosynchronous(지구 동기 궤도) versus low earth orbit(지구 저궤도)
- mmWave
The network core
Mesh of interconnected routers
- ISP : Internet Service Provider
- 이동통신사
- 지역사업자
- Best Effort service(최선의 서비스) 를 제공함
- Guaranteed service : 일정 수준 이상의 서비스 제공, 어려움
- 빨간색 표시된것 : Packet switching 이 가능한 장치
packet
- 패킷 헤더와 페이로드로 구성
- 헤더 : 패킷 전달에 필요한 정보
- 페이로드 : 전달하고 싶은 데이터
packet switching
- Host가 Application-layer의 메시지를 Packet으로 분할함.
- Packet을 한 라우터에서 하나하나씩 목적지를 향해 전달함.
- 장비 안에 있는 Routing Table을 참조함
- 특정 목적지로 가기 위해 보내야 하는 위치가 적혀있음
- 각각의 패킷은 최대 속도(full link capacity) 로 전송됨
Transmission delay
- 걸리는 시간은 L(전송되는 총 비트수) / R(초당 전송되는 비트)
- L-bit의 패킷을 R bps 로 전송함.
Store and forward
- 패킷은 다음 라우터로 전송(link) 되기 전에 전체가 도착해야 한다.
- 이를 위해 이전에 도착했던 패킷의 비트를 저장하는 버퍼가 필요하다.
End to End delay
Packet queueing and loss
- 패킷이 도착하는 속도(arrival rate) 가 나가는 속도(transmission rate)를 넘어서게 될 경우 이들을 모아(queueing) 놔야함.
- 패킷들은 순서에 맞게 모아져서(queue) output link로 전송되는것을 기다림.
- 이전에 전송되지 않은 패킷이 있을시 queueing delay가 생긴다.
- delay의 예측 및 보장이 어려움 >> Best Effort
- 패킷들은 메모리 버퍼가 가득 찼을 경우 drop/loss 됨.
Two key network-core function
Forwarding | Local action
- 전달받은 패킷을 라우팅 테이블에 따라 올바른 Output link로 전달함.
Routing | Global action
- 목적지로 패킷이 전달되기 위한 경로를 지정함.
- 라우팅 알고리즘 사용
Circuit switching
Packet switching 이전에 사용되었던 방식
- physical path is obtained and dedicated to a single connection between two endpoints in the network for the duration of a dedicated connection
네트워크의 두 끝점(Endpoint)의 단일 연결을 위해 물리적 연결을 부여하는것.
- There is "call" between source and destination
이 연결은 "call"이라고 불린다.
- Reserved circuit is used for the duration of a call.
As long as the call lasts, the circuit cannot be used for anything else.
예약 회로는 call이 지속되는 시간동안 사용되며,
call이 유지되는 동안은 다른 용도로 본 회로가 사용될수 없다.
No sharing.
- 그림에서 각각의 링크는 4개의 회로를 가진다.
- Call이 윗쪽 2번째 회로와 오른쪽 1번째 회로를 사용중이다.
FDM / TDM
FDM ( Frequency Division Multiplexing )
- 광 / 전자기파 주파수들이 (가까운) 주파수 대역(Frequency band)로 나누어짐
- 각각의 call은 자신만의 대역(Band)를 할당받고, 그 대역 안에서 최대한의 속도로 전송됨.
TDM ( Time Division Multiplexing )
- 시간이 slot 단위로 쪼개짐
- 각각의 call은 정해진 slot에 할당됨, 최대한의 전송 속도와 전체 대역폭을 사용할수 있으나 할당된 time slot동안만 가능함.
Internet structure
Network of Network
Host는 ISP에 접속함으로 인터넷에 연결한다.
ISP들 끼리는 무조건 서로 연결되어 있어야 한다.
- 두 Host가 서로 패킷을 전송하기 위한 필수조건.
Network of Network는 결과적으로 매우 복잡하다.
ISP
- ISP는 사용자에게 인터넷 연결을 제공한다.
- ISP간 연결은 직접 하거나 IXP(Internet Exchange Point)를 통해 제공된다.
- ISP와 사용자 사이에 지역 네트워크(Regional network)가 존재할수 있다.
- 컨텐츠 제공자(Contents Provider)들은 사용자들과 가까운 연결을 유지하기 위해 자신만의 네트워크를 소유할수 있다.
- Tier-1 Commercial ISP
- 범국가적, 범세계적 연결
- 예시 : KT, AT&T
- Content Provider Network
- Tier-1 ISP와 Regional ISP에 연결되거나 이들을 Bypass하기도 하는 사설 네트워크망.
- POP : ****
How packet loss and delay occurs
Packet loss / 패킷 손실
- 패킷들은 라우터 버퍼에 대기(queue) 하며 자신의 차례를 기다린다.
- 대기중인 패킷이 너무 많이 버퍼가 가득 차면 이후 들어온 패킷은 손실된다(loss)
- 손실된 패킷은 이전 노드로부터 다시 전송거나 원본 송신지(Source)로 부터 새로 받을수 있고, 새로 받지 못할수도 있다.
Packet delay / 패킷 지연
- 4개의 원인이 존재한다.
- d_proc : nodal processing
- Output link로 가기 이전에 bit error를 검사함.
- 1ms 미만이 소요됨.
- d_queue : queueing delay
- Output link에서 기다리는 시간
- 라우터의 밀집 정도(Congestion level)과 연관됨.
- L : 패킷 사이즈, a : 주어진 시간에 패킷이 들어오는 갯수(packet arrival rate), R : 연결 대역폭
- L * a / R
- 위 값이
- 0에서 1 사이 : queueing delay가 짧음
- 1 : 평균적인 queueing delay
- 1보다 큼 : 제공할수 있는 패킷보다 많이 받음 -> 평균적으로 무한의 queueing delay
- Traffic이 Bursty하다 : Traffic이 한번에 너무 몰리는 경우
- d_trans : transmission delay
- L : 패킷 사이즈 (bit)
- R : 전송 속도 (link transmission rate / bps)
- L / R
- d_prop : propagation delay
- d : length of physical link
- s : propagation speed <= 2 * 10^8m/s, 빛의 속도
- d / s
- 이 모든 지연시간을 합치면 packet delay가 된다.
실제 Internet delay와 Route
Traceroute program
- 송신지역(Source)에서 목적지(Destination)까지의 인터넷 경로에서 각각의 라우터간 생기는 딜레이 측정을 제공함.
Window에 제공되는 tracert를 이용해 한국 인터넷에서 google.com까지 경로추적
Protocol Layers
복잡한 네트워크를 구조화 하기 위한 방법
단계화(Layering)의 이유
- 복잡한 시스템 조각의 관계와 구분이 명확히 구조화(Explicit structured)된다.
- 모듈화로 인해 유지보수가 간단해진다.
- 각 단계별로 위 아래 한단계씩만 서로 주고받는다.
- 같은 프로토콜 스택끼리는 서로 같은 방식으로 값을 처리한다.
인터넷 프로토콜 스택
- IETF에서 정했다
- 숫자가 낮을수록 상위계층, 높을수록 하위계층
- Application
- 네트워크 어플리케이션 지원
- 예시 : IMAP, SMTP, HTTP
- Transport
- 데이터 전달 프로세스
- 예시 : TCP, UDP
- Network
- 출발지(Source)로부터 목적지(Destination) 까지의 Datagram의 Routing
- 예시 : IP, Routing protocol
- Link
- 근처 네트워크간 데이터 전송, 에러체크 ( 패리티 비트 , 등 )
- 이후 재전송 요청 혹은 오류 수정
- 예시 : Ethernet, 802.11 Wifi, PPP
- Physical
- 매개체를 이용해 전송 규약에 따라 전송
- 예시 : Coaxial, Twisted pair
- 특정 프로토콜에서 사용하기 위해 헤더를 붙히는것
- 네트워크에서 받은 데이터를 처리후 헤더를 떼고 상위계층으로 올리는것
ISO/OSI 레퍼런스 모델
Open System Interconnection
Presentation Layer
- 어플리케이션이 데이터의 뜻을 해석하도록 함
- 예시: 암호화, 압축, 데이터변환, 문자코드 번역 등
Session Layer
- 데이터 교환 과정에서의 Synchronization, Checkpointing, Recovery
- 세션의 연결, 해제, 세션 메시지 전송
- 동기란 통신 양단에서 서로 동의하는 논리적인 공통처리 지점으로써, 동기점을 설정하기 위해 사용된다.
동기점이 설정된다는 의미는 그 이전까지의 통신은 서로 완벽하게 처리했다는것을 뜻한다.
인터넷 스택은 이 레이어가 Missing 됨.
- 필요하다면 Application에서 구현(Implement)해야함
Wireshark
- 모든 전송받는 이더넷 프레임을 pcap(Packet capture) 해 분석후 보여줌.