[Computer Networking - A Top Down Approch] 원서와 번역본을 읽고 작성한 글입니다. 오역이 있을 수 있습니다.
Chapter 1.1.1 ~ 1.1.2
인터넷이란 무엇일까?
이 질문에 답하기 위한 두 가지 방법이 있다.
1. 인터넷의 구성요소(nuts and bolts) 기술하기
2. 분산 애플리케이션에 서비스를 제공하는 네트워킹 인프라스트럭처 관점에서 인터넷 기술하기
아직은 무슨 의미인지 감이 오지 않는다. 알아보자.
1. 구성요소로 본 인터넷 (Nuts and Bolts View)
1.1 호스트(host) = 종단 시스템(end system)
인터넷은 전 세계적 수십 억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크다.
- 여기서 말하는 컴퓨팅 장치는 전통적인 데스크톱 PC, 리눅스 워크 스테이션, 웹 / 메일 서버였으나, 요즘은 스마트폰, 테블릿, IoT 등이 인터넷에 연결되면서 컴퓨터 네트워크라는 용어는 진부하게 느껴지고 있다.
이러한 모든 장치는 호스트(host) 혹은 종단 시스템(end system)이라고 부른다.
종단 시스템(end system)은 통신링크(communication link)와 패킷 스위치(packet switch)의 네트워크로 연결된다.
1.2 통신링크(communication link)와 패킷(packet)
통신링크(communication link)는 동축케이블, 구리선, 광케이블 등 다양한 물리 매체로 구성된다.
이때 각각의 링크들은 다양한 전송 속도(transmission rate, 링크 대역폭)을 이용하여 데이터를 전송한다.
- 전송 속도은 초당 비트 수를 의미하는 bps(bit per second) 단위를 사용한다.
한 송신 종단시스템(end system)에서 수신 종단시스템(end system)으로 데이터를 보낸다고 하자.
송신 end system은 데이터를 세그먼트로 나누고 header를 붙인다.
이렇게 만들어진 정보 패키지를 패킷(packet)이라고 부른다.
패킷은 목적지에서 원래의 데이터로 다시 조립된다. 🧱
1.3 패킷 스위치(packet switch) = 패킷 교환기
패킷 스위치(packet switch)는 입력 통신 링크 중 하나로 도착하는 패킷을 받아 출력 통신 링크 중 하나로 전달한다.
패킷 스위치 형태는 많지만 오늘날 가장 널리 사용되는 두 가지는 다음과 같다.
라우터(router) - 주로 접속 네트워크에서 사용
링크 계층 스위치(link-layer switch) - 주로 네트워크 코어에서 사용
패킷이 전달되는 동안 거쳐온 일련의 통신 링크와 패킷스위치를 경로(route 혹은 path)라고 한다.
1.4 패킷 교환 네트워크는 고속도로와 비슷하다 🛣️
패킷 교환 네트워크는 고속도로, 도로, 교차로 등의 수송 네트워크와 유사하다.
굉장히 먼 목적지 창고로 많은 양의 화물을 옮겨야 하는 공장이 있다고 하자.
공장에서 화물📦은 세그먼트화되고 각 트럭🚛에 나눠져 운반된다.
각 트럭은 고속도로, 도로, 교차로등의 네트워크를 통해 목적지 창고로 이동한다.
목적지 창고에서 화물은 실려온 나머지 화물들과 합쳐진다.
따라서 패킷은 트럭과 유사하고 통신 링크는 고속도로 또는 도로 와 유사하며 패킷 스위치는 교차로와 유사하다.
1.5 ISP를 통한 인터넷 접속
종단 시스템(end system)은 ISP(Internet Service Provider)를 통해 인터넷에 접속한다.
ISP는 패킷 스위치와 통신 링크로 이루어진 네트워크다.
종단 시스템(end system)에게 케이블 모뎀이나 DSL 같은 가정용 초고속 접속, 고속 LAN 접속, 이동 무선 접속 등 다양한 네트워크 접속을 제공한다.
인터넷은 end system을 서로 연결하는 것이므로 end system에 접속을 제공하는 ISP들도 서로 연결되어야만 한다.
이러한 하위 ISP들은 국제 상위 계층 ISP를 통해 서로 연결한다. 그리고 상위 계층 ISP들은 서로 직접 연결된다.
상위 계층이든 하위 계층이든 ISP 네트워크는 따로 관리되고 IP 프로토콜을 수행하며 네이밍과 주소 배정 방식을 따른다.
1.6 프로토콜(protocol)
end system, packet switch를 비롯한 인터넷의 다른 구성요소는 프로토콜(protocol)을 수행한다.
특히 TCP와 IP가 중요
IP 프로토콜은 router와 end system 사이에 송수신되는 패킷 포맷 기술
이러한 인터넷의 주요 프토콜을 TCP / IP라고 통칭함.
프로토콜에 관련된 내용은 다음 게시물에서 상세히 설명
1.7 인터넷 표준 (internet standard)
인터넷에서 프로토콜의 중요성을 감안할 때, 프로토콜이 무엇을 수행하는지 합의하는 것도 중요하다.
- 이것이 표준을 만드는 이유다.
인터넷 표준은 IETF(Internet Engineering Task Force)에서 개발하며 IETF 표준문서를 RFC(requests for comment)라고 한다.
이들은 TCP, IP, HTTP, SMTP 같은 프로토콜을 정의하며, 현재 약 9,000개 이상의 RFC가 있다.
2. 서비스 측면에서 본 인터넷
앞서 인터넷을 구성하는 여러 구성 요소를 살펴봤다. 우리는 다른 관점에서도 인터넷을 기술할 수 있다.
즉, 애플리케이션에 서비스를 제공하는 인프라스트럭처로서 인터넷을 기술할 수 있다.
인터넷 애플리케이션은 전자메일, 웹 서핑과 같은 전통적인 애플리케이션 뿐만 아니라, 스트리밍, 지도 서비스, 모바일 스마트폰과 태블릿 애플리케이션을 포함한다.
이러한 애플리케이션은 서로 데이터를 교환하는 많은 end system을 포함 하기 때문에 분산 어플리케이션(distributed application)이라고 부른다.
중요 : 인터넷 애플리케이션은 end system에서 수행된다. (네트워크 코어에 있는 패킷 스위치에서 수행되지 않는다)
- 패킷 스위치는 end system 간의 데이터 교환을 쉽게 해주지만 애플리케이션에는 관심 X
인터넷에 접속된 end system은 소켓 인터페이스(socket interface)를 제공한다.
소켓 인터페이스란, 한 end system에서 수행되는 프로그램이 어떻게 다른 end system에서 실행되고 있는 특정 목적지 프로그램으로 데이터를 전송하도록 요구하는지에 대해 명시한 것이다.
송신 프로그램이 따라야 하는 규칙의 집합이며, 인터넷은 이 규칙에 따라 데이터를 목적지 프로그램으로 전달하게 된다.