《第3章 网络层协议(1).ppt》由会员分享,可在线阅读,更多相关《第3章 网络层协议(1).ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网网络络协协议议分分析析(TCP/IP)第第3章章网络层协议网络层协议(1)n要求:要求:1、掌握、掌握Internet编址方式编址方式n2、掌握、掌握ARP与与RARP原理原理n3、掌握、掌握IP数据报格式、分片重组原理、选路原理数据报格式、分片重组原理、选路原理n4、掌握、掌握ICMP报文格式及类型、报文格式及类型、3.1Internet地址及地址解析地址及地址解析n要求:要求:n1、掌握、掌握Internet编址方式编址方式n2、掌握、掌握ARP原理原理n3、了解、了解RARP原理原理引言引言n前面我们提到:前面我们提到:TCP/IP协议簇的引入是为了解决网络协议簇的引入是为了解决网络互
2、联问题,互联问题,IP层屏蔽了各种物理网络之间的差异,提层屏蔽了各种物理网络之间的差异,提供一种统一的编制方式,为供一种统一的编制方式,为Internet上的每个网络、上的每个网络、每台主机赋予一个唯一的标识,即每台主机赋予一个唯一的标识,即Internet地址。前地址。前面还提到两个边界,操作系统边界和协议地址边界。面还提到两个边界,操作系统边界和协议地址边界。协议地址边界处,协议地址边界处,IP层和其上各层看靠的是层和其上各层看靠的是IP地址,地址,而而IP层以下看到的是物理地址。在数据发送时,数据层以下看到的是物理地址。在数据发送时,数据逐层向下递交,当数据投递到物理网络时,底层物理逐层
3、向下递交,当数据投递到物理网络时,底层物理层只能识别物理地址。因此需要将层只能识别物理地址。因此需要将IP地址和物理地址地址和物理地址进行转换,即地址解析。(这一节涉及两个边界:进行转换,即地址解析。(这一节涉及两个边界:Internet地址和地址解析)地址和地址解析)一、Internet地址n1、长度:32比特比特=(netid+hostid)n2、两部分:网络号、两部分:网络号+主机号主机号n3、表示方法:二进制、表示方法:二进制、十进制、十进制n4、地址分类、地址分类n(1)基本分类)基本分类nA类:类:08位网络号位网络号首字节首字节1126nB类:类:1016位网络号位网络号首字节首
4、字节128191nC类:类:11024位网络号位网络号首字节首字节192223nD类:类:1110组播地址组播地址首字节首字节224239nE类:类:11110-(保留未用)(保留未用)首字节首字节240247n(2)特殊地址)特殊地址n网络地址:主机号全网络地址:主机号全0;n广播地址:主机号全广播地址:主机号全1n有限广播地址:有限广播地址:32位全位全1;n回回送送地地址址:127.*.*.*,网网络络软软件件测测试试及及本本机机进进程间的通信。程间的通信。5、IP地址的几点说明n(1)IP地址的实质:地址的实质:nIP地址标识的不一定是一台主机,实质上标识的是到一个网络地址标识的不一定
5、是一台主机,实质上标识的是到一个网络的一条连接。的一条连接。n(2)网络字节顺序)网络字节顺序n在网络通信过程中,必须对数据传输的顺序进行标准化。我在网络通信过程中,必须对数据传输的顺序进行标准化。我们知道,同样的数据在不同的机器内存中的存储方式不同,们知道,同样的数据在不同的机器内存中的存储方式不同,对于长度超过对于长度超过1字节的整数而言,某些机器在低地址存储区字节的整数而言,某些机器在低地址存储区域存放低字节,称为小端点机;而某些机器则在低字节存储域存放低字节,称为小端点机;而某些机器则在低字节存储区域存放整数的高字节,这种机器称为大端点机。区域存放整数的高字节,这种机器称为大端点机。n
6、当小端点机器发送、大端点机器接收就会有问题。为解决问当小端点机器发送、大端点机器接收就会有问题。为解决问题,题,TCP/IP规定了网络字节顺序,即首先发送整数的高字规定了网络字节顺序,即首先发送整数的高字节,然后发送低字节。在网络编程接口节,然后发送低字节。在网络编程接口socketAPI调用中,调用中,有专门的网络字节顺序转换函数有专门的网络字节顺序转换函数htonl()、htons()、ntohl()和和ntohs()。在发送前调用。在发送前调用hton*(),收到后调用,收到后调用ntoh*()。”l”用于用于4字节情况,字节情况,”s”用于用于2字节的情况高字节的情况高high到到to
7、窄窄(低低)narrow)。)。(3)Internet编址管理机构编址管理机构InterNICAPNICARINRIPEAfiNICLATNICCNNICKRNICTWNICNIC:网络信息中心网络信息中心二、地址解析协议-ARPn1、静态映射和动态映射、静态映射和动态映射n问题一:为什么要进行地址转换?问题一:为什么要进行地址转换?n必须根据必须根据IP地址找到物理地址才能进行实际的数据传送。地址找到物理地址才能进行实际的数据传送。n因特网在网络层使用因特网在网络层使用IP地址的同时,在物理网络中仍然在地址的同时,在物理网络中仍然在使用物理地址,两套地址之间的转换过程称为地址解析。使用物理地
8、址,两套地址之间的转换过程称为地址解析。n解析方法:解析方法:n静态映射主要采用地址映射表来实现静态映射主要采用地址映射表来实现IP地址和物理地址之地址和物理地址之间的映射,即在主机中利用地址映射表来记录网络上其他间的映射,即在主机中利用地址映射表来记录网络上其他主机或网络设备的主机或网络设备的IP地址和物理地址对应关系。地址和物理地址对应关系。n动态映射动态映射是在需要获得地址映射关系时利用网络通信协是在需要获得地址映射关系时利用网络通信协议直接从其他主机上获得议直接从其他主机上获得IP地址和物理地址的映射关系。地址和物理地址的映射关系。在因特网上采用了动态映射方法进行地址映射,包括地址在因
9、特网上采用了动态映射方法进行地址映射,包括地址解析协议(解析协议(ARP)和反向地址解析协议()和反向地址解析协议(RARP)2、ARP和RARPIP地址地址物理地址物理地址ARPRARPnARP:AddressResolutionProtocol地址解析协议(地址解析协议(ARP):是根据给定的):是根据给定的IP地址获取对应的物理地址。地址获取对应的物理地址。nRARP:ReverseAddressResolutionProtocolRARP主要用于无盘工作站,根据物理地址,通过主要用于无盘工作站,根据物理地址,通过RARP服务器获取服务器获取IP地地址址3、ARP思路和步骤思路和步骤 n
10、(1)思路(原理):广播询问,单播回应n广播询问:谁的IP地址是多少(具体的ip地址),请你把你的物理地址告诉我。n单播回应:我的IP地址是多少(具体的ip地址),我的物理地址什么(具体物理地址)(2)步骤:n(1)发送方发送)发送方发送ARP请求报文,广播请求报文,广播请求获取目的主机的物理地址。请求获取目的主机的物理地址。n(2)网络上所有主机都收到请求,目的)网络上所有主机都收到请求,目的主机以单播方式向发送请求物理地址的主机以单播方式向发送请求物理地址的主机回送解析结果。其他主机不做回应。主机回送解析结果。其他主机不做回应。4、跨网络通讯时ARP的使用方法网络网络1网络网络2ABRIn
11、1In2转换步骤:转换步骤:A利用利用ARP获得路由器获得路由器R接口接口1的物理地址的物理地址A把报文发给路由器把报文发给路由器R的接口的接口1R从接口从接口2使用使用ARP获得获得B的物理地址的物理地址R把报文从接口把报文从接口2转发给转发给B5、ARP提高效率的措施n为提高效率,在实现为提高效率,在实现ARP协议时,在本地设置了协议时,在本地设置了ARP缓存,用于存放最近解析的缓存,用于存放最近解析的IP/MAC对。发送方发送对。发送方发送数据时,首先检查本地缓存。如果找到对应的记录,数据时,首先检查本地缓存。如果找到对应的记录,则直接使用,否则才会用则直接使用,否则才会用ARP解析。解
12、析。nARP还采用了其他一些措施提高效率:还采用了其他一些措施提高效率:n使用捎带机制,在请求报文中包含自己的使用捎带机制,在请求报文中包含自己的IP/MAC关系,当关系,当请求以广播发送是,网络中每个主机都受到这个请求以广播发送是,网络中每个主机都受到这个IP/MAC对,对,并缓存。并缓存。n主机在联网时,主动广播自己的主机在联网时,主动广播自己的IP/MAC对。对。n另外,由于网络的设备是动态变动的,缓存中数据也另外,由于网络的设备是动态变动的,缓存中数据也存在有效性问题,为此,一般缓存管理中,对每条存在有效性问题,为此,一般缓存管理中,对每条IP/MAC绑定一个超时计时器,且每使用一次,
13、即清绑定一个超时计时器,且每使用一次,即清0一次。当超时时,就从缓存中清除。在现实中,这个一次。当超时时,就从缓存中清除。在现实中,这个时间一般设置为时间一般设置为20分钟。分钟。6、ARP报文格式及封装Arp报文格式说明n硬件类型指明发送方想知道的硬件接口类型。对以太网硬件类型指明发送方想知道的硬件接口类型。对以太网,值为,值为1;n协议类型指明发送方提供的高层协议地址类型。对协议类型指明发送方提供的高层协议地址类型。对TCP/IP互联互联网,采用网,采用IP地址,值为十六进制的地址,值为十六进制的0800;n#defineEPT_IP0 x0800/*type:IP*/#defineEPT
14、_ARP0 x0806/*type:ARP*/#defineEPT_RARP0 x8035/*type:RARP*/n操作指明操作指明ARP/RARP的操作类型,的操作类型,ARP请求为请求为1,ARP响应为响应为2,RARP请求为请求为3,RARP响应为响应为4。RARP在后面介绍。在后面介绍。n在以太网环境下的在以太网环境下的ARP报文,硬件地址为报文,硬件地址为48位(位(6个八位组)。个八位组)。ARP报文的前报文的前8个字节是固定的,之后各个字节的长度不固定,但各字段的内容是确个字节是固定的,之后各个字节的长度不固定,但各字段的内容是确定的。定的。7、ARP命令n对对ARPcache
15、进行操作。进行操作。narpa列出列出ARP缓存中所用条目缓存中所用条目narpahost,列出与列出与HOST地址对应条目地址对应条目narpdhost删除删除HOST对应条目对应条目narpshostethenaddress在缓存在缓存中添加条目中添加条目8、ARP欺骗(欺骗(P31)nArp缓存的设置有效的提高了通信效率,但他也为缓存的设置有效的提高了通信效率,但他也为ARP的网的网络带来了安全风险,络带来了安全风险,arp欺骗是目前一个较为常见的攻击手欺骗是目前一个较为常见的攻击手段。段。nARP欺骗是交换式网络环境下实施嗅探和会话劫持的基础。欺骗是交换式网络环境下实施嗅探和会话劫持的
16、基础。ARP协议并不只在发送了协议并不只在发送了ARP请求才接收请求才接收ARP应答。当计应答。当计算机接收到算机接收到ARP应答数据包的时候,就会对本地的应答数据包的时候,就会对本地的ARP缓缓存进行更新,将应答中的存进行更新,将应答中的IP和和MAC地址存储在地址存储在ARP缓存中。缓存中。因此,在网络中,因此,在网络中,B向向A发送一个自己伪造的发送一个自己伪造的ARP应答,而应答,而这个应答中的数据为发送方这个应答中的数据为发送方IP地址是地址是192.168.10.3(C的的IP地址),地址),MAC地址是地址是BB-BB-BB-BB-BB-BB(B的的MAC地址地址)(C的的MAC
17、地址本来应该是地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当这里被伪造了)。当A接收到接收到B伪造的伪造的ARP应答,就会更新应答,就会更新本地的本地的ARP缓存,将本地的缓存,将本地的IP-MAC对应表更换为接收到的对应表更换为接收到的数据格式,由于这一切都是数据格式,由于这一切都是A的系统内核自动完成的,的系统内核自动完成的,A可可不知道被伪造了。当不知道被伪造了。当A发送数据到发送数据到IP地址为地址为192.168.10.3(C)时,数据实际发送给时,数据实际发送给B了。了。nArp欺骗的防范欺骗的防范n可以查看,很多基于可以查看,很多基于ARP的攻击都是通过的攻
18、击都是通过ARP欺骗实现的。欺骗实现的。至于至于ARP欺骗的防范,还是尽可能使用静态的欺骗的防范,还是尽可能使用静态的ARP(arpsIPMAC)。对于)。对于WIN,使用,使用arp-s来进行静态来进行静态ARP的设置。的设置。当然,如果能够完全使用静态的当然,如果能够完全使用静态的IP+MAC对应,就更好了,对应,就更好了,因为静态的因为静态的ARP缓存只是相对的。缓存只是相对的。(ip与与mac绑定、绑定、ip与端与端口绑定)口绑定)n当然,可以有一些方法来实现当然,可以有一些方法来实现ARP欺骗的检测。设置一个欺骗的检测。设置一个ARP的嗅探器,其中维护着一个本地网络的的嗅探器,其中维
19、护着一个本地网络的IP-MAC地址的静地址的静态对应表,查看所有经过的态对应表,查看所有经过的ARP数据,并检查其中的数据,并检查其中的IP-MAC对应关系,如果捕获的对应关系,如果捕获的IP-MAC对应关系和维护的静态对应关对应关系和维护的静态对应关系对应不上,那么就表明是一个欺骗的系对应不上,那么就表明是一个欺骗的ARP数据包了。数据包了。三、反地址解析协议RARPn1、RARP的思路的思路nRARP主要用于无盘工作站,他有物理地址,主要用于无盘工作站,他有物理地址,用于通过用于通过RARP服务器获取服务器获取IP地址。地址。n思路:使用广播方式询问,帧首部的物理地思路:使用广播方式询问,帧首部的物理地址字段设置为物理广播地址。广播请求到达址字段设置为物理广播地址。广播请求到达服务器,服务器已单播形式返回。服务器,服务器已单播形式返回。2、RARP报文格式n报文格式与报文格式与arp类似,区别在操作字段为类似,区别在操作字段为3或或4。3请求,请求,4响应。响应。3、RARP服务器n无盘工作站所在的网络必须设置无盘工作站所在的网络必须设置RARP服服务器。务器。