目录
一.网络层概念
1.网络层提供两种服务,分别是虚电路服务和数据报服务
2.虚电路服务主要在于通信,需要先建立连接,属于同一条虚电路的分组均按照同一路由转发,为可靠传输
3.数据报服务在于互联网,不需要先建立连接,每个分组独立寻找转发表进行转发,为不可靠传输
4.基于互联网的现在,网络层采用简单的,无连接的,不可靠的传输方式,由端口主机进行纠错
5.路由器所要传送的信息有:转发源主机和目的主机之间所传送的数据,传送路由信息
6.网络层分为两个层面:数据层面和控制层面,由数据层面来形成转发表,接收识别ip地址和mac地址,控制层面来进行路由选择,计算出发送最佳路径
IP协议
ip地址为32位,由两个部分组成,分别为网络号和主机号,一个主机号在该网络内是唯一的,一个ip地址在互联网内是唯一的
A.分类IP地址
1.固定位便是不能改变的网络号的前几位,固定位是为了在网络号区分各类地址,由表可知,A类地址主机号最多,C类最少
地址类型 | 固定位 | 网络号/位 | 主机号/位 |
A | 0 | 8 | 24 |
B | 10 | 16 | 16 |
C | 110 | 24 | 8 |
2.A类中网络号全0的为本网络,为01111111的为环回测试
B类和C类网络号全0为本网络,主机号全1为广播,网络号全1则为本网络广播,否则为该网络广播
B.无分类编址CIDR
1.CIDR没有固定的网络号和主机号大小,即可根据需要分配主机
2.CIDR的网络号需要换算为二进制再根据网络号位数得出,不能仅凭位数得出。
例如:255.255.128.0/20,位数为20不是24,所以不能直接判断网络号为多少
3.网络号需要由地址掩码与出,地址掩码的位数与网络号位数一致
而地址掩码又是什么?
地址掩码的关键在于位数,这就是为什么不直接由位数得到网络号还需要与一遍
4.CIDR的特殊地址
前缀为32,没有主机号,用于主机路由
前缀为31,主机号只有1和0,用于点对点链路
前缀为0,IP地址也全为0,用于默认路由
5.具有相同前缀,但前缀位数不同的CIDR地址,可以采用路由聚合的方式,将小的地址聚合起来由大的地址表示,地址越大,网络前缀越小,即主机数量越多,类似与一个类
C.IP地址详解
(1)IP地址特点
1.具有相同网络前缀的局域网用转发器或交换机连接,具有不同网络前缀的局域网用路由器相连
2.同一局域网上的主机都必须是相同的网络号,路由器不同端口具有不同的网络号
3.两个路由器之间直接相连时,可分配网络前缀31的特殊IP地址,用于点对点链路,若不分配IP地址但仍相连则为无编号网络
4.IP地址是网络层和以上层使用的地址,为逻辑地址,MAC地址是数据链路层使用的地址,为物理地址,组帧时会将IP地址作为MAC地址的数据部分封装,由MAC目的接收端拆解后再查看自己是否为IP地址的目的地
5.在数据传输过程中,途径不同路由器和局域网时,若该路由器不是IP目的地址则不接收数据报而是转发到下一个路由器,但该路由器会是上一个接收点的MAC目的地址,所以得出在数据传输过程中,数据报的MAC目的地址是会一直改变的,而IP目的地址不会
(2)ARP地址解析协议
1.ARP是为了解决如何寻找MAC目的地址的问题,ARP具有ARP高速缓存,里面存储了本局域网上的各个路由器和主机的MAC地址,若没有想要的MAC地址则会在本网络进行广播,接收到ARP请求分组的主机或路由用单播返回响应分组
2.ARP用于解决同一个局域网上的主机或路由器的MAC地址问题,不同局域网则由路由器作为连接解决,ARP会将途径目的IP地址的所有路由MAC地址都解析映照出来,通过MAC地址传输数据报
3.IP地址到MAC地址的解析是自动进行的
4.ARP高速缓存中具有每一个MAC地址的生存时间,超过生存时间的MAC地址会进行删除并重新广播请求
5.由以上得知,IP地址是找到目的的决定地址,MAC地址是找到目的的过程连接地址
(c)IP数据报(IPv4)
IP数据报各个字段的意义
1.版本号
占4位,指使用的IP协议的版本,目前的版本有IPv4和IPv6,
2.首部长度
占4位,注意这里的首部长度的单位是每一个值4个字节,所以最大的首部长度可以达到 15 * 4 = 60 个字节,即首部长度本身为4位(1字节8位),最大值为15(1111),当首部长度不是4个整数倍的时候,就要使用填充字段进行填充。
3.区分服务
占8位,用来获得更好的服务,只有在使用区分服务的时候,这个字段才有用,一般情况下,都不使用这个字段
4.总长度
首部和数据部分长度之和,占16位,因此IP数据报的最大长度位2的16次方 - 1, 即65535个字节,IP协议规定所有的主机和路由器,必须能够接受长度不超过576字节的数据报,超过就进行分片处理
5.标识
占16位,一个数据报经过分片之后的形成的多个数据报的标识是一样的,这样做是为了将它们组成一个完整的数据报。
6.标志
占3位,但目前只有两位有意义
MF = 1 时,表示后面还有分片,MF = 0表示这是最后一个分片
DF的意思是不能分片,当DF=0时,才允许分片
7.片位移
占13位,分片之后的每一片在原来的数据报中的位置,即相对于数据报的起点位置,该片从何处开始,片位移以8个字节位单位,
8.生存时间
占8位,英文缩写为TTL(Time To Live),这个字段指明数据报在网络中的生存时间,每当数据报经过一个路由器,TTL就减1,当TTL为0时,路由器就丢弃该数据报,而不进行转发了,这样做的目的是为了防止数据报 在网络中“兜圈子”而白白消耗网络资源
9.协议
占8位,协议字段指出数据包的数据部分使用的是何种协议,以便使目的主机的IP层知道应该将数据报中的数据交给哪个部分来处理(固定协议)
10.首部检验和
占16位,只将首部检验过后的检验和填入此字段中,不检验数据报的数据部分,数据报每经过一个路由器都要重新计算检验和
11.源地址和目的地址
各占32位
12.可变部分
IP首部的可变部分就是一个选项字段,选项字段可以用来支持排错、测量以及安全等措施,内容丰富,选项字段最多为40个字节,最小为0个字节
D.网际控制报文协议ICMP
1.ICMP报文分为两类:ICMP差错报告报文和ICMP询问报文
2.ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告
3.ICMP对ICMP自身,第一个分片后的所有分片,多播数据报,环回和本网络数据报都不发送报文
E.IPv6
(1)优点
1.IPv6相较于IPv4有更大的地址空间,相较于CIDR编码从源头上解决地址空间不足问题;
2.有更灵活的首部格式,IPv6数据报由基本首部和有效载荷组成,有效载荷内有扩展首部可随时扩大首部
3.允许协议继续扩充,IPv4功能是不变的
4.支持即插即用,IPv4需要借助DHCP与网络配对
(2)特点
1.IPv6没有广播,只有单播,多播和任播,任播的终点是一组计算机,但数据报只交付其中一个
2.由于IPv6地址空间大,所以采用冒号十六进制记法,IPv6没有子网掩码,因为可以自己即插即用,不需要利用子网掩码进行网络的配对,即不需要利用DHCP
(3)IPv4向IPv6过渡
1.利用双协议栈,即主机或路由器同时装有两个协议栈
2.利用隧道技术,即在途径IPv4网络时,将IPv6数据报变成IPv6数据报的数据部分,反之相同
(4)扩展资料
1.IPv4有ARP,为什么IPv6没有?
在IPv6中没有ARP协议,使用EUI-64实现IP地址与MAC地址的自动映射,并且使用ICMPv6实现IPv6地址及默认网关等参数的自动分配。
2. 为什么一定要研发IPv6?
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。
3.IPv6的战略意义
在IPv4阶段,全球DNS根服务器,一共只有13台,1台主的,12台辅的。13台里面,10台在美国,另外3台在英国、瑞典和日本。
如果中美开战,DNS服务被切断,我们的互联网就将全面陷入半瘫痪状态。
到了IPv6,情况就内不一样了。
2017年11月28日,由下一代互联网国家工程中心牵头发起的“雪人计划”,已在全球完成25台IPv6 DNS根服务器架设,中国部署了容其中的4台,由1台主根服务器和3台辅根服务器组成。
也就是说,在IPv6下,我们一定程度上拥有了“网络安全感”。
二.互联网的路由选择协议
路由算法分为两类:静态路由选择和动态路由选择
静态路由选择简单,开销小,但不能及时适应网络状态变化
动态路由选择复杂,开销大,适用于复杂的大网络
分层次的路由选择协议
1.选择分层次路由选择协议的原因:互联网规模太大以及为了信息保密,所以要将互联网划分为各个自治系统(AS)并使用分层次路由选择协议
2.分层次的路由选择协议分为两种:内部网关协议IGP(RIP和OSPF)和外部网关协议(BGP-4)
3.自治系统间的路由选择叫域间路由选择,自治系统内的路由选择叫域内路由选择
(1)RIP
1.RIP是一种分布式的基于距离向量的路由选择协议,优点就是简单,适用于小型网络
2.RIP允许一条路径最多只能包含15个网络,跳数等于16时相当于不可达
3.RIP不能在两个网络之间同时使用多条路由,RIP选择一条途径最少网络数的路由,哪怕还存在另一条高速低时延但网络数较多的路由
4.RIP仅和相邻路由器交换信息,交换的是本路由器知道的所有本自治系统中网络的最短距离和到每个网络应经过的下一跳路由器,并按时间间隔交换路由信息保证实时更新
5.虽然所有的路由器最终都拥有整个自治系统的全局路由信息,但由于每一个的路由器的位置不同,他们的路由表也应当是不同的
6.一个RIP报文最多可包括25个路由,超过则必须再用一个RIP报文传送
7.RIP的缺点:好消息传播得快,坏消息传播得慢,更新过程的收敛时间过长
(2)OSPF
1.OSPF向本自治系统中所有路由器发送信息,使用洪泛法,不同于RIP的仅向相邻路由器发送
2.发送的信息是本路由器都和哪些路由器相邻以及通向该路由器的链路的度量(即带宽,时延等)
3.OSPF所有的路由器可以建立一个链路状态数据库,即全网的拓扑结构图,利用结构图构建自身路由表,而RIP不知道全网的拓扑结构图,只知道下一跳路由器,而OSPF的链路状态数据库能较快更新,所以收敛很快,这就是二者区别
4.OSPF用于大规模网络,所以将自治系统划分为各个更小的范围,即区域;区域分为上下层,上层区域为主干区域,用来连通下层区域;在主干区域的路由器为主干路由器,在区域边界的路由器为自治系统边界路由器
(3)BGP
1.RIP和OSPF协议都只能在自治系统内工作,而BGP可以在不同自治系统间工作,起连接作用
2.由于互联网规模太大和自治系统之间的路由选择需要考虑策略(经济,政治等层面),BGP不能计算出最佳路径,只能选择一条能到达目的且相对较好的路由
3.BGP协议先通过两个边界路由器建立TCP连接,即eBGP连接,进行数据传输得到信息后,自治系统内的路由器与边界路由器建立iBGP连接,将外界自治系统的信息传回内部
4.由3可知,BGP协议不仅在自治系统间运行,也在自治系统内运行
5.BGP规定,在一个自治系统内部的所有的iBGP必须是全连通的,即使两个路由器没有物理连接,但仍有iBGP连接
6.自治系统AS分为三类:末梢AS,穿越AS,对等AS
末梢AS必须向所连接的AS付费才能发送和接收分组
穿越AS被多个AS连接,为其他AS有偿转发分组
对等AS彼此之间发送和接收分组免费
7.BGP规定了四种报文
OPEN(打开)报文,用来与BGP连接对等端建立关系
UPDATE(更新)报文,用来通告某一路由信息,列出撤销路由的理由
KEEPALIVE(保活)报文,用来周期性地证实与对等端的连通性
NOTIFICATION(通知)报文,用来发送检测到的差错
三.路由器的构成
1.路由器的结构分为两部分:路由选择部分和分组转发部分
2.路由选择也称控制层面(软件),根据路由协议构建路由表
3.分组转发也称数据层面(硬件),根据数据报的地址进行转发
4.数据层面由交换结构,一组输入端口,一组输出端口组成,交换结构的作用是根据转发表对分组进行处理,由于处理时延,输入和输出端口的数据处理存在延迟,处理结构为队列,而所谓的分组丢失就是发生在路由器中的输入或输出队列产生了溢出
四.IP多播
1.IP多播的概念
1.IP多播有利于减轻网络间各自资源的消耗,进行多播就要使用多播路由器,多播路由器同样可以转发普通的单播IP数据报
2.进行多播就要使用IP多播地址,多播数据报的目的地址不是单个主机,而是多播组的标识符,该标识符是IP地址中的D类地址
3.多播地址只能用于目的地址,不能用于源地址,多播数据报不产生ICMP差错报文
4.在网络拓扑中,多播连通的主机的变化不会影响网络拓扑结构,即位置不变但加入或离开多播组,所以多播转发必须动态地适应多播组成员的变化,而单播路由则在拓扑结构变化后更新
2.IP多播使用的协议
(a)网际组管理协议IGMP
1.当有新的主机加入多播组时,需要向多播组的多播地址发送IGMP报文
2.本地多播路由器要周期性的给所有多播组发送IGMP询问报文,不用对每一个组一一发送,以此确认多播组内是否还有主机
3.多播路由器只需要知道网络上是否至少还有一台主机是本组成员即可,对询问报文每一个组也只需要一台主机发送响应即可
(b)多播路由选择协议
由于在多播过程中多播组的成员是动态变化的,所以多播路由选择协议形成了以源节点为根节点的多播转发树,利用洪泛与剪除法,隧道技术法,基于核心的发现技术法来实现对动态成员的传输数据和选择路由
洪泛与剪除法
适用于较小的多播组,详解于P184
隧道技术法
适用于多播组的位置在地理上很分散的情况
当两个路由器支持多播,但路由器之间的网络不支持多播时,就将多播数据报封装为IP数据报的数据部分进行传输,到达目的地后再进行拆解
基于核心的发现技术法
详解P185
五.虚拟专用网VPN和网络地址转换NAT
1.虚拟专用网VPN
1.由于IP地址的紧缺,产生了在机构内部自己使用的IP地址,为本地地址,与互联网相连的IP地址为全球地址
2.在机构内部产生了专用虚拟网,应用于内部通信,专用地址只能用本地地址而不能用全球地址,即专用虚拟网内部只能用本地地址,而在互联网中,路由器对目的地址是专用的也不会转发
3.若两个采用了虚拟网的机构想通过互联网通信,则两个机构都至少要有一个路由器端口具备全球IP地址,在虚拟网外部用全球地址连接,在虚拟网内部用本地地址连接
4.利用隧道技术可以进行两个虚拟网的互联网连接并实现对通信内容保密,原理便是封装
5.本地地址只在内部使用,与外界无关,所以即使重复也不会有影响
2.网络地址转换NAT
1.网络地址转换是为了实现本地地址和全球地址的相互转换而存在的,只有将地址互相转换才能在虚拟网与互联网之间传输,转换由NAT路由器实现
2.NAT路由器内有转发表,每一个专用网地址都对应一个全球地址,每次传输便将源地址互相替换,输出到互联网由全球地址替换本地地址,输入到虚拟网则相反,与IPv4和IPv6的转换不同,没有利用封装实现,而是直接替换
3.通过利用在NAT转换表中加入运输层的端口号可以实现多个本地地址对应一个全球IP地址,由端口号来区分不同本地地址,实现对全球地址的进一步节约
六.多协议标签交换MPLS
MPLS具有三个特点:支持面向连接的服务质量;支持流量工程,均衡网络负载;有效地支持虚拟专用网VPN
1.MPLS原理
1.MPLS对要转发的数据报打上标签,由标签交换路由器LSR进行转发,通过标签分配协议LDP交换报文,规划转发路线,即标签交换路径LSP,所以MPLS使用的是显示路由选择,即提前先确定好了路线,与传统的到下一跳才查看转发表的隐式路由选择不同
2.一个标签仅在两个标签路由器LSR之间才有意义,所以每经过一个标签路由器便需要重新打上新的标签
2.转发等价类FEC
1.转发等价类FEC就是路由器转发具有相同特征的数据报,如相同的源地址,相同的网络前缀······
2.将属于同样FEC的IP数据报指派同样的标签,使FEC与标签形成一一对应的关系
3.同过FEC可实现网络的负载均衡,由于无论是传统的路由选择还是没有FEC的MPLS选择,都会优先选择最佳路径转发数据报,导致该路劲网络负载严重,通过FEC将具有相同特征的数据报分流至各条相对较佳路径便可实现网络负载均衡
4.这种均衡网络负载的做法称为流量工程TE或通信量工程
3.MPLS首部的位置与格式
1.为数据报指派标签指的就是在IP数据报的IP首部与帧首部之间加上MPLS首部
2.MPLS首部主要由标签值和生存时间TTL组成
3.MPLS首部插入的时间在帧首部前,在IP首部后,所以MPLS首部处于网络层和数据链路层中间
4.新一代的MPLS
1.MPLS能够较快的转发分组,但其协议LDP却比较复杂,扩展性差,运行维护比较困难
2.新的MPLS保留标签的特点,舍弃了LDP协议,采用新的协议:段路由选择协议SR
3.SR由源节点为发送的报文指定路径,并将路径转换成有序的段列表,即MPLS标签栈,封装在分组的首部
七.软件定义网络SDN
1.SDN是一个体系结构,把传统的网络层将控制层面和数据层面结合在一起的结构进行分离,实现让控制层面利用软件来控制数据层面中的许多设备
2.协议OpenFlow被大部分SDN的产品采用作为其控制层面与数据层面的接口
3.SDN体系结构的四个关键特征:
基于流的转发
数据层面与控制层面分离
位于数据层面交换机之外的网络控制功能
可编程的网络
八.课后习题
1.进行网络互连时,有哪些共同的问题需要解决?
不同的寻找方案 |
不同的最大分组长度 |
不同的超时控制 |
不同的差错恢复方法 |
不同的状态报告方法 |
不同的路由选择技术 |
不同的用户接入控制 |
不同的服务(面向连接服务和无连接服务) |
不同的管理与控制方式等 |
2.转发器,交换机,路由器,网关有何区别
中间设备 | |
转发器 | 物理层 |
交换机 | 数据链路层 |
路由器 | 网络层 |
网关 | 网络层以上 |
3.IP数据报中的首部检验和并不检验数据报中的数据,这样做的最大好处是什么?坏处是什么?
好处:加快检验的过程,使转发分组更快
坏处:数据部分出现差错不能及早发现,只有在交送到运输层时,TCP协议才会检查
4.什么情况下不需要使用ARP协议?
源主机已经有了该目的IP地址的项目;源主机发送的是广播分组;源主机和目的主机使用点对点链路;
5.有212.56.132.0/24;212.56.133.0/24;212.56.134.0/24;212.56.135.0/24四个地址,进行最大可能的聚合
聚合地址就是将四个地址的最大相同网络二进制位数取出来得到为212.56.132.0/22
聚合的地址肯定会比原先的地址网络前缀小,主机号最多
6.RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和邻站交换路由信息而BGP不这样做?
RIP只和邻站交换信息,UDP虽不保证可靠交付,但开销小,可以满足RIP要求
OSPF使用可靠的洪泛法,并直接使用IP,好处是灵活性好,开销小
BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减小带宽的消耗
RIP使用不保证可靠交付的UDP,所以必须周期性交换信息,而BGP使用可靠交付TCP,所以不用
7.IPv4首部有一个协议字段,但在IPv6的固定首部中却没有,这是为什么?
在IP数据报传送的路径上所有的路由器都不需要这一字段的信息。只有目的主机才需要这一信息。IPv6使用下一个首部字段完成IPv4中的协议字段的功能
8.IPv6只允许在源点进行分片,这样有什么好处?
分片与重装是非常耗时的操作,将此操作从路由器中删除,移到网络边缘的主机中,可以大大加快数据的转发速度