인터넷 동작의 깊은 곳

인터넷의 구조 및 동작원리에 대해서 간단하게 알아봤다면, 우리가 놓치고 있는 디테일한 부분을 알아보자

컴퓨터에서의 네트워크

서로 다른 컴퓨터가 네트워크를 이용해 정보를 교환하는 방법

네트워크와 IP 주소

네트워크를 이용해 정보를 교환하려면 컴퓨터의 도착지를 알아야하는데, 이를 알 수 있게 각각의 컴퓨터는 IP주소를 가지고 있다.

ISP를 통해 인터넷에 연결할 경우 일반적으로 임시 IP 주소가 할당된다. LAN(Local Area Network)에서는 영구적인 IP 주소를 할당하거나 DHCP(Dynamic Host Configuration Protocol) 서버에서 임시 IP 주소를 얻을 수 있다.

프로토콜 스택 및 패킷

인터넷에 연결된 서로 다른 컴퓨터와 통신할 때 대화 내용을 번역하기 위해서 프로토콜 스택(Protocol Stack)을 사용한다.

예를 들어, 1.2.3.4 IP주소를 사용하는 컴퓨터와 5.6.7.8 IP 주소의 컴퓨터가 있다면..(IP 주소가 할당되었다는 것은 인터넷에 연결되어 있다는 뜻이다.)

  1. 1.2.3.4 IP주소가 할당된 컴퓨터가 5.6.7.8 IP주소로 “Hello world”라는 메세지를 보낸다.
  2. ISP를 통해 전화선으로 전송한다고 가정
  3. 문자를 전자 신호로 변환하여 인터넷으로 전송
  4. 전송된 전화 신호를 문자로 변환

3-4에 해당하는 변환 과정에 프로토콜 스택(Protocol Stack)을 사용한다.

프로토콜 스택(Protocol Stack)의 동작

Application Protocol layer 웹(WWW), E-Mail, FTP, SSH 등과 같은 애플리케이션 프로토콜
TCP Layer TCP(Transmission Control Protocol), 전송 제어 규약
IP Layer IP(Internet Protocol) 주소를 이용하여 패킷을 특정 컴퓨터로 전송
Physical Layer 하드웨어 계층이라고도 불리며, 패킷을 네트워크 신호로 변환하거나 반대로 변환

Untitled

스택이라는 단어를 유추해볼 수 있듯이 프로토콜 스택은 위에서 아래로 동작한다.

  1. 애플리케이션 계층에서는 데이터를 가공하는 작업을 담당한다.
  2. 보낼 데이터가 클수록 데이터를 작은 단위로 나뉘어지는데, 이를 인터넷에서 패킷(Packet)이라고 한다.
  3. TCP 계층에서 패킷을 대상 컴퓨터로 보낼 방법을 정한다.
  4. IP 계층은 목적지(대상 컴퓨터의 IP 주소)를 확인한다.
  5. 패킷을 보낼 방법과 목적지가 정해지면 피지컬 계층에서 패킷을 전자신호로 변환하여 전송된다.
  6. 목적지에 도달한 전자신호는 프로토콜 스택의 아래에서 위로 작동한다.
  7. 패킷은 최종적으로 목적지에 대한 정보가 제거된다.

인터넷 구조

서로 다른 컴퓨터가 정보를 교환하는 구조

네트워킹 인프라

Untitled

컴퓨터가 정보를 교환하는 방법을 알아보았다면 그 사이는 어떻게 구성되어있는지를 알아보자

간단한 네트워크 구조를 보여주기 위함이다. 인터넷은 훨씬 더 복잡하다.

간단한 네트워크 구조를 보여주기 위함이다. 인터넷은 훨씬 더 복잡하다.

전화선을 이용하여 ISP(Internet Service Provider, 인터넷 제공 업체)를 통해 인터넷을 이용한다.

  • ISP 사용자를 관리 하기위해 Modem Pool을 사용하는데, 이는 모뎀들의 집합이다.
  • 백본(또는 라우터)으로 데이터를 보내기 전 패킷 흐름을 제어하기 위해 전용 컴퓨터를 사용한다. 이 컴퓨터는 네트워크에 접속을 제공(Serve)하기 때문에 포트 서버, NAS(Network Access Server), RAS(Remote Access Server) 등으로 부른다. 인터넷 사용정보 및 사용료에 대한 청구비용 등은 이 단계에서 수행한다.
  • 이후 패킷은 목적지를 찾을 때까지 여러 라우터, 백본, 전용 회선 및 기타 네트워크를 통해 이동한다.

인터넷 인프라

인터넷 백본은 서로 상호 연결되는 대규모 네트워크로 구성되는데, 이러한 대규모 망을 네트워크 서비스 공급자(Network Service Provider, NSP)라고 한다.

NSP도 여러개의 규모있는 회사가 있는데 이러한 NSP는 서로 피어링하여 NAP(Network Access Provider)를 통해 패킷 트래픽을 교환한다. 이는 MAE(Metropolitan Area Exchanges)에서도 이루어지는데 차이점은 MAE는 개인소유이다.(MAE, NAP 모두 인터넷 교환 지점(IX)라고 한다.)

https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2F6ZLtHweiZDdXMSJqD5vGyZ%2FUntitled%3Fnode-id%3D0%253A1

라우팅 계층

인터넷에 연결된 컴퓨터가 전세계에 있는 모든 IP주소를 알고 있지 않다. 단, 라우터를 통해 패킷을 원하는 IP주소로 보낼 수 있다. 인터넷은 기본적으로 트리구조를 가지기 때문에 상류로 거슬러 올라가 해당 네트워크에서 IP주소를 조회하는 방식이다.

https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FQIMcWKdLU9xNTynl9oc3oH%2FRouting-layers%3Fnode-id%3D0%253A1

1.2.3.4 IP주소를 가진 컴퓨터가 5.6.7.8 IP주소의 컴퓨터로 메세지를 보낸다면 다음과 같다.

  1. LAN(Local Area Network)에서 IP조회하였지만 존재하지 않는다. 상위 라우터로 메세지를 전송하여 상위로 올라간다.
  2. 라우터는 메세지를 보낸 컴퓨터(IP 프로토콜 계층)가 지정한 IP주소(5.6.7.8)를 검사한다.
  3. 라우터는 라우터가 해당하는 네트워크에 IP주소를 조회한다.
  4. 발견하지 못했을 경우 상위로 올라가 IP를 조회한다. NSP 백본에 연결된 라우터는 가장 많은 IP주소를 알고있기 때문에 패킷은 올바른 백본으로 하향한다.