[CS] 1. 인터넷 작동원리

tngus2sh·2024년 1월 24일

CS

목록 보기
1/4

인터넷

여러 통신망을 하나로 연결한다는 의미에서 출발하여 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망을 의미

인터넷은 클라이언트와 서버로 구성되어 있으며, TCP/IP라는 기본 프로토콜을 통해 제공된다.

server
인터넷 서비스를 제공하는 프로그램이나 컴퓨터를 의미
client
서버가 제공하는 인터넷 서비스를 이용하는 사용자 또는 사용자가 사용하는 기기
웹 브라우저
웹 서버에서 웹 페이지를 가져오거나 웹 서버로 정보를 사용하는 프로그램
웹 브라우저는 사용자가 웹 페이지를 요청하면 웹 서버에 저장되어 있는 웹 페이지 정보를 불러와서 사용자의 화면에 출력한다.
대표적으로 구글 크롬, 파이어폭스, 사파리, 오페라 등이 있다.

TCP/IP
패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져 있다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.
TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP위에서 동작하기 때문에 묶어서 TCP/IP로 부르기도 한다.

인터넷 주소

인터넷 상에서 특정 컴퓨터나 서버를 찾기 위해서는 IP 주소 또는 도메인 네임을 알고 있어야 한다.

IP 주소(Internet Protocol address)
컴퓨터들이 서로를 인식하기 위해 지정받은 식별용 번호

  • IPv4 : 현재 사용되고 있는 IP 주소 체계는 IPv4(IP 버전4)로 0부터 255까지의 십진수 네 개를 점(.)으로 구분하여 사용한다.(ex, 192.192.66.66)
  • IPv6 : 32비트의 주소 체계인 IPv4는 이론상 약 43억개의 IP 주소를 나타낼 수 있지만, 인터넷의 급격한 발달에 따라 IP 주소가 부족해지는 현상이 발생하였고, 이에 대한 해결책으로 고안된 128비트의 주소 체계인 IPv6(IP 버전6)의 사용이 점점 증가되고 있는 추세이다.

도메인 네임(Domain name)
IP 주소는 기억하기가 어렵기 때문에 기억하기 쉬운 문자 형태로 표현한 주소를 도메인 네임이라고 한다.
'velog.io'와 같이 문자와 점(.)의 조합으로 구성된다. 이러한 도메인 네임을 통해 각각의 컴퓨터를 식별할 수 있게 해주는 호스트명이 된다.

도메인 네임 시스템(Domain Name System, DNS)
도메인 네임은 사람이 외우기 쉽도록 만든 주소로 컴퓨터는 그 의미를 알기 어렵다. 따라서 도메인 네임을 실제 IP주소로 변환해주는 작업을 거쳐야 한다. 이때 미리 도메인 네임과 함께 해당하는 IP주소값을 한 쌍으로 저장하고 있는 데이터베이스를 DNS라고 부르며, 이 변환 과정은 네트워크 내부에서 자동으로 수행된다.



네트워크

서로 데이터를 보낼 수 있는 연결된 컴퓨터 그룹

두 개의 컴퓨터가 통신이 필요할 때, 다른 컴퓨터와 물리적으로(보통, 이더넷 케이블) 또는 무선으로(Wifi, Bluetooth) 연결되어야 한다.
이러한 네트워크는 두 대의 컴퓨터로 제한되지 않고, 원하는 만큼의 컴퓨터와 연결할 수 있다.
하지만, 그렇게 연결할 경우 많은 컴퓨터를 연결해야할 때 많은 케이블을 연결해야한다는 점이 있다.

이 문제를 해결하기 위해 네트워크의 각 컴퓨터는 라우터라고 하는 특수한 소형 컴퓨터에 연결이 된다. 이 라우터는 보낸 메시지가 정확하게 전달되는지 확인하는 역할을 한다.
예를 들어, 컴퓨터 B에게 메시지를 보내려면 컴퓨터 A가 메시지를 라우터로 보내야하며, 라우터는 메시지를 컴퓨터 B로 전달하고 메시지가 컴퓨터 C로 배달되지 않도록 한다.
라우터를 시스템에 추가하면 10대의 컴퓨터 네트워크에는 10개의 케이블만 필요하게 되어 케이블의 개수를 줄일 수가 있다.

또한, 라우터와 라우터끼리의 연결도 가능하다. 이런식으로 무한히 확장된 라우터는 누구든지 컴퓨터로 이루어진 네트워크를 가질 수 있다. 하지만, 집과 다른 먼 곳에 있는 지역과는 케이블로 연결하기가 어렵다. 이때 사용한 것이 전력 및 전화와 같이 이미 집에 연결된 케이블을 활용하는 것이다.
따라서, 네트워크를 전화 시설과 연결시킬 수 있는 모뎀이라는 장치가 필요하고, 모뎀은 네트워크의 정보를 전화 시설에서 처리 할 수 있는 정보로 바꾸며, 그 반대의 경우도 가능하다.

그래서 네트워크는 전화 시설과 연결이 된다. 그렇다면 네트워크에서 다른 네트워크로 메시지를 보내게 되면 어떻게 될까?
그렇게 하기 위해 네트워크를 인터넷 서비스 제공 업체(Internet Service Provide, ISP)에 연결한다. (ISP는 LG U+, KT, SKT등이 있다.)
ISP는 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 접근 할 수 있는 회사이다. 따라서, 네트워크의 메시지는 ISP 네트워크의 네트워크를 통해 대상 네트워크로 전달된다. 인터넷은 이러한 전체 네트워크 인프라로 구성된다.

네트워크 메시지는 ISP의 네트워크를 통해 모뎀과 라우터를 지나 대상 네트워크로 전달된다.

웹 동작 원리

①② 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력
③ 사용자가 입력한 URL 주소 중에서 도메인 네임(Domain Name) 부분을 DNS 서버에서 검색
④ DNS 서버에서 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달
⑤⑥ 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성하고, 이렇게 생성된 HTTP 요청 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송
⑦ 도착한 HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환
⑧ 웹 서버는 도착한 웹페이지 URL 정보에 해당하는 데이터를 검색
⑨⑩ 검색된 웹 페이지 데이터는 또 다시 HTTP 프로토콜을 사용하여 HTTP 응답 메시지를 생성하고, 이렇게 생성된 HTTP 응답 메시지는 HTTP 프로토콜을 사용하여 인터넷을 거쳐 원래 컴퓨터로 전송
⑪ 도착한 HTTP 응답 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 데이터로 변환
⑫ 변환된 웹 페이지 데이터는 웹 브라우저에 의해 사용자에게 출력

참고자료
https://developer.mozilla.org/ko/docs/Learn/Common_questions/Web_mechanics/How_does_the_Internet_work
https://tcpschool.com/webbasic/works

profile
백엔드 개발자

0개의 댓글