Internet structure: a "network of networks"
호스트들은 Internet Service Providers (ISPs)를 통해 인터넷에 연결된다.
이 access ISPs는 상호연결(Interconnected)돼있어야한다.
- 그래야 어디서든 두 호스트가 서로에게 패킷을 보낼 수 있다.
이렇게 형성된 network of networks는 매우 복잡하다.
access ISPs가 수백만개의 접속용 ISPs를 어떻게 연결할 수 있을까?
=> 모든 접속용 ISPs를 직접 서로 연결하는 것은 확장 가능하지 않음. O(N^2)의 연결이 필요함.
=> 각각의 접속용 ISP를 global transit ISP 중 하나에 연결하면 연결 수를 줄이고 더 효율적인 구성 가능
여러 업체들이 global ISP 시장에 진입해서 경쟁을 벌일 것이다. 누가 연결을 하고싶어할까?
지역 네트워크(regional networks)들이 접속용 네트워크들을 ISP에 연결하기 위해 생겨날 수 있다.
Google, MS와 같은 content provider networks는 자체적으로 네트워크를 운영하고, 서비스와 콘텐츠를 최종 사용자에게 가깝게 제공할 수 있다.
center에는 소수의 잘 연결된 대형 네트워크들이 위치한다.
Tier 1 ISP (Level 3, Spring ...) : 국내 및 국제적인 커버리지를 가진 ISP
content provider networks (Google, Facebook ...) : 자체 데이터 센터를 인터넷에 연결하는 개인용 네트워크, Tier-1, Regional ISPs를 우회한다.
** 중심의 대형 네트워크는 인터넷 구조에서 중요한 역할을 한다.
Tier-1 ISP 들은 다른 ISP들과 피어링해서 인터넷 트래픽을 교환하고,
컨텐츠 제공자 네트워크들은 자체적으로 데이터 센터를 운영하고 인터넷에 직접 연결하여 컨텐츠를 빠르게 제공한다.
How do packet delay and loss occur?
router buffers에 대기중인 패킷들이 전송(transmission) 차례를 기다리면서 queue에서 대기한다.
- 입력 링크의 도착률이 출력 링크 용량(capacity)을 초과(exceed)할 때 큐 길이가 증가한다.
queue에 들어간 패킷을 저장하기 위한 메모리가 가득 차면 packet loss가 발생한다.
패킷이 전송되는 동안 딜레이가 발생한다. (transmission delay)
패킷이 버퍼에서 대기한다. (queueing delay)
버퍼에 자리가 없으면 도착한 패킷이 버퍼에 저장되지 않는다.
Packet delay: four sources
delay = processing delay + queueing delay + transmission delay + propagation delay
1) processing delay : nodal processing(노드처리)
- bit errors 확인
- output link 결정(determine)
- 일반적으로 마이크로초 이하
2) queueing delay
- 패킹이 출력 링크에서 전송을 기다리는 시간
- 라우터 내 혼잡 수준(congestion level)에 따라 딜레이가 결정(depends)
3) transmission delay : L / R
L : packet length (bits) - 패킷의 길이
R : link transmission rate(bps) - 링크의 전송률
4) propagation delay : d / s
d: length of physical link - 물리적인 링크의 길이
s: propagation speed (~2x10^8 m/sec) - 전파 속도
Caravan analogy
car는 1bit, caravan은 packet을 의미한다.
toll service는 link의 transmission을 의미한다.
tool booth는 패킷이 링크를 통과하는 과정, 이 과정에서 소요되는 시간은 12초이다.
propagate는 패킷이 링크를 통해 전파되는 과정을 뜻한다. 여기선 자동차의 속도로, 100km/hr이다.
Q: 10-car caravan일 때, 카라반이 두번째 톨게이트에 도착할때까지의 시간은??
=> 전체 caravan이 링크를 통해 전송되는 시간(toll booth를 지나는 시간)은 12*10으로 120초이다.
=> 첫 번째와 두 번째 toll booth 사이를 이동하는 시간은 1 hr이다.
=> 따라서 62분이 된다.
만약 차량이 아주 빨라지면, 어떤 car가 첫 번째 toll booth를 아직 지나지 못했을 때 어떤 car는 두 번째 tool booth에 이미 도착했을 수도 있다.
packet queueing delay
a: average packet arrival rate
L: packet length (bits)
R: link bandwidth (bit transmission rate)
=> packet queueing delay = La / R = arrival rate of bits / service rate of bits
La/R > 1 이면 서비스할 수 있는 작업보다 더 많은 작업이 도착한 것이므로, average delay가 무한정 증가한다.
Real Internet delays and routes
traceroute program : 출발지로부터 목적지까지의 경로 상에 위치한 라우터들에 대한 딜레이 측정 정보(delay measurement)를 제공
tranceroute는 출발지에서 목적지까지 가는 경로 상에 위치한 각각의 라우터에 대해 3개의 패킷을 전송한다.
패킷의 time-to-live 필드 값은 각 라우터 위치에 맞게 설정된다.
라우터 i는 전송된 패킷을 받은 후 이를 다시 sender에게 보낸다.
이 과정에서 sender는 transmission과 reply 사이의 차이를 측정한다.
Packet loss
링크 앞쪽의 queue(buffer)는 유한한 capacity를 가진 버퍼이다.
queue가 가득찼을 때 packet이 arriving하면 dropped(lost)된다.
손실된 packet은 previous node, source end system에 의해 재전송될 수도 있고 안될 수도 있다.
Throughput : 처리량
throughput: sender에서 receiver로 bit가 전송되는 속도 (bits/time 단위)
instantaneous(즉각적인) : 특정 시점에서의 속도
average : 보다 긴 시간 동안의 속도
bottleneck link : end-end path 간 경로 상에서 end-end throughput을 제한하는 link
Protocol "layers" and reference models
네트워크는 복잡하고 많은 pieces로 이뤄짐
- hosts, routers, links of various media, applications, protocols, HW/SW
layers: 각 계층은 서비스를 구현함 - routing service, runway service ...
왜 레이어를 사용할까?
복잡한 시스템을 designing하고 discussing(논의)하는 방법.
- 명시적인(explicit) 구조는 시스템의 pieces를 식별(identification)하고 관계를 파악하는데 도움이 된다.
- * 계층 참조 모델(layered reference model)을 통해 논의된다.
- 모듈화(modularization)는 시스템의 updating, maintenance(유지보수)를 용이하게 한다.
- * layer에서 서비스 구현 변경은 나머지 시스템에 영향을 끼치지 않음
Layered Internet protocol stack
application 계층: 네트워크 애플리케이션을 지원하는 프로토콜 (HTTP, IMAP ...)
transport 계층: 프로세스간 데이터 전송을 지원하는 프로토콜 (TCP, UDP)
network 계층: datagrams를 송수신하는 라우팅을 수행하는 프로토콜 (IP, routing protocols)
link 계층: 인접한 네트워크 요소 간 데이터 전송을 처리하는 프로토콜 (Ethernet, WiFi ...)
physical 계층: 물리적인 매체를 통해 bit 전송을 다루는 계층
보내는쪽은 계층을 타고 내려왔다가 받는 쪽은 계층을 타고 올라감.
'학교강의필기장 > 컴퓨터네트워크' 카테고리의 다른 글
컴퓨터네트워크[6]: Domain Name System DNS (0) | 2023.04.19 |
---|---|
컴퓨터네트워크[5]: E-mail, SMTP, IMAP (0) | 2023.04.19 |
컴퓨터네트워크[4]: Web and HTTP (0) | 2023.04.18 |
컴퓨터네트워크[3]: 네트워크 애플리케이션의 기본 원리 (0) | 2023.04.18 |
컴퓨터네트워크[1]: The network core (0) | 2023.04.18 |