type
status
date
slug
summary
tags
category
icon
password

网络层概述

notion image
如图展示了从H1到H2的通路
  • H1的网络层从传输层把segment拿下来,把每个segment包装成datagram,然后把datagram传送给它附近的router R1
  • 在接收方的主机H2,网络层从它附近的router R2接收数据,提取出传输层的segment,并把segment交给它的传输层
  • 每个router的数据平面主要任务就是将收到的datagram从接收线路转发到输出线路
    • The primary data-plane role of each router is to forward datagrams from its input links to its output links
  • 网络控制平面的主要任务就是来配合这些本地的、路由到路由的转发动作,这样一来datagram最终就可以实现端到端的传输,沿着源和目的主机之间的线路
    • the primary role of the network control plane is to coordinate these local, per-router forwarding actions so that datagrams are ultimately transferred end-to-end, along paths of routers between source and destination hosts.

Forwarding and Routing: The Data and Control Planes

网络层的功能其实就是把packet从发送端移动到接收端,为了实现这个目的,它有两个重要功能:
  • 转发(Forwarding)
    • 将分组从路由器的输入接口转发到合适的输出接口
    • data plane实现
    • refers to the router-local action of transferring a packet from an input link interface to the appropriate output link interface. Forwarding的时间很短且通常在硬件层面实现
  • 路由(Routing)
    • 使用路由算法来决定分组从发送主机到目标主机的路径
      • 路由选择算法
      • 路由选择协议
    • control plane实现
    • Routing refers to the network-wide process that determines the end-to-end paths that packets take from source to destination. Routing的时间比较长且通常在软件层面实现
在网络路由器里面有一个forwarding table
  • 当一个路由器接收到一个packet,它会检查这个packet的header,并且将header里面的数据作为索引放到它的forwarding table里面去
  • forwarding table里面的记录可以根据索引推断出这个包应该从这个router的哪一个outgoing link interface发出去
  • 然后这个router就在内部将数据包转发到了正确的接口

Control Plane:传统方式per-router控制平面

在每一个路由器中有一个单独的路由器算法元件,在控制平面进行交互(路由实体来交互)
传统方式的数据平面和控制平面是紧耦合的,而且是集中在一台物理设备上分布式实现功能
控制平面用算法算出来路由表,然后此时一个分组到来,网络层的协议就对这个分组进行匹配,在数据平面完成转发
问题:协议定下来后设备就定下来了,要想改变网络的运行逻辑就非常困难
notion image

Control Plane: SDN逻辑集中的控制平面

一个不同的控制器/网络操作系统(通常是远程的,在某个服务器上运行)与本地控制代理(CAs)进行交互
这个网络操作系统就实现了控制平面的功能,然后通过接口跟每个本地控制代理进行交互
控制代理上报自己的状况,然后控制器将forwarding table算出来,通过接口交给底下的每个控制代理,然后控制代理把这个forwarding table进行装载,对到来的分组做多字段的匹配,按照表项对分组进行转发
因此要改变网络逻辑,改变这个forwarding table就行了,从而在控制器上实现不同的网络应用
控制平面是集中式的
分组交换机:在这个SDN里面这个路由器就是分组交换机
notion image

网络服务模型

对于单个数据报的服务
  • 可靠传输
  • 延迟保证,如:少于40ms的延迟
对于数据报流的服务
  • 保序数据报传送
  • 保证流的最小带宽
  • 分组之间的延迟差(jitter)
    • 多媒体应用的延迟差最好为0
数组Computer Networking Notes
  • Giscus