Skip to content

인터넷과 프로토콜

인터넷은 컴퓨터 연결 망이다.

선으로 연결

두 컴퓨터가 정보를 주고받으려면 으로 연결하면 된다. (블루투스나 와이파이와 같은 무선통신도 선의 역할을 한다)

라우터는 중간 신호원

10대의 컴퓨터가 서로 정보를 주고 받으려면 10대의 컴퓨터 사이에 선을 연결하면 된다. 그러나 이 때 한대의 컴퓨터에 9개의 선을 연결해 총 45개의 선을 연결하는 대신, 라우터라는 하나의 소형 컴퓨터를 등장시켜보자.

10대의 컴퓨터를 각각 라우터에 연결시키면, 각 컴퓨터는 라우터를 통해서 다른 아홉대의 컴퓨터와 정보를 주고받을 수 있다. 10개의 선만으로 10대의 컴퓨터가 모두 연결되므로 훨씬 연결이 간결해진다. 라우터는 중간에서 컴퓨터로부터 정보를 전송받은 후 정보를 어느 컴퓨터로 보낼지 안내하는 역할을 한다.

컴퓨터가 연결될 수록 망은 더 넓어진다. 각각 10대의 컴퓨터가 연결된 두 라우터가 서로 연결된다면 이제 20대의 컴퓨터가 정보를 주고받는 것이 가능해진다.

이제 세계 곳곳의 수많은 컴퓨터가 서로 정보를 주고 받고 싶다면 어떻게 해야 할까?

기존에 존재하던 전화와 전력 망

인터넷 이전부터 세계 곳곳을 잇는 망이 있는데, 그것은 전화망전력망이다.

1858년에 대서양 횡단 케이블이 설치된 것을 시작으로 전세계에는 수많은 해저케이블이 설치되었다. 해저케이블을 비롯한 망을 통해 사람들은 대륙 내에서 뿐만 아니라 바다를 건너서까지 전보와 전화를 주고받을 수 있었다.

모뎀을 통해 전화망으로

컴퓨터가 전화망을 이용해 정보를 보낼 수 있다면 먼 곳의 컴퓨터와도 통신할 수 있을 것이다. 이를 위해서는 컴퓨터 신호를 전화 시설의 신호로 바꾸는 과정이 필요하다. 전화, 전력망은 전류가 흐르는 망이다. 컴퓨터가 사용하는 0과 1의 디지털 신호를 전류라는 아날로그 신호로 바꾸어 주고 또 아날로그 신호를 디지털 신호로 바꾸어 주는* 역할을 하는 것이 모뎀**이다.

  • 디지털 신호를 아날로그 신호로 바꾸는 일을 변조라고 하고, 아날로그 신호를 디지털 신호로 바꾸는 알을 복조라고 한다. 모뎀(modem)은 변조(modulation)와 복조(dem**odulation)의 앞글자를 합성한 말이다.

ISP 인터넷 서비스 제공업체

ISP는 인터넷 서비스 제공업체(Internet Service Provider)로, 특수한 라우터들을 관리하고 다른 ISP의 라우터와에도 연결할 수 있다. 우리나라의 ISP로는 KT, SK텔레콤, LG유플러스 외 다수가 있다. 인터넷 통신망을 보유하지는 않지만 통신망을 임대하여 인터넷 서비스를 제공하는 업체도 있다.

사람들이 사용하는 컴퓨터는 ISP의 라우터와 연결되고, ISP의 라우터는 다른 ISP의 라우터와 연결됨으로써 세계 곳곳의 컴퓨터는 서로 연결될 수 있다.

인터넷의 역사

인터넷의 역사 - ARPA에서 만든 ARPANET

소련과 미국 사이의 냉전이 한창이던 시기, 1957년에 소련은 스푸트니크 1호라는 최초의 인공위성을 쏘아올렸다.

미국은 1958년에 ARPA(Advanced Research Projects Agency)라는 고등연구계획국을 설립해 과학자들의 연구를 지원한다. 과학 연구를 장려하던 ARPA은 여러 컴퓨터 분야의 혁신과 인터넷에 영향을 미쳤다.

1969년에 ARPA에서 만들어 초기에 미국의 연구소와 대학을 연결했던 ARPANET은 인터넷의 기초가 되었다. ARPANET은 최초로 패킷 교환 방식을 도입한 네트워크다.

회선 교환 방식과 패킷 교환 방식

인터넷에서 정보를 보내는 컴퓨터와 정보를 받는 컴퓨터의 연결 사이에는 중간 노드라고 불리는 수많은 다른 컴퓨터들이 있다. 그리고 망과 같은 형태에서는 한 컴퓨터에서 다른 컴퓨터로 연결되기 위해 중간 노드를 거치는 경로*가 다양할 수 있다.

  • 최종적으로 정보를 보내는 컴퓨터와 정보를 받는 컴퓨터를 호스트라고 한다.

회선 교환 방식

회선 교환 방식은 통신하는 두 컴퓨터 사이에 데이터가 이동하는 경로를 하나로 고정시켜 정해둔다. 정해진 경로는 통신이 종료될 때까지 변경되지 않으며, 두 컴퓨터의 통신에서 독점적으로 이용한다.

그러나 상황에 따라 각 노드의 트래픽 발생 정도와 네트워크 혼잡도는 계속해서 달라진다. 회선 교환 방식에서는 정해둔 경로중 일부에서 트래픽이 많이 발생하게 된다면 통신 효율이 떨어진다.

패킷 교환 방식

패킷 교환 방식에서는 두 컴퓨터가 고정된 경로로 통신하지 않으면서, 데이터를 패킷이라는 작은 단위로 나누어 전송한다. 나누어진 패킷에는 고유번호를 붙여서 전송하고 모든 데이터가 전송된 후에 원래의 데이터로 재결합시킨다. 각각의 패킷은 전송되는 상황에 맞게 최적의 경로로 전송된다. 이 때 각 노드 컴퓨터에서 패킷을 최종목적지까지 보내기 위한 최적의 경로를 찾고 전송하는 일을 라우팅(routing)*이라고 한다.

  • 라우터는 라우팅을 하는 장비이다.

데이터를 패킷으로 나눌 때는 네트워크에서 사용하는 통신규약인 프로토콜에 따라 나누며, 패킷에 고유번호, 송신지와 수신지 등 전송 제어 정보를 담은 패킷 헤더를 붙인다. 데이터를 패킷 단위로 변환하는 과정을 캡슐화라고 한다.

과거에 회선 교환 방식을 사용하던 전화 등의 통신도 점차 패킷 교환 방식으로 전환되고 있다.

네트워크 표준화, 추상화

프로토콜

정해놓은 규약, 규칙이라고 볼 수 있는 프로토콜은 제조사, 모델명이 다른 컴퓨터와 장비들이 서로 호환 가능하도록 한다. 통신할 때 데이터를 어떤 식으로 보내고 어떤 식으로 해석할지 정한 규약을 동일하게 따름으로써 두 컴퓨터는 같은 정보를 공유할 수 있다. 네트워크가 이루어지기 위해서는 여러 차원의 프로토콜이 필요하다. 전기, 신호부터 응용프로그램에서 다루는 정보의 차원까지 컴퓨터는 프로토콜을 통해 통신한다.

프로토콜로 정하는 내용에는 물리적인 측면도 논리적인 측면도 있다. 물리적으로는 회선의 형태와 커넥터의 외형, 전원, 접지선 등에 대한 규정, 전압 레벨 등의 규격을 정한 프로토콜이 있다. 또한 송신자와 수신자 간의 연결은 어떻게 시작되고 종료되는지, 신호의 지속시간과 순서는 어떠한지, 데이터를 패킷으로 만들고 해석할 때 어떤 프레임을 따를 것인지 등을 정한 프로토콜도 있다.

프로토콜 중에는 특정 집단 내에서만 사용하는 폐쇄적인 프로토콜과 공개되어 널리 알려진 범용 프로토콜이 있다. 폐쇄적 프로토콜은 예로 IBM에서 사용하는 SNA 프로토콜이 있고, 규격이 알려져 있지 않기에 크래킹 위협에 있어서 상대적으로 안전하다.

네트워크 아키텍처 - 네트워크를 추상화한 설계도

컴퓨터에서 다른 컴퓨터로 정보가 전해지는 일, 즉 네트워크는 물리적 측면에서도 논리적인 측면에서도 복잡하며 공통으로 정해야 할 것이 많다. 네트워크 과정에서 필요한 수많은 프로토콜을 단계로 구분하여 네트워크를 단순하게 표현한 것을 네트워크 아키텍처라고 한다. 네트워크 아키텍처는 네트워크를 모듈화, 계층화하고 추상적으로 표현한다. 네트워크 아키텍처는 네트워크를 이루는 하드웨어와 소프트웨어를 어떻게 구현해야 하는지를 정리한 설계도이기도 하다.

네트워크 아키텍처는 네트워크에서 데이터가 이동하는 과정을 작은 단계로 나누고, 데이터 이동 순서에 따라 단계를 계층으로 구조 짓는다. 계층마다 고유의 역할이 구분되어있으며, 모듈로서 다른 계층의 변화에 영향을 받지 않는다. 모듈화된 각 계층은 인터페이스를 통해 서로 연결된다. 모듈화와 추상화는 네트워크 기술이 표준화를 이루는 데에 도움이 되었다.

OSI 모델과 TCP/IP 모델 - 대표적인 표준 네트워크 아키텍처

표준이 없을 당시에는 컴퓨터와 네트워크 장비가 제조사마다 네트워크 아키텍처가 달라 서로 호환이 되지 않았다. 다른 제조사의 제품들간에도 통신이 원활히 되도록 표준화를 시도한 네트워크 아키텍처가 OSI 모델과 TCP/IP 모델이다.

국제표준화기구(IOS)에서 만든 OSI 모델은 네트워크의 데이터 전송 과정을 7단계로 나누어 각 단계 프로토콜의 개념을 설명하는 모델이다. OSI 모델이 개념 설명에 유용히 쓰인다면, TCP/IP 모델은 데이터 전송 과정을 4단계로 단순화하여 실제 프로토콜을 개발하는 데에 유용하게 쓰였다.

데이터를 송신한 컴퓨터와 수신한 컴퓨터가 같은 프로토콜에 따라 각 계층에서 데이터를 처리함으로써 두 컴퓨터는 서로 통신을 할 수 있다. 인터넷이 가능한 이유는 네트워크에 쓰이는 하드웨어와 소프트웨어가 TCP/IP 모델의 프로토콜을 따르고 있기 때문이다. TCP/IP 모델은 컴퓨터가 데이터를 주고 받는 데에 있어 사실상의 표준으로 쓰이고 있다.

TCP/IP 모델 - 데이터 전송 과정 추상적으로 이해하기

4계층을 통한 네트워크 추상적 이해

TCP/IP 모델의 4단계 계층은 사용자가 접하는 상위에서 물리적인 하위 순서로 응용 계층-전송 계층-인터넷 계층-네트워크 인터페이스 계층으로 나뉜다.

데이터를 보낼 때는 응용 계층부터 네트워크 인터페이스 계층까지 상위에서 하위의 과정을 따라 데이터가 전송될 수 있게 가공되고, 인터넷 등을 통해 데이터가 전송된 후에는 하위에서 상위의 과정을 거쳐 데이터를 해석하여 사용자에게 전달된다.

하위의 과정에서 상위의 과정으로 TCP/IP 계층을 설명하자면,

네트워크 인터페이스 계층

네트워크 인터페이스 계층은 인접한 기기들의 물리적인 연결이 이루어지는 단계다. 네트워크 인터페이스 계층에서는 대개 모든 프로토콜을 지원하며, 기기들은 이더넷 프로토콜, 무선 LAN 프로토콜, Wi-Fi 기술 등을 통해 서로 연결된다. 직접 연결된 기기들은 인터넷 없이도 서로 데이터를 주고 받을 수 있으며, 물리적인 주소인 MAC 주소를 사용한다.

인터넷 계층

인터넷 계층은 네트워크와 네트워크를 연결하여 인터넷을 만드는 단계다. 네트워크를 연결하는 역할을 수행하는 장비가 라우터로, 라우터는 패킷이 라우터에서 라우터로, 최적의 경로를 통해 전송되도록 라우팅한다. 목적지를 규정하는 주소로는 IP 주소를 사용한다. 네트워크 인터페이스 계층에서 연결되던 인접한 네트워크 LAN은 인터넷 계층을 통해서 원거리 통신인 WAN과 인터넷으로까지 확장된다. 인터넷 계층에서는 대부분의 기기들이 IP주소와 라우팅을 규정한 IP 프로토콜을 따르고 있기에 인터넷이 가능하다.

전송 계층

전송 계층에서는 전송되는 데이터의 신뢰성이나 전송된 데이터 배분에 대한 작업이 이루어진다. 전송 계층에서는 포트 라는 주소를 사용하여 수신한 데이터를 어느 응용프로그램으로 배분할지 정한다. 전송 계층에서 사용하는 프로토콜로는 신뢰성을 중요시하는 TCP 프로토콜이 있고, 데이터 유실을 감수하면서도 빠르게 정보를 전송하는 UDP 프로토콜이 있다.

응용 계층

응용 계층 단계에서는 응용프로그램의 서비스에 따라 각각 사용되는 프로토콜이 있다. 응용프로그램의 종류만큼 응용 계층의 프로토콜도 다양하며, 새로운 서비스가 생기면 이에 사용되는 새로운 프로토콜도 개발된다. 대표적으로 HTTPHTTPS는 웹서비스에서 쓰이는 프로토콜이고, POP3SMTP는 메일을 보낼때 쓰는 프로토콜이다.

응용 계층의 프로토콜은 응용프로그램에 따라, 네트워크 인터페이스 계층의 프로토콜은 하드웨어에 따라 달라질 수 있다. 그러나 전송 계층과 인터넷 계층의 TCP 프로토콜IP 프로토콜은 대부분의 기기에서 공통적으로 쓰인다. 프로토콜 조합의 중심에 TCPIP 프로토콜이 있기 때문에 모델명도 TCP/IP라고 불리고 있다.

아래 사이트를 참고하여 정리했습니다

  1. 인터넷은 어떻게 동작하는가? : MDN
  2. 쉽게 이해하는 네트워크 11. 인터넷의 TCP/IP 프로토콜과 패킷 교환 방식
  3. 쉽게 이해하는 네트워크 5. 프로토콜과 네트워크 아키텍처 - OSI 모델과 TCP/IP 모델
  4. 쉽게 이해하는 네트워크 6. 인터넷의 핵심인 TCP/IP의 개요 (ft. 애플리케이션의 개발)
  5. 쉽게 이해하는 네트워크 7. TCP/IP 계층의 특징과 역할 및 프로토콜
  6. 아파넷 - 위키백과
  7. 모뎀의 동작 원리
  8. 네트워크 프로그래밍 : TCP/IP 개론
  9. 네트워크 - 3 TCP/IP 프로토콜
  10. 1계층 물리계층에 대해 살펴보자
  11. OSI 7계층 프로토콜
  12. (6) 물리 계층과 데이터링크 계층 해석

작성자: 이희진

작성일: 2021-08-08