seegongsik
네트워크

어떻게 인터넷이라는 거대한 우편 시스템

주소창에 주소를 한 줄 넣고 엔터를 누르면 페이지가 금세 나타난다. 그 짧은 순간에 이 영역에서 배운 것들이 차례로 한꺼번에 일어나요. 이름으로 주소를 찾고, 믿을 수 있는 연결을 맺고, 그 연결을 잠근 다음 페이지를 주고받는다. 눈에 보이지 않는 그 흐름을 처음부터 끝까지 따라가 보자.

01

주소창에 주소를 넣는다

여정이 시작되는 곳은 주소창이다. 가고 싶은 사이트의 이름을 한 줄 넣고 엔터를 누르면 그 순간 긴 여정이 시작된다.
우리 눈에는 잠깐이지만, 그 안에서는 여러 약속이 차례차례 제 일을 한다. 이 영역에서 하나씩 배운 바로 그 약속들이에요. 이제 그 여정을 처음부터 한 단계씩 따라가 보자.

https://|
주소 조각을 차례로 눌러 주소창을 채워요

주소창에 이름을 한 글자씩 눌러 넣어 보자. 다 넣으면 여정이 시작돼요.

이름은 넣었지만 컴퓨터는 아직 어디로 가야 할지 모른다. 이름은 사람이 기억하기 좋으라고 붙인 것이고, 컴퓨터가 길을 찾으려면 숫자로 된 주소가 있어야 하기 때문이다.
그래서 가장 먼저 할 일은 이 이름이 가리키는 진짜 숫자 주소를 알아내는 것이에요. 이 일을 맡은 약속은 앞에서 이미 만났다. 바로 DNS다.

02

DNS가 이름을 주소로 바꾼다

첫 번째 약속은 DNS다. 앞에서 배웠듯이 DNS는 거대한 전화번호부처럼 이름을 대면 숫자 주소를 알려 준다. 브라우저는 먼저 최근에 받아 둔 답이 있는지 살펴보고, 없으면 이름 풀이를 맡은 서버에 물어본다.
그러면 컴퓨터가 쓸 진짜 주소가 또박또박 돌아온다. 이제야 어디로 가야 할지 알게 된 거예요. 이 주소가 여정 전체의 출발점이다.

example.comDNSIP. . .
버튼을 눌러 이름을 숫자 주소로 바꿔요

DNS에게 물어보기를 눌러 보자. 입력한 이름이 숫자 주소(IP)로 바뀌어 돌아온다. 앞에서 배운 DNS 그대로예요.

이름이 숫자 주소로 바뀌었다. 하지만 주소를 안다고 바로 닿는 것은 아니다. 그 주소까지 가는 길은 수많은 갈림길로 이어져 있다.
보낼 데이터는 패킷이라는 작은 조각으로 나뉘어, 집의 공유기를 지나 라우터에서 라우터로 길을 건너간다. 공유기는 이때 NAT로 집 안 주소를 공인 주소로 바꿔 내보내요. 패킷도, 길 찾기도, NAT도 모두 앞에서 배운 이야기다. 이제 상대 서버와 진짜 연결을 맺을 차례다.

03

TCP로 연결하고 HTTPS로 잠근다

주소를 알았으니 그 주소의 서버와 연결을 맺는다. 이 연결을 믿음직하게 만드는 것이 TCP다. 처음에 세 번 인사를 주고받아 서로 준비됐는지 확인하고, 그 뒤로는 빠진 조각은 다시 받고 뒤바뀐 순서는 바로잡아 빠짐없이 순서대로 닿게 한다.
연결이 튼튼해지면 그 위에 자물쇠를 채운다. 그 자물쇠가 HTTPS예요. 인증서로 상대가 진짜인지 확인하고, 함께 쓸 열쇠를 정해 오가는 내용을 잠근다.

내 컴퓨터상대 서버
먼저 연결을 맺어요

연결 맺기(TCP)를 누르고, 이어서 자물쇠 채우기(HTTPS)를 눌러 보자. 둘 다 끝나면 안전한 통로가 열린다. 앞에서 배운 TCP, HTTPS 두 약속이 차례로 일하는 모습이에요.

연결이 맺어지고 자물쇠도 채워졌다. 튼튼하고 잠겨 있어 믿을 수 있는 통로가 열린 것이다.
그런데 우리가 정말 원하는 것은 연결 그 자체가 아니라 그 끝에 있는 페이지예요. 이 통로 위에서 페이지를 주고받게 해 주는 마지막 약속이 남았다.

04

흐름 전체를 한눈에 본다

마지막 약속은 HTTP다. 안전한 통로 위에서 브라우저가 '이 페이지 주세요' 하고 요청을 보내면, 서버가 '여기 있어요' 하고 페이지를 보내 준다. 브라우저는 페이지에 필요한 그림과 꾸밈 파일도 같은 통로로 더 요청한다.
이 조각들이 다 모여 화면에 그려지면 마침내 여정이 끝나요. 주소창에서 페이지까지 이어진 흐름을 이제 한데 모아 보자. 아래 단계부터 하나씩 불을 켜면 된다.

페이지 도착
아래부터 단계를 차례로 눌러 불을 켜요

아래에서부터 단계를 차례로 눌러 불을 켜 보자. 주소창 → DNS → IP 주소 → TCP → HTTPS → HTTP. 다 켜지면 페이지가 도착해요.

한 칸씩 불이 켜지더니 맨 위에서 페이지가 도착했다. 주소창, DNS, 주소, 연결, 자물쇠, 페이지 가운데 하나라도 빠지면 여정은 멈춰요.
각 약속은 아래 약속이 제 일을 해 준다고 믿고, 자기 일만 정확히 한다. HTTP는 TCP가 조각을 어떻게 나르는지 몰라도 되고, TCP는 패킷이 어느 길로 가는지 몰라도 된다. 이렇게 층층이 쌓아 올린 모습이 앞에서 배운 계층이에요.

05

정리

한 줄로 모으면 이렇다. 주소창에 주소를 넣으면 DNS가 이름으로 숫자 주소를 찾고, 패킷이 공유기와 라우터를 지나 그 주소로 간다.
TCP가 빠짐없이 순서대로 닿게 하고, HTTPS가 통로를 잠그며, HTTP가 그 위에서 페이지를 주고받아요. 패킷, 주소, 길, 계층, 믿음직한 전달, 안전이 모두 이 한 흐름 안에 들어 있다. 이것이 인터넷이 돌아가는 방식이에요.

핵심을 차례로 눌러 영역을 되짚어요

이 영역에서 배운 핵심을 차례로 눌러 되짚어 보자. (패킷 → 주소 → 길 → 계층 → 신뢰 → 웹 → 안전)

여기까지 잘 따라왔다. 이제 주소창에 주소를 넣을 때 그 뒤에서 무슨 일이 벌어지는지 그려질 거예요. 이름이 주소가 되고, 패킷이 길을 건너고, 약속들이 차례로 손을 잡는다.
인터넷은 마법이 아니라 작은 약속들이 모여 함께 돌아가는 거대한 우편 체계다. 네트워크 영역은 여기서 마친다. 다음 데이터 영역에서는 이렇게 오가는 데이터를 컴퓨터가 어떻게 담고, 정리하고, 빨리 찾아내는지 살펴본다.

한 줄 정리주소창에 주소를 넣으면 이 영역에서 배운 것들이 차례로 일어난다. 먼저 DNS가 이름을 숫자 주소(IP)로 바꿔 주고, 패킷이 그 주소까지 길을 찾아 건너간다. TCP가 빠짐없이 순서대로 닿게 하고, HTTPS가 그 통로를 잠가 남이 엿보지 못하게 해요. 그 위에서 HTTP가 '이 페이지 주세요', '여기 있어요' 하고 페이지를 주고받는다. 패킷, 주소, 길, 계층이 모두 이 한 흐름에 들어 있다. 인터넷은 결국 이 약속들이 차곡차곡 손잡고 돌아가는 거대한 우편 체계예요.
← 네트워크
이 페이지가 도움 됐다면 후원하기