第四章 IP协议与网络互联.ppt
第四章 IP协议与网络互联 本章内容IP互联网的工作原理IP协议和IP地址子网和子网划分(重点理解)IP数据报ARP 协议、RARP协议和DHCP协议ICMP协议路由原理及路由协议4.1.IP互联网 网络发展初期网络要求互联网络要求互联4.2.IP互联网和IP协议4.2.要求理解IP协议的特征 IP互联网的工作机理IP(Internet Protocol)互联网是当前最通用的互联网络,它是使用IP协议构建的 IP定义了统一的地址表示法IP地址和统一的数据表示法I P数据报,使得各种物理网络以及各种帧格式的差异性对高层协议不复存在。4.2.1.IP协议的特征 IP协议是无连接的 IP协议的数据报传送服务是不可靠的 不能保证IP数据报能成功地到达目的地。省略了复杂的可靠性传输机制,所以IP协议能尽量高效率地进行传送,减轻了网关的负担,提高了网关的吞吐率。有可靠性方面的要求,必须使用上层的协议(如TCP)或自己编写软件去完成。4.2.2.IP互联网的工作机理 主机A的应用层将该数据经传输层送到IP层 主机A的IP层将该数据封装成IP数据包,进行路由选择,最终决定将他投递到路由器X;IP数据包应用层产生的原始数据包主机A把IP数据交给以太网控制程序,以太网控制程序负责将数据报封装成以太网祯,传递到路由器X;路由器X的以太网控制程序接受到主机A发送的祯,将该信息送到IP层处理;以太网祯IP数据包路由器X的IP层对该IP数据包进行拆封和处理,经过路由选择得知该数据包必须穿越广域网才能到达目的地;路由器X对数据包再次封装为广域网桢,并送到广域网控制程序;广域网控制程序负责将广域网桢从路由器X传递到路由器Y4.2.3.互联层协议 IP协议地址转换协议(ARP,Address ResolutionProtocol)。ARP协议把 IP地址解析成 MAC地址。反向地址转换协议(RARP,Reverse Address Resolution Protocol)。RARP用于从物理地址到IP地址的转换。Internet控制报文协议(ICMP,Internet Control Message Protcol)。ICMP协议的作用是主机或路由器报告差错情况和提供有关异常情况的报告。4.3.IP地址理解IP地址的结构和各部分含义IP地址的作用 每一种网络中,网络节点的地址标识法是不一样的。以太网的物理地址采用48bit表示,而电话网则采用14位十进制表示 为此,在互联网中,需要一个通用的地址格式。4.3.2.IP地址的组成 互联网的多层结构决定了IP地址的多层结构 IP协议规定:IP地址的长度为32bit(4个字节)。可以采用点分十进制表示。每个字节表示为从0255的十进制数,字节之间用点号分隔。例如,IP地址“10100110 01101111 00000100 01100100”用点分十进制表示法就是“166.111.4.100”。每个IP地址都由两部分组成:网络号(NetID)和主机号(HostID)IP协议规定了IP地址分为A-E五类类别第一字节范围网络地址长度最大的主机数目适用的网络规模A11261B16777214大型网络B1281912B65534中型网络C1922233B254小型网络A类:最高位“0”后7位做网络号,24位做主机号B类:最高位“10”后14位做网络号,16位做主机号C类:最高位“110”后21位做网络号,8位做主机号D类:组播地址E类:保留,为扩展用4.3.3几个特殊的IP地址 网络地址TCP/IP协议规定,各位全为“0”的网络号被解释成“本”网络。如202.93.120.0广播地址TCP/IP规定,主机号全为1的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子网所有主机发送报文。回送地址A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopbackaddress)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127的分组不能出现在任何网络上。保留IP地址TCP/IP协议规定了三类局域网保留IP地址,这三个地址段分别是:10.x.x.x、172.16.x.x、192.168.x.x(X在0255之间,注意实际用时网络号部分不能为全0或全1)。这些IP地址可以在一个局域网内部使用,但直接以这样的内网地址连接到Internet是不行的。为此,当内部的机器与外部的机器连接时,需要先通过有合法外网地址的主机把内网IP地址转换为合法的外网IP地址,这就是网络地址转换(Network Address Translation),简称NAT。比如,连接外网的电脑或设备,通过固定或动态获取得到了一个合法的IP地址,如219.254.38.180,它还需要有一个网络内部的地址比如192.168.0.1,用来充当其他电脑的网关。如果局域网内部的一台电脑IP地址是192.168.0.2:4000(4000是它的端口号),想访问Internet上某个主机,192.168.0.2:4000的请求先传到主机192.168.0.1上,主机把这个IP地址转换为219.254.38.180:9000。然后以端口号为9000的这个IP地址向Internet上的那个主机发出请求,回答的数据流则传回给主机219.254.38.180:9000,主机接收到数据后,会查找与9000这个端口号相关联的内部IP地址,当它发现是192.168.0.2:4000后,就把数据传给192.168.0.2:4000,这样,IP地址的转换就完成了。4.4.子网和子网掩码理解子网的表示方法子网掩码的意义4.4.子网和子网掩码 4.4.1.子网编址方法 在局域网中,有时为了管理的需要,将一个标准的IP网络划分多个小的IP子网。如可将一个A类网络分成256个B类大小的子网(subnet)。例如一个B类网络,可以把主机地址中前8位用来表示子网地址,后8位留作主机地址 这样就允许有254个子网,每个子网可以有254台主机。每一个子网都有自己的网络地址和广播地址。子网的网络地址和广播地址的规则与前面讲到的网络地址和广播地址类似。用主机号全“0”表示子网的网络地址;用主机号全“1”表示子网的广播地址。子网的内的有限广播只会被同一子网内的机器收到,不会传到其他子网。子网之间不能直接通信,要通过网关和路由器来转发。4.4.2.子网表示法 在划分了子网后,因为借用了一部分主机号作为子网编号,所以已经不能根据IP地址的类型来判断网络号的长度了。为了解决这个问题,IP协议使用了子网掩码。子网掩码(mask)是一个32bit的数,与IP地址等长,一般由连续的”1”和连续的“0”组成。IP规定,用IP地址和子网掩码一起表示一个节点的地址。子网掩码中“1”对应的部分表示网络号,“0”对应的部分表示主机号。对于标准的A、B、C三类网络来说,它们都有自己默认的子网掩码 IP地址类型默认的子网掩码A255.0.0.0B255.255.0.0C255.255.255.0例:11111111 11111111 11100000 00000000=255.255.224.04.4.3.子网规划 为了合理划分和管理子网,必须进行子网规划。规划子网要完成两个任务:第一,确定子网掩码第二,确定子网编号。一、确定子网掩码 实际上就是要确定子网号和主机号部分的长度产生足够的子网 足够的主机数量 n子网数=2 -2(n表示用于子网编号的长度,全“0”和全“1”不能用于子网编号)m最大主机容量=2 -2(m表示主机编号长度)例:在一个B类网络128.16.0.0中,划分四个子网,四个子网的主机数分别是60,33,180,300。经过分析,应该借用的子网编号长度n=3;用m于主机编号的长度m必须满足 2 =300,所以m=9。由于标准B类网络的主机号部分为16位长,所以够用。取n=3二、确定子网编号可以从“001”、“010”、“011”、“100”、“101”、“110”六个数字中任取3个数字作为3个子网的编号。第一个子网的网络地址等于128.16.32.0,网络地址等于128.16.63.255;第二个子网的网络地址等于128.16.64.0,网络地址等于128.16.95.255;第一个子网的网络地址等于128.16.96.0,网络地址等于128.16.127.255 4.5.IP数据报IP的主要功能是在互联网上将数据以IP数据报的形式从一台主机传到另一台主机,中间可能要穿越若干个物理网络。在不同的网络之间,通过路由器来传递数据报。4.5.1.数据报格式 IP数据报是Internet的基本传送单元包括数据报报头和数据区两部分 数据报报头内容版本(4位):指明本数据报所属的IP的版本。目前的协议版本号是4,因此IP有时也称作IPv4。报头长(4位):指明本数据报报头(包括任何选项)长度长度单位是32bit的字,即为4字节。4bit最多可以表示 个。即15个32bit字,普通IP数据报(没有任何选择项)字段的值是5。生存时间(TTL,Time To Live,8位):该字段设置了数据报可以经过的最多路由器数,即指定了数据报的生存时间。每个处理数据报的路由器都需要把TTL的值减1。当路由器收到一份IP数据报时,如果其TTL字段是0或1,则路由器不转发该数据报。而是将该数据报丢弃。协议号(8位):指明接收数据报数据部分的上一层协议。如6表示上层是TCP,17表示上层是UDP。报头校验和(16位):该字段是根据IP报头计算出的检验码,它不对报头后面的数据进行计算。MF,DF,分片位移:用于分片控制。源IP地址(32位):数据报的源主机的IP地址。目的IP地址(32位):数据报的目的主机的IP地址。4.5.2.IP数据报的分片与重组 一、分片和重组每一个网络由于使用技术的差别,都规定了一次能够传输的数据单元的最大长度。这个限制称为最大传输单元(MTU,maximum transmission unit)。当一个数据报经过一个网络时,数据报的长度必须小于(等于)该网络的MTU,才能在网络中传输。一个路由器可能连结着具有不同MTU的多个网络。在图中,路由器R连接着两个网络,网络1的MTU为1500B,网络2的MTU为1000B。如果主机1需要将一个1400B的数据报包发送给主机2,数据报顺利地通过了网络1到达路由器R,但是在网络2,数据报被卡住了。IP采用分片和重组的技术来解决这个问题,将大的数据报分成较小的单位。这种较小的单位叫做数据报片或段,划分数据报的过程叫做分片或分段。分片以后,每片都可以像正常的IP数据报一样向后传输。目的主机在接收到所有分片后对分片进行重新组装,这个过程叫做IP数据报重组。二、分片控制 解决IP数据报分片正确的重组的问题要借助于IP数据报头3个分片控制的字段:DF,MF和分片位移DF:(Dont Fragment)不分片位,置1则不对该数据报分片。MF:(More Fragment)更多分片位,除了最后一片,其余片该位都置1。分片位移:指出本片距离原始IP数据报开始处的位置,为重组顺序提供依据4.6.地址解析与动态主机配置协议重点ARP协议的作用RARP协议的作用DHCP协议的作用4.6.地址解析与动态主机配置协议 4.6.1.ARP协议IP地址将网络地址隐藏起来,使IP表现出统一的地址格式。但在实际进行通信时IP址是不能被物理层所识别的,因此必须将IP地址转换为物理地址。所谓地址解析就是将IP地址映射为硬件地址的机制和过程。IP协议中的地址解析协议是 ARP(Address Resolution Protocol)。ARP协议把 IP地址解析成 MAC地址(例如 48 bit的以网地址)。一、ARP的基本思想 通过主动学习,每一台主机都形成一张ARP表,存放在缓存中。ARP表记载着主机的IP地址与物理地址的对应关系。从而为IP地址解析成物理地址提供依据。ARP表是通过广播和应答的方式形成的 A(信源机)要与B(信宿机)进行通信,用户使用两者的IP地址(Ia,Ib)进行通信。但不知道B的物理地址。A主机利用ARP协议,将本地网络中的B主机的IP地址解析为硬件地址。(1)A发送一个ARP广播包,请求IP地址为Ib的主机做出回应,(2)本地网上的每个主机都收到广播。(3)主机B收到此广播包后,作出响应,说明自己的硬件地址和IP地址的映射关系利用响应ARP包传送给主机A,(4)源主机A在得到主机B的硬件地址后,就可以与主机B通信,同时也会将主机B的IP地址和硬件地址保存到自己的APR缓存内。如果主机B与主机A的IP地址不在同一个网络内,则主机A需要将数据发送到路由器上。此时,如果主机A不知道路由器的物理地址,同样用ARP去解析。二、ARP的高速缓存技术 ARP高效运行的关键是每台使用ARP的主机中都有一个ARP高速缓存。ARP在缓存中存放了ARP表。该表记载着最近被解释的IP地址到MAC地址之间的映射记录,以减少广播量。由于多数网络通信都要连续发送多个报文,所以高速缓存大大提高了ARP的效率。另外,在ARP请求报文中还放入信源机的IP地址和MAC地址的映射,以防止信宿机接着为信源机的MAC地址再来一次ARP请求。三、ARP命令 多数操作系统都内置了一个ARP命令,用于查看、添加和删除高速缓存区中的ARP表项。ARP-a可显示ARP高速缓存中的所有内容ARP-d删除ARP高速缓存中的某一项内容,如:arp d 172.16.19.11 00-e0-4c-d6-e6-02ARP-S增加高速缓存中的内容。同过这种方式增加的项是静态项。如:arp s 172.16.19.33 00-e4-df-dd-e6-024.6.3.RARP协议在进行地址转换时,有时还要用到反向地址转换协议RARP。RARP使只知道自己物理地址的主机能够知道其IP地址。这种主机往往是无盘工作站。ARP与RARP分别用于两个方向上的地址解析问题:ARP用于从IP地址到物理地址的转换,RARP用于从物理地址到IP地址的转换。读取本机网络接口卡上惟一的硬件地址,然后发送一份RARP请求广播,请求某个主机在RARP回答中响应该无盘系统的IP地址。4.6.3.DHCP协议 动态主机配置协议(DHCP,Dynarnic Host Configuration Protocol)DHCP可以在TCPIP网络上自动为客户机指定惟一IP地址。它对IP地址进行集中管理,克服了静态IP地址的缺点,还可在某种程度上解决IP地址不足的问题。优点:避免了地址冲突,从而降低了管理难度。当一个IP地址分配给客户而又长期不被使用时,DHCP会自动回收该IP地址,从而避免地址浪费。二、DHCP客户获得IP地址的步骤 DHCP discover与DHCP服务器端连结 DHCP Offer与该工作站处于相同子网上的每个DHCP服务器均会回应一个有效的IP地址,以广播方式从发送出去的DHCP request客户机接收它所收到的第一个DHCP Offer的IP地址,并发送广播消息,回应DHCPrequest信息给DHCP服务器,通知DHCP服务器它所接受的IP地址。由于该消息是广播式的,所以所有其他DHCP服务器会收到广播消息,并把准备分配的IP地址重新放回可用地址组中。DHCP ack当被选中的DHCP服务器收到DHCP客户端所传送过来的DHCPack确认消息后,它会以广播的方式回复一个DHCP ack确认信息。三、DHCP的租期 DHCP定义了一种可以使 IP地址使用一段有限时间(租用)的机制。租用期间的设定决定了DHCP客户端更新的时间。在租借期结束之前,IP地址会保留在客户机的TCPIP设置中,即使该设备重新启动,也能使用已经配置的IP地址。当租期过半时,客户机开始向提供该IP地址的DHCP服务器发出请求重新协商该IP地址的租用问题。客户机同时将IP地址和以太网地址发给服务器。如果没有接收到响应,客户机每隔2分钟就向DHCP服务器发出一次请求;如果超出了87.5%的租期,客户机会重新广播DHCPDISCOVER消息;如果租期过了,没有获得新的租约,客户机就会停用该IP地址。四、DHCP的保留地址 DHCP服务器可以为一些特殊的主机(如局域网内部的Web服务器,邮件服务器等等)保留特定的IP地址。保留的方法,是为这些主机的物理地址(MAC地址)分配固定的IP地址,只要这些主机联入网络,总是分配到指定的IP地址。4.7.INTERNET控制报文重点ICMP的作用ICMP的类型和各类型的用途4.7.INTERNET控制报文 4.7.1.ICMP机制 IP提供的数据传输是不可靠的,在丢失数据报的同时,IP规定,应该给源主机一个错误报告,这个工作是Internet控制报文协议完成的。发送时,ICMP报文作为互连网层数据报的数据加上数据报的首部组成IP数据报发送出去。4.7.2.ICMP报文格式与内容 ICMP报文的前四个字节是统一的格式后面是长度可变部分,其长度取决于ICMP的类型。首部的检验和不检验数据报的内容,因此不能保证ICMP报文是正确的。ICMP报文的类型很多,由ICMP报文中的类型字段区分。可以将ICMP报文分为:差错报告、ICMP控制报文、请求应答等三大类型 一、ICMP差错报告 ICMP最基本的功能就是提供差错报告。IP软件一旦发现传输错误,他首先将出错报文丢弃,然后调用ICMP向源主机报告差错信息。ICMP控制报文差错报告包括目的地不可到达报告、参数出错报告等。二、ICMP控制报文 ICMP控制报文主要包括拥塞控制、路由控制两大内容。为了控制拥塞,IP软件采用了“源站抑制”技术,利用ICMP通知源主机降低发送数据报的频率。路由控制报文主要用于路由重定向。4.7.3.ICMP应用 一、Ping Ping是TCP/IP提供的最常用调试工具,它用来测试另一台主机是否可达。使用Ping时主机A发送一份ICMP回送请求报文给目标主机B,并等待返回ICMP回送应答。收到该请求的机器B必须传送一个回送应答报文给最初的发送请求站点A。4.8.路由选择重点:路由选择的原理路由表的种类及各自特点4.8.路由选择 4.8.1.路由选择基本原理 数据报传输过程中经过若干个路由器最后到达与目的站处于同一网络上的路由器。路由器根据IP数据报的目的地址,找到一条转发的路径,这一过程,称为路由选择。一、表驱动IP选路的基本思想 路由器选路的依据是IP路由表。每个路由器上都保存一张IP路由表,IP路由表存储着有关可能的目的地址及怎样到达目的地址的信息,在转发IP数据报时,查询IP路由表,决定把数据报发往何处。目的网目的网络络子网掩子网掩码码下一个路由器下一个路由器10.2.0.0255.255.0.0直接投递10.3.0.0255.255.0.0直接投递10.1.0.0255.255.0.010.2.0.510.4.0.0255.255.0.010.3.0.7二、路由表中的特殊路由 使用“默认路由”,缩小路由表的长度目的网络子网掩码下一个路由器10.1.0.0255.255.0.0直接投递10.2.0.0255.255.0.0直接投递0.0.0.00.0.0.010.2.0.6目的网目的网络络子网掩子网掩码码下一个路下一个路由器由器10.1.0.0255.255.0.0直接投递10.2.0.0255.255.0.0直接投递10.3.0.0255.255.0.010.2.0.610.4.0.0255.255.0.010.2.0.6三、路由选择算法:从数据报中提取目的IP地址D,计算网络地址Nif N 与任何直接连接的网络地址匹配then 在该网络上将数据报传送到目的地D上(包括将D转换成一个物理地址、封装数据报并发送该帧)else if 表中包含了一个到D的主机指定路由then将数据报发送到表中指定的下一站else if 表中包含到网络N的一个路由then 将数据报发送到表中指定的下一站else if 表中包含一个默认路由then 将数据报发送到表中指定的默认路由器上四、路由表的建立与刷新 路由表的建立有两种方法,一是人工设定的,二是路由器按照一定的方法学习的。前一种称为静态路由,后一种称为动态路由。静态路由是由人工管理的。网路管理员可以根据网络连接结构和方式为互联网中的每一个路由器建立路由表。如果互联网的拓扑结构或连接方式发生变化,网络管理员必须手工对静态路由更新。优点:是安全可靠、简单直观,避免了动态路由选择的开销。在网络结构不太复杂的情况下,使用静态路由是一个很好的选择。动态路由 动态路由可以通过自身学习,自动修改和刷新路由表。所以特别适合于复杂的、网络规模庞大的互联网环境。动态路由要求路由器之间不断地交换路由信息,从而形成的路由表。完成这一任务使用的是路由选择协议。路由选择协议有很多种(如RIP,OSPF,IGRP,EIGRP等等)。在一个复杂互联网中,从一个网络到另一个网络,可能有多条可行路径,动态路由要从中选择一条最优的路径。4.9.路由协议简介一、RIP协议路由信息协议(RIP,Routing Information Protocol)RIP是一个基于距离向量的分布式路由选择协议,由于其算法简单,因此得到了普遍的应用。RIP使用跳数(Hop)作为度量值,所谓跳数,是从本路由器出发,到达目的网络中间所需经过的路由器个数。RIP总是以找到跳数最小的路径为最终目标。二、开放最短路径优先(OSPF)在互联网中,OSPF是另一种经常被使用的路由选择协议。OSPF使用链路状态算法,在大规模网络中比RIP工作得更好。4.10.IPV6简介 IPV6是继IPV4以后,Internet协议的一个新版本。由IPV4到IPV6的改变主要集中在以下几个方面:地址容量的扩展。IPv6把IP地址的大小从32位(4字节)增至128位(16字节)。首部格式的简化。一些IPV4首部字段被删除或者成为可选字段,减少了一般情况下数据报的处理开销。支持扩展和选项的改进。IP首部选项编码方式的修改导致更加高效的传输,在选项长度方面更少的限制,以及将来引人新的选项时更强的适应性。数据流标签的能力。加人一个新的能力,使得那些发送者要求特殊处理的属于特别的传输“流”的数据报能够贴上“标签”,如非默认质量的服务或者“实时”服务。认证和保密的能力。在IPv6中说明了为支持认证、数据完整性以及数据保密(可选)的扩展。IPV6现在已经在一些国家投入使用,待全面取代IPV4仍然需要一个长期的过程。在相当长的一段时间里,IPV4和IPV6将并存工作,这种状况,要求网络设备同时提供对IPV4和IPV6的支持。课后练习一、填空1、TCP/IP模型由低到高分别为_、_、_和_层。2、常用的IP地址有A、B、C三类 128.11.3.31是一个_类地址,其网络标识为_,主机标识_。3、IP地址的位数为_位。4.TCP/IP协议集的网络层上的RARP子协议的功能是_5.如果一台主机的IP地址为192.168.0.10,子网掩码为255.255.255.224,那么主机所在网络的网络号占IP地址的_位。6、IP定义了统一的地址表示法_和统一的数据表示法_7、_协议负责将IP地址转换成MAC地址。8、IP规定,用IP地址和子网掩码一起表示一个节点的地址。子网掩码中“1”对应的部分表示_,“0”对应的部分表示_。9、一个路由器可能连结着具有不同MTU(最大传输单元)的多个网络,当某网络中所要传输的IP数据报大小超过该网络的MTU(最大传输单元)时,则需要对该数据报进行_,到达目的主机后再对其进行_10、DHCP协议又叫做_协议,其作用是_。11、IP提供的数据传输是不可靠的,在丢失数据报的同时,IP规定,应该给源主机一个错误报告,这个工作是_协议完成的。12、ICMP报文的类型很多,由ICMP报文中的_字段区分,可以将ICMP报文分为:_,_,_三大类型。13、路由器根据IP数据报的目的地址,找到一条转发的路径,这一过程,称为_。14、路由表的建立有两种方法,一是人工设定的,二是路由器按照一定的方法学习的,前一种称为_,后一种称为_。15、Ping是TCP/IP提供的最常用调试工具,它用来_。二、计算题在一个C 类网络192.168.138.0中,划分三个子网,五个子网的主机数分别是10,12,18。问:(1)划分子网时需要几位IP地址作为子网编号?(2)写出该网络的子网掩码。(3)写出各个子网的编址范围。三、简答题1、什么是子网掩码?子网掩码的作用是什么?2、试列出目前你所学过的TCP/IP构架中网络层的所有协议,并简单解释每种协议的作用。