앞 장에서 network core에 대해서 더 자세히 다뤘다. 이번에는 Internet에 대해서 더 자세히 알아보고 저번 글에서 정리했던 Packet delay와 인터넷 Throughput에 대해서 정리해보려고 한다.
1. Internet Structure: Internet(=network of networks)
컴퓨터 네트워크 맨 처음 정리글에, Internet은 network of networks라고 정리했다. end systems(hosts)들은 ISP에 접근을 통해 Internet에 연결한다. ISP에는 상호 연결이 돼있어야 두 호스트들이 데이터를 서로 주고 받을 수 있다. 여기서 생기는 궁금한 점, 왜 ISP가 필요할까? 왜 access network가 필요한 것일까?
그 이유는 다음과 같다. N개의 access network가 있다고 가정하면, 또 그 access network를 연결시켜주는 network가 존재하지 않는다면, 서로서로 연결을 해서 데이터를 주고 받아야 한다. 그렇다면 N^2의 연결 수가 필요한 것이고, 그렇다면 너무 많은 links들이 필요할 뿐 아니라, 결과적으로 비용도 많이 들게 된다.
위 문제에 대한 해결책으로, access network들을 연결해주는 global ISP가 필요하다. 즉, 또 하나의 거대한 ISP가 필요로 하는 것이다. 즉 다음 그림과 같이 하나의 ISP로 서로 다른 access network들이 연결된다.
이렇게 되면 되게 이상적인 Internet 구조가 되지만, 실제로는 그렇지 않다. 실제로는 여러개의 ISP들이 존재하고 그 ISP들끼리 연결해주는 IXP도 존재하게 된다. IXP는 switch들로만 이루어진 빌딩같은 건물로, ISP들을 서로 연결해주는 그런 존재이다. 다음 그림을 참고하자.
10-15년 전까지만 해도 위와 같은 그림으로 연결돼 있었지만, Google, Netflix 등의 자사 Content server 등장으로 구조가 바뀌게 됐다. 즉, 자사의 Content Server를 그들만의 network를 만들기 시작했고, 이 content server가 ISP 역할을 하게 됐다. 예를 들어 netflix에서 보는 영화가 직접 미국에서 오지 않고, 한국에서 존재하는 content server에 있는 영화에서 나오는 것이다. 이러한 Content-Server들이 global ISP들과 연결되어 현재 존재하고 있다.
그래서 다음과 그림과 같이 계층구조로 표현할 수 있는데, 실제로 완벽한 계층구조는 아니다.
cf. 우리나라는 SKT,KT,LG U+가 cellular data를 제공하는 기지국 역할 뿐 아니라 ISP 역할도 하는 중이다.
2. Packet Queueing Delay
지난 글에서 Packet-switching에서 일어나는 4가지의 delay들에 대해서 정리했다. 다음 네가지 delay들을 다시 확인해보자.
- Nodal processing delay
- Queueing delay
- Transmission delay
- Propagation delay
위 4가지 delay에 대한 자세한 정보는 지난 글 delay 부분을 확인하면 된다.
추가로 queue 특성상 buffer에 공간이 꽉 차게 된다면 data loss가 발생할 수 있다는 것도 지난 글에서 정리해놨다. 이 loss된 패킷들은 end system에 의해 재전송 되거나 아예 재전송되지 않는다. 다시 한 번 queueing delay에 대해서 정리하려고 한다. 다음과 같은 조건이 있다. +)확률론적 얘기임
- a: 평균 패킷 도착 속도
- L: 패킷 길이(bits)
- R: 링크 대역폭(link bandwidth = bit transmission rate)
이 때, La/R 즉, 단위 시간당 도착하는 패킷의 크기를 내보낼 수 있는 패킷의 크기로 나누게 된다면 혼잡도에 대한 평균 queueing delay에 대한 그래프가 다음과 같이 나오게 된다.
이 그래프를 분석해 보면,
- La/R -> 0이라면, La가 R보다 큰 것이기 때문에 혼잡도가 덜 발생한다는 것이고,
- La/R -> 1이라면, La가 R과 비슷한 것인데 큐잉 이론에 의해 delay가 급증하게 될 것이고,
- La/R > 1이라면, 데이터 손실이 발생하게 될 것이다.
즉, packet queueing delay에 대해서는 확률의 영역이라고 했는데, 자세히는 다루지 않고 더 궁금한 것이 있다면, 큐잉 이론에 대해서 알아보면 된다.
그럼 실제 Internet delay는 어떻게 측정할까? 바로 traceroute라는 프로그램을 이용하는 것이다. 이 프로그램은 목적지까지의 internet 경로에 대한 지연 측정한 값을 제공해주는 프로그램이다. 아래 그림을 먼저 확인해보자.
위그림을 확인해보면, 3개의 화살표와 각 화살표마다 3probes라고 표시되어 있다. 프로그램 방식은 다음과 같다.
- 3 packets을 목적지까지 경로상 첫 라우터에 보낸다.
- 첫 라우터는 받은 패킷을 다시 돌려보낸다.
- sender는 이 행동을 3번 반복하고 시간을 측정한다.
즉 경로상의 라우터들에 대해 3번의 시간을 측정하고 평균치를 낸 뒤, 지연율을 확인하는 프로그램이다. 이 때, 패킷에는 ttl값이 존재하는데, 이 값을 1로 설정해 경로 상의 라우터들에게 보낸다. 그러면 라우터들은 1인 것을 확인하고 돌려보내는데, 이것이 최종 목적지에도 똑같이 작동하는 것을 방지하기 위해 최종 목적지에 보낼 때는 이 ttl 값을 0으로 보내 의도적으로 에러를 발생시킨다. 다음 코드를 나중에 ICMP 프로토콜을 설명하며 정리할 것인데 미리 확인하자.
3. Throughput
Throughput: sender가 receiver에게 보내는 단위시간 당 데이터 비율
- instantaneous: 특정 시간에 속도
- average: 전체 출발, 도착에서의 속도
보통 throughput을 말할 때 위의 두 가지에 대해서 말하는데, average를 더 많이 사용한다. 다음 그림과 같은 상황이 있다고 가정하자.
그림의 맨 왼쪽에 데이터를 보내는 server가 존재하고, server와 목적지 사이에 중간 라우터가 존재한다. 그리고 서로 다른 크기의 link가 있다. 서버와 라우터 사이에 있는 pipe에서의 단위시간당 전송비율을 Rs, 라우터와 최종 목적지 사이에 pipe에서의 단위시간당 전송비율을 Rc라고 하자. 현재, Rc의 크기가 더 크기 때문에 Rc의 속도가 더 빠를 것임을 예측할 수 있다. bandwidth가 넓을수록, 즉 대역폭이 클수록 속도가 빠르기 때문이다.
여기서, bottleneck link의 개념이 등장하게 된다. bottleneck link는 end-end연결 사이에, 네트워크 사이에 속도가 제일 느린 구간, 즉, throughput이 제일 느린 구간이다. 즉, 위의 예시에서는 Rs가 bottleneck link라고 할 수 있다.
'학교공부 > [컴퓨터 네트워크]' 카테고리의 다른 글
[컴퓨터 네트워크] - Protocol layers와 Encapsulation (0) | 2025.04.12 |
---|---|
[컴퓨터 네트워크] - Network Security & Internet History (0) | 2025.04.12 |
[컴퓨터 네트워크] - Network Core(Packet-switching, Circuit-switching) (0) | 2025.04.10 |
[컴퓨터 네트워크] - Access Networks & Physical Media (0) | 2025.04.05 |
[컴퓨터 네트워크] - 인터넷 및 프로토콜 (0) | 2025.03.10 |