网络层功能概述
数据报是一串比较长的数据,而分组是对数据报进行切割而划分出的片段。 开环控制是一种静态的控制方法,而闭环控制是动态的。
数据交换方式
引入
为什么需要数据交换: 方式1链路太多,方式2要求交换设备有大量端口对技术要求很高,而且长距离传输会有损耗。现在常用的数据交换方式是多个交换设备连接在一起的数据交换网络。
电路交换
报文交换
分组交换
分组交换时延比报文交换更短。 编号和源地址、目的地址都属于额外的信息量,会占用一定的带宽资源;
报文交换 & 分组交换对比
三种数据交换方式总结
数据报 & 虚电路
简介
传输单元名词辨析
报文经过分割变成报文段,报文段加上源地址、目的地址等信息就变成IP数据报,若IP数据报过大则将其分割成分组。IP数据报再加头(MAC地址,物理地址)加尾(FCS帧检验序列)就变成一个帧。
数据报(目前因特网使用的数据交换方式)
虚电报
数据报 & 虚电报
路由算法及路由协议
路由算法
最佳路由算法一般是取路径最短/跳数最少的路径
路由算法的分类
分层次的路由选择协议
IP数据报格式
TCP/IP协议栈
由图可知IP协议占了协议栈中的大部分,由此可知IP协议的重要性。
IP数据报格式
IP数据报如果过大,就会进行分片,分片完的单位就是网络层的传输单位——分组。 固定部分:一定要有且大小固定,为20字节。 首部长度:单位为4字节,为了保证固定部分的大小一定是20字节,首部长度最小为5。 总长度占16位,意味着整个IP数据报最多可达65535字节,实际生活中永远不会达到该上限值,因为IP数据报过大就会进行分组。 生存时间设置的意义:防止无法交付的数据报被一直传输下去。 协议:重点记忆TCP和UDP(UDP没有建立连接,所以数据容易丢失,也就是被遗弃了,谐音记作17) 首部检验和:通过检验首部检验和来确保数据报没有出错,若出错了则及时丢弃。 可选字段:可有可无 填充:把首部补全成4B的整数倍,和首部长度的单位对应上
IP数据报分片
最大传送单元MTU
如果有的数据报过大但不愿被分片,就不会被继续传输下去,就会返回ICMP的差错报文。
IP数据报格式
标识的作用:方便对分组进行重新组合,还原数据报 标志:只有DF = 0(允许分片)的情况下,才有对最低位MF进行讨论的意义。
IP数据报分片例题
IPv4地址
IP地址:可以唯一化的标识主机接口和路由器接口
IP编址的历史阶段
分类的IP地址
互联网中的IP地址
网桥不能分割广播域,所以用网桥连接的网段仍然是一个局域网,共享一个网络号。
分类的IP地址 1.0
通过前几个位(类别位)即可对IP地址进行分类。 多播地址:一对多通信时使用
特殊IP地址
网络号全0指的是都在本网范围内的主机。 路由器可以隔离广播域,广播分组经过路由器不会被转发出去。 主机号全1代表广播分组。
私有IP地址
只适用于内部网络使用,如学校、单位。 网段个数:可以分配多少个网络号
分类的IP地址 2.0
A类中最大可用网络数里的“-2”指的是除去全0的(本网)和全1的(环回地址),最大主机号里的“-2”指的是除去全0的(本主机 )和全1的(广播地址)。 B类、C类中最大可用网络数里的“-1”指的是除去全0的(本网),此处不再考虑环回地址(环回地址是127,B类是从128开始的,所以无需考虑)。
网络地址转换(NAT)
同一主机内不同进程的端口号是不同的,但是在不同主机间进程的端口号可以是相同的。 网络地址转换原理:根据NAT转换表,对数据报中的源地址和端口号进行替换,替换成外界网络可以识别的地址。
子网划分 & 子网掩码
子网划分
分类IP地址中地址空间利用率低:指的是如A类、B类网络可以连接多台主机,但实际连接的主机数量却很少(相较于可连接的主机数),由此造成资源的浪费。 两级IP不够灵活:如果需要一个新IP,需要去找ISP申请,过程繁琐。 子网划分中,最少要留两位给主机号,否则就会出现主机号全0或者全1的现象。
子网掩码
子网掩码:遮掩IP地址并划分网段的工具,根据遮掩的位数不同来划分不同的网段。将子网掩码与IP地址按位相与后,得到的就是子网的网络地址,以此来对IP地址中的网络号和主机号进行划分。将子网网络地址转化为32位二进制数形式,后面全是0的部分就是被遮掩的部分,原因是此时子网网段已划分出来,无需再关心这部分数字具体是多少,被遮掩部分的所有取值情况就是主机号的取值范围。eg:子网网络地址中后8位全部为0,此时前24位表示子网网段,被遮掩的后8位的取值范围为0-255(十进制),此时有共256个主机号可以分配给不同主机。
关于子网掩码部分的详细解答,请见知乎答主纪言在“如何理解子网掩码”问题下的回答和b站蛋老师的科普视频。(csdn不让放外部链接) 相与:两个数全为1则为1,其他情况则为0。
子网掩码习题
相同的IP地址和不同的子网掩码是可以得到相同的网络地址的,但子网掩码不同意义也不同。 广播分组主机号全1,虽然不知道主机号占多少位但此处可以先排除A选项。此时我们着重IP地址和子网掩码的第三个字节,子网掩码该部分为252,转化为二进制数即为1111 1100,而IP地址此处为77,转化为二进制数即为0100 1101。此时对这两个二进制数进行按位相与运算,可得网络地址的第三字节为0100 1100,该二进制对应十进制数76,即该子网的网段为180.80.76.0。因为发送的是广播分组,所以后面的10位主机号(2位为第三字节,8位为第四字节)全部为1,此时目的地址的第三字节为0100 1111,即第三字节为79,第四字节为1111 1111,即第四字节为255,所以答案选D。
使用子网时分组的转发
无分类编址CIDR(构成超网)
无分类编址CIDR
CIDR的子网掩码:网络前缀全部取1,主机号全部取0。 已知一个CIDR地址,可以很快求得其最小地址和最大地址。
构成超网
网络1和网络2的网络前缀都是17位,也就是说前两个字节206.1大家都是一样的,只有第17位会有不同。构成超网的方式就是将网络前缀缩短至16位,此时两个地址共享同一个地址块。
最长前缀匹配
先根据网络前缀的位数,将目的地址的地址块写出,若与选项符合则暂时保留,之后在多个匹配结果中选择网络前缀最长的。 子网号为主机号中的一部分,在本题中主机号为8位,在CIDR的基础上再进行子网划分,子网掩码的第四字节为1111 1000,其中前五位为连续的1,所以该部分是子网号,剩下的三个0表示主机号。减2是因为不考虑主机号全0和全1的情况。
ARP协议
发送数据的过程
假设主机1要和主机3通信,若在ARP高速缓存中查找不到MAC3的地址,则通过ARP协议进行广播来获得MAC3的地址。 若主机1要和主机5通信,双方不在同一局域网内,此时主机1先通过ARP协议获取MAC6的地址,然后跳到网关6,再点对点运输到网关8,最后再通过ARP协议获取MAC5的地址,完成通信。
ARP协议
ARP协议是自动进行的,对主机和用户是透明的。 总结:只要是发给同一网络上的主机,就用ARP找主机MAC地址,若是发给另一网络上的主机,就用ARP找路由器的MAC地址。
ARP习题
因为路由器可能连接着很多个其他路由器,所以不一定是点对点通信,此处默认路由器之间传输需要使用ARP协议。
DHCP协议
主机如何获得IP地址
DHCP协议
ICMP协议
引入
从协议栈中的位置可以看出,ICMP、IGMP协议位于网络层和传输层中间这个位置,起到一个桥梁的作用。
网络控制报文协议ICMP
IP数据报的首部检验和只检验首部,不对后面的数据部分进行检验,因此无法保证ICMP报文不会出错。
ICMP差错报告报文
源点抑制报文现在基本已经弃用。
ICMP差错报告报文数据字段
不应发送ICMP差错报文的情况
这里的第一种情况是不再对ICMP的差错进行差错报告,也就是说如果收到的IP数据报出错了且错误是出在ICMP报文这一部分,则不再对该错误发送报文。 第二种情况指的是只对第一个分片发送报告报文,后面的都不发送了 第三种情况中的组播指的是一点到多点(是有选择性的),广播指的是一点到所有节点
ICMP询问报文
其中掩码地址请求和回答报文、路由器询问和通告报文现在已不再使用。
ICMP的应用
Traceroute原理:发送多个数据报,第一个数据报TTL设置为1,第二个数据报TTL设置为2,以此类推。当数据报被发送到第一个路由器时,TTL为0,此时发送时间超过差错报文给源主机。
IPv6
为什么有IPv6
IPv6数据报格式
Ipv6把IPv4中首部的可变部分放到了有效载荷中去,首部只保留固定40B的基本内容。 IPv6中有效载荷长度指的是有效载荷中扩展首部+数据部分的总长度,而IPv4中标识长度的有首部长度和总长度两个单位。 下一个首部:基本首部的下一个首部指向扩展首部1,扩展首部1的下一个首部则指向扩展首部2,扩展首部2对下一个首部指向扩展首部3,扩展首部3对下一个首部指向数据部分
IPv6和IPv4的区别
IPv6地址表示形式
IPv6基本地址类型
任播通常是给任播组中离源主机最近的一台发送数据报。
IPv6向IPv4过渡的策略
隧道技术中的封装指的是如果有一个IPv6数据报要通过IPv4路由器发送,则将该IPv6数据报作为数据部分封装成一个IPv4数据报,以此来完成传输。
知识总结与回顾
RIP协议及距离向量算法
RIP协议使用距离向量算法,适用于小网络;OSPF使用链路状态算法,适用于大网络。
RIP协议
通过路由器之间交换信息来填写路由表表项
RIP协议和谁交换?多久交换一次?交换什么?
距离向量算法
考虑到链路中可能存在各种突发状况,路由表中的信息要以最新接收到的信息为准,不管距离是变长还是缩短。
距离向量算法练习1
距离向量算法练习2
RIP协议的报文格式
RIP协议的特点:好消息传得快,坏消息传得慢
知识总结与回顾
OSPF协议及链路状态算法
OSPF协议
链路状态路由算法
OSPF的区域
采用分层次划分的方法,使得交换信息种类增多,OSPF协议更加复杂,但可以使每个区域内部交换信息数据量大大减少,使OSPF协议适用于规模更大的自治系统。
OSPF分组
RIP报文是用UDP数据报进行发送,OSPF直接用IP数据报发送。 OSPF协议是网络层协议(也有说是传输层协议的说法,此处以考纲为准)
OSPF其他特点
收敛速度很快:比起RIP协议,OSPF协议省去了将收到的链路信息与自身进行对照这一步,而是直接将链路信息存放进链路状态数据库,最终用迪杰斯特拉算法进行比较。
BGP协议
路由选择协议分类回顾
BGP协议
与OSPF协议类似,发生变化时才更新有变化的部分
BGP协议交换信息的过程
因为因特网规模较大,所以只要求找出较好路由即可,并不要求找到最佳路由。 边界路由器身兼多职,既遵循BGP协议,又遵循AS内部所使用的协议。
BGP协议交换信息的过程
此处只需要知道BGP协议交换的信息包含一组完整的路径即可。
BGP协议的报文格式
此处选用TCP进行传输是因为TCP可以提供更可靠的服务,还可以简化路由选择协议
BGP协议特点
BGP-4的四种报文
三种路由协议比较
IP组播
IP数据报的三种传输方式
组播路由器:身兼多职,既可以运行组播协议又可以运行单播协议
IP组播地址
硬件组播
MAC地址后23位与IP地址有一定映射关系(直接照抄即可) 硬件组播会出现一个问题,由于MAC地址前24位是01-00-5E,该部分是固定好的,后24位是以0开头也是固定好的,所以MAC地址实际上只取决于IP地址的后23位,这就会造成一个问题,不同的IP地址可能映射出一样的MAC地址。原因是D类IP地址中间有5位是不固定的,而这5位不会对MAC地址造成实际影响,所以就会存在后23位一样前5位(指不固定的5位)不一样但却得到同一个MAC地址的情况,所以需要在IP层进行过滤。
IGMP协议与组播路由选择协议
组播路由器通过使用IGMP协议,就可以知道他所连的局域网中是否还有可以接受组播数据报的主机。
网际组管理协议IGMP
IGMP协议不知道局域网中组播组的成员个数和位置等详细信息,只知道是否有主机参加/退出了组播组。
IGMP工作的两个阶段
当一个主机组播组做出响应,其他主机会进行监听,得知有已有主机做出响应,其他主机就不在应答,以避免不必要的通信量。
组播路由选择协议
知识总结与回顾
移动IP
移动IP相关术语
移动IP通信过程
本地代理只有在主机不在局域网范围内时才会截获数据报。
网络层设备
路由器
转发是在路由器内部进行,路由选择是在路由器外部进行的(对多个路由器进行选择)。
三层设备的区别
路由表与路由转发
路由表是根据路由选择算法得到的,而转发表是根据路由表得到的,还需结合一些主机相关信息。
|