접속 ISP는 다양한 접속 기술을 이용하여 호스트에게 유선 혹은 무선 연결을 제공한다
❗모든 종단 시스템이 서로에게 패킷을 보낼 수 있도록 접속 ISP를 연결해야한다
Q. 접속 ISP들이 수만개가 있을 때 이들을 서로 어떻게 연결할 것인가?
-직접적으로 연결할 시에는 스케일을 감당할 수 없다.. 그러므로 글로벌 ISP에게 각각의 ISP를 연결한다.
이때, 접속 ISP는 고객이고 글로벌 ISP 는 제공자이다. (접속이 글로벌에게 요금을 지불함)
후에 다중의 글로벌 ISP가 구성되면 이들을 서로 연결해야한다. 그렇지않으면 하나의 글로벌 ISP와 연결된 접속 ISP는 다른 글로벌 통과 서비스 제공자에 연결된 접속 ISP와 통신을 하지 못 한다.
이상적으로는 글로벌ISP 산하에 접속 ISP를 두는 게 바람직하나, 실제로는 글로벌 서비스 영역을 가지며 수많은 접속 ISP와 연결하고 있는 ISP가 많이 없다
대신에 어느 주어진 지역에서 그 지역에 있는 접속 ISP들이 연결하는 지역 ISP가 있다. 각 지역 ISP는 1계층 ISP(=글로벌 ISP)들과 연결된다.



최근에는 ISP가 아닌데 ISP의 역할을 하는 회사들이 등장하였다. (ex. 구글, 마이크로소프트, 아카마이 등)
⇒ Content provider network
: 이들은 자신만의 네트워크를 운영하며, 서비스를 제공하고, end user들에게 컨텐츠를 최대한 가까운 곳으로 미리 준비해둔다
ㄴ 자신만의 네트워크를 구축함으로써 이들은 상위 계층 ISP들에게 지불하는 요금을 줄일 뿐만 아니라 최종 사용자들에게 자신들의 서비스가 어떻게 전달되는지에 대한 더 많은 통제권을 가질 수 있음

인터넷 서비스 제공자 (tier-1 commercial ISP)와 수십만개의 하위 계층 ISP들로 구성되어 있음.
최근에는 자신의 네트워크를 구축하여 주로 tier-1을 우회하며 지역 ISP들과 직접 연결하는 Content provider 도 생긴다
→ 라우터의 버퍼에는 패킷 큐가 존재하는데, 패킷들은 여기서 전송을 위해 대기하고 있다. 만약 큐나 버퍼가 채워져있는 상태라면, 지연이 발생하는데, 이게 심할 경우에는 손실이 발생한다
노드처리지연 ( nodal processing )
패킷 헤더(오류) 를 조사하고 패킷의 목적지(출력링크)를 결정하는 시간
큐잉 지연 (Queueing)
큐에서 목적지로 전송되기를 기다리는 시간 (대기시간ㅇㅇ)
전송 지연 (transmission)
큐에서 하나의 패킷의 모든 비트가 목적지로 전송되는 시간
패킷의 길이를 L bit, 라우터 A에서 B까지 링크 전송률을 R bps라 할 때, 전송지연 = L/R
전파 지연 (propagation)
목적지의 처음부터 라우터 B까지의 전파에 필요한 시간
라우터 A와 B 사이의 거리를 d, 링크의 전파 속도를 s(2*10^8 m/s)라 할 때, 전파 지연 = d/s (거의 빛의 속도)

⭐ 전체 노드 지연 계산식


각 요금 계산소에서 12초마다 한 대의 차를 전송 (전송)
전파 속력은 100km/hr
요금 계산소가 전체 자동차를 밀어내는데 걸리는 시간 = 12*10 = 120 초
마지막 자동차가 한 요금 계산소에서 다음 요금계산소로 이동하는 데 걸리는 시간 = 100km/(100km/h)= 1시간
Q. 두번째 요금 계산소 전에 모든 자동차가 도착하는데에 얼마나 걸림?
→ 1시간 + 120초 = 62분

자동차가 시속 1000km로 달리고, 요금 계산소는 1분에 1대를 서비스한다고 가정
Q. 모든 차가 첫번째 계산소에서 서비스를 받기 전에 2번째 요금 계산소에 도착하는가?
→ ㅇㅇ. 요금 계산소 간의 이동 지연은 6분(100/1000)이고, 차량 대열을 서비스하는데 걸리는 시간은 10분임(1*10). 따라서 7번째 차까지만 빠져나가있는 상태에서 첫번째 차가 2번째 요금 계산소를 통과
a: 패킷이 큐에 도착하는 평균율
L: 패킷 길이 (bits)
R: 전송률 (비트가 큐에서 빠져나오는 비율)
→ L*a (비트가 큐에 도착하는 평균율) / R ⇒ 트래픽 강도 (traffic intensity)
La / R = 0 → average. 큐잉 지연이 없음
La / R → 1 → average. 큐잉 지연이 커짐
La /R > 1 → 무한대의 큐잉 지연
traceroute program : 경로를 추척하며 거쳐가는 각 구간에서의 delay를 측정하는 알고리즘.
3개의 패킷을 라우터 i에서 목적지를 향해 보낸다. 이떄 라우터 i는 sender에게 패킷을 반환할거임, 그러면 sender는 전송과 응답 사이의 간격(시간)을 측정함. ⇒ 모든 구간에서 걸리는 시간을 알 수 있다!
버퍼의 이전 링크의 큐(aka 버퍼)는 한정된 용량을 가지고 있음..
그래서 꽉 찬 큐에 도착한 그 패킷은 버려진다 (drop)
→ 즉, 그 패킷을 잃게됨 (lost)
잃게된 패킷은 이전 노드에 의해 재전송된다 (인터넷에서는 소스가 재전송함)

: sender에서 receiver까지 보내는 과정에서의 처리 비율 (비트/시간)

Q. 성능은 어느 pipe의 영향을 받는가 ?
→Rs<Rc 이면 Rs에 영향을 받음(병목현상) ⇒ 즉 처리량의 최대치를 Rs가 결정

⇒ 대역폭이 작은 구간이 battleneck 구간이 되고, 그것이 링크의 종단 간 경로의 값 (처리량)을 결정함

각각의 end-end 연결 처리량 : min(Rc,Rs,R/10)으로, 주로 Rc나 Rs가 bottlemeck이 된다