当前位置:首页 » 网络连接 » 计算机网络mf字段
扩展阅读
设置家庭网络电脑配置 2025-09-29 16:42:19
海康软件支持苹果系统 2025-09-29 16:40:58
什么网站有文学类 2025-09-29 16:39:27

计算机网络mf字段

发布时间: 2023-04-19 16:34:38

‘壹’ 为什么分片标识字段值一样

在链路层上边每一个数据帧都有一个可封装数据的上限,这个上限就叫最大传输单元MTU。比如以太网MTU是1500字节
IP分组在向下传给数据链路层的时候加头加尾,形成数据帧,中间数据帧纳雹不能超过MTU

如果超过了最大传输单元就可以进行分片,有个前提是IP分组必须统一把自己的IP数据报分片,如果IP分组不同意分片就会返回一个ICMP的差错报文。
标识字段:经过分片的IP数据报所有的标识字段都是相同的
标志字段:有三位,低两位有效,中间位:DF = 0 表示 允许分片。最低位:MF = 0 表示最后一片/没有分片,否则就是后边还有分片。只有DF = 0 MF才有意义。
片偏移量:片偏移量以8字节为单位,所以求偏移量要除以8.
片偏移量求法:查看每段的笑茄铅其实字节数(数据部分),除以偏移量的单位

各个字段的单位是不一样的,计算总长度需要乘上单位大小。
计算机网络
高清播放机,图片大全,点击查看详情!
精选推荐
广告

IP分片重组
24下载·0评论
2017年12月24日
TCP报文段的分段 和 IP数据报的分片
660阅读·0评论·0点赞
2022年9月5日
计算机网络基础 IP头部报文;IP的分片;
1024阅读·0评论·0点赞
2022年9月29日
TCP/IP详解:用户数据报协议(UDP)和IP分片
846阅读·0评论·0点赞
2021年10月5日
计算机网络——IP数据报分片
5477阅读·0评论·4点赞
2021年12月25日
TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式
4603阅读·12评论·17点赞
2022年8月7日
高清播放机,图片大全,点击查看详情!

精选推荐
广告
【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
1.0W阅读·2评论·14点赞
2020年8月27日
计算机网络-IP数据报计算(IP数据报分片)一个数据报部分长度为3400字节(使用固定首部)。现在经过一个网络传输,该网络的MTU为800字节:
3.1W阅读·20评论·67点赞
2020年6月9日
IP数据报格式及分片与重组
4141阅读·0评论·7点赞
2021年10月27日
计算机网络IP分片过程与习题碰好题解
2460阅读·0评论·9点赞
2020年11月5日
计算机网络(二十六)-IP数据报

‘贰’ 计算机网络方面的计算机题,请帮忙回答,关于数据报的

题意不是很清楚.从“数据报”这一名词,我推测你说的是IP层。

显然,IP层的固定首部为20个字节:
所以要发送的信息数据长度为:5000-20=4800(字节)
分片为:4800/1600=3(^_^,太巧合了);
所以各数据片的数据长度为:1600字节;

下面说说片偏移
首先你要明白片偏移是以8个字节为单位的。
所以第一片的片偏移为:0;
第二片为:1600/8=200;
第三片为:1600/8+200=400;

最后说说MF标志:
MF全称为more fragment,意思为还有分片吗?
显然有三个分片,所以MF分别为:
1,1,0。

最后给你补一点小知识:
IP首部还有一个叫DF的字段,该字段全称为:don't fragment,意思是不能分片。如果该字段为一,数据报就不会分片,如果出现题目超最大长度的现象,则返回的是ICMP差错报告报文;显然此题中数据报DF字段为0,才能出现以上我讨论的情况。

^_^,给分我吧。

‘叁’ 求解两道计算机网络技术题,可追加悬赏,谢谢!

我有点紧张啊,答错了怕要挨网友的骂,另外哥们儿,你在读大学吗?这是老师留的作业吗?

第一题:(1)、允许配置的最小IP是192.168.4.2(注意,不能是192.168.4.1,别跟路由器R2下面那个接口的IP重了,那个IP待会儿要设成网关的,网关和主机IP不能重复);

最大IP是192.168.4.254(主机号不能全0全1这点应该知道吧,第二问也给提示了);
子网掩码明显是255.255.255.0,要接入的网络是192.168.4.0/24嘛,后面这个24就是24位网络前缀,也就是子网掩码中前24位全是1;
默认网关就是192.168.4.1。

(2)、分析:原来H2所在网络是192.168.5.0/24,说明后8位是主机号,要分成两个一样大的子网,要求子网规模尽可能大,所谓“子网规模尽可能大”,意思就是子网号所占位数尽可能少,剩下更多位数给主机号,所以按理说从主机号中拿出前1位来做子网号就可以了,一个0一个1正好俩子网,但人家又说不允许全0全1的子网号,所以拿1位不够,要拿前2位出来,那就四种子网号,00,01,10,11,而00和11不能用,所以两个子网号分别是01和10。
子网掩码是255.255.255.192(前三个255对应24位网络前缀,后面的192对应2位子网号)

那么子网A的子网地址就是192.168.5.64/26,它的广播地址(也就是主机号全1)是192.168.5.127;
子网B的子网地址就是192.168.5.128/26,它的广播地址是192.168.5.191;
它俩允许接入的主机数目都是2^6-2=62(减的这个2是主机号全0和全1的那俩)

第二题:数据报总长980B,首部说固定长度,那就按20B来算,所以数据报的组成是960B的数据+20B的首部。
(1)、显然要分成两个数据分片,第一个数据字段长度是640B(最大长度660B-20B的首部),它的片偏移是0,MF=1(MF=1代表后面还有分片,MF=0代表后面没有分片了),第二个数据字段长度是320B(总共960B减去第一个分片的640B),它的片偏移是80(片偏移以8B为单位,这点一定要牢记,640B/8B=80),MF=0。
(2)、不会报错,ICMP对第一个分片后续的所有分片都不发送差错报告报文,ICMP发送的差错报告只有这五种类型:1、终点不可达;2、源点抑制,也就是拥塞;3、时间超过,也就是TTL减到0了;4、参数问题,比如DF=1并且分组长度还超过了MTU;5、改变路由,也就是找到更短路径了;ICMP记住一句话:只要出这五类错就丢弃并返回报告报文。

‘肆’ 计算机网络(四)网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。

链路层数据帧可封装数据的上限称为最大传送单元MTU

标识:同一数据报的分片使用同一标识。

中间位DF(Don’t Fragment):

最低位MF(More Fragment):

片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。除了最后一个分片,每个分片长度一定是8B的整数倍。

IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。IP地址::={<网络号>,<主机号>}

有一些IP地址是不能用的,有其特殊的作用,如:

网络地址转换NAT(Network Address Translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。

此外,为了网络安全,划分出了部分IP地址和私有IP地址,私有IP地址网段如下:

路由器对目的地址是私有IP地址的数据报一律不进行转发。

分类的IP地址的弱点:

某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。

路由器转发分组的算法:

无分类域间路由选择CIDR:

CIDR记法:IP地址后加上“/”,然后写上网络前缀(可以任意长度)的位数。e.g. 128.14.32.0/20

CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。

使用CIDR时,查找路由表可能得到几个匹配结果(跟网络掩码按位相与),应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。

将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。方法:将网络前缀缩短(所有网络地址取交集)。

由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。

ARP协议:完成主机或路由器IP地址到MAC地址的映射。

ARP协议使用过程:

ARP协议4种典型情况:

动态主机配置协议DHCP是 应用层 协议,使用 客户/服务器 方式,客户端和服务端通过 广播 方式进行交互,基于 UDP

DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。

DHCP工作流程如下:

ICMP协议支持主机或路由器:包括差错(或异常)报告和网络探询,分部发送特定ICMP报文

ICMP差错报告报文(5种):

不应发送ICMP差错报文的情况:

ICMP询问报文:

ICMP的应用:

32位IPv4地址空间已分配殆尽,这时,可以采用更大地址空间的新版本的IPv6,从根本上解决地址耗尽问题

IPv6数据报格式如下图

IPv6的主要特点如下:

IPv6地址表示形式:

零压缩:一连串连续的0可以被一对冒号取代。双冒号表示法在一个地址中仅可出现一次。

IPv6基本地址类型:

IPv6向IPv4过渡的策略:

R1的路由表/转发表如下:

最佳路由:“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。

路由算法可分为

由于因特网规模很大且许多单位不想让外界知道自己的路由选择协议,但还想连入因特网,可以采用自治系统来解决

自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。

一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。

路由选择协议

RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离 [1] 记录(即一组距离)。 RIP协议只适用于小互联网。

RIP是应用层协议,使用 UDP 传送数据。一个RIP报文最多可包括25个路由,如超过,必须再用一个RIP报文传送。

RIP协议的交换

路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。

经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。

RIP的特点:当网络出现故障时,要经过比较长的时间(例如数分钟) 才能将此信息传送到所有的路由器,“慢收敛”。

对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”字段+1。

开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。OSPF最主要的特征就是使用分布式的链路状态协议。 OSPF直接用IP数据报传送。

OSPF的特点:

为了使OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域。每一个区域都有一个32 位的区域标识符(用点分十进制表示)。区域也不能太大,在一个区域内的路由器最好不超过200 个。

BGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP 发言人互相交换了网络可达性的信息后,各BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各AS 的较好路由。

一个BGP 发言人与其他自治系统中的BGP 发言人要交换路由信息,就要先建立TCP 连接,即通过TCP传送,然后在此连接上交换BGP 报文以建立BGP 会话(session),利用BGP 会话交换路由信息。 BGP是应用层协议,借助TCP传送。

BGP协议特点:

BGP-4的四种报文

组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。

IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。

组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。

同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。

TCP/IP 协议使用的以太网多播地址的范围是:从01-00-5E-00-00-00到01-00-5E-7F-FF-FF .

收到多播数据报的主机,还要在IP 层利用软件进行过滤,把不是本主机要接收的数据报丢弃。

ICMP和IGMP都使用IP数据报传递报文。组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员。

IGMP工作的两个阶段:

只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。

组播路由协议目的是找出以源主机为根节点的组播转发树。构造树可以避免在路由器之间兜圈子。对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。

组播路由选择协议常使用的三种算法:

移动IP技术是移动结点(计算机/服务器等)以 固定的网络IP地址 ,实现跨越不同网段的 漫游 功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。

若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

路由器(网络层)可以互联两个不同网络层协议的网段。
网桥(链路层)可以互联两个物理层和链路层不同的网段。
集线器(物理层)不能互联两个物理层不同的网段。

路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。

转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。

‘伍’ 计算机网络:网络层(2)

如图,一个IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。

(1)版本
占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。也有使用IPv6的(即版本6的IP协议)。
(2)首部长度
占4位,可表示的最大十进制数值是15。 这个字段所表示数的单位是32位字(1个32位字长是4字节),因此,当I的首部长度为1111时(即十进制的15),首部长度就达到最大值60字节。当分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。 因此数据部分永远在4字节的整数倍时开始,这样在实现IP协议时较为方便。首部长度限制为60字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何选项。
(3)区分服务
占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年ITF把这个字段改名为区分服务DS( Differentiated Services。只有在使用区分服务时,这个字段才起作用。在一般的情况下都不使用这个字段。
(4)总长度
总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为216-1=65535字节。
在IP层下面的每一种数据链路层都有其自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU( Maximum Transfer Unit)。当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。虽然使用尽可能长的数据报会使传输效率提高,但由于以太网的普遍应用,所以实际上使用的数据报长度 很少有超过1500字节 的。为了不使IP数据报的传输效率降低,有关IP的标准文档规定,所有的主机和路由器必须能够处理的IP数据报长度不得小于576字节。这个数值也就是最小的IP数据报的总长度。当数据报长度超过网络所容许的最大传送单元MTU时,就必须把过长的数据报进行分片后才能在网络上传送。这时,数据报首部中的“总长度”字段不是指未分片前的数据报长度,而是指分片后的每一个分片的首部长度与数据长度的总和。
(5)标识 (identification)
占16位。软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。
(6)标志(flag)
占3位,但目前只有两位有意义。
标志字段中的最低位记为 MF ( More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若千数据报片中的最后一个。
标志字段中间的一位记为 DF (Dont Fragment),意思是“不能分片”。只有当DF=0时才允许分片。
(7)片偏移
占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。
(8)生存时间
占8位,生存时间字段常用的英文缩写是TTL( Time To live),表明是数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防止无法交付的数据报无限制地在因特网中兜圈子(例如从路由器R1转发到R2,再转发到R3,然后又转发到R1),因而白白消耗网络资源。最初的设计是以秒作为TTL值的单位。每经过一个路由器时,就把TTL减去数据报在路由器所消耗掉的一段时间。若数据报在路由器消耗的时间小于1秒,就把TTL值减1。当TTL值减为零时,就丢弃这个数据报然而随着技术的进步,路由器处理数据报所需的时间不断在缩短,一般都远远小于1秒钟,后来就把TTL字段的功能改为“跳数限制”(但名称不变)。路由器在转发数据报之前就把TTL值减1。若TTL值减小到零,就丢弃这个数据报,不再转发。因此,现在TTL的单位不再是秒,而是跳数。 TTL的意义是指明数据报在因特网中至多可经过多少个路由器 。显然,数据报能在因特网中经过的路由器的最大数值是255。若把TTL的初始值设置为1,就表示这个数据报只能在本局域网中传送。因为这个数据报一传送到局域网上的某个路由器,在被转发之前TTL值就减小到零,因而就会被这个路由器丢弃。
(9)协议
占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。

过程大致如下:
(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
(2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付给目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(5)
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6)报告转发分组出错。

在进行更详细的转发解释之前,先要了解一下子网掩码:

上一篇说到了二级IP地址,也就是IP地址由网络号和主机号组成。

二级IP地址有以下缺点:
第一,IP地址空间的利用率有时很低每一个A类地址网络可连接的主机数超过1000万,而每一个B类地址网络可连接的主机数也超过6万。然而有些网络对连接在网络上的计算机数目有限制,根本达不到这样大的数值。例如10 BASE-T以太网规定其最大结点数只有1024个。这样的以太网若使用一个B类地址就浪费6万多个IP地址,地址空间的利用率还不到2%,而其他单位的主机无法使用这些被浪费的地址。有的单位申请到了一个B类地址网络,但所连接的主机数并不多,可是又不愿意申请一个足够使用的C类地址,理由是考虑到今后可能的发展。IP地址的浪费,还会使IP地址空间的资源过早地被用完。
第二,给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
每一个路由器都应当能够从路由表査出应怎样到达其他网络的下一跳路由器。因此,互联网中的网络数越多,路由器的路由表的项目数也就越多。这样,即使我们拥有足够多的IP地址资源可以给每一个物理网络分配一个网络号,也会导致路由器中的路由表中的项目数过多。这不仅增加了路由器的成本(需要更多的存储空间),而且使查找路由时耗费更多的时间,同时也使路由器之间定期交换的路由信息急剧增加,因而使路由器和整个因特网的性能都下降了。
第三,两级IP地址不够灵活。
有时情况紧急,一个单位需要在新的地点马上开通一个新的网络。但是在申请到一个新的IP地址之前,新增加的网络是不可能连接到因特网上工作的。我们希望有一种方法,使一个单位能随时灵活地增加本单位的网络,而不必事先到因特网管理机构去申请新的网络号。原来的两级IP地址无法做到这一点。

于是为解决上述问题,从1985年起在IP地址中又增加了一个“子网号字段”,使两级IP地址变成为三级IP地址,它能够较好地解决上述问题,并且使用起来也很灵活。这种做法叫作划分子网 (subnetting),或子网寻址或子网路由选择。划分子网已成为因特网的正式标准协议。

划分子网的基本思路如下:
(1)一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网 subnet)。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成,因为这个单位对外仍然表现为一个网络。
(2)划分子网的方法是从网络的主机号借用若干位作为子网号 subnet-id,当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部就变为三级IP地址:网络号、子网号和主机号。也可以用以下记法来表示:
IP地址:=(<网络号>,<子网号>,<主机号>}

(3)凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机。

简单来说就是原来的IP地址总长度不变,把原来由“网络号+主机号”组成的IP地址,变为了“网络号+子网号+主机号”,因为其他网络找当前网络的主机时,使用的还是网络号,所以外面的网看不见当前网络的子网。当本网的路由器在收到IP数据报后,按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机。

现在剩下的问题就是:假定有一个数据报(其目的地址是145.133.10)已经到达了路由器R1。那么这个路由器如何把它转发到子网145.3.3.0呢?
我们知道,从IP数据报的首部并不知道源主机或目的主机所连接的网络是否进行了子网的划分。这是因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。因此必须另外想办法,这就是使用子网掩码( (subnet mask)。

子网掩码,简单来说就是把除了主机号设置为0,其他位置的数字都设置为1。
以B类地址为例:

把三级IP地址的网络号与子网号连起来,与子网掩码做“与”运算,就得到了子网的网络地址。

在因特网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。
那么既然没有子网,为什么还要使用子网掩码?
这就是为了更便于査找路由表。
默认子网掩码中1的位置和IP地址中的网络号字段 net-id正好相对应。因此,若用默认子网掩码和某个不划分子网的IP地址逐位相“与”(AND),就应当能够得出该IP地址的网络地址来。这样做可以不用查找该地址的类别位就能知道这是哪一类的IP地址。显然,

子网掩码是一个网络或一个子网的重要属性。在RFC950成为因特网的正式标准后,路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。在路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
以一个B类地址为例,说明可以有多少种子网划分的方法。在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。

表中的“子网号的位数”中没有0,1,15和16这四种情况,因为这没有意义。虽然根据已成为因特网标准协议的RFC950文档,子网号不能为全1或全0,但随着无分类域间路由选择CIDR的广泛使用,现在全1和全0的子网号也可以使用了,但一定要谨慎使用,要弄清你的路由器所用的路由选择软件是否支持全0或全1的子网号。这种较新的用法我们可以看出,若使用较少位数的子网号,则每一个子网上可连接的主机数就较多。
反之,若使用较多位数的子网号,则子网的数目较多但每个子网上可连接的主机数就较少因此我们可根据网络的具体情况(一共需要划分多少个子网,每个子网中最多有多少个主机)来选择合适的子网掩码。

所以,划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。

在划分子网的情况下,分组转发的算法必须做相应的改动。
使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址。
所以之前的流程变成了下面这样:
(1)从收到的数据报的首部提取目的IP地址D。
(2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与”(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相“与”(AND操作),其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)。
5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)
(6)报告转发分组出错。

‘陆’ 2-ipv6基础知识之-数据包

IPv4 包头由固敏冲搏定20字节的包头与可变长的选项组成:

版本(Version)域, 长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6)

IHL用4位来表示。

由于头部的长度是不固定的,所以头部的IHL域指明了该头部有多长(以32位字的长度为单位)。

IHL的最小长度为5,这个时候表明没有可选项(Option),此4位域的最大值也就是15,也就是说头部的最大长度为15*(32/8) = 60字节,因此可选项(Option) = 60 - 20 = 40字节,可选项的内容最大为40字节。对于某些选项,比如记录一个分组沿途路径的选项,40字节往往太小了,这就使得这样的选项其实桥祥没有什么用处。

服务类型(Type of Service)域, 长度8比特。

8位按位被如下定义 PPP DTRC0

PPP:定义包的优先级,取值越大数据越重要

DTRCO

总长度(Total Length)域, 以字节为单位计算的IP包的长度 (包括头部和数据),所以IP包最大长度65535字节。

标识(Identification)域, 该字段和Flags和Fragment Offest字段联合使用,对较大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。是让目标主机确定一个新到来的分段是属于哪一个数据报的。同一个数据报的的所有分段都有相同的Identification值。

接下来是未使用的位。然后是两个1位域。

DF代表不分段(Don't Fragment),这是针对路由器的一个命令,它让路由器不要分割该数据报,因为目标主机可能无法将分片重新组合回原来的数据报。例如,当一台计算机启动的时候,它的ROM可能向网络请求一个包含内存映像的一个数据报。在数据报中标记了DF位之后,它就知道该数据将作为一个整体到达接收方,不过这意味着该数据报必须避开最优路径的小分组网络,而不得不走次优的的路径。所有的机器都要求能接受576字节或者更少的分段(4.5k)。

MF代表更多的分段(More Fragment)。除了最后一个分段以外,其它所有的分段都必须设置这一位,它的用途是,接收方可以知道什么时候一个数据报的所有分段已经到达了。

分段偏移(Fragment Offset)(13位域)域指明了该分段在当前数据报中的什么位置上。除了一个数据报的最后一个分段以外,其他所有的分段必须是8字节的倍数,这里的8字节是基本的分段单位(64bit大小)。由于该域有13位,所以每个数据报最多可以有2^13 = 8192个分段,因此,最大的数据报长度为8192*8 = 65536字节,比Taotal length域还要大1.

TTL(Time to live)域(8位域), 当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。

当网络层组装完成一个完整的数据报之后,它需要知道该如何对它进行处理。协议(Protocol)域指明了该将它交给哪一个传输进程。TCP是一种可能,UDP或者其他协议也是一种可能。协议的编号是整合Internet全球统一的。

头部校验和(Header checksum)域只校验头部。这样的校验和对于检测“因路由器中的坏内存而产生的错误”非常有用。因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。其算法是这样的:当数据到达时,所有的16位(半字)累加起来,然后再取结果的补码。该算法的判卖意图是,当数据到达之后,Header checksum的计算结果应该为0.该算法比常规算法更加稳定。请注意,在每一跳上,Header checksum域必须重新计算,因为至少有一个域总是要改变的(即Time to live),但是通过一些技巧可以加速计算。

都用32为表示。要注意除非使用NAT,否则整个传输的过程中,这两个地址不会改变

选项(Option)域的设计意图是:主要用于测试; 允许后续版本的协议包含一些原来的设计中没有出现的信息;允许实验人员试验新的想法;避免为那些不常使用的信息分配头部域。选项是变长的,每一个选项的第一个字节是一个标识码,它标明了该选项。有的选项后面跟着1个字节的选项长度域,然后是一个或多个数据字节。Options域被补齐到4字节的倍数。

IPv6 数据报包括一个主首部和0 或多个扩展首部。IPv6 包头结构如下图所示。

IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。

4位,IP协议版本号,值 = 6。

8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型(TOS/QOS)字段。 (通往目标节点的过程中,这个字段的值可能会被修改)

20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流,这个字段是为了给实时数据报交付和QoS提供更多的支持。该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。 flow label最初是28bit,逐渐修改至rfc2460的20bit。flow label通过伪随机算法生成,介于1至fffff之间。如果一组数据流具有相同的源地址、目的地址、hop-by-hop和routing,那么这组数据流可能共享flow label。由此可见,IPv6结点可以仅通过flow label,不检查其它属性值,即可知道如何处理和转发这组数据流。

16位负载长度。负载长度包括扩展头和上层PDU,16位最多可表示65535字节负载长度。超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段(Hop-by-Hop)选项中的巨量负载(Jumbo Payload)选项。 总而言之,该字段的值=报文总长度-40

8位,指明识别紧跟在IPv6头后的包头类型,如扩展头(有的话)或某个传输层协议头(诸如TCP,UDP或者ICMPv6)。

由下图可以看出,因为可以有多个扩展头,一个扩展头中还有Next Header字段,用于指明下一个扩展头或者传输层的类型。(扩展可以有多个,但是上层数据只能有一个)
常见的Next Header值:

8位,类似于IPv4的TTL(生命期)字段。与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。包每经过一次转发,该字段减1,减到0时就把这个包丢弃。
S

128位(16字节),发送方主机地址。

128位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口。

参考文档《深入解析IPv6》

‘柒’ 计算机网络MF字段怎么

计算机网络(第7版)p129

(6)标志 占3位,但目前只有2位有意义

  • 标志字段中的最低位记为MF。MF=1即表示后面“还有分片”的数据报。MF=0表示这已经是若干数据报片中的最后一个。

  • 标志字段中间的一位记为DF,意思是“不能分片”。只有当DF=0时才允许分片。

‘捌’ tcp分片和ip分片的区别

我们在计算机网络上所看到的分片一般是指ip分片,ip分片是指在网络传输过程中若遇到链路MTU比自己报文小的情况则进行分片。

MTU是链路层中的网络对数据帧的一个限制,以以太网为例,MTU为1500个字节。一个IP数据报在以太网中传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU。分片传输的IP数据报不一定按枯凳槐序到达,但IP首部粗纳中的信息能让这些数据报片按序组装。IP数据报的分片与重组是在网络层进完成的。

占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

标志(flags)占用3位(即16 - 18),这三位分别是:R,DF,MF三位,第一位是保留位,没有被使用,目前只有后两个比特有意义。
R:标志字段中的第一位是一个保留位,现在还没有使用,可能将来会用到这位
D:标志字段中间的一位是 DF (Don’t fragment),表示传输的数据不允许分片。一般DF = 1的话,表示数据一次性传输过去,不允许分片。
M:标志字段的最低位是 MF (More fragment)。代表数据是否分片,如果MF位值为1,表示后面还有数据,还没有传输完毕,相当于数据分片,分批次传输,如果MF = 0表示最后一个分片或者只有一个分片。
这三位同一时刻也是只能有一个位的值能设置为1

占用13位:每次分片传输的数据之间的偏移距离,也就是某分片的数据在原数据中的相对位置,一般偏移以8字节为单位。比如:在网络层传输的ip数据报总长度最大不能超过65535字节,如果超过了,要么对ip数据报进行分片传输,否则将丢弃。
互联网协议使网络互相通信。设计要迎合不同物理性质的网络; 它是独立于链路层使用的基础传输技术。具有不同硬件的网络通常会发生变化,不仅在传输速度,而且在最大传输单元(MTU)。当一个网络要的数据报发送到具有较小MTU的一个网络,它可能片段的数据报。
当路由器收到一个数据包时,它会检查目的地址,并确定出接口使用,并且该接口的MTU。如果分组的大小是比MTU大,并且在该分组的头中的不分段(DF)位被设置为0,则路由器可对没友其进行分片。
分片机制有一定的缺陷:分片越多,分片丢失的机率就越大,对于一个数据报,一旦一个分片丢失,那么整个数据报就要重传;每一个数据报都要复制报头(只复制ip包头),这在一定程度上增加了带宽消耗。

组装时,需要重新设置首部的某些字段
修改分片标志和片偏移量字段
首部其他字段复制原来数据报首部的相应字段。

在IP头里面有16bit的识别号唯一记录了一个IP包的ID,以确定这几个分片是否属于同一个包,具有同一个ID的IP分片将会从新组装。13bit的片偏移记录了一个IP分片相对于整个包的位置。3bit的标志位记录了该分片后面是否还有新的分片。这三个分片组成了IP分片的所有的信息。

1.如果在源主机的以太网上进行数据包装,且tcp/udp向ip传送的数据包大于MTU1500字节,将在ip层进行分片。
2.在数据在数据链路(路由器)中传输的时候,每个路由器的MTU不一定相同,如果其中一个MTU只为800,则会触发ip分片,将1500字节的数据包拆成两个符合长度的数据包(但不一定会分片,由ip首部的两个标志位MF:More Fragment 和DF:Don't Fragment决定)如果是DF被设置,将会触发ICMP协议,将当前数据包丢弃,并把当前路由的MTU回传给源主机。

MSS(Maximum Segment Size,最大报文长度)是TCP里的一个概念(首部的选项字段中)。MSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。TCP协议在建立连接的时候通常要协商双方的MSS值,每一方都有用于通告它期望接收的MSS选项(MSS选项只出现在SYN报文段中,即TCP三次握手的前两次)。MSS的值一般为MTU值减去两个首部大小(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以如果用链路层以太网,MSS的值往往为1460。而Internet上标准的MTU(最小的MTU,链路层网络为x2.5时)为576,那么如果不设置,则MSS的默认值就为536个字节。很多时候,MSS的值最好取512的倍数。TCP报文段的分段与重组是在运输层完成的。
TCP在建立连接时进行三次握手,前两个握手包中双方互相声明自己的MSS,客户端声明MSS=8960,服务器端声明了MSS=1460。三次握手之后,客户端的MTU值比服务器端大,如果发送一个9000字节的包过去可能被分片或丢弃。因此客户端会把自己的MSS也降到1460字节。
TCP分段的原因是MSS,IP分片的原因是MTU, 由于一直有MSS<=MTU,很明显,分段后的每一段TCP报文段再加上IP首部后的长度不可能超过MTU,因此也就不需要在网络层进行IP分片了。 因此TCP报文段很少会发生IP分片的情况。
再来看UDP数据报, 由于UDP数据报不会自己进行分段,因此当长度超过了MTU时,会在网络层进行IP分片。 同样,ICMP(在网络层中)同样会出现IP分片情况。

TCP在三次握手建立连接过程中,会在SYN报文中使用MSS(Maximum Segment Size)选项功能,协商交互双方能够接收的最大段长MSS值。
MSS是传输层TCP协议范畴内的概念,顾名思义,其标识TCP能够承载的最大的应用数据段长度,因此,MSS=MTU-20字节TCP报头-20字节IP报头,那么在以太网环境下,MSS值一般就是1500-20-20=1460字节。
客户端与服务器端分别根据自己发包接口的MTU值计算出相应MSS值,并通过SYN报文告知对方。

IP分片产生的原因是网络层的MTU;TCP分段产生原因是MSS
IP分片由网络层完成,也在网络层进行重组;TCP分段是在传输层完成,并在传输层进行重组
对于以太网,MSS为1460字节,而MUT往往会大于MSS
故采用TCP协议进行数据传输,是不会造成IP分片的。若数据过大,只会在传输层进行数据分段,到了IP层就不用分片。而我们常提到的IP分片是由于UDP传输协议造成的,因为UDP传输协议并未限定传输数据报的大小。

TCP的分片和IP分片的区别
TCP的分片和IP分片的区别
MTU和MSS详解

‘玖’ 计算机网络高手请进

我给你提个建议吧

你的问题,好像在大学教程,网络和通信技术的书上,我好像看到过,

不然你直接到新华书店去拍悔野找书看前行看

或者直接到网络中搜索网络和通信技术电子文档

如袭喊果你能找到教网络和通信技术的大学老师的亲戚,朋友,你就万幸了

估计一般人是回答不了你的