인터넷의 작동원리

진영·2024년 4월 23일
0

공부

목록 보기
1/1

시작하기에

인터넷이란, 컴퓨터들이 서로 통신 가능한 거대한 네트워크로

인터넷의 초기 형태이였던 ARPANET은 냉전 중 1969년에 미 국방부 고등연구계획국(ARPA)에서 컴퓨터가 먼 거리에서 서로 통신할 수 있는 네트워크를 구축하는 것을 목표로 ARPANET이라는 프로젝트를 시작했다.

군사 및 연구 목적으로 사용되었던 ARPANET이 1980년대에 임무를 완수하고 단계적으로 폐지되면서
연구 목적으로 사용되다 규모가 커지고 나서 이젠 모두가 사용하는 인터넷이 되었다.

단순 네트워크

1:1 연결

기본적으로 인터넷은 컴퓨터들이 서로 물리적으로(이더넷 케이블 등) 또는
무선으로 연결되어 두 대 이상의 컴퓨터가 데이터를 주고 받는것이다.

모든 현대 컴퓨터들은 이러한 연결 중 하나를 이용하여 데이터를 주고 받는다.

하지만 아래와 같이 인터넷은 두 대의 컴퓨터가 연결되어 있는 것이 아니라, 무수히 많은 컴퓨터가 연결되어 있는데 모든 컴퓨터끼리 연결을 하기엔 매우 복잡해진다. 예를 들어 컴퓨터 10대가 있는 네트워크를 구성하려면 10(101)/2=4510(10-1)/2 = 45개의 케이블이 필요하다.

이러한 문제점을 해결하기 위해 우리는 라우터라는 특수한 소형 컴퓨터를 사용하는데
라우터라는 소형 컴퓨터는 한 가지 작업만 하게 설계되어있다.
철도역의 신호원처럼 주어진 컴퓨터에서 보낸 메시지가 올바른 대상 컴퓨터에 도착하는지 확인한다. 컴퓨터 A가 컴퓨터 B에게 메시지를 보내기 위해선 라우터에 메시지를 보내고 라우터는 받은 메시지를 수신자인 컴퓨터 B에게 전달해야한다. 또한 다른 컴퓨터로 송신되지 않게 해야한다.

라우터를 설치하니 모든 컴퓨터끼리 케이블을 연결했을 때와 다르게 각 컴퓨터를 라우터에 연결하면 되니 케이블을 10개만 사용해도 된다.


네트워크 속 네트워크

라우터를 사용해 여러 대의 컴퓨터를 수용할 수 있게 됐지만, 아직 라우터 하나론 더 많은 컴퓨터를 수용하기엔 라우터의 플러그 수도 제한되어있다. 이런 문제를 해결하기 위해 라우터도 컴퓨터와 마찬가지로 라우터끼리 연결할 수 있다.

라우터끼리 연결

컴퓨터와 라우터를 연결하고 라우터와 라우터를 연결해 무한하게 네트워크를 확장할 수 있다.

이 네트워크는 우리가 인터넷이라 부르는 것과 매우 유사하다.

상대적으로 적은 케이블로 많은 컴퓨터를 연결이 가능하다. 하지만 아직까진 물리적인 한계가 있다.
만약 내가 아주 먼 곳까지 네트워크를 연결하고 싶은데 그곳까지 라우터와 유선 케이블을 연결하기엔 무리가 있다.

하지만 우리는 집집마다 전화선이라는 케이블이 설치되있다. 전화기 기반의 시설은 이미 세계 어느 곳과도 연결되어 있으므로 우리가 필요로 하는 완벽한 배선이니 전화선을 이용하면 된다.
우리는 네트워크와 전화 시설을 연결하기 위해 모뎀(MODEM, Modulator and DEModulator)이라는 특수 장비가 필요하다.

이 모뎀은 우리 네트워크의 정보를 전화 시설에서 처리 할 수있는 정보로 바꾸며, 그 반대의 경우도 마찬가지로 네트워크에서 처리할 수 있는 정보로 바꿔준다.


모뎀을 통해 우리의 네트워크는 전화 시설에 연결된다.

그리고 우리의 네트워크에서 도달하려는 네트워크에 메시지를 보내야 한다.

이 메시지가 전달되려면 인터넷 서비스 제공 업체(ISP, Internet Service Provider)에 연결되어야 한다.


ISP는 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스 할 수 있는 회사이다. 우리나라에는 SKT, KT, LG 등이 있다.

따라서 우리 네트워크의 메시지는 ISP 네트워크의 네트워크를 통해 대상 네트워크로 전달된다.


컴퓨터 찾기

컴퓨터에 메시지를 보내려면 메시지를 받을 특정 컴퓨터를 지정해야합니다.
따라서 네트워크에 연결된 모든 컴퓨터에는 IP 주소 (IP는 인터넷 프로토콜을 나타냄)라는 고유한 주소가 있고, 주소는 점으로 구분 된 네 개의 숫자로 구성된 주소로 되어있다.
예: 192.168.2.10.

컴퓨터는 이러한 주소로 다른 컴퓨터를 찾아가는데 문제가 없지만,
우리들은 IP주소를 기억하기 어려우니 도메인 이름 이라고하는 사람이 읽을 수 있는
IP 주소의 이름을 지정할 수 있다.

예를 들어 google.com은 IP 주소로 173.194.121.32 입니다. 따라서 도메인 이름IP주소보다 인터넷을 사용하기에 쉽다.


인터넷과 웹

웹 브라우저를 사용하여 웹을 탐색 할 때 일반적으로 도메인 이름을 사용하여 웹 사이트에 접속하는데, 이게 인터넷과 웹이 같은 것을 의미하진 않는다.

앞에서 보았듯이 인터넷은 수십억 대의 컴퓨터를 모두 연결하는 기술 인프라이다.
이러한 컴퓨터들 중에 일부는 웹 서버로서 웹 브라우저가 이해할 수 있는 서비스를 제공한다. 인터넷은 인프라이며, 웹은 그 인프라 기반 위에 구축된 서비스입니다. 웹 뿐만 아니라 인터넷 위에 구축된 다른 서비스들(이메일, IRC 등)도 있음을 알아야한다.


DNS 설명

실제 웹 주소는 멋지거나, 여러분이 선호하는 웹사이트를 찾기 위한 주소 막대에 입력하는 기억할만한 문자가 아닙니다. 그것은 63.245.217.105 같은 숫자 덩어리로, 이런 주소를 IP주소라 한다.

웹의 하나뿐인 특정 위치를 나타냅니다. 그러나 기억하기에 쉽지는 않은 형태여서 사람이 쉽게 기억할 수 있는 문자열 형태의 도메인 이름 서버가 발명되었다. 도메인 이름 서버는 여러분이 브라우저에 입력하는 웹주소 mozilla.org 같은 웹사이트의 실제 (IP) 주소에 맞춰주는 특별한 서버이다.

웹사이트는 그들의 IP 주소를 통해 직접 접근할 수도 있다. IP Checker와 같은 도구에 도메인을 입력해 IP 주소를 찾을 수 있습니다.


패킷과 프로토콜

우리가 전송하는 데이터로는 텍스트, 이미지 등이 있는데, 통째로 전송하지 않고 작게 나눠서 보낸다.

이 작게 나눈 데이터 조각을 패킷이라고 한다.
전송되는 패킷은 전자 신호로 변환되어 이더넷 케이블이라는 전선을 먼저 통과해야 한다.

전자 신호는 0과 1로 이루어져 있고, 이 신호를 다른 컴퓨터에 전송하면
다시 원래의 데이터로 변환해야 하는데, 아무런 양식 없이 전송하면 다른 컴퓨터가
이 데이터가 텍스트인지 이미지인지 어떻게 변환해야 하는지 알 수 없다.

따라서 데이터를 전송하는 특정 양식(통신 규약)을 정해놓았는데, 이것을 프로토콜이라고 한다.

프로토콜은 장치마다 처리하는 역할마다 다양하다.
프로토콜을 각 역할로 구분하여 계층을 나눠놓은 것을 TCP/IP 4 Layer라고 한다. 이렇게 구분해 놓으면 서로 간에 간섭을 최소화하여 편리성을 높일 수 있다.

L4 - 응용(Applicaiton) 계층 (HTTP, FTP, SMTP 등)
웹(HTTP), 이메일(SMTP), 파일전송(FTP) 같은 응용프로그램을 위한 프로토콜

L3 - 전송(Transport) 계층 (TCP)
응용프로그램을 구분하는 포트 번호를 통해 컴퓨터에서 돌아가는 프로그램들 중 특정 응용 프로그램 하나를 찾아감

L2 - 인터넷(Internet) 계층 (IP)
IP 주소를 통해 수많은 컴퓨터들 중 특정 컴퓨터 하나를 찾아감

L1 - 네트워크 연결(Network Accesss) 계층
전선과 장비들을 통해 물리적으로 데이터 전송하기 위해 적절한 디지털/아날로그 신호 등등으로 변환함

이러한 4개의 계층을 합쳐 TCP/IP 4계층이라고도 한다.

응용 프로그램에서 데이터를 전송하면 각 프로토콜에 따라 패킷이 만들어지고,
아래 계층으로 내려가며 각 계층의 프로토콜에 따라 해석되거나 다른 정보가 덧붙여져
그 아래 계층으로 내려간다.

네트워크 연결 계층까지 오면 전선과 장치들을 통해 인터넷으로 전송되고,
아래 계층부터 위 계층까지 차례대로 거쳐 프로토콜에 의해 원본 데이터에 해석된다.

이러한 구분을 통해 서로 간에 간섭이 최소화되어 편하지만,
응용 계층에서는 응용 프로그램끼리의 해석만 신경 쓰면 되고 그 밑에
이 응용 프로그램을 어떻게 찾아오는지, 컴퓨터를 어떻게 찾아가는지, 디지털/아날로그 신호로 어떻게 바꾸는지 신경 쓰지 않아도 되기 때문이다.


✏️Reference

profile
개발하고 만드는걸 좋아합니다

0개의 댓글

관련 채용 정보