导航:首页 > 网络连接 > 计算机网络太难了解这一篇就够了

计算机网络太难了解这一篇就够了

发布时间:2025-05-05 04:32:33

计算机网络:网络层(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)报告转发分组出错。

Ⅱ IPv4与IPv6的区别是什么

IP作为互联网的重要的桥梁,是为计算机网络相互连接进行通信而设计的协议,正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。很多人对IPv4与IPv6有什么区别?不是很了解,接下来详细为大家介绍IPv4与IPv6的区别是什么。

IPV4和IPV6的区别

一、扩展了路由和寻址的能力

IPv6把IP地址由32位增加到128位,从而能够支持更大的地址空间,估计在地球表面每平米有4*10^18个IPv6地址,使IP地址在可预见的将来不会用完。

IPv6地址的编码采用类似于CIDR的分层分级结构,如同电话号码。简化了路由,加快了路由速度。在多点传播地址中增加了一个“范围”域,从而使多点传播不仅仅局限在子网内,可以横跨不同的子网,不同的局域网。

二、报头格式的简化

IPv 4报头格式中一些冗余的域或被丢弃或被列为扩展报头,从而降低了包处理和报头带宽的开销。虽然IPv6的地址是IPv4地址的4倍。但报头只有它的2倍大。

三、对可选项更大的支持

IPv6的可选项不放入报头,而是放在一个个独立的扩展头部。如果不指定路由器不会打开处理扩展头部.这大大改变了路由性能。IPv6放宽了对可选项长度的严格要求(IPv4的可选项总长最多为40字节),并可根据需要随时引入新选项。IPV6的很多新的特点就是由选项来提供的,如对IP层安全(IPSEC)的支持,对巨报(jumbogram)的支持以及对IP层漫游(Mobile-IP)的支持等。

四、QoS的功能

因特网不仅可以提供各种信息,缩短人们的距离.还可以进行网上娱乐。网上VOD现正被商家炒得热火朝天,而大多还只是准VOD的水平,且只能在局域网上实现,因特网上的VOD都很不理想.问题在于IPv4的报头虽然有服务类型的字段,实际上现在的路由器实现中都忽略了这一字段。

在IPv6的头部,有两个相应的优先权和流标识字段,允许把数据报指定为某一信息流的组成部分,并可对这些数据报进行流量控制。如对于实时通信即使所有分组都丢失也要保持恒速,所以优先权最高,而一个新闻分组延迟几秒钟也没什么感觉,所以其优先权较低。IPv6指定这两字段是每一IPv6节点都必须实现的。

五、身份验证和保密

在IPv6中加入了关于身份验证、数据一致性和保密性的内容。

六、安全机制IPSec是必选的

IPv4的是可选的或者是需要付费支持的。

七、加强了对移动设备的支持

IPv6在设计之初有有着支持移动设备的思想,允许移动终端在切换接入点时保留相同的IP地址。

八、支持无状态自动地址配置

IPv6无需DNS服务器也可完成地址的配置,路由广播地址前缀,各主机根据自己MAC地址和收到的地址前缀生成可聚合全球单播地址。这也方便了某一区域内的主机同时更换IP地址前缀。

阅读全文

与计算机网络太难了解这一篇就够了相关的资料

热点内容
已连接无法访问网络 浏览:429
wifi网络信号强手机还卡 浏览:744
怎么在网络上获取有用的信息 浏览:800
网络智能视频机怎么连接话筒k歌 浏览:389
双代号网络图绘制的第一步是什么 浏览:625
win10桌面上的网络在哪个文件夹 浏览:41
我登录七天网络忘记密码了怎么办 浏览:223
如何让移动网络可以访问任何网络 浏览:697
怎样辨别网络连接用户 浏览:836
电脑哪个是连无线网络 浏览:46
无线网络找不到适配点 浏览:563
西集网络安全产业园轨道 浏览:178
网络电视机顶盒刷机包在哪里 浏览:512
联咖网络共享 浏览:385
下载工具软件可以下载网络资源吗 浏览:483
路由器亮了却显示网络超时 浏览:62
在哪里可以申请网络作者 浏览:906
游族网络和电信号合作 浏览:382
网络用语指甲刀是什么意思 浏览:246
连接网络图标点不动 浏览:133

友情链接