인터넷은 분산 애플리케이션에 서비스를 제공하는 infrastructure로서, 네트워크의 네트워크(network of networks)다.
인터넷의 구성 요소를 통해, 컴퓨터 네트워크의 개요와 컴퓨터 네트워크에서 사용되는 용어를 살펴보자.
인터넷은 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크다.
모든 장치는 인터넷 용어로 호스트(host) 혹은 종단 시스템(end system)이라고 부른다.
종단 시스템은 통신 링크(communication link)와 패킷 스위치(packet switch)의 네트워크로 연결된다. 이때 각각의 링크들은 다양한 전송률(transmission rate, 링크 대역폭)을 이용하여 데이터를 전송하며 전송률은 초당 비트 수를 의미하는 bps(bit per second) 단위를 사용한다. 한 종단 시스템이 다른 종단 시스템으로 보낼 데이터를 갖고 있을 때, 송신 종단 시스템은 그 데이터를 세그먼트(segment)로 나누고 각 세그먼트에 헤더(header)를 붙인다. 이렇게 만들어진 정보 패키지는 컴퓨터 네트워크에서 패킷(packet)이라고 부른다. 패킷은 목적지 종단 시스템으로 네트워크를 통해 보내지고 목적지에서 원래의 데이터로 다시 조립된다.
패킷 교환기(또는 스위치)는 입력 통신 링크의 하나로 도착하는 패킷을 받아서 출력 통신 링크의 하나로 그 패킷을 전달한다. 오늘날의 인터넷에서 가장 널리 사용되는 두 가지 패킷 스위치는 라우터(router)와 링크 계층 스위치(link-layer switch)가 있다. 두 형태의 스위치는 최종 목적지 방향으로 패킷을 전달한다. 링크 계층 스위치는 보통 접속 네트워크에서 사용되고 라우터는 네트워크 코어에서 사용된다. 패킷이 송신 종단 시스템에서 수신 종단 시스템에 도달하는 동안 거쳐온 일련의 통신 링크와 패킷 스위치를 네트워크상의 경로(route 혹은 path)라고 한다.
종단 시스템은 ISP(Internet Service Provider)를 통해 인터넷에 접속한다. ISP는 종단 시스템에게 케이블 모뎀이나 DSL 같은 가정용 초고속 접속, 고속 LAN 접속, 이동 무선 접속을 포함하는 다양한 네트워크 접속을 제공한다. 인터넷은 종단 시스템을 서로 연결하는 것이므로 종단 시스템에 접속을 제공하는 ISP들도 서로 연결되어야만 한다.
종단 시스템, 패킷 스위치를 비롯한 인터넷의 다른 구성요소는 인터넷에서 정보 송수신을 제어하는 여러 프로토콜(procotol)을 수행한다. 특히 TCP(Transmission Control Protocol)와 IP(Internet Protocol)는 인터넷에서 가장 중요한 프로토콜이다. 이러한 인터넷의 주요 프로토콜을 통칭하여 TCP/IP라고 한다.
인터넷에서 프로토콜의 중요성을 감안할 때, 상호 호환되는 시스템과 제품을 만들기 위해서는 표준화가 매우 중요하다. 인터넷 표준은 IEFT(Internet Engineering Task Force)에서 개발하며, IEFT 표준 문서를 RFC(requests for comments)라고 한다. 이들은 TCP, IP, HTTP, SMTP 같은 프로토콜을 정의하고, 현재 약 9,000개 이상의 RFC가 있다. 다른 기구들도 네트워크 구성요소에 대한 표준을 기술하며, 예를 들어 IEEE 802 LAN 표준위원회는 이더넷과 무선 와이파이(WiFi) 표준을 기술한다.
네트워크의 가장자리에 있는 종단 시스템(end-system)
link와 switch의 네트워크를 통해 데이터를 이동시키는 방식에는 패킷 교환(packet switching)과 회선 교환(circuit swtching)이라는 두 가지 기본 방식이 있다.
네트워크 애플리케이션에서 종단 시스템들은 서로 메시지(message)를 교환한다. host는 application-layer message를 패킷(packet)으로 쪼갠다. 송신 측과 수신 측 사이에서 각 패킷은 통신 링크와 packet switch(router와 link-layer switch의 두 가지 유형이 있음)를 거치게 된다.
network forwards(a.k.a. switches) packets from one router to the next, across links on path from source to destination
store-and-forward (저장-후-전달 전송)
대부분의 packet switch가 이용하는 방식으로, switch가 출력 link로 packet의 첫 bit를 전송하기 전에 전체 packet을 받아야 함을 의미한다.
queueing
packet queuing and loss:
라우터에 도착하는 packet의 전송률(in bps)이 link의 전송률(bps)을 초과하는 시점에
종단 시스템 간에 통신을 제공하기 위해 경로상에 필요한 자원(버퍼, link 전송률)은 통신 세션(session) 동안에 확보 또는 예약(reservation)된다.
link 내 한 회선은 주파수 분할 다중화(frequency-division multiplexing, FDM) 혹은 시분할 다중화(time-division multiplexing, TDM)로 구현된다.
회선 교환이 요구에 관계없이 전송 link의 사용을 할당하는 반면에 패킷 교환은 요구할 때만 link의 사용을 할당하기 때문에 패킷 교환의 성능이 회선 교환보다 더 우수하다.
전기통신 네트워크에서 추세는 패킷 교환으로 바뀌고 있으며, 오늘날의 많은 회선 교환 전화망이 패킷 교환 방식으로 전환되고 있다.
종단 시스템(PC, 스마트폰, 웹 서버, 메일 서버 등)은 접속 ISP를 통해 인터넷에 연결된다.
접속 ISP는 DSL, 케이블, FTTH, 와이파이, 셀룰러(이동 통신)를 포함하는 다양한 접속 기술을 이용하여 유선 혹은 무선 연결을 제공한다.
이러한 접속 ISP들은 서로 연결되어야 하고, 이를 위해 네트워크의 네트워크(network of networks)가 탄생하게 되었다.
프로토콜은 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의한다.
i.e. 통신하는 둘 이상의 원격 개체가 포함된 인터넷에서의 모든 활동은 프로토콜이 제어한다.
통신 프로토콜(Communication protocols)은 TCP/IP나 HTTP와 같은 기본적인 데이터 통신을 포함한다.
관리 프로토콜(Management protocols)은 ICMP나 SMNP와 같은 프로토콜을 통해 네트워크를 유지 및 관리한다.
보안 프로토콜(Security protocols)은 HTTPS, SFTP, SSL을 포함한다.
네트워크 프로토콜의 설계에 대한 구조를 제공하기 위해, 네트워크 설계자는 프로토콜을 계층으로 조직한다.
계층구조의 장점
e.g. TCP/IP Model, OSI Model