본문 바로가기

Front-end/road map

1. 인터넷이란 무엇인가? - 1

원문 : roadmap.sh/guides/what-is-internet

 

Developer Roadmaps

Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don't know, find out the knowledge gaps, learn and improve.

roadmap.sh

 

  • 인터넷은 무엇인가?
  • 인터넷에서 정보는 어떻게 움직이는가?
  • 네트워크는 서로 어떻게 대화하고 관련 프로토콜은 어떻게 이루어지는가?
  • 패킷, 라우터 및 안정성
  • HTTP 및 HTML – 브라우저에서 이 웹 페이지를 어떻게 보고 있는가?
  • 어떻게 인터넷에서 전송되는 정보를 안전하게 할 수 있는가?
  • 사이버 안전과 몇몇 일반적인 인터넷 범죄는 무엇인가?

인터넷은 무엇인가?

인터넷은 표준화된 프로토콜의 집합을 통해 의사소통하는 서로 연결된 글로벌 네트워크다. 

 

인터넷은 누가 관리할까? 솔직한 답은 아무도 아니고 또 다른 답은 모두 다이다.

 

와이어, 케이블 & 와이파이

인터넷은 우편 서비스와 매우 흡사하지만, 상자나 봉투 대신에 바이너리 정보를 전송한다. 정보는 비트로 이루어져 있고 비트는 서로 반대되는 것의 한 쌍(on 또는 off)으로 정의된다.

 

실제 유무선으로 비트를 보내는 물리적인 것은 예를 들어 전구에 불이 켜지면 1을 의미하고 불이 꺼지면 0을 의미하게 하는 시스템이다. 그런데 이런 방법은 매우 느리고, 오류도 많고 전적으로 인간에게 의존한다. 그래서 우리에게 필요한 것은 기계다.

 

오늘날 우리는 전기, 빛과 라디오 주파수로 비트를 전송한다. 전기로 비트를 전송하려면 구리선으로 연결된 2개의 전구를 상상하고, 한쪽 장치의 오퍼레이터가 전구를 켜면 1이고 끄면 0으로 합의한다. 그러면 전기를 사용하여 한 사람에게서 다른 사람에게로 정보를 보낼 수 있는 시스템을 만든 것이다. 만약 05번 연달아 보내야 한다면 어떻게 해야 하는가? 해결 방법은 시계나 타이머를 이용해서 초당 1bit를 보내면 된다.

 

우리는 분명 초당 1bit보다 좀 더 빠른 것을 원할 거다. 그래서 대역폭을 늘려야 한다. 대역폭은 장치의 최대 전송량이고 비트전송률로 측정된다. 비트전송률은 1초의 시간 동안 보낼 수 있는 비트의 수를 말한다. 속도의 다른 측정 방법은 지연 속도이다. 이것은 한곳에서 다른 곳으로, 소스에서 요청 장치로 1bit가 이동하는데 걸리는 시간을 말한다.

 

이더넷을 사용하면 몇백 미터만 떨어져도 신호가 끊기거나 간섭이 생길 것이다. 인터넷의 경우, 전 세계에서 사용하려면 정말 먼 거리에 비트를 보낼 방법을 사용해야 하는데 광섬유 케이블을 이용하는 것이다. 광섬유 케이블은 빛을 반사하도록 설계된 유리 실이다.

 

선이 없다면 무선 비트전송 기계를 이용해 무선 신호를 사용하여서 한 장소에서 다른 장소로 비트를 전송한다. 송신 기계는 01을 다양한 주파수의 전파로 바꿔준다. 수신 기계는 이 프로세스를 거꾸로 하여 전파를 컴퓨터가 이해하는 이진수로 바꿔준다. 하지만 유선 인터넷에 의존한다.

 

위성 간의 레이저 송신이나, 풍선 또는 드론에서 쏘는 전파로 비트를 보내는 물리적인 방법이 미래에 바뀔 수도 있다. 하지만 기본적인 정보의 이진수 표현과 그러한 정보를 보내고 받는 프로토콜은 기존과 상당히 같을 것이다.

 

IP 주소 및 DNS

이제 인터넷을 통한 데이터 전송을 위한 물리적 매체에 대해 알게 되었습니다. 이제 이 거대한 글로벌 컴퓨터 네트워크에서 관련된 프로토콜이나 정보가 어떻게 한 컴퓨터에서 다른 컴퓨터로 전달되는지에 대해 배울 때가 되었습니다.

 

1970년대에는 이에 대한 표준이 없었습니다. 그러다 Vint CerfBob Kahn은 인터네트워킹 프로토콜을 발명하여 커뮤니케이션을 가능하게 만들었습니다. 이 발명은 우리가 지금 인터넷이라 부르는 것의 기초가 되었습니다.

 

인터넷은 망들의 망이며 전 세계 수십억 개의 기기를 모두 연결합니다. 그래서, 와이파이를 통해 노트북 또는 스마트폰으로 연결되고, 그 와이파이 연결은 인터넷 사업자(또는 ISP)와 연결되며, ISP는 여러분을 모두 서로 연결된 수십만 개의 네트워크를 통해 전 세계 수십 억대의 기기에 연결합니다. 대부분 사람이 인식하지 못하는 한 가지는 인터넷은 프로토콜 집합으로 표현되는 디자인 철학이자 아키텍처라는 점입니다. 프로토콜은 잘 알려진 규칙과 표준의 집합이고 만약 모든 당사자가 사용하기로 동의하면 문제없이 소통할 수 있게 됩니다. 인터넷이 실제로 어떻게 작동하는지는 덜 중요하고 이 디자인 철학이 새로운 커뮤니케이션 기술을 채택하고 흡수하게 허용했다는 사실이 더 중요합니다. 이것은 새로운 기술이 프로토콜만 알면 인터넷을 사용할 수 있기 때문입니다.

 

인터넷상의 여러 기기 모두는 각자의 고유 주소를 갖습니다. 인터넷상의 주소는 전화번호 또는 거리 주소와 마찬가지로, 그냥 번호이고, 각 컴퓨터 또는 네트워크의 말단에 있는 기기마다 고유합니다. 이는 대부분 집과 회사가 우편 주소를 갖는 방식과 비슷합니다. 우편으로 편지를 받았을 때 누가 그 편지를 보냈는지는 알 필요가 없지만, 그들의 주소는 알아야 하고, 그 편지가 우편체계를 통해 목적지로 잘 전달되게 그 주소가 제대로 적히는 방법을 알아야 합니다. 인터넷상의 컴퓨터 주소체계 역시 이와 유사하고, 이는 인터넷 통신에서 사용되는 가장 중요한 프로토콜 중 하나의 일부를 형성합니다. 이것을 인터넷 프로토콜 또는 IP라 부릅니다.

웹사이트 방문은 여러분의 컴퓨터가 다른 컴퓨터에 정보를 요청하는 것과 같습니다. 여러분의 컴퓨터는 메시지를 다른 컴퓨터의 IP 주소로 보내고 또한 자기의 주소도 함께 보내, 다른 컴퓨터가 답장을 보낼 곳을 알게 합니다.

 

IP 주소는 그냥 여러 개의 숫자입니다. 이러한 숫자는 위계체제로 구성되어있습니다. 모든 디지털 데이터와 마찬가지로, 이러한 숫자 각각은 비트로 나타냅니다. 전통적인 IP 주소는 32bit의 길이고 각 부분은 8bit로 구성돼있다. 앞쪽의 숫자는 일반적으로 기기의 국가와 지역 네트워크를 나타냅니다. 그다음 서브네트워크가 나오고 마지막으로는 특정 기기의 주소가 나옵니다. 이 버전의 IP 주소는 IPv4라 부르고 이것은 1973년에 설계되어 1980년대 초에 널리 사용되었으며, 인터넷에 연결된 기기에 대해 40억 개의 이상의 공유 주소를 제공했습니다. 하지만 인터넷은 Vint Cerf가 상상했던 것보다 훨씬 더 큰 인기를 누리고 있으며 40억 개의 고유 주소로는 충분하지 않게 되었습니다. 지금은 IPv6라고 불리는 더 긴 IP 주소 형식으로 바뀌고 있으며 이 더 긴 주소 형식은 주소 당 128bit를 사용하고 340 UNDECILLION 이상의 고유 주소를 제공합니다.

 

대부분 사용자는 인터넷 주소를 본 적도 없고 관심도 없습니다. DNS(Domain Name System)라는 시스템은 www.example.com 과 같은 이름을 해당 주소에 연결합니다. 여러분의 컴퓨터는 DNS를 사용하여 도메인 이름을 찾고 여럿의 컴퓨터를 인터넷의 목적지로 연결하는데 사용한 관련 IP 주소를 얻습니다.

 

그래서 우리는 수십억 개의 기기를 위한 시스템을 어떻게 설계하여 수십억 개의 웹사이트 중 어느 하나를 찾아낼까요? 한 개의 DNS 서버로는 모든 기기에서 나오는 요청을 모두 처리할 수 없습니다.

 

답은 DNS 서버를 분산된 위계체계로 연결하고 .org, .com, .net 등과 같은 메이저 도메인에 책임을 나누는 것입니다. DNS는 원래 정부와 교육기관을 위한 개방형, 공공 커뮤니케이션 프로토콜로 만들어졌습니다. 그런데 그 개방성으로 인해, DNS는 사이버 공격에 취약합니다. DNS Spoofing이 그 예인데 해커가 DNS 서버로 들어와 도메인 이름을 틀린 IP 주소에 매칭시키는 것입니다. 이렇게 하여 해커는 사람들을 가짜 웹사이트로 가게 합니다. 사용자는 그 사이트가 진짜인 줄 알기 때문에 더 많은 문제에 노출될 수 있습니다.

 

인터넷은 엄청나게 크고 매일 더 커지고 있습니다. 하지만 도메인 이름체계와 인터넷 프로토콜은 인터넷이 성장하는지 상관없이 확장성 있게 설계됩니다.