导图社区 计算机网络-网络层
计算机网络谢希仁第7版 第四章网络层
编辑于2020-05-18 19:48:074. 网络层
功能
1.异构网络互联
互联网由多种异构网络互连组成。若两个网络在第N层实现互连,则两个网络的N+1层及以上的层次协议相同,第N层及以下层协议可以不同
中间设备:物理层—转发器,数据链路层—网桥,网络层—路由器,网桥和路由器的结合—桥路器,网络层以上—网关
2.路由和转发
路由:网络中所有路由器使用特定的路由协议,计算出分组从源到目的地节点的路线
转发:在一个具体的路由器中,将一个输入分组根据转发表中的规则发送到输出端口的过程
3.拥塞控制:当网络内的分组数据大于从网络输出的分组数时,通信子网出现拥塞,要考虑和减少拥塞的发生
提供服务
1.虚电路服务:属于分组交换技术
2.数据报服务:简单灵活、无连接、尽最大努力交付(是不可靠交付,即不保证源主机发送的IP数据报一定 无差错/在规定时间内/按发送顺序/不会重复 交付给目的主机),可靠性工作交给主机TCP协议
区别: 虚电路服务 数据报服务 可靠通信的保证 网络 用户主机 连接的建立 必须有 不需要 终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址 分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发 结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会变化 分组的顺序 总是按发送顺序到达终点 到达终点的时间不一定按发送顺序 端到端的差错处理和流量控制 主要由网络负责,也可以由用户主机负责 由用户主机负责
网际协议IP
IP地址
A类地址:0.0.0.0~127.255.255.255,默认子网掩码:255.0.0.0,最大网络数:
B类地址:128.0.0.0~191.255.255.255,默认子网掩码:255.255.0.0,最大网络数:
C类地址:192.0.0.0~223.255.255.255,默认子网掩码:255.255.255.0,最大网络数:
IP数据报
版本:4位,通信双方的IP协议版本必须一致,IPv4与IPv6规定的数据报的格式不能直接通信
首部长度:单位—32位字(4字节),min=5(0101)—20字节(首部固定长度),max=15(1111)—60字节,长度必须是4字节的整数倍,否则要进行填充
总长度:16位,不超过数据链路层规定的最大传送单元MTU的值, max=2^16 -1=65535字节。若目的主机不能接受要发送的数据报长度,则要进行分片
标识:16位,每个数据报有唯一标识,被切割的分片与原始数据报有相同标识
标识:3位,最低位MF—MF=1,后面还有分片;MF=0,是最后一个分片;中间位DF—DF=1,不允许分片;DF=0,允许分片
片偏移:13位,偏移单位8字节(除最后一个,每个分片的长度是8字节即64位的整数倍),片偏移值=该分片携带字节的首字节序号/8
生存时间TTL:8位,单位—跳数,指明数据报至多可经过多少个路由器,最多255个。初始值为1表示该数据报只能在本局域网传送。路由器每次转发数据报前TTL值减一,减为0就丢弃不再转发。
首部检验和:16位,只检验数据报首部,不包括数据部分。采用16位二进制反码求和算法
有首部和数据两部分,首部—前面的固定部分:20字节,所有IP数据报必须有;后面是可变部分,最长40字节
可变部分:长度1~40字节,选项字段支持排错、测量、安全等措施
配套协议
地址解析协议ARP
1.作用:已知一个主机或路由器的IP地址,找到相应的硬件地址
2.每台主机都有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表
3.ARP缓存中的每个映射地址都需要设置生存时间,如十到二十分钟
4.解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。对于在不同局域网中的传输,需要借助路由器
网际控制报文协议ICMP
ICMP差错报告报文
终点不可达、时间超过、参数问题、改变路由(重定向)
不发送的情况:该报文本身、第一个分片的数据报片的所有后续数据报片、具有多播地址的数据报、具有特殊地址(如127.0.0.0, 0.0.0.0)的数据报
ICMP询问报文:回送请求和回答、时间戳请求和回答
网际组管理协议IGMP
IP层转发分组
每条路由包含信息:(目的网络地址,下一跳地址)
路由表两种特殊路由
特定主机路由:优先级高于该主机所在网络的路由,路由表会优先按照该路由指定的下一跳地址进行转发
默认路由:减小路由表所占用的空间和搜索路由表所用的时间
分组转发算法
1.从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N
2.若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其它的路由器,直接把数据报交付目的主机,否则就是间接交付,执行3
3.若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行4
4.若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行5
5.若路由表中有一个默认路由,则把数据传送给路由表中所指明的默认路由器,否则执行6
6.报告转发分组出错(没有默认路由,路由表不知道要把数据报发送到哪)
IP地址编址阶段
1.分类的IP地址:最基本的编址方法
2.子网的划分:最基本编址方法的改进
从网络的主机号借用若干位作为子网号,主机号减少同样的位数
两级IP地址—IP 地址 ::= { <网络号>, <主机号>} 增加"子网号字段" 变为三级IP地址—IP 地址 ::= { <网络号>, <子网号>,<主机号>}
只是对IP地址主机号再划分,不改变IP地址原来的网络号
子网号位数为0,1,15,16没有意义
增加了灵活性,减少了能够连接在网络上的主机总数
3.构成超网:较新的无分类编址方法CIDR
IP 地址 ::= { <网络前缀>, <主机号>}
斜线记法(CIDR记法):在IP地址后面加上"/",然后写上网络前缀的位数,这个位数就是地址掩码中1的个数
CIDR地址块:网络前缀相同的连续IP地址组成,知道地址块中任何一个地址,就可以知道起始地址、最大地址、地址块中的地址数
路由选择协议
内部网关协议IGP
路由信息协议RIP
特点
1.仅和相邻路由器交换信息
2.路由器交换的信息是当前本路由器所知道的全部信息
3.按固定的时间间隔交换路由信息
4.允许一条路径最多只能包含15个路由器,即最大距离为15,跳数为16时不可达
5.选择一条具有最少路由器的路由(最短路由)
6.网络出现故障时要经过较长时间才能将此信息传送到所有的路由器
7.好消息传播得快,坏消息传播的慢,导致更新过程的收敛时间过长
路由向量算法
1.先修改地址为X的相邻路由器发来的 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1
2.对修改后的RIP报文中的每一个项目,重复以下步骤:若原来的路由表中没有目的网络N,则把该项目添加到路由表中;否则(在路由表中有目的网络N),若下一跳R路由器地址为X,则把收到的项目替换原路由表中的项目;否则(下一跳路由器不是X),若收到的项目中的距离d小于路由表中的距离,则进行更新。否则什么也不做
3.若 3 分钟还没有收到相邻Router的更新信息,则把此相邻路由器标记为不可达的路由器,即把距离置为16
4.返回
报文格式
RIP报文最大长度4+20*25=504字节,超过就要再用一个RIP报文来传送
开放最短路径优先OSPF
特点
最主要:使用分布式的链路状态协议
1.对不同类型的业务可计算出不同的路由
2.多路径间的负载平衡
3.所有在OSPF路由器间交换的分组都有鉴别功能
4.支持可变长度的子网划分和无分类的编址CIDR
5.更新过程收敛得快
和RIP的区别
1.OSPF使用洪泛法向本自治系统中所有路由器发送信息
2.OSPF发送的信息就是与本路由器相邻的所有路由器的链路状态
3.只有链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。而RIP不论网络拓扑是否变化,路由器之间都要定期交换路由表信息
4.OSPF不用UDP而是直接用IP数据报传送
分组类型
1.问候(Hello)分组:发现和维持邻站的可达性
2.数据库描述分组:向邻站给出自己链路状态数据库中所有链路状态项目的摘要信息
3.链路状态请求分组:向对方请求发送某些链路状态项目的详细信息
4.(核心)链路状态更新分组:用洪泛法对全网更新链路状态
5.链路状态确认分组:对链路更新分组的确认
每两个相邻路由器每隔10s交换一次1,40s没收到某相邻路由器发来的1,则认为该相邻路由器不可达。2、3、4、5用来进行链路状态数据库的同步—不同路由器的链路状态数据库内容一样。两个同步路由器称为"完全邻接的"路由器。
外部网关协议EGP
边界网关协议BGP
BGP-4的四种报文
1.OPEN(打开):与相邻的另一个BGP发言人建立关系,使通信初始化
2.UPDATE(更新):通告某一路由的信息,以及列出要撤销的多条路由
3.KEEPALIVE(保活):周期性地证实邻站的连通性
4.NOTIFICATION(通知):发送检测到的差错
特点
1.BGP协议交换路由信息的结点数量级是自治系统个数的量级,比自治系统中的网络数少很多
2.每一个自治系统中BGP发言人(或边界路由器)数目很少,自治系统间的路由选择不致过分复杂
3.BGP支持无分类域间路由选择CIDR,BGP的路由表包括目的网络前缀,下一跳路由器,到达该目的网络要经过的自治系统序列
4.BGP刚运行时,BGP的邻站交换整个BGP 的路由表。只需在发生变化时更新有变化的部分
IPv6
主要变化
1.更大的地址空间:128位,16字节,可编程空间
2.扩展的地址层次结构
3.灵活的首部格式:可选的拓展首部
4.改进的选项:首部长度固定,允许数据报包含选项的控制信息,选项放在有效载荷中
5.允许协议继续扩充
6.支持即插即用(自动配置):不需要使用DHCP
7.支持资源的预分配:支持需要保证一定带宽和时延的应用
8.首部改为8字节对齐:首部长度必须为8字节的整数倍
字段更改
取消了 首部长度(固定为40字节),服务类型,总长度(改为有效载荷长度),标识、标志和片偏移,协议(改为下一个首部),检验和,选项(改用拓展首部)字段
TTL字段改称跳数限制字段,作用一样
首部
基本首部
版本:4位,指明协议版本
通信量类:8位,区分不同的IPv6数据报的类别或优先级
流标号:20位,属于同一个流的数据报有同样的流标号
有效载荷长度:16位,最大64KB,65535字节,指明除基本首部外的字节数
下一个首部:8位,没有扩展首部时,标识基本首部后的数据应交付IP层上面的哪个高层协议;有扩展首部时,标识后面第一个扩展首部的类型
跳数限制:8位,防止数据报无限期存在。路由器转发数据报时值减1,值为0丢弃
拓展首部
种类:逐跳选项、路由选择、分片、鉴别、封装安全有效载荷、目的站选项
第一个字段是8位的"下一个首部"字段,高层首部放在最后面
其值指出扩展首部后面的字段是什么
地址
目的地址
单播:点对点通信
多播:一点对多点通信
任播:终点是一组计算机,数据报交付距离最近的一个
冒号十六进制记法
1.每个16位的值用十六进制值表示,各值之间用冒号分隔
2.数字前面的0可省略
3.允许零压缩:一连串连续的0可用一对冒号取代,只能使用一次
4.可结合使用点分十进制记法的后缀
5.CIDR的斜线表示法仍然可用
分类
地址类型 二进制前缀 IPv6记法 未指明地址 00…0(128位) ::/128 环回地址 00…1(128位) ::1/128 多播地址 11111111 FF00::/8 本地链路单播地址 1111111010 FE00::/10 站点本地单播地址 1111111011 FEC0::/10 全球单播地址 其余所有二进制前缀
IPv4向IPv6过渡
双协议栈:一部分主机或路由器装有双协议栈:一个IPv4和一个IPv6,双协议栈主机或路由器既能和IPv4通信,又能和IPv6通信
隧道技术:在IPv6数据报要进入IPv4网络时,把IPv6数据报封装成IPv4数据报。当IPv4数据报离开IPv4网络中的隧道时,再把原来的IPv6数据报交给主机的IPv6协议栈
ICMPv6
面向报文的协议,利用报文报告差错、获取信息、探测邻站、管理多播通信
分为差错报文、信息报文、邻站发现报文(ND协议控制下发送和接收)、组成员关系报文(MLD协议控制下发送和接收)
虚拟专用网VPN
两种技术
隧道传输:定义两个内部网络的路由器之间通过Internet建立的通信隧道,使用IP-in-IP封装后在隧道中转发
加密技术:隧道发送路由器把内网IP数据报加密后,封装为外网IP数据报的数据部分,在外网中进行传输,隧道接收路由器收到数据报后,从外网IP数据报中取出数据部分,将数据报解密,还原成内网IP数据报,然后转发该数据报
与网络地址转换NAT的区别:
两者都是通过重新构建一个IP首部来实现的
VPN:将内部IP数据报加密后打包成外部IP数据报的数据部分,为了数据的保密性
NAT纯进行地址转换,为了解决本地编址的内部网络与外网通信的问题