Computer Networking: A Top-Down Approach, 7th Edition의 번역 및 정리입니다.
인터넷이란 무엇일까? 인터넷이 무엇인지 설명하는 데에는 두 가지 방식이 있다. 첫 번째는 인터넷을 구성하는 요소들을 통한 설명이고, 나머지는 무엇을 위해 인터넷이 필요한지를 통한 설명이다.
인터넷은 세계에 있는 수십억 개의 컴퓨팅 장치들을 서로 연결시키는 컴퓨터 네트워크다. 이 장치에는 전통적인 의미에서의 데스크톱 PC 뿐만 아니라, 랩톱, 스마트폰, TV 등이 있으며, 이 장치들을 가리켜 호스트(host) 또는 종단 시스템(end system)이라 부른다.
종단 시스템은 통신 링크(communication link)와 패킷 스위치(packet switch)의 네트워크로 연결되어 있다. 통신 링크에는 그것을 이루는 물리 매체에 따라 여러 종류가 있고, 서로 다른 링크는 데이터를 서로 다른 속도(transmission rate, 전송율. bits/second로 측정)로 전송한다. 한 종단 시스템에서 다른 종단 시스템으로 데이터를 보낼 때, 전송하는 측은 데이터를 세그먼트로 나누고, 각 세그먼트에 헤더 바이트들을 추가한다. 이 결과를 패킷(packet)이라 부른다. 패킷은 목적 종단 시스템까지 네트워크를 통해 보내지며 거기서 원본 데이터로 재조립된다.
패킷 스위치는 들어오는 통신 링크 중 하나에 도착하는 패킷을 받아 나가는 통신 링크 중 하나로 전달하는 역할을 한다. 패킷 스위치에도 여러 종류가 있지만, 오늘날의 인터넷에서 가장 많이 쓰이는 것은 라우터(router)와 링크 계층 스위치(link-layer switch)다. 링크 계층 스위치는 액세스 네트워크(access network)에서 주로 쓰이고, 라우터는 보통 네트워크 코어(network core)에서 쓰인다.
종단 시스템, 패킷 스위치 등은 인터넷에서의 정보 송수신 제어를 위해 프로토콜(protocol)을 실행한다. 대표적으로는 TCP(Transmission Control Protocol), IP(Internet Protocol)이 주로 쓰인다.
1.1에서는 인터넷을 구성하는 요소들을 통해 인터넷이 무엇인지 설명하려고 했지만, 완전히 다른 각도에서 인터넷을 설명할 수도 있다. 말하자면 "애플리케이션에 서비스를 제공하기 위한 기반"이라 할 수 있다. 여기서 애플리케이션은 서로 데이터를 교환하는 복수의 종단 시스템을 포함하는 분산 애플리케이션(distributed application)이다. 인터넷 애플리케이션은 종단 시스템에서 실행되지, 네트워크 코어의 패킷 스위치에서 실행되지 않는다. 물론 패킷 스위치가 종단 시스템 간 데이터 교환을 용이하게 만들기는 하지만, 애플리케이션의 입장에서는 데이터의 소스, 혹은 싱크로 생각되지 않는다.
인터넷 종단 시스템은 소켓 인터페이스(socket interface)를 제공해야 한다. 소켓 인터페이스는 한 종단 시스템에서 실행되는 프로그램의 데이터가 다른 종단 시스템에서 실행되는 프로그램에 어떻게 전달되어야 하는지를 인터넷-기반에 명시한다. 이 인터넷 소켓 인터페이스는 인터넷이 목적지의 프로그램에 데이터를 전달할 수 있게 하기 위해 송신 프로그램이 따라야 할 규칙들의 집합이다.
두 통신 엔티티 사이에서 메시지가 제대로 교환되기 위해서는, 해당 엔티티들이 ㄴ메시지 교환 이전에 메시지 형식 등 구체적 교환 방식을 공유해야 할 필요가 있으며, 이때 쓰이는 것이 프로토콜이다.
프로토콜은 메시지 송수신 등, 둘 이상의 통신 엔티티 사이에서 교환되는 메시지의 형식 및 순서를 정의한다.
인터넷 및 일반적인 컴퓨터 네트워크에서는 프로토콜을 아주 많이 사용한다. 서로 다른 프로토콜은 서로 다른 목적을 가지는 통신 작업을 수행하는 데 사용되며, 컴퓨터 네트워킹 영역을 마스터한다는 것은 사실 어떤 네트워킹 프로토콜을 왜, 어떻게 사용하는지 이해한다는 것과 같은 말이다.
인터넷을 설명하기 위한 방식에는 두 가지가 있다.
프로토콜은 둘 이상의 통신 엔티티 사이에서 교환되는 메시지의 형식 및 순서를 정의.
새로운 시리즈가 생겼군요. 응원합니다~!