Forwarding and Routing네트워크에서 데이터 패킷을 라우터의 입력에서 적절한 라우터 출력으로 전송하는 것을 Data Plane이라고 한다. 이는 패킷을 전달하는 역할을 수행한다. 반면, 라우팅은 소스에서 목적지까지 패킷이 이동하는 경로를 결정하는 것을 말한다. 이는 Control Plane의 역할로, 네트워크에서 라우터들이 어떻게 동작해야 하는지 결정한다. 네트워크 Control Plane을 구성하는 두 가지 접근 방식이 있다. 첫 번째는 기존의 개별 라우터 제어(per-router control) 방식으로, 각 라우터는 독립적으로 동작하며 자신의 결정을 내리는 방식이다. 두 번째는 소프트웨어 정의 네트워킹(software defined networking)에서 사용되는 논리적으로 중앙 집..
송신 호스트로 전송된 세그먼트는 데이터그램으로 캡슐화된다. 그 후 네트워크 계층을 통해 라우터를 거쳐 수신 호스트로 전달된다. 수신자는 데이터그램을 받아서 세그먼트를 추출한다. 또한 라우터는 IP 데이터그램을 한 뒤, 입력 포트에서 출력 포트로 이동시킨다. 네트워크 계층의 기능에는 두 가지가 있다:포워딩(Forwarding): 라우터의 입력 링크에서 패킷을 적절한 출력 링크로 이동시키는 과정이다. 포워딩은 환승역에서 기차를 갈아타는 것으로 비유할 수 있다.라우팅(Routing): 소스에서 목적지까지 패킷이 전달되는 경로를 결정하는 과정이다. 라우팅은 여행을 계획하는 과정으로 비유할 수 있다.라우팅 알고리즘은 네트워크에서 패킷의 경로를 결정하는 데 사용되는 알고리즘이다. 이 알고리즘은 네트워크의 상황과 ..
The Internet 인터넷 네트워크의 기본 구성 요소는 다음과 같다: 수십억 개의 연결된 컴퓨팅 장치: 이들 장치는 '호스트' 또는 '엔드 시스템'이라고도 불리며, 인터넷의 "가장자리"에서 네트워크 애플리케이션을 실행한다. 패킷 스위치: 패킷(데이터 조각)을 전달하는 역할을 한다. 이에는 라우터와 스위치가 포함된다. 통신 링크: 광섬유, 구리, 무선, 위성 등 다양한 매체를 통해 데이터를 전송한다. 이러한 링크의 데이터 전송 속도는 '대역폭'으로 측정된다. 네트워크: 디바이스, 라우터, 링크 등의 모음으로서 특정 조직에 의해 관리된다. 인터넷은 이러한 구성 요소들이 복잡하게 연결되어 있어 전 세계적인 통신망을 형성하고 있다. 인터넷은 말 그대로 "네트워크의 네트워크"로, 다양한 종류의 네트워크가 상호..
Transport services and protocols 전송 계층은 다른 호스트에서 실행되는 응용 프로그램 프로세스 간의 논리적 통신을 제공한다. 이 계층의 주된 역할은 데이터 전송을 관리하고, 오류를 검출 및 복구하며, 데이터 흐름을 제어하는 것이다. 전송 프로토콜이 종단 시스템에서 수행하는 작업들은 다음과 같다: 송신자: 응용 프로그램 메시지를 세그먼트로 분할하고, 이를 네트워크 계층으로 전달한다. 수신자: 세그먼트를 재조립하여 메시지를 만들고, 이를 응용 계층으로 전달한다. 인터넷 응용 프로그램에 사용 가능한 두 가지 전송 프로토콜이 있다: TCP (Transmission Control Protocol): 신뢰성 있는 스트림 서비스를 제공한다. 즉, 데이터는 순서대로 도착하며 중복되거나 누락되지..
Network application 네트워크 애플리케이션은 여러 다른 종단 시스템(End Systems)에서 실행되고 네트워크를 통해 서로 통신하는 프로그램을 작성하는 과정이다. 예를 들어, 웹 서버 소프트웨어는 브라우저 소프트웨어와 통신한다. 여기서 "종단 시스템"이란 사용자가 직접적으로 사용하고 제어할 수 있는 장치를 의미한다. 이러한 종단 시스템에는 개인용 컴퓨터, 스마트폰, 태블릿 등이 포함될 수 있다. 네트워크 애플리케이션을 개발할 때 중요한 점은 네트워크 핵심 장치(Network-core devices)에 대한 소프트웨어를 작성할 필요가 없다는 것이다. 네트워크 핵심 장치들은 라우터나 스위치 같은 장비로서, 데이터 패킷의 전송 및 라우팅 등의 기능을 담당한다. 이런 장치들은 일반적으로 사용자 ..