计算机网络第四章总结文档格式.docx
《计算机网络第四章总结文档格式.docx》由会员分享,可在线阅读,更多相关《计算机网络第四章总结文档格式.docx(16页珍藏版)》请在冰点文库上搜索。
建立虚连接、传输数据、拆除虚连接三个阶段
虚电路表:
输入接口输入VCI(标识)
输出接口输出VCI
输入接口和输入VCI唯一标识一条虚电路,后续的数据报只需携带VCI无需携带完整的目的地址.
虚电路表示例
3数据报网络(提供无连接服务)
①尽最大努力交付
②路由器对于每个输入的数据包单独进行处理
③路由表包含了目的地址和输出接口的对应关系
④每个数据包必须包含完整的目的地址
⑤来自相同源节点和目的节点的两数据报可能被转发到不同的接口,不保证顺序
⑥对网络状况和目的主机状况一无所知,可能出现丢失
路由表示例:
4.数据报vs虚电路
4.2路由选择算法(简称“选路”):
根据数据包中携带的目的地址,为数据包在网络中选择一条路径,以到达目的主机。
路由器查找路由表,完成选路。
选路到下一跳(NextHop,或输出接口),
而不是完整路由
转发:
将数据从路由器的输入接口转移到相应的输出接口
路由选择:
根据路由表确定应转发到哪个输出接口的过程
静态选路算法(非自适应选路算法)
路由表预先设定(不考虑网络当前状况)路由表基本不变,一般不能保证是最佳路由。
动态选路算法(自适应选路算法)
根据当前网络的拓扑结构和负载,(周期性)动态,更新路由表。
1.静态选路算法
㈠固定路由表选路法:
根据事先设置的静态路由表,查表选路。
静态路由表的生成:
Dijakstra算法
算法原理
1)定义一个集合N,包含所有最短路径已确定的节点,在初始时,该集合中只包含一个源节点(设为S)
2)如果S和某个节点之间有一条边相连,距离就是该边上的权值;
否则,距离值设为无穷大(∞)
3)从集合N外的节点中选择一个和S距离最小的节点(设为T)加入集合
4)重新计算S到其他集合N外的节点的距离,如果经过T的路径更短,则更新距离值
5)重复3-4步,直到所有节点都加入集合N
㈡洪泛法:
路由器收到数据包后,向除了输入接口之外的所有接口转发
缺点:
一个数据包将产生大量的副本(copy)给网络增加大量负载
优点:
至少有一个副本将到达目的主机,健壮性强,至少有一个副本选择的是最优路由,所有的路由器都会收到副本,可用于传播路由信息。
㈢随机走动选路法:
路由表中,一个表项有多条候选路由,路由器收到一个
数据包时,按照预定的概率随机地选择其中一条路由。
应用:
无线网络
2动态选路算法:
Ⅰ动态选路算法:
DVR(DistanceVectorRouting)
距离:
两个节点之间传输数据的开销
矢量:
距离AB≠距离BA
每个路由器都知道自己到邻居节点的距离
动态选路:
路由器通过周期性地与邻居节点交换路由信息来更新路由表
与谁交换:
邻居节点
交换什么:
路由表中的距离项(目的地、距离)
何时交换:
周期性交换
DVR的路由计算示例(基于Bellman-Ford算法)
前提:
到邻居节点的距离已知eg.AB=2,AC=4,AD=3
Ⅱ动态选路算法:
LSR(LinkStateRouting)
链路状态:
链路连通/中断、链路开销
又称最短路径优先(SPF)选路,使用Dijkstra算法来计算最短路径
路由器发现自己和邻居节点的链路状态及开销
路由器之间通过交换路由信息,构造出全网的拓扑结构,并计算出到其他节点的最短路径
网络中的所有节点
一个节点到各邻居节点的链路开销
网络初启或链路状态变化时
LSR计算路由的过程:
⒈发现邻居节点
⒉周期性地发送“Hello”包,获知邻居的IP地址
⒊测量到邻居节点的链路开销
⒋发送ECHO包,测试开销
⒌构造路由通告消息
⒍洪泛法发布链路状态包
⒎计算最短路径:
Dijkstra算法
LSR的特点:
①路由器向网络中的所有其他路由器节点发送路由信息,而不仅仅是邻居节点
②路由器所发送的信息是自己到邻居节点的距离,实际上就是自己已知的部分网络拓扑结构;
③这种信息发送的频率比距离矢量选路算法低很多,一般是在网络初启、网络中发生拓扑结构变化或者网络中有较大的数据量变化时;
④根据自己已知的部分拓扑结构和来自网络中其他路由器节点的信息,路由器可以构造出全网的拓扑结构,因此不会出现“无穷计算”问题。
LSR构造网络拓扑示例:
4.3因特网的网络层协议
1.IP地址:
定义:
我们把整个因特网看成为一个单一的、抽象的网络。
IP地址就是给每个
连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。
每个连接到网络的接口(如网卡)都有一个全球唯一的地址标识笔记本电脑的无线网卡和有线网卡各有一个IP地址
地址划分有两类:
分类编址;
无类别编址。
分类编址:
每一类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它
标志主机(或路由器)所连接到的网络,而另一个字段则是主机号host-id,它
标志该主机(或路由器)。
两级的IP地址可以记为:
IP地址:
:
={<
网络号>
<
主机号>
}
点分十进制记法:
各类网络的地址空间大小:
IP地址的一些重要特点:
(1)IP地址是一种分等级的地址结构。
分两个等级的好处是:
第一,IP地址管理机构在分配IP地址时只分配网络号,而剩下的主机号则由
得到该网络号的单位自行分配。
这样就方便了IP地址的管理。
ICANN分配给国
家网管理机构(如我国的CNNIC)CNNIC分配给ISP
第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
(2)实际上IP地址是标志一个主机(或路由器)和一条链路的接口。
第一,当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号net-id必须是不同的。
这种主机称为多归属主机。
第二,由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。
网络地址:
网络号部分保留、主机号部分为全0的IP地址。
作用:
代表全网的所有设备,选路主要根据网络地址。
划分子网:
IP地址中增加一个“子网号字段”,使两级的IP地址变成为三级的IP地址。
这种做法叫作划分子网(subnetting)。
从主机号借用若干个位作为子网号subnet-id,而主机号host-id也就相应减少了若干个位。
子网掩码:
网络号+子网号部分为全1,主机号部分为全0的特殊IP地址。
作用是可以找出IP地址中的子网部分。
网络/子网地址:
将网内任一个IP地址与子网掩码进行“与”操作所获得的地址
IP地址的各字段和子网掩码:
(IP地址)AND(子网掩码)=网络地址:
默认子网掩码:
子网掩码是一个重要属性:
①路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。
②路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。
③若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
[例]已知IP地址是141.14.72.24,子网掩码是255.255.192.0。
试求网络地址。
注:
不同的子网掩码可以得出相同的网络地址。
但不同的掩码的效果是不同的。
在划分子网的情况下路由器转发分组的过程:
(1)从收到的分组的首部提取目的IP地址D。
(2)对路由器直接相连的网络进行检查,先用各网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。
若匹
配,则将分组直接交付。
否则就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;
否则,执行(4)。
(4)对路由表中的每一行的子网掩码和D逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;
否则,执行(5)。
(5)若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;
否则,执行(6)。
(6)报告转发分组出错。
无类别地址:
CIDR(无类别域间选路):
不再对于地址分类,根据网络规模的需要,将IP地址划分为任意2n(1<
n<
32)大小的地址块,采用CIDR后,根据CIDR子网掩码来判定网络大小
CIDR的地址格式:
CIDR使用各种长度的“网络前缀”(network-(networkprefix)
来代替分类地址中的网络号和子网号。
无分类的两级编址的记法是:
IP地址:
=网络地址/x,x为网络号的位数,即子网掩码中1的个数
子网掩码表示法:
/x.如/27,即255.255.255.224
CIDR:
路由聚合:
将连续划分的子网聚合成一个网络地址,从而可以显著
减小路由表的规模,提高查表选路的效率
最长前缀匹配:
使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。
在查找路由表时可能会得到不止一个匹配结果。
应当从匹配结果中选择具有最长网络前缀的路由:
最长前缀匹配(longest-prefixmatching)。
网络前缀越长,其地址块就越小,因而路由就越具体(morespecific)。
最长前缀匹配又称为最长匹配或最佳匹配。
2.IP包结构:
协议字段:
表示IP包内的数据属于哪个协议.
TCP=6;
UDP=17;
ICMP=1;
IGMP=2;
OSPF=89
包头校验和(由源主机填加,沿途路由器和目的主机都要进行校验)
IP包头校验和计算示例:
IP包的分段和重装:
原IP包:
IP数据报
分段原因:
底层网络所允许的最大数据块长度(MTU)不同
分段相关字段:
标识:
所有属于同一个IP数据报的片段(IP包)都使用相同的标识
DF:
不要分段,DF=1的IP数据报不允许分段
MF:
更多片段,MF=0的IP包是最后一个片段
段偏移量:
本片段在原IP数据报中的位置,单位为8字节
IP包头的选项字段:
①用来支持排错、测量以及安全等措施,内容很丰富。
长度可变,从0个字节到40个字节不等,取决于所选择的项目。
②如果选项字段的长度不是4字节的整数倍,用全0进行填充。
③增加首部的选项字段是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。
这就增加了每一个路由器处理数据报的开销。
④实际上这些选项很少被使用。
3.差错处理:
ICMP
ICMP概念:
因特网控制报文协议。
IP没有差错处理机制,由ICMP补充。
提供差错报告机制只报告,不强制处理。
ICMP不是高层协议,而是IP层的协议。
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。
IP包头的协议字段值=1
ICMP的主要消息(RFC792):
差错报告消息
目的地不可达消息:
到目的主机无连接、IP包超长且不能分段
超时消息:
IP包TTL=0
参数错误:
IP包头参数有问题
控制消息
源抑制消息:
路由器或者目的主机的缓存不足,请求源主机降低发送速率,用于拥塞控制
重定向消息:
要求源主机更换默认路由器,用于路由控制
查询消息:
源主机请求、路由器和目的主机应答
回声请求/应答:
测试路由器或目的主机是否可达
时间戳请求/应答:
用于互联网上各个机器进行时钟同步的
ICMP的规则:
对于携带ICMP差错报告报文的IP报文,不再产生ICMP差错报告报文
对于组播的IP报文,不产生ICMP差错报告报文
对于具有特殊地址(如127.0.0.1或0.0.0.0)的IP报文,不产生ICMP差错报
告报文
对于携带分段的IP报文,如果不是第一个分段,不产生ICMP差错报告报文
4.路由选择协议:
RIP、OSPF、BGP
因特网有两大类路由选择协议:
内部网关协议IGP(InteriorGatewayProtocol):
即在一个自治系统内部使用
的路由选择协议。
目前这类路由选择协议使用得最多,如RIP和OSPF协议。
外部网关协议EGP(ExternalGatewayProtocol):
若源站和目的站处在不同的
自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由
选择信息传递到另一个自治系统中。
在外部网关协议中目前使用最多的是BGP-4。
IGP和EGP相互独立。
RIP(路由信息协议):
基于距离矢量算法;
跳数
RIP路由通告消息:
发送给邻居节点
命令(1-5):
1——请求,2——应答,3-4废弃,5——保留
版本号:
1或2
地址族标识:
标识网络层的地址类型,因特网为2
采用UDP传输,端口号520
OSPF消息
①问候(Hello)消息:
获知其邻居节点的IP地址、检测邻居节点是否可达。
②链路状态通告(LSA)消息:
通告路由器已知的网络拓扑结构信息
③链路状态请求(LSR)消息:
向邻居节点询问一条或多条链路的状态信息
④链路状态更新消息(LSU):
对LSR消息的应答
⑤链路状态确认消息:
收到LSU消息时,路由器发送此消息进行确认
OSPF的优点
⑴无路径环路问题
⑵选择最优路由
⑶路由性能参数定义更灵活
⑷可选择多条路由
⑸支持分级选路
⑹基于服务类型(TypeofService)选路、基于负载均衡选路
⑺支持CIDR
⑻支持对路由消息进行身份认证
BGP(边界网关协议)
⒈AS边界路由器使用BGP来交换路由信息,包含完整的路径信息路径矢量算法
⒉主要关注的不是最短路由,而是可达性
⒊AS间的路由选择的可靠性要求较高,采用TCP传输,端口号179