[Internet] 인터넷 작동 원리

이진이·2023년 8월 10일
0
post-thumbnail

이전 내용 > Internet - 컴퓨터 네트워크
요약된 블로그 > [CS] 인터넷의 동작원리



인터넷

인터넷은 전 세계에서 수십억 대의 디지털 기기를 연결하는 네트워크의 네트워크이다. 

표준 프로토콜을 사용하여 디바이스 간의 통신이 가능하다. 이러한 프로토콜에는 웹의 경우 하이퍼텍스트 전송 프로토콜인 HTTP(모든 웹 주소 앞의 'http')가 포함되고, 인터넷 프로토콜인 IP주소가 포함된다. IP주소는 고유 위치 정보를 제공하여 정보가 올바르게 전달될 수 있다.

여기서 "네트워크의 네트워크"가 무엇을 의미할지 생각해 봐야 한다.



단순 네트워크 동작

컴퓨터 네트워크는 2개 이상의 컴퓨터가 유선 또는 무선으로 연결되어 통신을 한다고 했다(이전 내용 참고). 여기서 유선은 보통 이더넷 케이블이 될 것이고, 무선은 보통 와이파이가 될 것이다. 이어질 내용은 이해하기 쉽게 유선이라고 생각하자.

그럼 이제 문제가 생긴다. 통신할 컴퓨터가 두 대로 끝나지 않고 더 많아지면? 연결할 선이 매우 많아져서 네트워크가 매우 복잡하게 형성될 것이다. 10개의 컴퓨터만 되어도 각 9개씩 총 45개의 케이블이 필요하다. 이걸 해결하기 위해서 라우터가 등장한다. 이전 내용에서 라우터를 다음과 같이 정의했다.

  • 라우터(패킷 교환기) : 네트워크 간에 데이터 패킷을 전송할 경로를 지정하는 물리적 또는 가상 디바이스

사진으로 보자. (앞으로 나올 모든 사진의 출처는 mdn web docs)

알파벳은 모두 컴퓨터를 의미하고 중간에 공유기같이 생긴 저게 라우터이다. 실제로 공유기도 라우터이다.

예를 들어 A가 J에게 데이터를 보낸다고 하자.

  1. A가 보낸 데이터는 여러 조각(패킷)으로 나뉘어 라우터로 보내진다. 여기서 패킷에는 발신지 주소, 목적지 주소 정보가 추가되어 있다.

  2. 그러면 라우터에서 패킷의 목적지 주소를 확인하여 J가 연결된 라우터로 경로를 설정한다. 그러면 케이블 선에 의해 전달됨.

  3. 패킷이 다음 라우터에 도착하면 또 목적지 주소를 확인하여 경로를 설정하고 케이블이 J에게 패킷을 전달한다. 모든 패킷들이 전달되어 J에게 데이터가 도착한다.


이 과정을 내가 이해한 방식으로 말하자면...

A는 나, J는 옆 동네에 사는 내 친구, 보낼 데이터는 편지가 되고 라우터는 우체국, 이더넷 케이블 선은 집배원.

우리 동네 집배원 아저씨가 우리 집에 와서 내 편지를 가져가는데, 편지가 길면 한 줄씩 잘라져. 잘라진 줄마다 보낸 사람과 받을 사람이 적혀짐. 집배원은 각 줄을 우체국에 보냄. 우체국에서 하는 일은 각 줄마다 옆 동네로 가야 하나? 우리 동네로 가야하나? 확인하고 분류해. 옆동네로 분류가 되면 또 다른 집배원이 각 줄을 옆동네 우체국으로 보내고, 옆동네 우체국에서는 도착지가 친구네 집인까? 뚱이네 집인가? 분류해. 그럼 옆동네 집배원이 친구 집에 줄들을 모두 보내게 되고 친구는 내 편지를 받는다.

여기서 만약 무선 연결이라면 우체국에서 편지를 종이비행기로 접어 날리는 것쯤..?으로 생각하면 될 것 같다. 비행기로 접는 과정은 아마 주파수 변환이 될 것이다.



네트워크의 네트워크

라우터도 하나의 컴퓨터이다. 때문에 라우터와 라우터도 연결할 수 있고, 무한 확장이 가능하다. 그런데 여기서 또 문제가 있다. 이 세상 컴퓨터는 10대가 끝이 아니고, 가까이에만 존재하지 않는다. 내가 각 지방에 있는 친구들에게 편지를 보내려면 얼마나 많은 우체국(라우터)과 집배원(이더넷 케이블)이 필요하겠는가? 따라서 허브가 필요하고, 허브 간 배달을 해줄 무언가가 필요하다.

다행히 통신과 관련하여 오래전부터 사용한 배선이 있다. 바로 전력 및 전화를 위한 케이블이다. 이미 집집마다 연결되어 있고, 전 세계적으로 연결되어 있기 때문에 이걸 이용하여 전 세계에서 네트워크 정보를 교환한다.

배달은 이 전화선이 하고, 배달된 네트워크 정보를 모으는 허브는 ISP에서 제공한다. ISP는 인터넷 서비스 제공 업체 즉 KT, LG U+, SKT와 같은 전화국을 말한다. ISP가 관리하는 특수한 라우터는 모두 함께 연결되고, 다른 ISP의 라우터와 액세스도 가능하다. (이렇게 네트워크로 형성된 라우터를 또 다른 라우터와 연결하여 새로운 네트워크를 생성하기 때문에 인터넷을 네트워크의 네트워크라고 한다.)

이때 우리가 보낼 네트워크 정보는 0과 1로 된 디지털 신호이기 때문에 모뎀이 라우터의 네트워크 정보를 물리적인 전기적 신호로 변환하여 ISP와 연결하는 역할을 한다. 즉, 네트워크 정보를 전화 시설에서 처리할 수 있는 정보로 바꾸고, 전화 시설에서 처리한 정보를 다시 네트워크 정보로 바꾸는 것이 모뎀이다. 모뎀은 집안의 벽면에서 인터넷 케이블과 연결되어 있을 수도 있고, 기계를 사서 연결해야 될 수도 있다. 전자의 경우 집안에 보이는 벽 단자에 이더넷 케이블로 라우터(공유기)를 연결하면 되고, 후자의 경우 벽 단자에 모뎀 기계를 케이블로 연결한 다음 모뎀과 라우터를 또 케이블로 연결하면 인터넷이 가능하다.

이것도 내가 이해한 방식을 풀어보면,

ISP가 서울, 부산, 대전 등과 같은 지역이고, 지역에서 관리하는 큰 우체국 허브가 있다. 그리고 각 지역마다 전국으로 연결되는 집배원들이 있고, 지역마다 서로 연결된 집배원도 있는 거다. 근데 우리 동네 우체국에서 부산의 뚱이에게 편지를 보내려면 목적지를 "뚱이"가 아닌 "부산시 OO구 OO동 뚱이하우스"로 바꾸는 등 우체국 허브에서 알아들을 수 있는 정보로 바꿔서 보내야 되는데, 이걸 모뎀이라는 애가 해준다.

그럼 결국 전화 케이블 선으로 연결되어 인터넷이 가능하다는 건데, 해외 사이트는 어떻게 이용하는 것일까? 심해에도 해저 케이블로 다 연결되어 있어서 해외까지 인터넷이 가능하다고 한다.



인터넷 프로토콜

인터넷에서 주로 사용되는 프로토콜은 TCP/IP 프로토콜이다.

  • IP : IP는 IP주소를 사용하여 패킷을 특정 컴퓨터로 보낸다. 네트워크에 연결된 모든 컴퓨터에는 'IP주소'라는 고유 주소를 가진다. 주소는 점으로 구분된 네 개의 숫자로 구성된 주소이다. 예를 들면 192.168.2.10 의 형태이다.
  • TCP : TCP는 포트 번호를 사용하여 패킷을 컴퓨터의 특정 응용 프로그램으로 보낸다. 데이터의 전송/제어 기능으로 데이터 전송의 신뢰성을 보장한다.

IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수도 있다. 또한 컴퓨터까지만 전송해 주므로 컴퓨터 안의 어떤 프로세스에서 패킷을 받아야 할지 알 수 없다. 이를 해결하기 위해 TCP를 사용한다. 각 포트 번호에 따라 어떤 프로세스가 해당 메시지를 받는지 알 수 있다. 포트번호 중에는 규약처럼 사용되는 포트번호들이 있기 때문에  개인 애플리케이션에는 1023번 이하의 포트번호는 사용하지 않는 것이 좋다.





참고 및 출처

profile
프론트엔드 공부합니다. 블로그 이전: https://jinijana.tistory.com

0개의 댓글