새소식

대학생활/컴퓨터네트워크

컴퓨터 네트워크 정리 -9주차- <네트워크 레이어/4.2-4.3>

  • -

4. Network Layer (App[5] – Transport[4] – Network[3] Layer)

Chapter goals :

-      Understanding network layer service models

-      Understanding Forwarding VS routing

-      Understanding how a router works

-      Understanding routing (path selection)

-      Understanding broadcast, multicast vs unicast(1 : 1 = sender : receiver)

4.1 Introduction

-      Virtual circuitconnection orientation 개념=>TCP와 비슷, datagramUDP와 비슷

-      Network Layer 개요

  • Sending hostreceiving host 간에 segmenttransport하는 레이어다.
  • Sending side에선 segmentsdatagramsencapsulate한다.
  • 라우터의 incoming으론 encapsulation, out going으론 decapsulation이 일어난다.
  • 모든 IP datagrams안의
    ‘Router examines header fields’
    network layer를 통해 패싱된다.
    ex) router examines : 1.1.1.1 (IPv4) IP
    를 검사하고 맞으면, 특정 portforwarding한다.
    이 예시를 더 깊게 알아보자.

Two key network-layer functions

-      Forwarding : 라우터를 통해 들어오는 패킷을 특정 output 포트로 보내는 작업

-      Routing : 패킷의 시작지점부터 라우터들을 통해 목적지로 이동시키는 작업

Interplay between routing and forwarding

Connection Setup

-      NetworkTransport Layer Connection기준 가장 중요한 차이

n  Network는 두 호스트 간 연결, Transport는 두 프로세스 간 연결

 

 

Network service model

-      guaranteed delivery = IP를 사용하기에 가능

 

4.2 Virtual circuit and datagram networks

Connection, Connection-less service

-      network 레이어는 connection, connection-less 2개의 서비스를 제공한다.

-      Connection-less datagram을 이용하며, udp-like 하다.

-      Connection virtual-circuit을 사용하며, tcp-like 하다.

-      Transport 레이어와 차이

  • 이전에도 말했듯, service의 대상이 다르다.
  • Network layernetwork-core에서 구현된다. (TCPend-host)

 

 

Virtual circuits

-      Virtual circuits의 메인구성

  • Dataflow에 담기 전, call setup -> teardown
  • 각 패킷은 VC identifier을 갖는다. (도착지의 host 주소는 없음)
  • 모든 라우터는 connection에 데이터를 넘기기 위해 ‘state’를 유지한다.
  • 라우터는 VCID Number , link를 구성할 수 있어, 라우터와 라우터 간 여러 개의 VC를 관리할 수 있다.

VC implementation

VC forwarding table

 

 

Virtual circuits: signaling protocols

Datagram networks


- in-order
네트워크가 아니기에, 다양한 경로를 통해 datagrams이 전송되며, 이에 따라 속도가 일정하지 않을 수 있다.

 

 

Datagram forwarding table


=> A :
특정 링크 인터페이스를 찾기 위해 수 많은 address를 뒤적거려야 한다.

Longest prefix matching(Datagram forwarding table 탐색 알고리즘)

 

 

 

Datagram or VC network: why? (왜 두 개의 service로 나누는가?)

4.3 What’s inside a router

Router architecture overview

-      라우터의 두 기능

  • Routing algorithms/protocol : RIP, OSRF, BGP
    • RIP : 내 다음 이웃이 누구인지를 이용
    • OSRF : 모든 노드간 연결 중 가장 빠른 경로 이용
  • Forwarding datagrams from incoming to outgoing link

Input port functions

Switching fabrics

-      Memory : 메모리의 입출력 속도에 영향을 크게 받는다.

-      Bus : 하나의 패킷이 버스를 사용 중 이면, 나머지를 전달할 수 없다.
       대신 Memory보다 빠름

-      Crossbar : 쨩쨩맨 Generation  기법

Switching via memory

-      Input port에서 output port로 스위칭하기 위해 메모리에 데이터를 복사해 옮기는 방법

-      하나의 데이터그램을 크로싱하는데, 메모리를 두 번 참조 => 메모리의 bandwidth가 제한사항이 된다.

Switching via bus

-      Shared bus를 통해 datagraminput port->output port로 크로싱하는 기법

-      Bus contention : 스위칭 스피드가 shared busbandwidth에 의존한다.

-      그러나 하나의 shared bus가 사용되면 다른 incoming datagram은 사용 완료까지 기다려야 한다는 단점이 있다.

Switching via interconnection network (Crossbar Design)

Output ports

Output port queuing

 

 

How much Buffering?

-      RFC 3439 rule of thumb :
       평균 버퍼링 delay‘typical’ RTT(250msec) * C(link capacity)와 같다.
       ex) C=10Gbps => 2.5Gbit Buffer

-      현재는 N개의 플로우를 활용해 아래와 같은 연산을 사용해 Buffer을 구한다.

Input port queueing

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.