网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位为数据报。
数据报不等于分组,分组可以理解为将数据报切分成多个小部分,每个部分就是一个数据报。
网络层的功能:
实现路由选择和分组转发
异构网络互联。
拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
方法:1. 开环控制(静) 2. 闭环控制(动)
网络互联:指将两个以上的计算机网络,通过一定的方法,用一些中间设备(中继系统)相互连接起来,构成更大的网络。
中继系统分为一下4种:
注意:使用物理层的中继系统时,只是将网络扩大了,而从网络层的角度看,它仍是同一个网络。这个不属于网络互联。
网络互联通常指的是使用路由器进行网络互联和路由选择。
TCP/IP体系在网络互联上使用的方法是网络层采用标准化协议,相连的网络可以是不同的,由于参加互联的网络都使用IP协议,因此可以将网路抽象成虚拟的IP网络。
路由器主要完成两个功能:
路由选择:根据特定的路由选择协议构造出路由表,同时经常或定期的和相邻的路由器交换路由表(更新数据)
按照复杂的分布式计算,根据从各相邻路由器得到关于整个网络的拓扑变化,动态的改变所选择的路由。
分组转发:处理通过路由器的数据流,主要负责;查询转发表,转发数据,队列管理和任务调度。
路由器根据转发表将用户的IP数据报从何时的端口转发出去。
需要注意:路由表和转发表在讨论路由选择时往往不区分。但是转发表实际上是从路由表得出的,路由表是路由选择算法得到的。
首先路由器的功能:转发+路由选择
数据平面:数据平面对于数据处理过程中各种具体处理转发讨程(转发)(速度快,通常由硬件完成)
控制平面:控制平面用于控制和管理网络协议的运行,比如OSPF协议、RIP协议、BGP协议。(路由选择)(路径长,通常由软件完成)
注意:
SDN控制平面分为两部分:
SDN控制器(远程控制器):维护准确的网络状态信息(远程链路、路由器和主机的状态),为运行在控制平面中的网络控制应用程序提供这些信息(逻辑集中,在多台服务器上实现)。
网络控制应用程序:根据SDN控制器提供的方法,这些应用程序通过这些方法能够监视、编程和控制下面的网络设备(数据平面的路由器)。
SDN控制器由分成三个层次:
对于网络控制应用程序的接口:
SDN控制器通过"北向接口“(向上的API接口)与网络控制应用程序交互。该API允许网络控制应用程序在状态管理层(第二个层次)之间读写网络状态。
网络范围状态管理层:
由SDN控制平面作出的最终控制决定,将要求控制器具有有关网络的主机、链路等最新状态信息。可以根据这些信息的基础上实现新型路由选择协议,并通知给通信层执行
通信层:
SDN控制器与受控网络设备之间的通信(OpenFlow协议),包含"南向接口”(向下API接口)