인터넷을 먼저 알아야 한다.

개발 블로그·2022년 12월 29일
0

통신은 무엇인가?

💡 통신(通信) : 소식을 전하는 것으로 우편, 전신, 전화 등의 매체를 사용하여 정보나 의사를 전달

우리가 위치한 곳에서 10km 정도 떨어져 있는 사람에게 정보를 전달하려면 어떻게 해야할까요?

옛날에는 몸으로 때웠습니다. 사람이 직접 그곳까지 간 것이죠. 그 후로 봉화대, 전서구, 빛, 소리 등등 어떻게든 시간과 공간의 제약없이 통신하려는 많은 시도가 있었습니다만 한계는 명확했습니다.

근현대에 들어서서 인류가 전기를 사용하면서부터 통신의 발달 차원이 달라집니다.

1837년, 모스가 유선으로 연결된 두 지점 사이에서 데이터를 전기로 전송하는 방식을 발명합니다. 우리가 아는 모스 부호를 사용해 워싱턴과 볼티모어 사이에서 통신했습니다.

1876년, 그레이엄 벨이 전화를 발명했는데요. 그 후로 사람의 음성을 기계적 에너지로 바꾼 뒤 전기적 에너지로 변환해서 전달하고 수신하는 곳에서는 그 에너지를 다시 사람이 들을 수 있는 음성으로 변환하는 것까지 가능해집니다.

그 후로는 전파를 활용해 안테나로 송수신하는 것까지 가능해져 텔레비젼부터 인공위성과 수신하는 것까지 성공해버립니다. 그리고 인터넷의 시초도 시작됩니다.

통신 ⇒ 전기 통신 (전신 / 전화) ⇒ 정보통신(데이터)

인터넷의 등장

Who Invented the Internet? And Why?

인터넷의 시작

1960년대만 하더라도 컴퓨터는 미사일 궤도같은 군사적 목표나 과학 연구를 위한 수학적 연산용으로 사용되었습니다. 최초의 컴퓨터로 알려진 애니악만 보더라도 방 하나를 차지할 정도로 큰데요. 이런 컴퓨터의 가격은 당시 10억정도 했습니다. 물리적으로도 금액적으로도 너무 부담스러운 컴퓨터를 매번 필요한 곳에서 살 수는 없었기 때문에 미국에서는 이 컴퓨터의 성능을 빌려주기로 합니다.

최초의 인터넷 ARPANET 창시자 중 한 명은 이 네트워크는 소통/통신을 위한 것이 아닌 컴퓨터의 성능(compute)을 여러 컴퓨터가 공유할 수 있기 위함이라고 얘기했습니다.

compute 라는 것은 간단히 말해 컴퓨터에서 할 수 있는 모든 연산을 뜻합니다. 당신의 컴퓨터로 연산할 수 없는 것을 내 컴퓨터를 빌려 연산하고 결과만 가져가라는 것이 이 ARPANET의 발상입니다.

네트워크의 표준이 필요하다

사실 이때까지만 하더라도 인터넷이라는 말은 정확하지 않고 네트워크라고 봐야합니다. ARPANET이 나올 때만 해도 프랑스나 영국에도 비슷한 것들이 존재했습니다.

각자 compute 자원을 나누려는 노력은 성공했지만 아직까지 통신을 위한 부분은 부족했습니다. 또한 미국의 네트워크와 프랑스의 네트워크가 연결하려면 서로 데이터를 주는 방식이 달라 또 혼선이 생겼기 때문에 모든 네트워크의 표준이 필요했습니다.

Internet

그렇게 tcp/ip (통신 방식), http 등 표준들이 점차 생겨나갔고 전세계의 네트워크가 그 기준을 충족하여 연결되어 현재의 인터넷이 되었습니다.

인터넷은 어떻게 동작하는가?

인터넷은 어떻게 동작하는가? - Web 개발 학습하기 | MDN

우리가 알 것은 단 한가지입니다. 두 개의 컴퓨터가 통신이 필요할 때, 우리는 다른 컴퓨터와 물리적(유선 케이블이던 wifi같은 무선 모듈이던)으로 연결되어 있어야 한다는 것만 알면 충분합니다.

우리가 인터넷을 사용할 수 있는 이유는 실제로 물리적으로 우리가 서로를 연결하고 있기 때문입니다.

아래부터는 이제 어떻게 전세계가 연결됐는지의 과정을 가볍게 이야기해보고자 합니다.

라우터

!

10대의 컴퓨터를 서로 연결하려면 몇개가 필요할까요?!

10 + 9 + 8 + … 1 = 45

총 45개의 케이블이 필요합니다. 그런데 실제로 우리는 랜선 하나만 꽂으면 바로 인터넷에 들어갈 수 있습니다.

방법은 간단합니다. 10개를 각자 연결하는 게 아니라 10개를 한 모뎀에 꽂으면 됩니다.

저 가운데 모뎀을 Router 라고 부릅니다.

라우터는 어떤 작업도 하지 않고 모두의 위치(IP)를 확인해 대신 전달해주는 역할을 합니다.

A가 G에게 메세지를 보내고 싶다면 굳이 G의 위치를 알 것 없이 바로 라우터에게 전송하면 되는 식입니다.

우리 층의 인터넷은 지금까지로도 충분히 다 연결되었습니다. 그런데 옆 아파트를 연결하려면 어떻게 해야될까요?

그렇다면 우리 단지를 다 묶으려면 어떻게 해야될까요?

라우터들을 모으는 거대한 라우터가 하나 더 있으면 됩니다.

ISP(Internet Service Provider)

망 사용료? 자, 이제 누가 매국노지?

윗글의 라우터들처럼 묶이고 엮이고 묶이고 엮이고를 반복해 제일 위에 도착하면 인터넷 서비스를 제공하는 회사(ISP)의 컴퓨터에 도착하게 됩니다.

우리나라는 SKT, KT, LG 등 3대 통신사가 ISP를 담당합니다.

이제 한국의 꼭대기까지는 다 연결했습니다. 그런데 우리는 해외의 인터넷은 어떻게 들어갈 수 있는 것일까요?

구글이 전세계 해저에 깔은 케이블의 지표입니다.

우리는 실제로 SKT, KT같은 통신사들이 한국의 네트워크와 미국의 네트워크를 저 케이블에 연결하여 인터넷에 접속할 수 있게 되었습니다.

Peering : 인터넷 서비스 제공자끼리 서로 네트워크를 연결하고 트래픽을 교환하는 것

이렇게 네트워크끼리 연결하는 것을 peering 이라고 합니다.

네트워크의 사용자가 많을수록(node) 네트워크 회사의 티어가 높아진다고 볼 수 있는데요.

Best Internet Service Providers of 2022

이 글에서는 전세계의 인터넷 서비스 제공 사업체 순위를 확인할 수 있습니다.

눈으로 확인해보기

실제로 그런지도 한번 확인해볼 수 있습니다. cmd를 켜서 아래의 커맨드를 실행해봅시다.

traceroute -w 1 www.google.com

이제 결과값으로 제가 한국에서 어떻게 구글까지 도착하는지 모든 과정을 확인해볼 수 있습니다.

traceroute: Warning: www.naver.com has multiple addresses; using 223.130.200.104
traceroute to www.naver.com.nheos.com (223.130.200.104), 10 hops max, 52 byte packets
 1  router.asus.com (192.168.24.1)  3.470 ms  2.639 ms  2.084 ms
 2  211.214.229.1 (211.214.229.1)  5.308 ms  5.740 ms  7.469 ms
 3  100.71.22.89 (100.71.22.89)  5.375 ms  3.970 ms  4.232 ms
 4  100.71.34.113 (100.71.34.113)  4.243 ms  3.951 ms  3.048 ms
 5  10.44.252.213 (10.44.252.213)  3.282 ms  5.082 ms  3.155 ms
 6  10.222.23.66 (10.222.23.66)  3.147 ms
    10.222.18.132 (10.222.18.132)  3.890 ms
    10.222.23.62 (10.222.23.62)  3.839 ms
 7  10.222.7.197 (10.222.7.197)  4.725 ms
    1.255.36.203 (1.255.36.203)  4.479 ms
    10.222.7.173 (10.222.7.173)  3.914 ms
 8  110.9.3.11 (110.9.3.11)  5.585 ms
    110.9.3.9 (110.9.3.9)  6.566 ms
    222.237.11.29 (222.237.11.29)  6.200 ms
 9  10.22.67.166 (10.22.67.166)  6.374 ms
    10.22.67.130 (10.22.67.130)  7.430 ms
    10.22.67.150 (10.22.67.150)  8.044 ms
10  10.118.2.30 (10.118.2.30)  7.155 ms
    10.118.2.66 (10.118.2.66)  6.336 ms
    10.118.2.118 (10.118.2.118)  6.100 ms

라우터마다 이동하는 단위를 홉(hop)이라고 하는데요. 오른쪽에는 그 라우터에 도착할 때까지 걸린 시간이 표시되어있습니다. 이제 저 ip들을 복사해서 조회해보면 내 인터넷이 어떤 경로로 이동해서 구글까지 갔다왔는지 볼 수 있습니다.

IP 주소 확인하기 | NordVPN

profile
프론트엔드 개발자의 TIL

1개의 댓글

comment-user-thumbnail
2023년 1월 24일

test

답글 달기