[인터넷] "네트워크 구조" 초보자를 위한 설명

초보자를 위한 네트워크 구조 설명
IPDNSBGPTCP인터넷
avatar
2024.12.07
·
11 min read

원래 IaaS와 이에 적용되는 기술인 IP, DNS 정도에 대한 글을 쓰려다가 원래 쓰고 싶던 네트워크 구조에 관한 글로 급히 방향전환을 했다. 이번 기회가 아니면 게을러서 안 쓸 것 같아서

네이버는 어떻게 어디서나 접속할 수 있을까?

우리가 https://www.naver.com 이라고 치면, 우리나라에서든, 해외에서든, 똑같은 웹페이지가 순식간에 바로바로 열린다. 어떻게 이게 가능할까?

2379

해외에서도 순식간에 우리를 반겨주는 초록창

미리 말하지만, 쉬운 이해를 위해 많은 왜곡과... 생략과... 추상화가 글에 묻어난다. CDN? DNS? 일단 다 무시하고 씀

  1. 네이버도 원본이 있다

    네이버도 당연히 이 웹사이트의 정보를 담고 있는 파일로 이루어져 있다. 우리가 바탕화면에 사진 저장하듯이, 네이버도 원본 파일이 어딘가에 저장되어 있고 그걸 내 컴퓨터로 전송받는 것이다.

  2. 원본이 어디 있는데?

    "데이터센터"라고 부르는 (일단 대충 말하자면) 커다란 컴퓨터가 있다. 거기 저장돼 있다.

  3. 그걸 어떻게 가져오는데?

    진짜 전깃줄 타고 가져온다. 전깃줄을 타는 중간에 와이파이를 거치든, 인공위성을 거치든 어쨌든 USB 꼽듯이 전기 신호가 네이버가 저장되어 있는 컴퓨터에 직접 갔다와야 하는 건 변함이 없다.

  4. 그게 어딘 줄 알고 전기 신호를 보내는데?

    여기까지 생각을 했으면 축하한다. 인터넷 구조에 대한 근원적 탐구를 할 호기심이 충만한 사람이다.

인터넷의 기원에 대해서는 초등학생들이 잘 알고 있다. 에니악이 왜 탄생했는지부터 시작해 Why? 만화책에서 줄줄이 쭉 읽기 때문이다. 안타깝게도 나이를 먹으며 동심과 인터넷의 기원 모두를 까먹어버렸을 독자분들을 위해 다시 설명해보도록 하겠다.

2426

출처: 브리태니커백과사전

미 국방부의 핵전쟁 대비용 프로그램 중 하나가 인터넷의 기원인 ARPANET이다. 초기에는 4개 대학의 컴퓨터를 전깃줄로 잇는 것으로 시작했고, 전성기에 위 사진에 보이는 것처럼 미국에 있는 온갖 대학을 다 이어두었다.

단순히 긴 전선으로 컴퓨터를 이어놨다면 ARPANET이 인터넷의 기원이라고 하지 않을 것이다. 두 가지의 혁신적인 통신방식을 도입했고, 약간의 진화를 거쳐 지금까지도 쓰이고 있는데...

1. 패킷 교환식 통신

당시의 열악한 (그리고 지금도 전송 중 데이터손실률 0%는 불가능하기 때문에) 환경을 고려해, 데이터를 '패킷' 단위로 잘라서 보냈다. 조금씩 조금씩 데이터를 자르고, 각 데이터 조각마다 번호를 붙이고 올바른 데이터인지 확인하는 부호를 붙여서 나중에 원본과 똑같이 재조합이 가능하도록 했다. 이걸 좀더 고도화시켜서(암호화, 검증 해시, Handshake 등) 현재까지 쓰고 있는 물건이 "TCP"라고 하는 것이다.

  1. IP 및 BGP의 전신

핵전쟁을 하면 어느 컴퓨터, 어느 통신망에 핵폭탄이 떨어질지 모른다. 따라서 각 컴퓨터를 잇는 전깃줄, 또는 통신망 중간에 있는 컴퓨터 몇 대가 갑자기 사라지더라도 문제없이 원하는 컴퓨터에 접속이 가능해야 한다. 그래서 나온 똑똑이들의 생각은...

2428

초보자를 위한 설명인 관계로 스위치, 허브, 노드 등의 언급은 과감히 접는다.

복잡하게 생겼는데 걱정할 것 없다. 그냥 컴퓨터들끼리 'BGP'라고 부르는 화살표로 연결된 것에만 주목하자. 네트워크에 연결된 각 컴퓨터에는 고유의 주소인 'IP'가 각각 부여되어 있고, 가만 놔둬도 서로서로 끊임없이 길찾기에 관한 대화를 한다. 'XXX번 IP를 가진 컴퓨터에 접속하려면 이쪽으로 가' 뭐 이런 식이다.

이렇게 서로서로 계속 누가 어디 있는지 위치를 체크하면서 메모장에 특정 IP로 가는 "방향"을 메모해두면 생기는 장점이 있다. 중간에 어떤 녀석이 핵폭탄을 맞아 사라지더라도, 남아있는 구성 요소들에게 시간만 좀 주면 알아서 돌아돌아 특정 IP로 가는 길을 다시 찾아낸다.

이걸 체계화·스케일업한 것이 지금 쓰이는 BGP, Border Gateway Protocol이다.

핵전쟁 위협이 줄어들자 미국은 군용 통신망을 따로 만든 뒤 각 대학 연구소 간 연결되어 있는 ARPANET을 민간 연구용으로 개방했고, 이는 전 세계로 뻗어나가다가 결국 그대로 인터넷이 되었다.

현대의 인터넷

인터넷은 위에 언급한 "TCP/IP"구조를 기반으로 데이터를 교환하는, 전세계에 깔려 있는 거대한 컴퓨터 연결 그물망이다. 중간에 어떤 컴퓨터가 손상되거나 응답이 없어도, IP와 BGP를 이용한 강력한 길찾기 시스템을 통해 전세계를 빙빙 돌고 돌아서라도 데이터를 갖다준다. TCP를 사용하기 때문에 암호화 통신, 데이터 손상에 거의 면역이라는 특성을 갖는다.

영국의 버너스 리가 개발한 월드 와이드 웹(www)이 이 TCP/IP 구조 위에서 동작하면서 기존에는 '데이터 전송' 으로만 쓰던 것이 '하이퍼텍스트 기반 웹사이트 전송' 이라는 영역으로 업그레이드되었고, 누구나 웹사이트를 오가면서 탐색하는 게 보편화되어 현재는 누구도 인터넷 없이는 살 수 없는 세상이 되었다.

현대에 모든 컴퓨터에 부여되는 IP는 누가 관리할까?

ICAAN이라는 기관이 있다. 인터넷 구조에 대해 원래 아는 사람이 아니라면 처음 들어보는 생소한 기관일 것이다. 그렇지만 IPv4 기준으로 0.0.0.0~255.255.255.255까지 43억 개의 IP주소를 전세계에 적당히 분배 지정해줄 권한을 가진 지구 본좌급 기관이다. 우리나라에서 휴대폰을 쓴다고 치면, 휴대폰에 IP가 부여되는 과정은 다음과 같다. (로컬IP는 역시 초보자용이므로 생략)

  1. ICAAN에서는 아시아-태평양 IP관리위원회(APNIC)에 IP 일부를 떼 주고, APNIC은 다시 각 국가에 일부를 떼 준다. 우리나라에서는 정부기관이 1차적으로 떼온 IP주소를 관리를 한다. 대한민국이 할당받은 IP대역 115,475,968개로, 1억 개가 넘어서 꽤 많이 받은 편이다. 참고로 전세계 IP중 절반 이상은 미국 꺼다. 사실 IP주소 전체가 43억 개밖에 안 되기 때문에, 이미 다 고갈되었고 IPv6로 넘어가는 추세이다. (새로운 주소체계라고 생각하면 좋다.)

  2. 정부는 각 통신사에 IP를 또 떼준다. SKT, KT, LG 각각 확보하고 있는 IP대역이 있다.

  3. 통신사는 그중 하나를 나한테 지정해주는 셈이다. 당연히 통신사 입장에서 하나하나가 소중한 IP를 내가 찜해놓고 독점해 쓰는 건 말이 안 되고, 남는 IP들을 굴려서 주기적으로 돌려쓰게 만든다.