1.前言
网络层接到数据链路层传来的数据已经是检验差错过的了(只检验单个帧内部),但数据链路层遗留了两个问题:
- 数据链路层无法保证可靠传输(数据的不重复、不丢失、不失序,无法保证帧与帧之间的关系)
- 要实现不同单位之间各网络通讯,数据链路层是做不到的。
传输层依赖于网络层的主机到主机的通信服务,提供各种形式的进程到进程之间的通信。
网络层的协议栈是最复杂的层次,每一台主机和路由器都有一个网络层部分。
网络层可以被分为两个互相作用的部分数据平面和控制平面
数据平面
- 数据平面功能:数据平面功能决定到达路由器输入链接路径之一的数据报,如何转发到路由器输出链路之一
- 涉及到传统的IP转发(其中转发基于数据报的目的地址),和通用的转发(其中可以使用数据报首部中的几个不同域的值执行转发和其他功能)
控制平面
- 网络范围的逻辑该控制平面功能控制数据包,沿着从源主机到目的主机的端到端路径中,路由器之间的路由方法。
- 控制平面路由选择协议和数据平面转发功能已被实现成为一个整体,位于一台路由器中。
- 软件定义网络通过将这些控制平面功能作为一种单独服务,明确的分离数据平面和控制平面,控制平面功能通常置于一台远程控制器中。
2. 概述
- 每台路由器的数据平面的主要作用是,从其输入端向其输出端转发数据报
- 控制平面的主要作用是协调这些本地的路由器转发动作,使得数据报沿着源和目的主机之间的路由器路径最终进行端到端转发。
转发与路由选择
- 转发:当一个分组到达路由器的一条输入链路时,该路由器必须将分组转移到适当的输出链路。转发是数据平面中实现的唯一功能。(将分组从一个输入端接口转移到适当的输出链路接口的路由器动作。)
- 路由选择:当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。计算这些路径的算法被称为路由选择算法。(确定分组从源到目的地所决定走的路径。)
- 转发表:路由器检查到达分组手部的字段,进而使用这些手部值在转发表中索引,然后用来确定接口,通过这种方法法来转发分组。
套接字
- 同一台主机内应用层与传输层的接口。
- 进程是一座房子,套接字就像是门
注:
开发者可以控制套接字在网络层的一切,但是几乎不能控制传输层的套接字。
3. 路由器工作原理
路由器的4个组件:
- 输入端口:
- 它在路由器中执行终结入物理链路的物理层功能。
- 还要在位于入链路远端的数据链路层交互来执行数据链路层功能。
- 在输入端口还要执行查找功能。
- 控制分组,从输入端口转发到路由选择处理器。(端口是指路由器的物理接入和输出接口,而不是网络层应用程序和套接字相关的软件端口。)
- 交换结构:将路由器的输入端口连接到输出端口。
- 输出端口:储存从交换结构接收的分组,并通过执行必要的链路层和物理层功能,在输出链路上传输这些分组。当一条链路是双向的时,输出端口通常以该链路的输入端口成对在同一条路卡上。
- 路由选择处理器:执行控制平面功能。
- 传统路由器中:它直行路由选择协议,维护路由表和关联链路状态信息,并未该路由器计算转发表。
- SDN路由器中:路由选择处理器负责与远程控制器通信,目的是接收远程控制器计算的转发表项,并在该路由器的输入端口安装这些表项
路由器的输入端口和输出端口和交换结构几乎总是用硬件实现的,这是因为硬件远快于软件实现的速度。转发硬件既能够用路由器厂商自己的硬件来实现,也能够使用购买的商用硅片的硬件设计来实现。
控制平面的功能通常用软件实现并在路由选择处理器上执行。
一个类比:汽车进入和离开立交桥,假设该立交桥是环形交叉路,在汽车进入环形交叉路前需要做一点处理。
- 基于目的地转发:汽车停在入口站告诉入口站的工作人员,他的目的地入口站的工作人员查找目的地后,告诉该车将驶进那个路口。
- 通用转发:还会有许多因素会影响服务人员给汽车选出出站口产生影响。
- 输入端口——>入口道路和路口站
- 交换结构——>环形交叉路
- 输出端口——>环形交叉路出站口
输入端口的线路端,成功与链路层处理实现了用于各个输入链路的物理层和数据链路层,在输入端口中执行的查找,对于路由器执行是至关重要的。正是在这个地方,路由器使用转发表来查找输出端口,使得到达分组能够经过交换结构转发到输出端口。
使用在每个输出端口的影子副本转发决策,能在每个输入端口本地做出无需基于每个分组调用集中式路由选择器,因此避免了集中处理的瓶颈。
交换
交换结构位于一台路由器的核心位置,正是通过交换结构分组才能实际的从一个输入端口转发到输出端口。
交换可以有许多方法:
经内存交换:
- 在CPU直接操控下完成,在输入端口和输出端口之间的交换。
交换过程
当一个分组到达输入端口时,该端口会先通过中断方式向路由选择处理器发出信号,于是该分组从输入端口处被复制到处理器中路由选择处理器则从其首部中提取目的地址,在转发表中找出合适的输出端口,并将该分组复制到输出端口的缓存中。
如果内存带宽为每秒可写入内存或从内存中读取,最多B个分组,则总的转发吞吐量必须小于B/2。
不能同时转发两个分组,即使他们有不同的目的端口,因为经过共享系统总线,一次只能执行一个内存读/写。
经总线交换
- 输入端口经一根共享总线将分组直接发送到输出端口,不需要路由选择处理器的干预。
交换过程
让输入端口为分组预先计划一个交换机内部标签只是本地输出端口让分组在总线上传送和传输到输出端口,该分组能由所有输出端口收到,但只有该标签匹配的端口才能保存,该分组,然后标签在输出端口被除去,因为其仅用于交换机内部来跨越总线。
如果路由器的交换带宽受总线速率限制,在环状交叉路的类比中,这相当于环状交叉路一次仅包含一辆车,尽管如此,对于运行在小型局域网和企业网中的路由器来说,通过总线交换通常足够。
经互联网交换
克服单一共享式总线带宽限制的一种方法,是使用一个更复杂的交换网络,例如过去在多处理器计算机体系结构中用来互联多个处理器的网络。
纵横式交换机是一种由2N条总线组成的互联网,他连接N个输入端口和N个输出端口,每条垂直的总线在交叉点与每条水平的中间交叉交叉点,通过交换结构控制器能够在任何时候开启和闭合,当某分组到达端口A需要转发到端口外时,交换机控制器B和总线A和Y交叉部分的交叉点,然后端口A在总线上发送,该分组该分组仅由总线外接收。
输出端口处理
输出端口处理:取出已经存放输出内存中的分组,并将其发送到输出链路上。这包括选择和取出排队的分组进行传输,执行所需的链路层和物理层传输功能。
何处出现排队
在输入端口和输出端口都形成分组队,排队的位置和程度将取决于流量负载、交换结构、相对速度和线路速度。
假设输入线路的速度和输出线路的速度相同。
- 输入排队
如果交换结构不能快的是所有到达分组无延时地通过它发送:就会发生在输入端口也将出现分组排队,因为到达的分组必须加入输入端口队列中,以等待通过交换结构传送到输出端口。
举例:
-
所有电路速度相同。
-
一个分组能够以一条输入链路接收一个分组所用的相同的时间量,从任意一个输入端口发送到给定的输出端口。
-
分组按fcfs方法从一指定输入队列移动到其要求的输出队列中。
只要其输出端不同,多个分组可以被并行发送。然而如果位于两个输入队列前端的两个分组是发往同一输出队列的,则其中的一个分组将被阻塞,且必须在输入队列中等待,因为交换结构一次只能发送一个分组到指定端口。 -
输出排队
分组队列能够在输出端口形成,即使交换结构比端口,线路速率快,N倍最终排队的分组数量能够变得足够大,消耗输出端口的可用内存。当没有足够的内存来缓存一个输入分组时,就必须做出决定:1.丢弃到达的分组,被称为弃尾。2.删除一个或多个已排队的分组为新来的分组腾出空间。
在缓存填满之前丢弃一个分组的做法是有利的,这可以向发送方提供一个拥塞信号。
分组调度
1.先进先出
如果链路当前忙于传输另一个分组到达链路,输出队列的分组要排队等待传输,如果没有足够的缓存空间来容纳到达的分组队列的分组丢弃政策,则确定该分组是否将被丢弃。或者从队列中删去其他分组,以便腾出空间
FIFO方法也称先来先服。
2.优先权排队
到达输出量入的分组被分类放入输出队列中的优先权类。每个优先权类通常都有自己的队列,在不同优先权的分组之间,先传送优先级高的分组。,在同一优先权的分组之间的选择,通常以FIFO方法完成。
举例说明,分组1,3,4属于高优先权类,分组2,5属于低优先权类。
分组一到达链路,发现空闲就开始传送,在分组一传送过程中分组,2,3分组到达,由于3的优先权比2高,所以先传送3号分组,再传送2号分。2号分组传送开始后分组是到达。(非抢占式优先权排队:一旦分组开始传输,就不能打断。)4号分组要等待2号分组传输完毕后再传输。
3.循环和加权平均排队
分组之间不存在优先权,循环调度器在这些类之间循环服务。类1的分组被传出,接着类2的分组,再接着类1的分组,再接着类2的分组,循环。
4.网络层提供两种服务
4.1虚拟电路服务
- 是让网络负责可靠传输,模拟电信网络,使用面向连接的通信方式。
- 通信前建立虚拟电路。(模仿电话传输)
- 在使用可靠的传输协议,就可以是发送分组无差错发送数据。
4.1.1缺点
非常浪费。链路的利用率非常低。
4.2数据报服务
- 让网络层负责尽最大努力交付,而不负责可靠性。
- 由主机中的传输层,负责可靠性交付
4.2.1优点
- 网络的造价大大降低。
- 运行方式灵活,能够适应更对的应用。
4.3对比
对比方面 | 虚拟电路服务 | 数据报服务 |
---|---|---|
思路 | 由网络来保证可靠通信 | 由用户主机来保证可靠通信 |
简洁的建立 | 必须要 | 不需要 |
终点地址 | 仅在间接建立阶段使用,每个分组使用短的虚拟电路 | 每个分组都用终点的完整地址 |
分组转发 | 属于同一条虚拟电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
结点出现故障 | 所用通过故障节点的虚电路都不能正常工作 | 出故障的节点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 不一定按顺序到达终点 |
差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
5.网际协议IP
- 网络协议IP时TCP/IP体系的一个重要组成部分。
- 与IP协议配钥匙用的还有3个:
- ARP 地址解析协议
- ICMP 网络控制报文协议
- IGMP 网际组管理协议
层次 | 协议 |
---|---|
应用层 | HTTP,FTP,SMTP |
传输层 | TCP,UDP |
网络层 | IP,ICMP,IGMP,ARP |
3.1 虚拟互联网络(互联网)
- 把各种物理网络客观存在的异构性,利用IP协议把这些性能差异的网络看起来像一个有机的整体。
- IP网:IP协议的虚拟互联网络。
- 好处:淡化不同网络之间通信的异构性
- 现在互联网=覆盖全球的IP网+TCP协议
3.2 IP地址
- 给每一个连接在互联网上的主机分配一个全球唯一个的地址(32位的2进制数)
- IP地址按某固定长度分成连段,(前面)网号段(net-id)+(后面)主机号段(host-id)
- IP地址是一种分层的结构:
- 优点:
- 方便IP地址的管理(IP地址管理机构指分配网络号,主机号由得到网络号的单位执行分配)
- 减小了路由表所占的存储空间(路由器仅根据网络号转发分组不考虑主机号,使得路由表中的项目减小了)
3.2.1 IP地址表示方法
- A类地址:[(开头为0)共8位net-id]+[24位host-id] 范围:(1.0.0.0 ~ 127.0.0.0)即开头为(0000 0000 ~ 0111 1111)
- B类地址:[(开头为10)共16位net-id]+[16位host-id] 范围:(128.0.0.0 ~ 191.255.255.255)即开头为(1000 0000 ~ 1011 1111)
- C类地址:[(开头为110)共24位net-id]+[8位host-id] 范围:(192.0.0.0 ~ 223.255.255.255)即开头为(1100 0000 ~ 1100 1111)
- D类地址:[(开头为1110)] 范围:(224.0.0.0 ~ 239.255.255.255)即开头为(1110 0000 ~ 1110 1111)
- E类地址:[(开头为1111)] 范围:(240.0.0.0 ~ 255.255.255.254)即开头为(1111 0000 ~ 1111 1111)
点分十进制法
- 每8位分一组,把每组中的二进制数学成十进制数(最大为255),写成四个十进制数。
- 优点:写成十进制后,方便书写。
缺点:无法表示二进制时所展示的更多信息。(可根据开头二进制数区分地址的类)
物联网中的IP地址
- 同一局域网或路由器的IP地址中网络号必须是一样的。
- 路由器的每一个接口上都有一个网络号的IP地址。
IP地址与硬件地址
-
IP地址与硬件地址不同
-
硬件地址:物理地址,是数据链路层与物理层
IP地址:是网络层以上的地址,是一种逻辑地址(可以改变) -
主机与主机之间的通信为什么不用硬件地址
- 硬件地址用于找到局域网中的主机。
- 不同局域网可能是异构的,相互通信需要复杂的地址转换。
- 连接到互联网上的主机都有唯一的IP地址
- 硬件地址与物理位置无关,IP地址与物理位置有关
3.3 ARP 地址解析协议
-
通信时用到两个地址:
IP地址:网络层地址
MAC地址:数据链路层地址 -
ARP的作用:
- 解决同一个局域网上的主句或路由器的IP地址和硬件地址的映射问题(已知其网络层的IP地址,解析出他数据链路层的地址。)
- 如果不在同一个局域网上,那么就要用过,ARP找到一个一个本局域网上的路由器的硬件地址把分组传给这个路由器,让这个路由器把分组传给下一个网络,剩下的工作由,下一个网络完成。
-
在实际网络的链路上,传送数据帧时,最终还是要使用硬件地址。
-
ARP高速缓冲区
每一个主机都有高速缓冲区,里面有所用局域网上的各主机路由器的IP地址到硬件地址的映射表。
地址解析过程
- A向B发送IP数据包时,先在其ARP高速缓冲区中查找有无B的IP地址
- 有:可以找出其对应的硬件地址,将此地址写入MAC帧,通过局域网,将该MAC帧发往硬件地址。
- 没有:APR进程在局域网上发送APR请求分组,收到ARP相应分组后,将IP地址地址对应的硬件地址写入ARP高速缓冲区
ARP高速缓存的作用
- 存放最近获得的IP地址到MAC地址的绑定,减少ARP广播的数量。
- 减少网络上的通信量,主机A在发送其ARP请求的时候,就将自己的IP地址到硬件的反射写入了ARP请求分组
- B收到A的ARP请求分组时,就将主机A的地址映射写入B自己的ARP高速缓冲区,方便后续发送数据。
3.4 IPv4数据报的格式
- IP数据包的组成:首部(20字节)+数据(最多1480字节)
- 每个IP分片最大1500个字节
首部:
- 前一部分是固定的长度,固定长度为20个字节,是所有IP数据报必须既有的。
- 首部固定部分之后是一些可选的字段,其长度不固定(最大40个字节(0~40))。
- 首部的可变部分,用来支持排错、测量等功能
- 增加首部可变部分增加了IP数据报的功能
- 同时使首部长度成为可变,增加了路由器处理数据报的开销
- 首部最短20个字节,最长60个字节,由于固定长度20个字节,可选字段最长不能超过40个字节。
- 首部长度一个单位是4个字节,所有长度为4的整数倍,
- 区分服务:只有在使用区分服务时,这个字段才被使用,一般情况下不被使用。
- IP数据报首部没有用来指明“下一跳路由器”的IP地址
总长度:
- 首部长度+数据长度(单位:字节)
标识:
- 他是一个计数器,产生IP数据报的标识
标志:
- 站3位,目前只有前2位有意义。
- 3位:MF+DF+MF
- MF=1:表示后面还有分片
- MF=0:表示最有一个分片
- 只有中间位DF=0,才允许分片
片偏移
- 8个字节为一个单位
- 表示分片距离原始分片偏移了多少。(针对第一个分片的距离。如第一个分片有40个字节,第二个分片的偏移了(5各单位)40个字节。第三个分片偏移了(10各单位)80个字节,表示前两个分片一共80个字节)
- 为什么分片:把较长的数据分成,可以被发送的长度。
生存时间 TTL
- 占8位
- 数据包在网络中通过的路由器的最大数值。
- 路由器在接收到IP数据报后将TTL减一,当TTL为0后,路由器将抛弃IP数据报。
协议
- 占8位
- 指出该数据包携带的数据使用何种协议,以便目的主机IP层将数据部分上交给哪个处理。
首部校验和
- 占16位
- 只检验数据报首部,不检验数据部分。
Ipv4数据报分片
一个链路层帧不能超过1500字节的数据包,一个链路层能承最大数据量叫最大传输单元(MTU)
Ipv4的设计者感到在路由器中重新组装数据包,会给协议带来相当大的复杂性病,影响路由器的性能,为坚持网络内核保持简单的原则,IPv4的设计者决定将数据报的重新组装工作放到端系统中,而不是放在网络路由器。
IPv4编址
主机和物理链路层之间的边界叫做接口路由器,必须拥有两条或更多的链路与它相连,路由器与它的任意一条链路之间的边界叫做接口。因此一台路由器有多个接口,每个接口有其链路,因为每台主机与路由器都能发送和接收IP数据包 IP要求每台主机和路由器接口拥有自己的IP地址,因此从技术上讲,一个IP地址和一个接口关联,而不是与包括该接口的主机或路由器相关联。
每个IP地址的长度为32比特(4个字节)因此共有223个可能的IP地址。
有三个主机接口,(223.1.1.1、223.1.1.2和223.1.1.3)和一个路由器接口(223.1.1.4)组成任何其他连接到223.1.1.0/24网络的主机都必须具有223.1.1.xxx的形式。
使用单个网络前缀通告多个网络的能力统称为路由聚合或路由摘要。
IP广播地址:255.255.255.255,当一台主机发出一个目的地址为255.255.255.255的数据时,该报文会交付给同一个网络中的所有主机,路由器也会选择的,向临近的子网转发该报文。
获取主机地址:动态主机配置协议 DHCP
- DHCP允许主机自动获取一个IP地址,网络管理员能够配置DHCP以使某个给定主机每次与网络连接时能得到一个相同的IP地址,或者被分配一个临时IP地址,每次与网络连接时该地址也许是不同的。主机地址也能手动的配置,但这项任务目前更多的是使用动态主机配置协议来完成。
- DHCP是一个客户-服务器协议,客户通常是新到达的主机,要获得包括自身使用的IP地址在内的网络配置信息。
DHCP协议的4个步骤
1. DSP服务器发现
- 一台新到达主机的首要任务是发现一个与其交互的DHCP服务器。这可以通过DHCP发现报文来实现。
- 客户在UDP分组中向端口67发送,发现报文该UDP分组封装在一个IP数据报中,但是在主机,不知道该发送给谁。,不知道它所连接的IP地址(不知道其DHCP服务器地址。)的情况下:DHCP客户生成包含DHCP发现报文的IP数据报,其中使用广播目的地址,255.255.255.255,并使用本主机原IP地址0.0.0.0 DH CP客户,将该IP数据报传递给链路层链路层,然后将该帧广播到所有与该子网连接的节点。
2. DHCP服务器提供
- DHCP服务器收到一个,DHCP发现报文时,用DHCP提供报文向客户作出响应,该报文向该子网的所有节点广播仍然使用IP广播地址,255.255.255.255。
3. DHCP请求
- 新到达的客户从一个或多个服务器提供中选择一个并向选中的服务器提供用DHCP请求报文进行响应回显配置的参数。
4. DHCP ACK
- 服务器用DHCP ACK报文,对DHCP请求报文进行响应,证实所要求的参数一旦客户收到,DHCP ACK后交互便完成了,并且该客户能够在租用期内使用DHCP分配的IP地址,DHCP还提供一种机制。已允许客户更新,他对一个IP地址的租用。
从移动性角度看,DHCP确实有非常严重的缺陷,因为每当节点连到一个新网络,要从DHCP得到一个新的IP地址,当一个移动节点在子网之间移动时,就不能维持于远程应用之间的TCP连接。
网络地址交换NAT:他使用路由器对于外部世界来说,甚至不像一台路由器相反,nat路由器对外界的行为就如同一个具有单一IP地址的单一设备。
7.IPv6
IPv4,32比特的IP地址空间即将用完,为解决空间需求的问题设计了新的IP协议ipv6。
IPv6的报文格式
- 扩大地质容量: Ipv6将IP地址的长度从32比特增加到128比特(2128)。
- IPv6还引入一种称为认播地址的新型地址,这种地址可以使数据交付给一组主机中,任意一个主机。
- 简化高效的40个字节手首部:系统IPv4字段已被舍弃或作为选项;从而形成了40个字节定长首部允许路由器更快的处理IP数据包。
- 流标签:IPv6有一个难以捉摸的流定义,该字段可用于"给属于特殊流的分组加上标签"。这些特殊流式发送方要求进行特殊处理,流如一种非默认服务质量或需要实时服务的流。另一方面,更为传统的应用就不能被当作流由优先权用户承载的流也有可能被当做一种流,然而ipv6的设计者显然已预见到最终需要能够区分这些流即使流的确切含义还未完全确定。
Ipv6中定义的字段
-
版本:该4比特字段,用于标识IP版本号。 IPv6将该字段值设置为6。注意将该字段值设置为4,并不能创建一个合法的IPv4数据报。
-
流量类型:该8比特字段与我们在IPv4中看到的服务类型(TOS)字段含义相似。
-
流标签:该20比特的字段用于标识一条数据报的流,能够对一条流中的某些数据报给出优先权或者它能够用来对来自某些应用的数据报给出更高的优先权,以优于来自其他应用的数据包。
-
有效载荷长度:该16比特值作为一个无符号整数,给出IPv6数据报中跟在定长到40个字节数据报首部后面的字节数量。
-
跳限制:转发数据包的每台路由器将对该字段的内容,如果跳键字是计数达到零,则该数据包将被丢弃。
-
源地址和目的地址
-
数据:这是IPv6数据报的有效载荷部分,当数据报到达目的地时,该有效载荷就从IP数据报中移出,并交给下一个首部字段中指定的协议处理。
-
分片/重装组装:IPv6不允许在中间路由器上进行分片与重装组装,这种操作只能在源和目的地执行。(将该功能从路由器中删除并放在端系统中,大大加快了网络中IP转发速率。)
-
首部校验和:运输层和数据链路层协议执行了教练操作,IP设计者大概觉得在网络层具有该功能实属多余,所以将其删去。
-
选项:选项字段不再是标准IP首部的一部分了,但它并没有消失,而是可能出现在IPv6首部中由"下一个首部"指出的位置上。删除选项字段,使得IP首部成为定长的40个字节。
从IPv4向IPv6迁移
IPv6的地址
ICMPv6
3.5 IP层转发分组的流程
路由表
- IP数据报首部没有指明下一跳路由器的IP地址,当路由器收到带转发数据报的时候,不把下一跳IP地址填入,而是交给下一层的网络接口软件
- 路由表中最重要的是:目的网络地址、下一跳地址
- 经过多个路由器的跳跃(间接交付),只有到达最后一个路由器向目的主机交付时,才为直接交付。
特定主机路由器
- 为特定目的主机指明一个路由。(大多数情况分组转发都是基于目的主机的所在网络)
- 目的:使网络监管人员能更方便的,控制和监测网络,
默认路由器
- 可减少路由表所占用空间和搜索路由表所占用的时间。
- 这种方式只在一个网络上连接很少的对外连接时可用。
- 他在主机发送IP数据报是往往更有好处。
- 如果一个网络只有一个路由器连接时,用默认路由合适。
- IP数据报首部没有用来指明“下一跳路由器”的IP地址
- 路由器收到带转发的数据报,不是将下一跳路由器的IP地址填入IP数据报,而是送交下一层的网络接口软件。
4.划分子网和构造超网
4.1划分子网
- 子网的划分是单位内部的事情,外面看没有划分。
- IP地址为网络号+主机号,从主机号中借用几位作为子网号,此案赢得主机号也就少了几位。(IP地址共32位,网络号固定下不能改变)
4.1.1 子网掩码
- IP数据报首部无法判断网络是否进行了子网划分
- 使用子网掩码可以找出IP地址中的子网部分
- 规则
- 子网掩码长度32位
重要属性
- 两个相邻路由器交换信息时,必须相互告知子网掩码
- 路由表中除了要给出网络地址外,还要给出子网掩码
- 一个路由器连接到两个子网络上,就有两个子网掩码
使用子网时分组的转发
- 不划分网络,可以从IP地址获得网络地址。
- 划分网络,数据包的首部并没有提供子网掩码的信息,网络地址的获取需要子网掩码,所以划分网络IP地址,不能从IP地址得出唯一的网络地址。
- 判断两个IP地址是否在一个网络中
- 子网掩码一样
- 两个IP地址与子网掩码进行与运算,运算出的是否一样
无分类编址CIDR(构造超网)
5.网际控制报文协议
6.物联网的路由选择协议
基本概念
内部网关协议 RIP
- 是一种分布式的、基于基于距离向量的路由选择协议。
- RIP要求每一个路由器都要维护从他到其他每一个目的网络的距离记录。
距离的定义
- RIP认为通过最少的路由器才是好的路由。
- 一条路径做多包含15个路由器,距离大于16相当于不可到达。
- RIP不能在两个网络间同时适应多条路由。
RIP 三个特点
- 紧和相邻路由器交换信息
- 交换信息即交换路由表
- 按固定时间间隔交换路由信息,或在网络拓扑发生变化时,
路由表的建立
- 路由器刚刚工作时,路由表是空的。
- 之后每个路由器只和数目非常有限的,路由器交换并更新信息。
- 经过若干次更新后,路由器最终会知道,到达自治系统中腾和一个网络的最短距离和下一跳路由器的地址
- RIP协议的收敛过程较快。
收敛:自治系统中所有结点都得到正确的路由选择信息的过程。
内部网关协议 OSPF
基本概念
- 开放最短路径优先。
“开放”表明SDPF协议不是受某一家厂商控制,而是公开表明。 - 最短路径:使用Dijkstra提出的最短路径算法SPF
- 采用分布式线路协议