네트워크 - The Internet and Protocol(3)

2020-11-07

컴퓨터 네트워크를 공부하면서 정리를 한 내용들 입니다.

-참고 K-mooc 부산 대학교 유영환 교수님 : 컴퓨터 네트워크 강의


이전 까지는 네트워크의 엣지부분, 사용자 부분이 어떤기술로 이루어졌는가를 살펴봤습니다.

네트워크의 중간 부분, 코어 부분이 어떻게 이루어져 있는가 살펴 보도록 하겠습니다.

Network Core

Vint Cerf 박사는 네트워크의 설계 목적이 아래와 같다고 이야기했습니다.

“처음에 인터넷을 설계 할 때 가졌던 철학이 핵 공격에도 살아남을 수 있는 네트워크를 설계 하는 것이 목적”

이것을 위해 만들어진 것이 mesh라는 것입니다.

Mesh : 그물 형태, 그물 네트워크 이런 것을 뜻하는 것

외부의 장애에도 살아남을 수 있는 그런 네트워크를 만들기 위해서 라우터들이 서로 연결되어 있는,

그물 형태로 연결 되어서 하나의 노드가 파괴되었다고 해서 나머지가 다 동작하지 않는 그런 네트워크가 아니라

직접적인 공격을 받지 않은 애들은 서로 통신할 수 있게 끔 그물 형태로 만들어 놓은 것

이것을 위한 라우터들의 기능, 코어 네트워크의 기능은 : Source to Destination.

네트워크에서 데이터를 보낼 때 Source에서 Destination까지 가기 위해서

결국 중간의 라우터들이 데이터를 전달 해 주어야 하는데

하나의 라우터에서 다음 라우터로 계속 데이터를 포워딩 해 주는 기능이 코어 네트워크의 주 기능 입니다.

포워딩이란 ?

어떤 패킷이 라우터에 도달하게 되면 이 패킷에 담겨져 있는 목적지 주소를 보고

자기가 가진 링크들 중에 목적지로 연결 되어있는 포트를 판단 해서 보내는 것입니다.

데이터 전달 방식

이렇게 코어 라우터에서 데이터를 전달하는 방식이

서킷 스위칭(circuit switching), 패킷 스위칭(packet switching)으로 크게 두 가지가 있습니다.

이와 관련된 자료들은 이전에 포스팅 해놓은 자료에 잘 저장해놔서 참고 하는게 좋다 생각했습니다.

교환방식 비교 포스트

Internet Structure

전체적인 구조를 보면 앤드 시스템들, 앤드 호스트들은

access ISPs 그러니까 ISP는 Internet Service Provider 라고 해서

각각 앤드 호스트들 한테 인터넷 접속 점을 제공 해 줍니다.

인터넷을 접속 할 수 있도록 접속 하는 방식을 제공 해 주는 것으로서

앤드 호스트들은 이러한 홈 네트워크 혹은 회사, 학교, 모바일 네트워크 기지국

이런 것을 통해서 네트워크에 처음에 접속을 하게 되는 것입니다.

가정 네트워크, 가정에 네트워크 엑세스를 제공하는 엑세스 ISP가 있고,

회사나 학교에 제공하는 ISP가 있고 휴대 사용자들한테 제공하는 그런 base station, 기지국 엑세스 ISP가 있습니다.

이런 엑세스 네트워크들을 어떻게 연결 할 것이냐,

어떻게 분산적으로 연결 할 것이냐면

가장 단순한 방법은 전부 그물 형식으로 모두 연결합니다.

일부 어떤 엑세스 ISP가 파괴 된다 하더라도, 고장 난다 하더라도 다른 네트워크가 마비 될 일은 없을 겁니다.

그런데 이것은 좀 scalability가 낮다고 볼 수 있습니다.

scalability가 낮다 : 참여자 수가 증가하면 증가 할 수록 서비스가 안정적이 되기 힘들다.

출처

연결에 필요한 링크의 개수 : ISP의 갯수의 제곱(ISP 갯수가 N개 라면 N^2개)

그물형으로 연결되기 위해서는 N^2개의 링크가 필요한데 참여자 수가 많아지는 이런 상황에서 이런 식의 연결을 유지하기는 힘듭니다.

그래서 나온 개념이 이렇게 중간에 코어 네트워크를 하나 두자는 거에요.

Scalable method 라고 해서 한 군집(영역)의 엑세스 ISP들은 링크를 하나씩 유지 하면 되고,

여기에서 모여진 코어 라우터들 끼리 연결을 하기 때문에 훨씬 더 scalable한 네트워크가 되는 것이죠.

이렇게 ISP들이 늘어 나서 이런 ISP들이 나와서 서비스를 하게 되고

얘네들 끼리 연결을 해서 데이터를 주고 받게 되는 이런 개념으로 발전을 해 왔습니다.

그렇게 발전을 해 오면서 이런 글로벌 ISP 뿐만 아니라

지역의 네트워크를 모아서 서비스를 해 주는 지역 네트워크 이런 것도 나오게 되는 것이죠.

Content Provider Network

구글이나 마이크로 소프트, 아카마이, 넷플릭스 이런 회사들을 보면 데이터 센터가 한 곳에 있지 않고

전 세계 여러 곳에 나누어져 있습니다.

크게 두 가지 이유를 생각 해 볼 수 있습니다.

  1. 일단 데이터가 한 곳에 모여 있으면 안정성이 떨어 질 수 있습니다.

  2. 데이터 센터가 한 군데에 있으면 가까이에 있는 사용자들은 불편함이 없겠지만 지구 반대편에 있는 다른 사용자들 같은 경우에는 이 데이터를 가져 오는 데 굉장히 시간이 오래 걸리기 때문입니다.

지연 시간을 그렇게 길게 느끼지 않고 데이터를 받을 수 있게끔 그런 식으로 서비스를 하는 식입니다.

이런 content provider 들은 일단 전달 하는 데이터 양이 많습니다.

사용자들이 요구 하는 데이터가 많기 때문에 그것들을 전달 해 주는 것도 많고, 데이터를 처음에 분산 해 놓았다가 한 쪽의 데이터만 변경이 될 수가 있습니다.

그러면 그 데이터가 다른 쪽의 데이터 센터에 있는 데이터 하고 일치하지 않으면 이것도 문제가 생길 수 있겠죠.

그래서 데이터 간의 동기화가 지속적으로 일어나야 합니다.

그런데 여기서 데이터 센터 간의 데이터 동기화를 위한 데이터 양, 트래픽 양이 굉장히 많습니다.

일반 상업용 네트워크를 통해서 전달 하고자 하면 감당 하기 힘들 뿐만 아니라 감당 할 수 있다 하더라도

굉장히 많은 비용을 청구하게 될 것이죠.

그래서 구글이나 마이크로 소프트처럼 굉장히 많은 데이터를 전달 해야 되는 이런 회사들은

자기들 만의 네트워크를 구축 해 놓습니다.