전체 글36 인터넷 프로토콜(IP) : IPv4, 주소체계, IPv6 IPv4 데이터그램 포맷 버전 번호 : 4비트로 데이터그램의 IP 프로토콜 버전을 명시한다. 라우터는 버전 번호를 확인하여 데이터그램의 나머지 부분을 어떻게 해석할지 결정한다. 헤더 길이 : IPv4 데이터그램은 헤더에 가변 길이 옵션을 포함한다. 이 네 비트로 IP 데이터그램에서 실제 페이로드가 시작하는 곳을 결정한다. ex) 데이터그램에 캡슐화된 트랜스포트 계층 세그먼트가 시작하는 곳 서비스 타입 : 각기 다른 유형의 IP 데이터그램을 구분한다. 예를 들어 실시간 데이터그램과 비실시간 트래픽을 구분하는데 유용하다. 데이터그램 길이 : 바이트로 계산한 IP 데이터그램(헤더와 데이터)의 전체 길이다. 16비트이므로 IP 데이터그램의 이론상 최대 길이는 65,553바이트이지만 1,500바이트보다 큰 경우는.. 2024. 3. 4. 네트워크 계층 개요 네트워크 계층 개요 포워딩과 라우팅: 데이터 평면과 제어 평면 네트워크 계층의 역할은 송신 호스트에서 수신 호스트로 패킷을 전달하는 것이다. 네트워크 계층의 중요한 두 가지 기능은 다음과 같다. 포워딩(전달) : 패킷이 라우터의 입력 링크에 도달했을 때 라우터는 그패킷을 적절한 출력 링크로 이동시켜야 한다. 포워딩은 매우 짧은 시간 단위를 갖기에, 대표적으로 하드웨어에서 실행한다. 라우팅 : 송신자가 수신자에게 패킷을 전송할 때 네트워크 계층은 패킷 경로를 결정한다. 네트워크 전반에 걸쳐 출발지에서 목적지까지 데이터그램의 종단간 경로를 결정하므로, 포워딩 보다 더 긴 시간(보통 초) 단위를 갖기에 소프트웨어에서 보통 실행된다. 라우터에서 필요한 요소는 포워딩 테이블(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 세그먼트 크기 제한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. 이전 1 2 3 4 5 6 다음