본문 바로가기
기술이야기/CS 및 기술들

How the Internet Works in 5 Minutes 정리

by SeO.V 2022. 11. 29.

인터넷의 동작 원리 및 흐름적인 이해를 위해서 + 개인적으로 번역 추가 및 개념적 이해 추가를 위해서 작성함.

How the Internet Works in 5 Minutes

Source : https://www.youtube.com/watch?v=7_LPdttKXPc

 

+ 더보기에는 들으면서 타이핑 친 것 및 본인이 이해하려고 추가한 내용적인 글이 있습니다.

더보기

The Internet is a wire. Actually buried in the ground it might be fiber optics copper or occasionally beam to satellites to through cell phone networks but the internet is simply a wire.

인터넷은 전선(wire)이다. 실제로 땅속에 묻힌 전선은 광섬유 구리이거나 때때로 휴대폰 네트워크를 통해 위성으로 전송될 수 있지만 인터넷은 단순한 전선일 뿐이다. 우리가 흔히 말하는 이더넷 케이블 부터 광케이블 및 해저광케이블 등 유선통신 등을 생각하면 맞는 말이긴 하다. 그리고 인터넷의 개념적인 의미로서 전세계적으로 컴퓨터 통신망들의 상호연결 시스템(the global system of interconnected computer networks)이라는 말을 생각해보면 결국 맞는 말이긴 하다. 컴퓨터들을 연결해주는 선들이니까.

 

The Internet is useful because two computers connected directly to this wire can communicate a server is a special computer connected directly to the internet and web pages or files on that server’s hard drive. Every server has a unique Internet Protocol address or IP Address just like a postal address. IP addresses help computers find each other computer. But not always number of IP address such as 72.14.205.100 can be used. It also gives them names like google.com or facebook.com. These are called as Domain Name and DNS(Domain Name System) is connector from Domain Name to IP address.

우선 서버라는 특별한 컴퓨터들에 대해서 말하자면 개념적으로 정보를 제공하는 주체가 되면 서버라고 할 수 있다. 영상에서 말한 것처럼 서버는 전선에 직접적으로 연결되어서 서버 컴퓨터의 하드 드라이브 안의 파일이나 웹페이지 혹은 인터넷에 접속해서 정보를 주고 그리고 그 정보를 받는 사용자(클라이언트)가 있다. 이렇게 서로 정보를 주고 받을 수 있도록 하기 때문에 인터넷이 쓸모가 있는 이유인 셈이다. 모든 서버는 고유한 인터넷 프로토콜 주소(Internet Protocol address)가 있다. 간단히 말하자면 인터넷(Internet)은 이렇게 서로를 연결하는 통신망이고, 프로토콜(Protocol)은 이 통신이 원활하게 되도록 서로 통일하여 지키기로 한 규약(rule)인 셈이다. 서로 통신하는 규칙이 동일하기 때문에 가능한 것. 아무튼 이 IP 주소(address)는 고유의 주소로서 비유하자면 각자의 집 주소이다. 1대의 기기당 1개의 고유한 IP주소가 있기 때문에 그 고유한 주소로서 서로를 찾아서 정보를 주고 받을 수 있게 되는 셈이다. 편지를 주고 받을 때에도 집주소에 특정하게 받는 사람 1명을 특징하는 것과 동일한 개념이다. 그리고 IP는 보통 72.14.205.100 같은 형태이지만 언제나 번호 혹은 숫자로만 되어있는 것이 아니라 우리가 흔히 아는 google.com 혹은 naver.com 같은 주소로서도 접속이 다능한데 이는 도메인 이름(Domain Name)이라고 하며 이 도메인 이름을 IP로 혹은 반대로 변환해주는 체계를 DNS(Domain Name System)이라고 한다. 예를 들어서 google.com이라는 건 고유한 도메인 이름이고 이는 IP 주소로서는 72.14.205.100와 동일하다.(예시이므로 진짜 아님.)

 

So this is how it works, your computer is not a server because it’s not connected directly to the internet. It’s called as a client. Clients are connected indirectly to the internet through an Internet Service Provider(ISP). So, for example, I use my laptop with DSL(digital subscriber loop) and visit to aol.com which is coincidentally both a server and an ISP.

위의 이야기를 기반으로 해서 어떻게 동작하느냐를 보기 전에 서버와 클아이언트에 대해 말하자면, 내가 사용하는 컴퓨터는 인터넷에 직접적으로 연결되어 정보를 제공하지 않기 때문에 서버가 아니다.(물론 그렇게 만들 수는 있지만) 정보를 받는 컴퓨터들은 보통 클라이언트(서비스를 제공받는 고객이라서 클라이언트인 것 같다.)라고 부른다. 클라이언트들은 Internet Service Provider(ISP)라는 인터넷 서비스를 제공해주는 회사들을 통해 간접적으로 인터넷에 연결이 되어있다. 물론 이 ISP들 역시 여러 종류가 있는데, 인터넷 통신망을 보유하여 인터넷 회선과 IP할당까지 담당하는 회사와, 인터넷 통신망을 보유하고 있지만, 회선만 임대하고 IP할당은 하지 않는 회선 임대료 만으로 수익을 내는 회사와, 자체적으로 보유한 통신망은 없지만, 다른 회사의 통신망을 임대받고 말 그대로 인터넷 서비스만 하는 회사등 다양한데 한국의 경우 대한민국의 경우 통신망을 보유한 회사가 인터넷 서비스도 제공하기 때문에 일반적으로는 ISP는 인터넷 회사인 셈이다.

동작하는 방식에 대해서 예를 들면 내 노트북으로 DSL(Digital Subscriber Line : 전화선을 사용하여 데이터 통신을 할 수 있는 기술. 한국은 전화선 일반모뎀, PC통신 이후 ADSL(비대칭 디지털 가입자 회선, Asymmetric Digital Subscriber Line)를 사용한 것으로 기억.)으로 google.com이라는 우연하게도 서버이면서 ISP인 사이트에 방문한다고 할 때, 과정은 아래와 같다.

 

Process to send an email(from gmail.com to naver.com email)

  1. type gmail.com → through DSL → ISP → gmail.com (Server & ISP)
  2. send a email from gmail.com : my laptop → DSL → ISP → gmail.com(google) → google through the internet send this to naver.com → naver dials into naver servers and retrieves the email to naver.com email

gmail에서 naver의 email을 보내는 과정.

  1. gmail.com이라는 사이트에 방문하여 DSL을 통해 ISP로 인해 인터넷에 접속해서 gmail.com(Server & ISP 역할을 둘 다 할 경우)에 접속
  2. 내 노트북으로 이메일을 gmail.com으로 작성해서 보냄 → DSL 과 ISP를 통해서 gmail.com(google)에 접속하고 gmail.com(google)는 인터넷을 통해서 이 이메일을 naver.com으로 전달한다. → 네이버는 해당의 서버로 이메일을 보내고 보낸 것에 대한 이메일을 naver.com 이 받는(retrieves)것.

말 보다는 영상의 흐름 보는 것이 이해가 더 잘 된다.

Whenever an email pictures or web page travels across the internet, computers break the informations into small pieces called packets, when informations reaches to its destination, packets are reassembled in their original order to make a picture email or web page or etc.

이메일에는 텍스트 뿐만 아니라 첨부하는 파일 및 이미지가 있을 텐데, 이러한 이미지의 경우, 어떻게 전달이 되는지는 아래와 같다. 컴퓨터는 이 이미지를 패킷(packet: 네트워크 전송의 용량 단위. 조각조각 분할된 파일 데이터에 주소와 에러 데이터 등이 기록되며 패킷에는 고유의 번호를 매겨야 하고, 이 순서를 양측이 동일하게 사용해야 한다는 단점이 있다. 그래서 이런 것들을 포함한 통신 규칙인 프로토콜이 등장한 셈.)이란 작은 정보 조각으로 쪼개고 이 정보가 도착지에 도달하면 패킷들은 다시 원래 순서대로 재조립 되어서 이미지로 보여지게 된다. 순서대로 맞춰야 하는 퍼즐조각인 셈이다.

 

How to send and receive the data - IP addressess & router

IP주소와 라우터를 통해 데이터를 주고 받는 방법.

 

Everything connected directly or indirectly to the internet has an IP addresses that includes computer, server, cell phones and all of the equipment in between. Anywhere two or more parts of the internet intersect, there is a piece of equipment called a router. Routers direct our packets around the internet helping each packet get one step closer to its destination. Every time you visit website upwards of 10 to 15 routers may help your packets find their way to and from your computer.

인터넷에 직간접적으로 연결된 컴퓨터, 서버, 휴대폰 그리고 그 외에 연결된 모든 기기들은 고유한 IP 주소를 가지고 있다. 그리고 어디서든 둘 이상의 인터넷이 교차하는 곳에는 라우터라고 불리는 장비가 있다. 라우터는 인터넷 상의 패킷을 각자의 도착지점으로 한 단계씩 도달하도록 안내하는 역할을 한다. 쉽게 말하자면, 라우터라는 기기는 라우터는 각 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하여 안내하고(direct), 이 경로를 따라 데이터 패킷을 다음 장치로 전달한다. 그렇게 단계별로 이어져 정보를 주고 받으며, 매번 웹사이트에 방문할 때마다 대략 10에서 15개의 라우터들이 패킷을 해당 사이트와 내 컴퓨터를 연결하고 있다.

 

Imagine each packet as a piece of candy wrapped in several layers. The first layer is your computer’s IP address. Your computer sends the packet to the first router which adds its own IP address. Each time the packet reaches a new router another layer is added until it reaches the server then when their server sends back information. It creates packet with an identical wrapping as packet makes its ways over the internet back to your computer each router unwraps a layer to discover where to send the packet next until it reaches your computer.

패킷의 구조는 통상적으로 헤더, 페이로드(데이터), 트레일러로 구성되어 있다. 헤더(header)에는 패킷의 주소(송수신 주소) 등 주요 제어 정보들이, 페이로드(payload)는 실제 운반 데이터로서, 데이터(data)에는 각종 운용 및 제어(오버헤드 및 헤더) 정보를 뺀 실제 정보가 들어있는 부분을 의미하고, 트레일러(trailer, tail)는 데이터의 후미로써 매 프레임 마다 에러검출을 위해 맨뒤(꼬리)에 덧붙이는 것을 말하며 패킷 에러 검출 등에 사용된다.

이러한 패킷을 하나의 사탕으로 생각해보자. 이 사탕은 여러겹의 포장지로 감싸져 있는데 첫번째 포장지는 나의 컴퓨터의 IP 주소이다. 헤더 부분에 속하는 이 첫번째 포장지는 고유의 IP주소를 가지고 내 컴퓨터로부터 첫번째 라우터로 도달하게 된다. 그것이 첫번째 단계다. 매번 패킷은 새로운 라우터에 도달하게 되며 도달할 때마다 포장지를 추가하고 이건 도착할 최종 서버에 도달할 때까지 계속된다. 그리고 서버에 도착하면 그 서버는 요청한 정보(data)를 담고 다시 동일한 포장지들의 단계를 거쳐서 나의 컴퓨터로 돌아오게 되는 셈이다. 5겹의 포장지로 요청 정보를 보냈으면 똑같이 5겹의 포장지로 포장된 요청한 데이터가 오는 셈이다. 그리고 이 포장지를 만들고 풀어서 동일한 과정으로 이어지게 하는 것이 라우터의 역할 중 하나인 것.

 

 

이런 식으로 인터넷은 작동한다.

간략하게 말하자면 인터넷이라는 통신망 안에서 서로 정보를 주고 받기 위해서 라우터라는 기기를 통해서 서로 동일한 경로를 설정하여 데이터를 주고 받게 하고, 이 주고받게 하는 규칙이 프로토콜이다. 인터넷의 프로토콜로서 우리가 흔히 아는 대표적인 것들이 HTTPS, HTTP인 셈이고, 이 http 등으로 시작하는 인터넷의 주소들, 문자로 이루어진 도메인 이름이 있고 이들은 다르게 보면 고유의 IP 주소인 셈이다. 정보를 주는 제공자들은 서버, 정보를 받는 자들은 클라이언트. 이러한 서버와 클라이언트의 시스템은 서버-클라이언트 시스템으로서 흔히 말하는 웹개발의 서버와 클라이언트는 백엔드와 프론트엔드로도 불리게 된다.

 

 


Reference.