Gitsunmin

TIL

TIL
(=Today I Learned)

How does the Internet work

aaaa

인터넷의 역사

초기 시작과 ARPANET

인터넷의 시작은 1960년대 미국에서 비롯되었습니다. 당시 미국 국방부는 군사 연구 프로젝트의 일환으로 ARPANET1을 개발했습니다. ARPANET은 네트워크 상의 컴퓨터들이 서로 데이터를 주고받을 수 있는 시스템으로, 1969년 미국의 몇몇 대학과 연구소를 연결하면서 처음 실험되었습니다. 이는 인터넷의 태동기로 볼 수 있습니다.

TCP/IP와 네트워크의 확장

1980년대에 들어와서, 인터넷은 더 넓은 범위의 네트워크를 연결할 필요가 있었습니다. 이를 가능하게 한 것이 TCP/IP2라는 프로토콜입니다. 프로토콜이란, 컴퓨터 간에 데이터를 주고받기 위한 규칙입니다. TCP/IP는 네트워크 간의 데이터 전송을 표준화하여, 다양한 네트워크가 서로 연결되고 통신할 수 있게 해주었습니다.

월드 와이드 웹의 탄생과 대중화

1990년대 초반, 팀 버너스 리(Tim Berners-Lee)가 월드 와이드 웹3을 개발하면서 인터넷은 혁신적인 변화를 맞이했습니다. 월드 와이드 웹은 인터넷 상의 정보를 하이퍼텍스트(링크)를 통해 쉽게 접근할 수 있도록 만든 시스템입니다. 이후 그래픽 웹 브라우저인 모자이크(Mosaic)가 등장하면서, 텍스트뿐만 아니라 이미지와 멀티미디어를 포함한 다양한 콘텐츠를 쉽게 볼 수 있게 되었습니다. 이는 일반 대중이 인터넷을 사용하게 된 중요한 계기였습니다.

인터넷의 원리

패킷 교환

인터넷의 핵심 원리는 ‘패킷 교환(Packet Switching)‘4입니다. 패킷 교환은 데이터를 작은 조각인 패킷으로 나누어 전송하는 방식입니다. 예를 들어, 이메일을 보내면 그 내용이 작은 패킷들로 쪼개져 각각 목적지로 전송됩니다. 각 패킷은 송신지와 수신지의 주소를 포함하고 있으며, 최적의 경로를 통해 전달됩니다. 목적지에 도착한 패킷들은 원래의 데이터로 재조립됩니다.

TCP/IP 프로토콜

TCP/IP는 데이터가 신뢰성 있게 전달되도록 하는 규칙입니다. TCP5는 데이터를 패킷으로 나누고, 전송된 패킷들이 제대로 도착했는지 확인하며, 손실된 패킷이 있으면 재전송합니다. IP6는 각 패킷에 송신지와 수신지의 주소를 부여하여, 패킷이 목적지까지 도달할 수 있게 합니다. 이 두 프로토콜이 함께 작동하여, 인터넷 상에서 안정적이고 신뢰성 있는 데이터 전송을 가능하게 합니다.

인터넷의 주인

분산된 소유 구조

인터넷은 특정 개인이나 단체의 소유가 아닙니다. 오히려 인터넷은 수많은 독립적인 네트워크들이 상호 연결된 거대한 시스템입니다. 이러한 네트워크는 다양한 기관, 기업, 정부 등에 의해 운영됩니다. 예를 들어, 구글, 아마존, 페이스북 같은 기업들은 자체적인 대규모 네트워크를 운영하며, 각국의 통신사들도 국가 단위의 네트워크를 관리합니다.

국제 기구와 협회

인터넷의 운영과 관리는 여러 국제 기구와 협회에 의해 조정됩니다. 대표적인 기구로는 ICANN7과 IETF8가 있습니다. ICANN은 도메인 이름과 IP 주소의 할당을 관리합니다. 예를 들어, 우리가 사용하는 ‘google.com’과 같은 도메인 이름을 관리합니다. IETF는 인터넷 표준을 개발하고 유지하며, 인터넷이 전 세계적으로 원활하게 작동하도록 돕습니다.

인터넷의 연결

물리적 인프라

인터넷 연결은 물리적인 인프라를 통해 이루어집니다. 이는 광케이블, 구리선, 위성, 무선 통신 등을 포함합니다. 이러한 물리적 매체를 통해 데이터가 전송됩니다. 예를 들어, 가정에서 인터넷을 사용할 때, 데이터는 집 내부의 와이파이(무선) 네트워크를 통해 인터넷 서비스 제공업체(ISP)9의 네트워크로 전달됩니다.

인터넷 서비스 제공업체(ISP)

ISP는 인터넷을 제공하는 회사입니다. 예를 들어, KT, LG유플러스, SK브로드밴드와 같은 회사들이 ISP입니다. ISP는 사용자와 인터넷 백본(Backbone)10 간의 연결을 담당합니다. 백본은 주요 인터넷 트래픽을 처리하는 대규모 네트워크로, 글로벌 ISP와 지역 ISP를 연결합니다. 이 과정에서 라우터11와 스위치12와 같은 네트워크 장비가 사용되어 데이터를 목적지까지 효율적으로 전달합니다.

인터넷의 흐름

클라이언트-서버 모델

인터넷의 데이터 흐름은 주로 클라이언트-서버 모델13에 의해 이루어집니다. 클라이언트는 웹 브라우저, 이메일 클라이언트, 모바일 앱과 같은 사용자의 디바이스를 의미합니다. 서버는 데이터를 제공하는 원격 컴퓨터입니다. 예를 들어, 사용자가 웹사이트에 접속하면, 그 웹사이트의 서버가 사용자에게 웹페이지 데이터를 전송합니다.

DNS의 역할

DNS(Domain Name System)14는 도메인 이름을 IP 주소로 변환하는 시스템입니다. 예를 들어, 사용자가 ‘google.com’을 입력하면, DNS는 이 도메인을 ‘142.250.207.206’와 같은 IP 주소로 변환하여 사용자가 원하는 웹사이트에 접속할 수 있게 합니다. 이는 전화번호부에서 이름으로 전화번호를 찾는 것과 유사한 역할을 합니다.

데이터 전송 프로토콜

인터넷에서 데이터는 다양한 프로토콜을 통해 전송됩니다. 가장 일반적인 프로토콜은 HTTP15(웹 페이지 전송), HTTPS16(보안 웹 페이지 전송), FTP17(파일 전송), SMTP18(이메일 전송) 등이 있습니다. 이러한 프로토콜은 데이터 전송의 규칙을 정의하며, 데이터의 무결성과 보안을 보장합니다. 예를 들어, HTTPS는 웹페이지 데이터를 암호화하여 사용자와 서버 간의 통신을 보호합니다.


Footnotes

  1. ARPANET: Advanced Research Projects Agency Network의 약자. 미국 국방부의 연구 프로젝트로 시작된 초기 인터넷 네트워크.

  2. TCP/IP: Transmission Control Protocol/Internet Protocol의 약자. 데이터 전송의 표준 규칙.

  3. 월드 와이드 웹: 인터넷 상의 정보를 하이퍼텍스트를 통해 접근할 수 있도록 만든 시스템.

  4. 패킷 교환: 데이터를 작은 조각으로 나누어 전송하는 방식.

  5. TCP: Transmission Control Protocol의 약자. 데이터를 패킷으로 나누고 전송을 확인하는 프로토콜.

  6. IP: Internet Protocol의 약자. 패킷에 주소를 부여하여 전달하는 프로토콜.

  7. ICANN: Internet Corporation for Assigned Names and Numbers의 약자. 도메인 이름과 IP 주소 할당을 관리하는 기구.

  8. IETF: Internet Engineering Task Force의 약자. 인터넷 표준을 개발하고 유지하는 기구.

  9. ISP: Internet Service Provider의 약자. 인터넷 서비스를 제공하는 회사.

  10. 백본: 주요 인터넷 트래픽을 처리하는 대규모 네트워크.

  11. 라우터: 네트워크 간의 데이터 경로를 설정하는 장비.

  12. 스위치: 네트워크 내에서 데이터를 전달하는 장비.

  13. 클라이언트-서버 모델: 사용자의 디바이스(클라이언트)와 데이터를 제공하는 컴퓨터(서버) 간의 데이터 흐름 모델.

  14. DNS: Domain Name System의 약자. 도메인 이름을 IP 주소로 변환하는 시스템.

  15. HTTP: HyperText Transfer Protocol의 약자. 웹 페이지 전송을 위한 프로토콜.

  16. HTTPS: HyperText Transfer Protocol Secure의 약자. 보안 웹 페이지 전송을 위한 프로토콜.

  17. FTP: File Transfer Protocol의 약자. 파일 전송을 위한 프로토콜.

  18. SMTP: Simple Mail Transfer Protocol의 약자. 이메일 전송을 위한 프로토콜.