본문 바로가기

전체 글29

네트워크 계층 개요 네트워크 계층 개요 포워딩과 라우팅: 데이터 평면과 제어 평면 네트워크 계층의 역할은 송신 호스트에서 수신 호스트로 패킷을 전달하는 것이다. 네트워크 계층의 중요한 두 가지 기능은 다음과 같다. 포워딩(전달) : 패킷이 라우터의 입력 링크에 도달했을 때 라우터는 그패킷을 적절한 출력 링크로 이동시켜야 한다. 포워딩은 매우 짧은 시간 단위를 갖기에, 대표적으로 하드웨어에서 실행한다. 라우팅 : 송신자가 수신자에게 패킷을 전송할 때 네트워크 계층은 패킷 경로를 결정한다. 네트워크 전반에 걸쳐 출발지에서 목적지까지 데이터그램의 종단간 경로를 결정하므로, 포워딩 보다 더 긴 시간(보통 초) 단위를 갖기에 소프트웨어에서 보통 실행된다. 라우터에서 필요한 요소는 포워딩 테이블(forwarding table)이다. .. 2024. 2. 23.
혼잡 제어 혼잡 제어의 원리 혼잡의 원인과 비용 혼잡 제어가 발생하는 세 가지 시나리오 시나리오1 : 2개의 송신자와 무한 버퍼를 갖는 하나의 라우터 라우터는 무한대의 버퍼를 가지고 있으며, 재전송이 없다고 가정한다. 각 호스트는 최대 출력량을 R/2 만큼 가질 수 있다. 전송률이 R/2를 초과할 때, 라우터 안에 큐잉된 패킷의 평균 개수는 제한되지 않고 출발지와 목적지 사이의 평균 지연이 무제한이 된다.(오른쪽 그림) 즉, 패킷 도착률이 링크 용량에 근접함에 따라 큐잉 지연이 커진다. 시나리오2 : 2개의 송신자, 유한 버퍼를 가진 하나의 라우터 라우터의 버퍼는 유한하며, 패킷이 재전송 될 수 있다고 가정한다. 호스트가 라우터의 빈공간이 있는지 알 수 있는 경우(현실적이지 않지만 이상적인 상황) 데이터를 송신하면.. 2024. 2. 19.
연결지향형 트랜스포트 : TCP TCP는 신뢰적인 데이터 전송을 제공하기 위해 오류 검출, 재전송, 누적 확인응답, 타이머, 순서 번호와 확인응답 번호를 위한 헤더 필드를 포함해서 신뢰성있는 데이터 전송 원칙을 따른다. TCP 연결 TCP 특징 연결지향형(connection oriented) 프로세스가 데이터를 다른 프로세스에게 보내기 전에 두 프로세스가 서로 핸드셰이크를 해야 한다. 전이중 서비스(full-duplex service) 호스트 A의 프로세스와 호스트 B의 프로세스가 서로 TCP로 연결되어 있다면 둘은 양방향으로 데이터를 전송할 수 있다. 점대점(point-to-point) 단일 송신자와 단일 수신자 사이의 점대점이다. 한 송신자가 여러 수신자에게 데이터를 보내는 멀티캐스팅은 TCP에서 불가능하다. TCP 세그먼트 크기 .. 2024. 2. 14.
신뢰적인 데이터 전송의 원리 3.4 신뢰적인 데이터 전송의 원리 상위 계층 객체에게 제공되는 서비스 추상화는 데이터가 전송될 수 있는 신뢰적인 채널의 서비스 추상화다. 이러한 서비스 추상화를 구현하는 것이 신뢰적인 데이터 전송 프로토콜(reliable data transfer protocol)의 의무다. 이 작업은 신뢰적인 전송 프로토콜의 '아래에 있는' 계층이 신뢰적이지 않을 수 있어서 어려워진다. TCP는 비신뢰적인 종단 간의 네트워크 계층(IP)의 바로 상위에 구현된 신뢰적인 데이터 전송 프로토콜이다. 여기서 신뢰적이지 않은 계층 위에 어떻게 신뢰성이 있는 데이터 전송 프로토콜을 개발할 것인지에 대해 알아본다. 3.4.1 신뢰적인 데이터 전송 프로토콜의 구축 완벽하게 신뢰적인 채널상에서의 신뢰적인 데이터 전송 : rdt 1.0.. 2024. 2. 1.
UDP 3.3 비연결형 트랜스포트 : UDP RFC 768에서 정의된 UDP는 트랜스포트 계층 프로토콜이 할 수 있는 최소 기능으로 동작한다. UDP는 다중화/역다중화 기능과 간단한 오류 검사 기능을 제외하면 IP에 아무것도 추가하지 않는다. UDP는 세그먼트를 송신하기 전에 송신 트랜스포트 계층 개체들과 수신 트랜스포트 계층 개체들 사이에 핸드셰이크를 사용하지 않는다. 이런 이유로 UDP를 비연결형이라고 한다. UDP가 유용한 경우 무슨 데이터를 언제 보낼지에 대해 애플리케이션 레벨에서 더 정교한 제어 : 애플리케이션 프로스세가 데이터를 UDP에게 데이터를 전달하자마자 UDP는 데이터를 UDP 세그먼트로 만들고, 그 세그먼트를 즉시 네트워크 계층으로 전달한다. TCP는 혼잡 제어 메커니즘을 갖고 있다. 혼잡 .. 2024. 1. 29.
트랜스포트 계층 개요, 다중화와 역다중화 3.1 트랜스포트 계층 서비스 및 개요 트랜스포트 계층 프로토콜은 각기 다른 호스트에서 동작하는 애플리케이션 프로세스간의 논리적 통신(logical communication)을 제공한다. 애플리케이션의 관점에서 보면 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다. 애플리케이션 프로세스는 메시지 운반에 사용되는 물리적 인프라스트럭처의 세부 사항에 상관없이 서로 메시지를 송신하기 위해 트랜스포트 계층에서 제공하는 논리적 통신을 사용한다. 트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌 종단 시스템에서 구현된다. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메시지를 트랜스 포트 계층 세그먼트(segment)라고 알려진 트랜스포트 계층 패킷으로 변환한다. 애플리케이션 메시지.. 2024. 1. 26.