GN⁺: Show HN: 컴퓨터가 내 서버에 어떻게 도달했나?
(how-did-i-get-here.net)요약 제목: 인터넷 패킷의 여정과 BGP 프로토콜의 역할
- 인터넷을 통해 데이터가 어떻게 전송되는지를 추적하는 'traceroute' 기능을 설명하는 기사.
- 사용자의 컴퓨터에서 시작하여 라우터, ISP, 그리고 최종 목적지 서버까지 패킷이 이동하는 과정을 담은 내용.
- 'ktr'이라는 실시간으로 결과를 스트리밍하는 traceroute 프로그램을 사용하여 각 단계에서 패킷이 거치는 서버를 추적.
인터넷 패킷의 여정
- 사용자의 컴퓨터가 라우터와 통신을 시작하며, 이 라우터는 ISP의 네트워크로의 진입점임.
- Linode의 네트워크를 거쳐 최종적으로 서버에 도달하는 과정이 traceroute를 통해 추적됨.
웹사이트의 프론트엔드
- 자바스크립트 비활성화 상태에서도 웹사이트가 정상 작동함.
- 서버가 HTTP 요청을 받고 traceroute를 시작하여, 결과가 나올 때마다 웹 페이지에 실시간으로 표시됨.
패킷 경로의 역추적
- 실제로는 서버에서 사용자 컴퓨터로의 traceroute를 실행하고 그 경로를 역으로 추적함.
- 실제 인터넷 라우팅에서는 패킷이 다른 경로를 거칠 수 있으나, 대체로 비슷한 경로를 따름.
네트워크의 정의
- 각 네트워크는 자율 시스템(AS)으로 불리며, 서로 연결된 라우터와 서버의 집합임.
- AS 소유자들은 다른 AS와의 연결을 통해 인터넷의 구조를 결정함.
- 인터넷은 기업 소유의 네트워크들이 금융 거래와 관료주의에 의해 연결되어 있는 구조임.
WHOIS 정보
- WHOIS 프로토콜을 사용하여 각 IP 주소가 속한 자율 시스템(AS)의 소유 정보를 조회함.
- WHOIS 서버 관리자가 만든 구조를 따라 다양한 서버에서 정보를 제공함.
BGP 프로토콜
- BGP(Border Gateway Protocol)는 AS 간의 경계 라우터가 패킷을 다음 네트워크로 전송할 때 사용하는 프로토콜임.
- BGP는 인터넷의 형태를 결정하며, 각 AS의 라우터는 BGP를 통해 라우팅 테이블을 공유함.
역사적 배경
- 인터넷의 초기 형태인 ARPANET의 시작부터 BGP 프로토콜의 발전까지의 역사를 설명함.
- BGP v4는 현재까지 사용되는 인터넷 라우팅의 주요 프로토콜임.
GN⁺의 의견
이 기사에서 가장 중요한 부분은 인터넷 상에서 데이터 패킷이 어떻게 여정을 거치는지를 실시간으로 추적할 수 있는 'traceroute' 기능과 그 과정에서 핵심적인 역할을 하는 BGP 프로토콜에 대한 설명임. 이 기사는 초급 소프트웨어 엔지니어에게 인터넷의 복잡한 구조를 이해하는 데 도움을 주며, 인터넷이 단순한 기술적 구조가 아니라 다양한 기업과 정책이 얽혀 있는 복잡한 생태계임을 보여줌으로써 흥미를 유발함.
Hacker News 의견
-
Lexi, 17세의 젊은 개발자, 컴퓨터 작동 원리에 대한 깊은 이해와 새로운 방식의 시각화에 관심.
- cpu.land 발표 후, 다음 큰 프로젝트에 대한 압박감을 느낌.
- 개인 프로젝트를 하며 인터넷 작동 원리를 우연히 학습, 웹사이트로 실시간 스트리밍이 가능한 traceroute 프로그램 개발.
- 인터넷 구조 시각화에 대한 새롭고 흥미로운 방법으로 인식, 사이트를 멋지게 다듬고 관련 지식을 공유하는 기사와 결합.
- 코드가 언젠가는 깨질 것이라고 예상하며, 제안이 있으면 알려달라고 요청.
- Rust를 선택한 이유는 빠르고 신뢰할 수 있는 저수준 프로그램 작성과 Rust의 오류 처리 기능 때문.
-
BGP는 인터넷의 형태를 결정하는 프로토콜이며, 개인이 직접 사용할 수 없음.
- ASN을 취득하고 BGP를 사용하는 것이 의외로 쉬움, 관심이 있다면 시도해볼 것을 권장.
-
서버가 사용자의 컴퓨터에 도달하는 방식의 역순을 나타내는 것이며, 각 방향의 라우팅은 대부분 매우 다름.
-
traceroute의 작동 방식에 대한 논문 추천, traceroute가 대칭적이지 않을 수 있다는 점을 많은 사람들이 간과함.
-
WHOIS 프로토콜 파서 개발은 사실상 불가능, 응답 형식이 자유로움.
- 과거에는 대부분의 주소/도메인에 대해 임시 파서를 만들 수 있었으나, 현재는 개인정보 보호 방패 뒤에 숨겨져 있음.
- ICANN이 공개 WHOIS 서버 제공 규칙을 시행하지 않고 폐지함.
-
ICMP ECHO 추적 대신 클라이언트 브라우저와 웹 서버 간의 기존 HTTP TCP 연결을 사용하여 클라이언트 측 NAT 및/또는 상태 유지 방화벽을 통과할 수 있음.
-
역방향 traceroute에 대한 이전 연구 소개.
-
TCP 세션의 패킷이 인터넷을 통해 비대칭 경로를 사용하는 경우가 많음, 이는 비용과 인간의 오류와 관련된 비즈니스 규칙 때문임.
-
traceroute보다 더 자주 사용하는 mtr에 대한 언급, 간헐적인 패킷 손실 진단과 평균적인 흐름 이해에 도움.
- MPLS가 실제 경로를 숨길 수 있다는 점과 UDP 추적의 유용성, 많은 라우터가 부하 상태에서 ICMP를 선택적으로 드롭한다는 점도 언급.
-
Lexi는 TCP/IP와 OSI 모델의 모든 7계층에 대한 깊은 이해뿐만 아니라 프론트엔드 및 백엔드 개발, 임베디드 하드웨어, 모바일 앱, 컴파일러에도 능숙함.
- 또한 암벽 등반, 세스나 조종, 로봇 제작, 첼로 연주 및 작곡 등 다양한 분야에서 뛰어난 재능을 보유.