网络层概述
a)网络层要设计的尽量简单,向其上层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务.
→尽最大努力
①无连接服务:发送方无需提前与接收方建立连接+每个数据报独立路由,可能选择不同路径;
②不保证可靠:缓存溢出时直接丢弃数据报+无重传机制+无确认机制;
③不保证有序:数据报可能通过不同路径传输;
④不保证带宽和时延:数据报转发延迟受路由跳数、队列长度、链路负载等因素影响,无法预测+无QoS保证,即默认不区分数据优先级;
b)网络在发送分组时,不需要先建立连接.每个分组独立发送,不进行编号.网络层不提供服务质量承诺.即所传送分组可能出错/丢失/重复/失序,即不按序到达终点.也不保证分组交付的时限.如果主机进程之间需要进行可靠通信,由主机的运输层负责.
c)在路由器间传送的信息有两类:数据分组转发+路由信息交换.
①转发源主机和目的主机之间所传送的数据,把源主机所发送的分组,从一个路由器转发到下一个路由器,最后把分组传送到目的主机;
②传送路由信息,根据路路由选择协议使用的路由算法,彼此不断交换路由信息分组,目的是在路由器中创建路由表,并由此导出为转发分组而用的转发表.
→
在数据层面中,每一个路由器根据本路由器生成的转发表,把收到的分组,从查找到的对应接口转发出去.在控制层面中,路由器必须和相邻的路由器经常交换路由信息,然后才能创建出本路由器的路由表.
d)传统互联网中,每一个路由器,既有转发表又有路由选择软件,即每个路由器,既有数据层面也有控制层面.但是在software defined network结构中,所有的路由器变简单了,路由器上的路由选择软件不存在了,因此路由器之间不再互相交换路由信息.有一个远程控制器,掌握各主机和整个网络连接状态,能够为每一个分组计算出最佳路由.
IP协议概述
a)
b)异构网络是指物理介质、数据格式、通信协议、传输速率、拓扑结构等方面存在显著差异的网络.如有线网络和无线网络、ipv4局域网和ipv6物联网.→互联本质是通过通用协议和中间设备,使异构网络能够互相通信,形成单一逻辑网络.→IP协议统一语言屏蔽了底层差异.路由器在不同网络间转发数据包,实现路径选择.→互联网不是一张网,而是网络的网络.
c)分组传送过程(互联网可以由多种异构网络互连而成)
①主机H1先查找自己的转发表,看目的主机H2是否在本网络上.如是,则不需要经过任何路由器而直接交付,任务就完成了.如不是,则必须把IP数据报发送给某个路由器,R1在查找了自己的转发表后,知道应当把数据报转发给R2进行间接交付.
IP地址表示方法
a)IP地址 ::= {,} // 整个互联网范围内唯一
b)IP地址分类(已淘汰)
①A类地址中网络号字段只有7位可供使用.其中网络号全0表示”本网络”,网络号127保留为本地回环测试.因此A类地址可指派的网络号是126个.→全0主机号表示本主机所连接到的单个网络地址,全1主机号表示该网络上的所有主机.
c)CIDR(classless inter-domain routing)
①IP地址 ::= {,} // 网络前缀的位数n不是固定的数,slash notation→路由器将CIDR前缀长度转换为subnet mask,子网掩码和IP地址共同存储在路由表中,均为32位.→CIDR允许多个连续小网段合并为一个大网段.
②CIDR将具有相同网络前缀(二进制位严格匹配)的连续IP地址聚合为一个CIDR地址块.
③在CIDR机制中,连续的多个较小地址块可通过寻找最长公共前缀,聚合成一个更大的CIDR地址块.该聚合操作使得路由转发表中原本需多个独立表格的路由条目,被合并为单一表项,从而显著压缩路由表规模并提升转发效率.
④在IP层抽象的互联网只能看到IP数据报.虽然IP数据报要经过路由器R1和R2的两次转发,但在它的首部中的源地址和目的地址始终是IP1和IP2.→在局域网的链路层通信中.设备仅能识别同一广播域内的MAC帧.当数据需要跨越不同IP子网时,路由器会剥离原始MAC帧头部,根据下一跳目标重建新的MAC帧.此时新MAC帧的源地址变成当前路由器的出口MAC地址,目的地址变为下一跳设备(或终端)的MAC地址,原始MAC地址信息在此过程被丢弃.
IPv4数据报格式
a)
①区分服务:6位的differentialted services code point用于标记数据包的优先级或服务类型,包括:低延迟流量、确保带宽的流量、默认尽力而为流量.→注意!这里是请求,而不是保证.
②标识→IP软件维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段.但这个标识并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题.当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中.相同的标识字段的值使分片后的各数据报片最后能正确地重装成原来的数据报.→标志=1表示后面还有分片,片偏移字段记录分片数据在原始数据报中的位置(以8字节为单位).
③生存时间(time to live)→防止无法交付的数据报无限制绕圈.跳数限制.
④首部校验和→只校验数据报首部,不包括数据部分.因为数据报每经过一个路由器,路由器都要重新计算首部校验和,不检验数据部分可减少计算量.→不采用复杂CRC,而采用:发送方用反码算术运算把所有16位字相加后,将得到的和的反码写入校验和字段.接收方把首部的所有16位字再使用反码算术运算相加一次,若首部未发生变化,结果必为0.
IPv6数据报格式
a)
①版本→对ipv6该字段是6;
②traffic class→区分不同数据报的类别或优先级,和ipv4区分服务字段类似.
③flow label→资源预分配机制,允许路由器把每一个数据报与一个给定的资源分配相联系.流就是互联网络上从特定源点到特定终点(单播或多播)的一系列数据报(如实时音频或视频传输),而这个流所经过的路径上的路径上的路由器都保证指明的服务质量.→所有属于同一个流的数据报都具有同样的流标号.
④next header→i)没有扩展首部时,它的值指出基本首部后面的数据应交付IP层上面的哪一个高层协议(如6或17表示TCP或UDP).ii)有扩展首部时,标识后面第一个扩展首部的类型.
b)扩展首部
问题:①ipv4选项字段要求路径上所有路由器逐跳检查,即使选项和路由器无关,导致转发性能下降.ipv6将功能模块化为扩展首部,规定仅逐跳选项首部需中间路由器处理,其他扩展首部(如分片/路由选择)由通信端点处理,降低路由器负载.
难点:①安全风险和攻击面扩大等.
基础概念:①RFC 8200定义了六种扩展首部→逐跳选项/路由选择/分片/鉴别/封装安全有效载荷/目的站选项.
方案原理:/
创新点:①ipv4的数据报若在其首部中使用了选项,则在数据报转发路径中的每一个路由器,都必须检查首部中的所有选项,看是否与本路由器有关,费时.若ipv6使用扩展首部,在基本首部的”下一个首部”字段会指出,在”有效载荷”字段中使用了何种扩展首部.使路由器可以迅速判断待转发的ipv6数据报有无需要本路由器处理的选项.
c)协议兼容
①dual stack→双协议栈主机怎么知道目的主机是采用哪一种地址?使用域名系统DNS来查询.双协议栈代价很大,因为要安装两套协议.
②tunneling→ipv6数据报要进入ipv4网络时,把ipv6数据报封装成ipv4数据报.整个ipv6数据报变成了ipv4数据报的数据部分.
网络层转发分组的过程
a)基于终点的转发→
①当路由器通过转发表确定下一跳路由器的IP地址后,该IP地址不会直接写入IP数据报首部(因为IP首部目的地址始终指向最终目标主机).此时,路由器将下一跳IP地址交由数据链路层的网络接口软件处理:
i)接口软件调用ARP协议,以获取下一跳IP地址对应的MAC地址;
ii)封装新的链路层帧头;
iii)IP数据报(含不变的源地址和目的地址)被封装至链路层帧的数据部分.
②源主机H1向目的地址H2发送分组过程→
i)H1确定目的主机是否在本网络:把目的地址和本网络的子网掩码按位与,如果结果等于本网络的前缀,就表明主机连接在本网络,此时不需要路由器.
ii)路由器转发表第1列就是前缀匹配,查找转发表就是寻找前缀匹配的过程.
iii)路由器R1调用ARP解析出目的主机H2的MAC地址,再封装成链路层的帧,直接交付在本网络的目的主机H2.
→匹配转发过程总结
①源主机H1判断目的主机位置:H1将目的IP(H2)与本机子网掩码进行按位与运算,若结果等于本子网的网络地址,则H2位于同一子网,H1直接通过ARP解析H2的MAC地址并交付.否则,H1将分组发送至默认网关.
②路由器查找转发表:R1提取分组目的IP,在路由表中执行最长前缀匹配,选择掩码最长的路由条目确定下一跳地址.
③路由器交付分组:若下一跳为直连子网,R1通过ARP解析H2的MAC地址,封装数据链路层帧并直接交付→若下一跳为其他路由器,R1解析该路由器的MAC地址,封装成帧后转发至下一跳.
b)最长前缀匹配
①问题:聚合路由的路径模糊化→解决(longest prefix match):采用CIDR编指时,如果一个分组在转发表中可以找到多个匹配的前缀,则选择前缀最长的一个作为匹配.因为网络前缀越长,其地址块就越小,路由就越具体.→可以按照前缀长短排序转发表.
②问题:在复杂网络中临时指定某主机的转发路径→解决(host route):通过32位子网掩码标识主机地址(如192.168.1.1/32).路由表匹配时,因其前缀长度最长,优先级高于网段路由,确保指定路径转发.
③问题:在单出口网络中,将所有未知目的流量导向唯一出口设备(如总部路由器或ISP网关)→解决(default route):用一个特殊的前缀0.0.0.0/0来标识默认路由,将分组送交下一条路由器R处理.
c)binary trie查找转发表时,无论是否存在匹配路由,最坏情况下都需遍历IP地址的全部32位.
网络控制报文协议ICMP
a)
问题:①IP协议作为无连接服务,数据包丢失、路由错误时无反馈机制.②无法主动探测网络状态(如连通性/延迟/路径).③无法传递拥塞通知、路由重定向等管理信息.
难点:如何在无连接、不可靠的IP层实现高效可控的管理功能.①差错反馈与网络风暴的平衡(差错报告本身可能加剧网络拥塞).②安全与功能的矛盾(攻击面扩大).③协议语义的精确性.④与传输层协同.→
基础概念:ICMP允许主机或路由器报告差错情和提供有关异常情况的报告.但ICMP协议不是高层协议(ICMP报文装在IP数据报中,作为其数据部分,看起来像是高层协议),ICMP是IP层协议.→
解决原则:①最小侵入;②精简;③终端决策权.
b)ICMP报文有两种,是ICMP差错报告报文、ICMP询问报文.ICMP报文的前4个字节是统一格式,是类型+代码(进一步区分某种类型的不同情况)+校验和(检验整个ICMP报文,因为IP数据报的首部校验和并不校验IP数据报的内容,因此不能保证经过传输的ICMP报文不产生差错.).接着的4字节的内容与ICMP的类型有关.最后面是数据字段,其长度取决于ICMP的类型.
c)基本概念
①终点不可达:路由器或主机不能交付数据报时向源点发送终点不可达报文;
②时间超时:当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源点发送时间超时报文.当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超时报文;
③参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文;
④改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器.(当主机刚开始工作时,一般都在转发表中设置一个默认路由器的IP地址.不管数据报要发送到哪个目的地址,都一律先把数据报传给这个默认路由器,而这个默认路由器知道每一个目的网络的最佳路由,因为其会和其他路由器交换路由信息.如果默认路由器发现主机发往某个目的地址的数据报的最佳路由应当经过网络上的另一个路由器R,就用改变路由报文把这个情况告诉主机.于是该主机就在其转发表中增加一个项目:到某某目的地址应该经过路由器R,而不是默认路由器);
⑤对ICMP差错报告报文/对第一个分片的数据报片的所有后续数据报片/对具有多播地址的数据报/对特殊地址(如127.0.0.0或0.0.0.0),不发送ICMP差错报告报文;
⑥回送请求或回送回答:这种询问报文用来测试目的站是否可达以及了解其状态;
⑦时间戳请求或时间戳回答:计算网络的往返时延.
d)应用例子
1)PING(packet internet groper)使用ICMP的回送请求与回送回答报文.PING是应用层直接使用网络层ICMP的一个例子,它没有通过运输层的TCP/UDP.
2)tracert(trace route)获取到达目的主机经过的路由器的IP地址,以及到达其中的每一个路由器的往返时间.
文章来源于互联网:计算机网络3!!!_网络层
探索文心一言在AI人工智能领域的智能教育应用 关键词:文心一言、AI人工智能、智能教育应用、教育创新、个性化学习 摘要:本文聚焦于探索文心一言在AI人工智能领域的智能教育应用。首先介绍了研究的背景、目的、预期读者和文档结构等内容。接着阐述了文心一言及智能教育的…
5bei.cn大模型教程网










