版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络(第5版)第4章网络层第4章网络层*4.2网际协议IP4.3划分子网和构造超网4.4网际控制报文协议ICMP4.5因特网的路由选择协议4.6IP多播4.1网络层提供的两种服务4.7虚拟专用网VPN和网络地址转换NAT2本章最重要的内容(1)虚拟互连网络的概念(2)IP地址与物理地址的关系(3)传统的分类的IP地址(包括子网掩码)和无分类域间路由选择CIDR(4)路由选择协议的工作原理*3网络层的概念网络层主要解决网络之间的互连问题,使位于不同网络内的主机,可以进行跨网络的通信由于网络的种类很多,这些互连的网络可能是异构的,其内部的组成方式和通信协议都不一样,硬件地址的编址方案也不同,使主机很难做到跨网络的硬件寻址和通信解决的办法就是给每个主机分配一个和硬件无关,而且是全球唯一的通信地址(IP地址)如何让主机使用这个IP地址实现跨网络的通信,就是网络层的主要内容*44.1网络层提供的两种服务网络层应提供的服务在计算机网络领域,网络层应该为通信双方(端系统)提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?*6电信网的成功经验让网络负责可靠交付面向连接的通信方式通信之前双方要建立一条固定的路由,称为虚电路(VirtualCircuit),此后双方的通信都沿着这条固定的路由进行虚电路(VirtualCircuit)上的路由器为通信双方预留所需的一切网络资源,以保证双方通信的质量如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点。*7虚电路服务*应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层H1H2虚电路H1
发送给H2
的所有分组都沿着同一条虚电路传送8虚电路是逻辑连接虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。请注意,电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。*9因特网采用的设计思路计算机网络的端系统是有智能的计算机,具有很强的差错处理能力,能够发现通信中的问题并自动采取应对措施因此,网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要先建立连接。每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)。网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。*10尽最大努力交付的好处由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。*11数据报服务*应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层H1H2IP数据报丢失H1
发送给H2
的分组可能沿着不同路径传送12虚电路服务与数据报服务的对比对比的方面虚电路服务数据报服务思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证连接的建立必须有不需要终点地址仅在连接建立阶段使用,每个分组使用短的虚电路号每个分组都有终点的完整地址分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序端到端的差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责*134.2网际协议IP网际协议IP网际协议IP是TCP/IP体系中两个最主要的协议之一。与IP协议配套使用的还有四个协议:地址解析协议ARP(AddressResolutionProtocol)逆地址解析协议RARP(ReverseAddressResolutionProtocol)网际控制报文协议ICMP(InternetControlMessageProtocol)网际组管理协议IGMP(InternetGroupManagementProtocol)*15网际层的IP协议及配套协议*各种应用层协议
网络接口层(HTTP,FTP,SMTP等)物理硬件运输层TCP,UDP应用层ICMPIPRARPARP与各种网络接口网络层(网际层)IGMP164.2.1虚拟互连网络网络互连面临的问题互连在一起的网络要进行通信,会遇到许多问题需要解决,如:不同的寻址方案不同的最大分组长度不同的网络接入机制不同的超时控制不同的差错恢复方法不同的状态报告方法不同的路由选择技术不同的用户接入控制不同的服务(面向连接服务和无连接服务)不同的管理与控制方式*18网络互相连接起来需要使用一些中间设备网络之间差异很大,一般不能直接互连。要克服的这些差异,实现网络互连,必须使用一些中间设备中间设备又称为中间系统或中继(relay)系统。物理层中继系统:转发器(repeater)。数据链路层中继系统:网桥或桥接器(bridge)。网络层中继系统:路由器(router)。网桥和路由器的混合物:桥路器(brouter)。网络层以上的中继系统:网关(gateway)。
*19网络互连使用路由器当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。互联网都是指用路由器进行互连的网络。网关由于比较复杂,目前使用得较少。由于历史的原因,许多有关TCP/IP的文献将网络层使用的路由器称为网关。*20互连网络与虚拟互连网络TCP/IP体系在网络互连上的做法是在网络层(IP层)采用了统一的标准化协议那些彼此异构的网络只要在网络层实现了同样的标准化协议,就可以通过路由器互连,从而扩大网络的通信范围从效果上看,这些使用相同的网际协议IP(InternetProtocol)进行互连的网络又构成了一个更大的通信网络,称为虚拟互连网络*21互连网络与虚拟互连网络*网络网络网络网络网络(a)互连网络(b)虚拟互连网络路由器
虚拟互连网络(互联网)22虚拟互连网络的意义所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用IP协议的虚拟互连网络可简称为IP网。使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。*235432154321主机H1
主机H2R1R4R5R2R3R1R2R3H1R5H2R4间接交付间接交付间接交付间接交付间接交付直接交付3221132211322113221132211分组在互联网中的传送可见尽管主机和路由器位于不同的网络中,使用不同的物理层和链路层,但由于它们都实现统一标准的网络层,就可以实现彼此通信*24从网络层看IP数据报的传送如果我们只从网络层考虑问题,那么IP数据报就可以想象是在网络层中传送。*网络层网络层网络层网络层网络层网络层网络层H1R1R2R3R4R5H2IP
数据报254.2.2分类的IP地址
1.IP地址及其表示方法我们把整个因特网看成为一个单一的、抽象的网络,就要考虑如何在这样一个网络中寻址的问题IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符,可以用来在因特网上寻址IP地址现在由因特网名字与号码指派公司ICANN(InternetCorporationforAssignedNamesandNumbers)进行分配*27IP地址编址方法的三个历史阶段分类的IP地址。这是最基本的编址方法,在1981年就通过了相应的标准协议。子网的划分。这是对最基本的编址方法的改进,其标准[RFC950]在1985年通过。构成超网。这是比较新的无分类编址方法。1993年提出后很快就得到推广应用。*28分类IP地址每一类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号host-id,它标志该主机(或路由器)。两级的IP地址可以记为:IP地址::={<网络号>,<主机号>}(4-1)*(::=代表“定义为”)29net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101*30net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101A类地址的网络号字段net-id为1字节*31net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
1
01B类地址的网络号字段net-id为2字节*32net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101C类地址的网络号字段net-id为3字节*33net-id24bithost-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101A类地址的主机号字段host-id为3字节*34net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101B类地址的主机号字段host-id为2字节*35net-id24位host-id24位net-id16位net-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101C类地址的主机号字段host-id为1字节*36net-id24位host-id24位net-id16bitnet-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101D类地址是多播地址
*37net-id24位host-id24位net-id16bitnet-id8位IP地址中的网络号字段和主机号字段0A类地址host-id16位B类地址C类地址011host-id8位D类地址1
1
1
0多播地址E类地址保留为今后使用1
1
1
101E类地址保留为今后使用
*38点分十进制记法*10000000000010110000001100011111机器中存放的IP地址是32位二进制代码10000000000010110000001100011111每隔8位插入一个空格能够提高可读性采用点分十进制记法则进一步提高可读性1128
11331将每8位的二进制数转换为十进制数392.常用的三种类别的IP地址*IP地址的使用范围
网络最大第一个最后一个每个网络类别网络数可用的可用的中最大的网络号网络号主机数
A126(27–2)112616,777,214B16,383(214
1)128.1191.25565,534C2,097,151(2211)192.0.1223.255.25525440IP地址的一些重要特点(1)IP地址是一种分等级的地址结构。分两个等级的好处是:第一,IP
地址管理机构在分配
IP
地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了
IP
地址的管理。第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。*41IP地址的一些重要特点(2)实际上IP地址是标志一个主机(或路由器)和一条链路的接口。当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号net-id必须是不同的。这种主机称为多归属主机(multihomedhost)。由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。*42IP地址的一些重要特点(3)用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id(4)所有分配到网络号net-id的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。*43互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id44互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id45互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id46互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP地址中的net-id47互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。48互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。49互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。50互联网中的IP地址*B222.1.1.R1222.1.2.R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网两个路由器直接相连的接口处,可指明也可不指明IP地址。如指明IP地址,则这一段连线就构成了一种只包含一段线路的特殊“网络”。现在常不指明IP地址,称为无编号网络或无名网络。514.2.3IP地址与硬件地址IP地址与硬件地址的作用范围*TCP报文IP数据报MAC帧应用层数据首部首部尾部首部链路层及以下使用硬件地址硬件地址网络层及以上使用IP地址IP地址53IP地址与硬件地址作用范围IP数据报交给链路层后,成为数据帧的数据部分,因此在链路层看不到IP地址只有当接收端的链路层将收到的数据帧里的数据(即IP数据报)交给上面的网络层之后,接收端才能看到IP地址,并根据这个地址,对IP数据报进行处理*54IP地址与硬件地址的区别从作用范围来看:IP地址只在网络层之上起作用,链路层以下使用的是硬件地址从变化规律来看:IP地址在IP数据报的传输过程中一般不发生变化,而运载IP数据报的数据帧中的硬件地址,在每一段链路上都会发生变化*55HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网通信的路径H1→经过R1转发→再经过R2转发→H2查找路由表查找路由表*56HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报从协议栈的层次上看数据的流动*57HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报从虚拟的
IP
层上看
IP数据报的流动*58HA1HA5HA4HA3HA6主机H1主机H2路由器R1硬件地址路由器R2HA2IP1IP2局域网局域网局域网IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报在链路上看
MAC帧的流动*59IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报在IP层抽象的互联网上只能看到IP数据报图中的IP1→IP2
表示从源地址IP1
到目的地址IP2
两个路由器的IP地址并不出现在IP数据报的首部中*60IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网MAC帧IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报路由器只根据目的站的IP地址的网络号进行路由选择*61IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2MAC帧从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报在具体的物理网络的链路层只能看见MAC帧而看不见IP数据报*62IP1HA1HA5HA4HA3HA6HA2IP6主机H1主机H2路由器R1IP层上的互联网IP2IP4IP3IP5路由器R2IP1→IP2IP1→IP2IP1→IP2MAC帧从HA1
到HA3从HA4
到HA5从HA6
到HA2MAC帧MAC帧IP数据报IP层抽象的互联网屏蔽了下层很复杂的细节在抽象的网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或主机和路由器之间的通信*634.2.4地址解析协议ARP和
逆地址解析协议RARP地址解析协议ARP和
逆地址解析协议RARP要解决的问题
网络层的IP数据报要交给链路层才能发送给对方,因此必须要指明这个IP地址对应的物理地址是什么,链路层才能够为它提供发送服务反之,如果主机只知道自己的物理地址,也需要知道自己的IP地址是什么,才能够发送IP数据报因此,主机必须要有办法知道IP地址和物理地址的对应关系,才能进行有效的通信网络层的地址解析协议ARP和逆地址解析协议RARP就是用来解决这个问题的
*65地址解析协议ARP和
逆地址解析协议RARP的作用
*IP地址物理地址ARP物理地址IP地址RARP66地址解析协议ARP不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。网络上每一个主机都设有一个ARP高速缓存(ARPcache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。如没有,就需要通过ARP协议找到对方的硬件地址*67AYXBZ主机B向A发送ARP响应分组主机A广播发送ARP请求分组00-00-C0-15-AD-1808-00-2B-00-EE-0AARP请求ARP请求ARP请求ARP请求我是,硬件地址是00-00-C0-15-AD-18我想知道主机
的硬件地址ARP响应我是硬件地址是08-00-2B-00-EE-0AAYXBZ00-00-C0-15-AD-18*68ARP高速缓存的作用从ARP的工作方式看:如果主机在ARP高速缓存中保存了本网络中主机IP地址和硬件地址的关系,就可以有效减少广播查询,从而减少了网络上的通信量为了进一步减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组。当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向A发送数据报时就更方便了。*69应当注意的问题ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过
ARP
找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。*70应当注意的问题(续)从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该
IP
地址解析为链路层所需要的硬件地址。*71使用ARP的四种典型情况发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。发送方是主机,要把IP数据报发送到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。发送方是路由器,要把IP数据报转发到本网络上的一个主机。这时用ARP找到目的主机的硬件地址。发送方是路由器,要把IP数据报转发到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。*72什么我们不直接
使用硬件地址进行通信?由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。连接到因特网的主机都拥有统一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为调用ARP来寻找某个路由器或主机的硬件地址都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。*73逆地址解析协议RARP逆地址解析协议RARP使只知道自己硬件地址的主机能够知道其IP地址。这种主机往往是无盘工作站。因此RARP协议目前已很少使用。*744.2.5IP数据报的格式IP数据报的格式一个IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。*76发送在前固定部分可变部分04816192431版本标志生存时间协议标识区分服务总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分数据部分首部IP数据报首部*77可变部分首部04816192431版本标志生存时间协议标识区分服务总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分数据部分首部IP数据报固定部分发送在前*78首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分数据部分首部IP数据报固定部分可变部分区分服务发送在前*79首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分版本——占4位,指IP协议的版本目前的IP协议版本号为4(即IPv4)区分服务1.IP数据报首部的固定部分中的各字段*80首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分首部长度——占4位,可表示的最大数值是15个单位(一个单位为4字节)因此IP的首部长度的最大值是60字节。区分服务*81首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分区分服务——占8位,用来获得更好的服务在旧标准中叫做服务类型,但实际上一直未被使用过。1998年这个字段改名为区分服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段区分服务*82首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分总长度——占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。但实际的总长度还必须不超过链路层最大传送单元MTU
区分服务*83首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分标识(identification)占16位,它是一个计数器,用来产生数据报的标识。区分服务*84首部04816192431版本标志生存时间协议标识区分服务总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分标志(flag)占3位,目前只有前两位有意义。标志字段的最低位是MF(MoreFragment):MF1表示后面“还有分片”。MF0表示最后一个分片。标志字段中间的一位是DF(Don‘tFragment):只有当DF0时才允许分片。
*85首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分片偏移(13位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。即每个分片的长度一定是8字节的整数倍区分服务*86偏移=0/8=0偏移=0/8=0偏移=1400/8=175偏移=2800/8=350140028003799279913993799需分片的数据报数据报片1首部数据部分共3800字节首部1首部2首部3字节0数据报片2数据报片314002800字节0【例4-1】IP数据报分片*87首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分生存时间(8位)记为TTL(TimeToLive)数据报在网络中可通过的路由器数的最大值。区分服务*88首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分协议(8位)字段指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程区分服务*89运输层网络层首部TCPUDPICMPIGMPOSPF数据部分IP数据报协议字段指出应将数据部分交给哪一个进程*90首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分首部检验和(16位)字段只检验数据报的首部不检验数据部分这里不采用
CRC
检验码而采用简单的计算方法。区分服务*91发送端接收端16位字116位字2置为全0检验和16位字n16位反码算术运算求和……取反码数据报首部IP数据报16位检验和16位字116位字216位检验和16位字n16位反码算术运算求和16位结果……取反码数据部分若结果为0,则保留;否则,丢弃该数据报数据部分不参与检验和的计算*92首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分源地址和目的地址都各占4字节区分服务*932.IP数据报首部的可变部分IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。最后往往需要用全零的填充字段补齐为4字节的整数倍增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的,这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。*944.2.6IP层转发分组的流程路由表根据主机的网络地址来构造假定有四个A类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含4个项目。这样就可使路由表大大简化。*96
网
1
网
4
网
3
网
2目的主机所在的网络下一跳地址直接交付,接口1直接交付,接口0路由器R2
的路由表链路
4链路
3链路
2链路
1R2R3R101R2R3R1在路由表中,对每一条路由,最主要的是(目的网络地址,下一跳地址)*97查找路由表路由表中每一项包含以下两个信息:{目的网络地址,下一跳地址}根据目的网络地址就能确定下一跳路由器,这样做的结果是:IP数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。只有到达最后一个路由器时,才试图向目的主机进行直接交付。*98特定主机路由这种路由是为特定的目的主机指明一个路由,其特点是根据该主机的IP地址而不是其网络地址决定下一跳地址:{特定目的主机地址,下一跳地址}采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。*99默认路由(defaultroute)如果主机或路由器在路由表中,找不到IP数据报对应的转发路由,就从一个默认路由转发该数据报路由器采用默认路由可以减少路由表所占用的空间和搜索路由表所用的时间。这种转发方式在一个网络只有很少的对外连接时是很有用的。*100默认路由(defaultroute)默认路由在主机发送IP数据报时往往更能显示出它的好处。如果一个主机连接在一个小网络上,而这个网络只用一个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的。*101N1R1因特网目的网络下一跳
N1
直接
N2
R2
默认R1路由表N2R2N1只有一个到因特网的出口R1只要目的网络不是N1和N2,就一律选择默认路由,把数据报先间接交付路由器
R1,让R1再转发给下一个路由器。*102必须强调指出路由器的IP地址不会出现在转发的数据报中,IP
数据报的首部中没有地方可以用来指明“下一跳路由器的IP地址”。当路由器收到待转发的数据报,不是将下一跳路由器的
IP
地址填入IP数据报,而是送交下层的网络接口软件。网络接口软件使用
ARP
负责将下一跳路由器的IP
地址转换成硬件地址,并将此硬件地址放在链路层的
MAC
帧的首部,然后根据这个硬件地址找到下一跳路由器。*103分组转发算法(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。(2)若网络N与此路由器直接相连,则把数据报直接交付目的主机D;否则是间接交付,执行(3)。(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。(4)若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。(6)报告转发分组出错。*1044.3划分子网和构造超网4.3.1划分子网1.从两级IP地址到三级IP地址在ARPANET的早期,IP地址的设计确实不够合理:IP地址空间的利用率有时很低。给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。两级的IP地址不够灵活。
*106三级的IP地址从1985年起在IP地址中又增加了一个“子网号字段”,使两级的IP地址变成为三级的IP地址。这种做法叫作划分子网(subnetting)。划分子网已成为因特网的正式标准协议。*107划分子网的基本思路为了提高IP地址的利用率,一个单位可将所属的物理网络划分为若干个子网划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。划分子网的方法是从网络的主机号借用若干个位作为子网号subnet-id,而主机号host-id也就相应减少了若干个位。IP地址::={<网络号>,<子网号>,<主机号>}(4-2)*108划分子网的基本思路(续)凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器。然后此路由器在收到IP数据报后,再按目的网络号net-id和子网号subnet-id找到目的子网。最后就将IP数据报直接交付目的主机。*109………01014563所有到网络的分组均到达此路由器我的网络地址是R1R3R2网络一个未划分子网的B类网络*110划分为三个子网后对外仍是一个网络01014563………子网子网
子网所有到达网络的分组均到达此路由器网络R1R3R2*111划分子网后变成了三级结构当没有划分子网时,IP地址是两级结构;划分子网后IP地址就变成了三级结构。划分子网只是把IP地址的主机号host-id这部分进行再划分,而不改变IP地址原来的网络号net-id。*1122.子网掩码从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。只有使用子网掩码(subnetmask)才可以找出IP地址中的子网部分。*113IP地址的各字段和子网掩码*0两级IP地址子网号为3的网络的网络号三级IP地址主机号子网掩码net-idhost-id子网的网络地址1111111111111111
11111111000000000net-idsubnet-idhost-id3.33.10114(IP地址)AND(子网掩码)=网络地址*网络号net-id主机号host-id两级IP地址网络号三级IP地址主机号net-idhost-idsubnet-id子网号子网掩码子网的网络地址1111111111111111
1111111100000000net-idsubnet-id0逐位进行AND运算115111111111111111111111111000000000000000000000000111111111111111111111111000000000000000000000000net-idnet-idhost-id为全0net-id网络地址A类地址默认子网掩码网络地址B类地址默认子网掩码网络地址C类地址默认子网掩码host-id为全0host-id为全0默认子网掩码*116子网掩码是一个重要属性子网掩码是一个网络或一个子网的重要属性。路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。*117141.14.010000001111111111111111
11000000【例4-2】已知IP地址是4,子网掩码是。试求网络地址。*(a)点分十进制表示的IP地址(c)子网掩码是000000004.001001000141.14..24(b)IP地址的第3字节是二进制(d)IP地址与子网掩码逐位相与(e)网络地址(点分十进制表示)118141.14.010000001111111111111111
11100000【例4-3】在上例中,若子网掩码改为。试求网络地址,讨论所得结果。(a)点分十进制表示的IP地址(c)子网掩码是000000004.001001000141.14..24(b)IP地址的第3字节是二进制(d)IP地址与子网掩码逐位相与(e)网络地址(点分十进制表示)对于同样的IP地址,不同的子网掩码也可能得出相同的网络地址。但不同的掩码的效果是不同的。*1194.3.2使用子网掩码的分组转发过程使用子网掩码的分组转发过程在不划分子网的两级IP地址下,从IP地址得出网络地址是个很简单的事。但在划分子网的情况下,从IP地址却不能唯一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。因此分组转发的算法也必须做相应的改动。*121在划分子网的情况下路由器转发分组的算法(1)从收到的分组的首部提取目的IP地址D。(2)先用与路由器直连的各网络的子网掩码和
D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。(3)若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。(4)对路由表中的每一行的子网掩码和
D逐位相“与”,
若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。(5)若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。(6)报告转发分组出错。*1220目的网络地址子网掩码下一跳282828接口0接口1R23H1子网1:网络地址
子网掩码2830R1
的路由表(未给出默认路由器)R11R2子网2:网络地址28
子网掩码28H2380129H3子网3:网络地址
子网掩码2【例4-4】已知互联网和路由器R1中的路由表。主机H1向H2发送分组。试讨论R1收到H1
向H2发送的分组后查找路由表的过程。*123主机H1要发送分组给H2
0目的网络地址子网掩码下一跳282828接口0接口1R2R1
的路由表(未给出默认路由器)3H1子网1:网络地址
子网掩码2830R11R2子网2:网络地址28
子网掩码28H2380129H3子网3:网络地址
子网掩码2要发送的分组的目的IP地址:38请注意:H1
并不知道
H2
连接在哪一个网络上。H1
仅仅知道
H2
的
IP
地址是38因此
H1
首先检查主机
38
是否连接在本网络上如果是,则直接交付;否则,就送交路由器
R1,并逐项查找路由表。*1240目的网络地址子网掩码下一跳282828接口0接口1R2H1子网1:网络地址
子网掩码2830R11R2子网2:网络地址28
子网掩码28H23380129H3子网3:网络地址
子网掩码2主机H1
首先将本子网的子网掩码28与分组的
IP
地址38逐比特相“与”(AND
操作)28AND38的计算255就是二进制的全1,因此255ANDxyz=xyz,这里只需计算最后的128AND138即可。128→10000000138→10001010逐比特AND
操作后:10000000→128283828逐比特AND
操作H1
的网络地址*125因此H1必须把分组传送到路由器R1
然后逐项查找路由表0目的网络地址子网掩码下一跳282828接口0接口1R2R1
的路由表(未给出默认路由器)3H1子网1:网络地址
子网掩码2830R11R2子网2:网络地址28
子网掩码28H2380129H3子网3:网络地址
子网掩码2*126路由器R1收到分组后就用路由表中第1个项目的
子网掩码和38逐比特AND
操作0目的网络地址子网掩码下一跳282828接口0接口1R2R1
的路由表(未给出默认路由器)3H1子网1:网络地址
子网掩码2830R11R2子网2:网络地址28
子网掩码28H2380129H3子网3:网络地址
子网掩码228AND38=28不匹配!(因为28与路由表中的
不一致)R1
收到的分组的目的IP地址:38不一致*127路由器R1再用路由表中第2个项目的
子网掩码和38逐比特AND
操作0目的网络地址子网掩码下一跳282828接口0接口1R2R1
的路由表(未给出默认路由器)3H1子网1:网络地址
子网掩码2830R11R2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合消费受托支付合同(2篇)
- 银行贷款进货合同(2篇)
- 2024-2025学年初中同步测控优化设计物理八年级下册配人教版第11章 第4节 机械能及其转化含答案
- 荷花 作文 课件
- 西京学院《中国文化经典选读》2022-2023学年第一学期期末试卷
- 西京学院《土木工程施工技术与组织》2022-2023学年第一学期期末试卷
- 西京学院《建筑工程计量与计价》2022-2023学年第一学期期末试卷
- 西京学院《非线性编辑》2022-2023学年第一学期期末试卷
- 西京学院《大数据存储与管理技术》2023-2024学年期末试卷
- 西华师范大学《学科课程标准与教材研究》2021-2022学年第一学期期末试卷
- DB32∕3920-2020 住宅设计标准
- 减肥与健康PPT
- 颈部解剖图谱.ppt
- 新改版教科版六年级下册科学全册知识点归纳 (超全)
- 输电线路设计—导线风偏计算及校验实用教案
- 小学语文专题讲座
- 全自动胶囊填充机培训(课堂PPT)
- 高速铁路桥梁救援疏散通道施工方案
- 小学高段语文课前预习的有效性研究报告
- 车库顶板行车及堆载方案
- 电梯井模板施工工艺标准
评论
0/150
提交评论