Internet Structure
첫번째 글에서 인터넷은 infrastructure 로서의 기능도 수행한다고 하였다.
그렇다면 전 세계에 깔려있는 인터넷(Internet)은 어떤 구조로 구성되어 있을까?
인터넷의 구성을 다시 한번 복기해보자.
네트워크 엣지에는 host, access network, physical link 가 있었다.
네트워크 코어에는 ISP 와 각종 라우터가 있었다.
네트워크 엣지에 존재하는 host는 ISP의 access network 를 통해 ISP의 네트워크와 연결된다.
그리고 다시 ISP도 서로서로 연결되어있다.
KT통신망을 쓰는 사람과 STK 통신망을 쓰는 사람이 서로 연락이 가능한 것도 그 이유이다.
따라서 어떤 ISP에 연결만 되어있다면, 그 사람은 전 세계 모든 host와 패킷을 주고 받을 수 있다.
하지만 네트워크는 단순히 ISP와 ISP가 연결되고 각종 host는 ISP와 연결되는 구조가 되지 않는다.
경제, 국가 정책과 같은 여러 문제가 있을 수 있기 때문이다.
(러시아-우크라이나 전쟁같은 상황에서 우크라이나와 러시아는 서로 네트워크를 연결하려고 하지 않을 것이다)
그래서 네트워크의 구조는 정형화 되지 않은 복잡한 형태로 구성되어 있다.
엑세스 네트워크를 연결하기
한번 목적지향적으로 생각해보자.
우리가 인터넷을 왜 만들었을까?
인터넷의 목적은 전 세계의 수많은 end system 들을 서로 연결하는 것이다. (직접적이든 간접적이든)
그렇다면 어떻게 연결해야 효율적으로 모든 end system들을 연결할 수 있을까?
1. 모든 네트워크를 서로 연결한다.
가장 극단적으로 이들을 모두 연결하는 방법은 모든 end system을 물리적으로 연결하는 것이다.
하지만 이 경우, 전체 N개의 access ISP를 연결하기 위해 하나의 access ISP당 N-1개의 연결을 필요로 한다.
(물론 선 하나로 2개가 연결되니 전체 선의 개수는 2로 나누어야 한다.)
따라서 전체 필요한 연결선의 개수는 O(N²) 이다.
하지만 이는 비용이 너무 많이 들고 확장성도 좋지 않다. (N제곱은 확장성이 없다고 본다.)
2. 모든 네트워크가 통하는 중심애 Global ISP를 둔다.
그렇다면 ISP를 중심으로 여러 host가 연결되는 기존의 그림을 전 세계로 그대로 확장해서 사용해보면 어떨까?
전 세계에서 단 하나의 Global ISP를 두고 전세계 모든 이통사와 국가망이 이 Global ISP를 통해서 서로 연결되는 것이다.
하지만 이 방식도 문제가 있다.
우선 중심에 있는 Global ISP 하나에서 치명적인 문제가 발생하면 전 세계 네트워크가 마비되는 문제가 있다.
또 국가간에 이해관계도 문제점으로 작용한다.
이 Global ISP도 결국 누군가의 관리가 필요한데, 어떤 나라가 주도적으로 관리할 것인지 정하는 것은 불가능할 것이다.
미국-중국, 미국-러시아 등 다양한 이해관계가 충돌할 것이다.
그리고 관계가 나쁘지 않았다고 하더라도 하나의 국가가 Global ISP를 독점하는 시스템은 다른 나라가 반기기 힘들다.
그렇다면 'Global ISP를 여러개 만들고 Global ISP 끼리 연결하면 되는 것 아닌가?' 라는 아이디어도 낼 수 있다.
그래서 실제로도 이렇게 여러 Global ISP를 통해 각종 Access Network들이 연결되어 있다.
이렇게 한 국가를 넓게 커버하거나, 여러나라를 커버하는 ISP를 Tier 1 ISP 라고 하기도 한다.
또한 Global ISP 끼리 연결하기 위해 IXP (Internet Exchange Point) 를 중간에 두기도 한다.
IXP는 데이터 센터같은 공간에 수많은 스위치가 모여있는 공간이다.
IXP를 경유하지 않고, Global ISP 끼리 직접 연결할 수도 있는데, 이를 peering link 라고 한다.
이는 보통 상대방과 정기적으로 대량의 데이터를 안전하게 보내야할 때 사용하기도 한다.
3. Global ISP가 모든 것을 다 할 순 없다. (Regional ISP)
전 세계에는 수많은 나라가 있고, 보통은 많은 트래픽이 그 나라 내부에서 발생한다.
그런데 나라 내부에서만 발생하는 트래픽을 Global ISP를 거쳐야 한다면 효율적이지 않다.
Global ISP 입장에서도 수많은 access network 들과 직접 연결되는 것은 부담스럽다.
그래서 regional ISP 가 등장한다.
말 그대로 해당 지역에 있는 access network 들을 위한 ISP 이다.
(거기에 미국같이 땅이 큰 나라는 national ISP 라는 개념이 있기도 하다)
4. 다국적 기업은 별도의 네트워크를 두고 싶다. (Content Provider Network)
넷플릭스, 유튜브, 구글, 마이크로소프트와 같은 전 세계를 대상으로 서비스를 제공하는 기업들은 보통 실시간 스트리밍 서비스를 많이 제공한다.
이런 실시간 스트리밍 서비스는 단 5초의 딜레이만으로도 사용자에게 불편함을 야기할 수 있기 때문에 신속하게 컨텐츠를 전달하는 것을 중요하게 여긴다.
그래서 이 기업들은 사용자 근처에 신속하게 스트리밍으로 데이터를 제공할 수 있는 자사 네트워크를 만들기 시작했다.
이 네트워크를 Content Provider Network라고한다.
그리고 어떤 회사는 직접 Content Provider Network 를 구축하지 못하는 비교적 작은 규모 회사들을 위해, 이 네트워크 망을 만들어 관리하고 대신 대여해주는 사업을 하기도 한다. (Akamai)
5. 결국 네트워크는 복잡하다.
이렇게 네트워크는 필요에 따라 다양하게 구성되어 있다.
위에서 여러가지 문제점을 해결하기 위해 다양한 계층으로 네트워크가 구성된 것처럼 작성하였지만 반드시 이 계층대로 구성해야 하는 것은 아니다.
host는 regional ISP를 통하지 않고 host 끼리 직접 연결될 수도, 바로 global ISP로 통할 수도, Content Provider Network를 경유할 수도있다.
'CS > 컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] 6. Security (0) | 2024.04.08 |
---|---|
[컴퓨터 네트워크] 5. Performance (loss, delay, throughput) (0) | 2024.04.05 |
[컴퓨터 네트워크] 3. Network Core : Packet Switching (0) | 2024.03.15 |
[컴퓨터 네트워크] 2. Network Edge (0) | 2024.03.11 |
[컴퓨터 네트워크] 1. 인터넷과 프로토콜 (0) | 2024.03.05 |