·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP1IP地址和MAC地址的关系?怎样实现IP地址和MAC地址转换??·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP2地址解析——ARP&RARP协议·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP3主要内容地址解析ARP协议RARP协议·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP4Name:Host-aIP=202.112.103.47地址转换示例Name:Host-bIP=202.112.108.172NameServerHost-bDNSARP202.112.108.17208002B4E89FA物理地址:08002B4E89FAIP1=202.112.103.1IP2=202.112.108.1Host-a与Host-b高速缓存表C类地址·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP5地址解析协议地址–软件提供的抽象地址,如IP地址,它使整个互联网看成一个网络,但真正的物理网络并不能通过IP地址协议地址来定位机器物理地址–硬件地址,如MAC地址地址解析(resolution)–协议地址和物理地址之间的转换,如IP地址和MAC地址之间的转换反向地址解析:物理网络地址IP地址IP地址物理网络地址ARPRARP·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP6ARP地址解析方法映射方法:–表格方法----事先在各主机内建立一张“IP地址—物理网络地址映射表”;·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP7·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP8ARP协议为了提高效率,ARP使用了高速缓存技术(caching)。为了防止目的主机也进行ARP请求解析自己的MAC地址,在ARP报文中发送主机将主动填写自己的IP和MAC地址。一台主机发送的ARP请求,网络中所有的主机都将在自己的高速缓存中记录它的IP/MAC地址。·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP9ARP基本工作原理1.主机试图发送时,先检查ARP高速缓存中的地址映射表;2.找不到所需的IP-MAC地址项,则由IP自动调用ARP,向目标主机发送带有源硬件地址和主机IP地址、目标主机IP地址的ARP请求帧;3.将该请求帧在本地网上广播,IP地址与请求帧的目标主机IP地址相同的主机将接收该帧,并向源主机发送一个包含本身硬件地址的ARP响应帧。4.双方主机分别在内存的ARP高速缓存中建立一个IP-MAC地址映射表,此后双方通信均可按硬件地址直接发送。5.新机入网时,主动广播地址联编信息;6.ARP表中的表项有生存期,超时则删除。·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP10APR地址解析和数据包在网间的传递目的主机B的IP地址Router2MAC地址目的主机B的IP地址Router1MAC地址目的主机B的IP地址Router3MAC地址目的主机B的IP地址目的主机BMAC地址·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP11RARP协议给定一个MAC地址,如何获得它的IP地址,这就是反向地址解析RARP(TheReverseAddressResolutionProtocol)。主要用于无盘工作站启动。RARP服务器需要维护一张本网络的“MAC地址—IP地址”映射表。任何一台主机(例如无盘机)发出RARP申请(携带自己的MAC地址)后,只有RARP服务器对其进行应答。RARP协议利用定时重传解决RARP请求的差错控制。由于路由器不转发广播帧,RARP服务器必须与无盘工作站在同一子网内。·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP12多RARPServer结构为防止服务器超载,很多网络中采用了多RARPServer结构;由哪个服务器回答一个RARP的请求?–事先为每台主机分配一个主服务器(primaryserver),其他为从服务器(secondaryserver)一般由主服务器回答RARP请求,从服务器只记录请求达到时间;–主服务器超载或停机不能应答时,用户再次发出RARP请求,第一个接到RARP请求的从服务器响应。如何防止多个从服务器同时应答?从服务器收到请求后,等待一段随机时间再响应。以防止网络信道突然拥挤、甚至拥塞。·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP13ARP/RARP报文格式说明ARP只用来解析对方的物理网络地址;RARP除了用来解析本机的IP地址之外,还可以用来解析第三方的IP地址;报文格式相同;硬件类型协议类型硬件地址长度发送方硬件地址(?b0-b3)发送硬件地址(b4-b5)发送IP地址(b2-b3)目的硬件地址(b2-b5)目的IP地址(b0-b3)081631协议地址长度操作发送IP地址(b0-b1)目的硬件地址(b0-b1)(b0-b3)·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP14ARP/RARP报文格式说明TCP/IP协议设计ARP/RARP报文能适应各种物理网络地址与网络层地址;其中:硬件类型=1----Ethernet协议类型=0x0800----IP协议操作=1----ARP请求=2----ARP响应=3----RARP请求=4----RARP响应硬件地址长度6byteIP地址长度4byte·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP15怎样知道IP网络出现故障了?怎样管理和维护IP网络状态·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP16差错处理和状态报告:ICMP协议·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP17主要内容ICMP协议的类型ICMP报文格式常用ICMP差错报文常用ICMP控制报文常用ICMP请求/应答报文·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP18ICMP协议ICMP(InternetControlMessageProtocol)–Internet控制报文协议,正式规范参见RFC792[Posterl1981b]–ICMP设计初衷:网关向信源机报告差错信息IP数据报在网中传输时,网关自主完成寻址与传输,无须信源、信宿机参与;系统一旦发生错误,需要一种内部机制进行控制,因此设计了ICMP–ICMP报文封装在IP分组,即将ICMP报文加上IP报头,其中IP报头中的协议域protocol=1。IP报头ICMP数据typecodechecksumICMP报头ICMP报文IP数据报·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP19ICMP报文概述ICMP是一种差错与控制集于一体的协议,不仅用于传输差错报文,而且用于传输控制报文。ICMP差错报文–ICMP差错报文中除了包含出错数据报的报头,而且还包括其数据区的前64bits的数据。–ICMP差错报文伴随着丢弃出错数据产生的。–ICMP差错报文包括了目的地不可达报文,超时报文,参数错报文等。IP协议包括了拥塞控制和路由控制两个部分,ICMP提供了相应的控制报文:源抑制报文和重定向报文。ICMP还提供了一些用于获得有用信息的一些请求/应答报文:ECHO请求/应答报文和时间戳请求/应答报文。·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP20ICMP报文的类型信息不可到达报告IP协议IP数据报IP数据报传输协议差错与控制报文协议ICMP差错报告报文超时报告参数出错报告控制报文源抑制报文重定向报文请求/应答报文时戳请求/应答报文地址模请求/应答报文回应请求/应答报文·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP21ICMP报文格式类型域ICMP报文类型类型域ICMP报文类型0回应应答12数据报参数错3信宿不可到达13时戳请求4源抑制14时戳应答5重定向17地址模请求8回应请求18地址模响应11数据报超时0124n(字节)类型代码校验和数据区头标·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP22ICMP报文格式代码(code):提供报文类型的进一步信息;校验和(checksum):提供整个ICMP报文的校验和;数据区:包括出错数据报的报头及该数据报的前64bit数据;这些信息可以帮助信源机确定出错数据报.·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP23ICMP差错报文—目的地不可达当网络节点认为某数据报的目的地不可达时,就向该数据报的源主机发送一个目的地不可达的ICMP分组。ICMP报文–type(8bits)•=3–code(8bits)•0=netunreachable;•1=hostunreachable;•2=protocolunreachable;•3=portunreachable;•4=fragmentationneededandDFset;•5=sourceroutefailed.–Checksum(16bits)–unused(32bits)–Internetheader+64bitsoforiginaldatadategram主机A路由器其它网络向主机B发送数据目的主机不可达向B发送数据不知如何到达B发送ICMP报文·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP24讨论信宿不可达的4个层次:网络、主机、协议、端口;网络不可到达:寻址故障;主机不可到达:信宿机所在网络的最后一个网关发现其关闭或故障;协议和端口不可到达–网络高层可采用多种协议,通过协议端口(port)实现访问;–协议号、端口号和网络地址、主机地址一样,作为数据报信宿地址的一部分使用;–同一协议可以通过不同的协议端口,同时处理多个访问;·南京航空航天大学网络研究室Email:xiazhengyou@yeah.net南京航空航天大学网络研究室TCPIP25讨论下面各种情况不会导致产生ICMP差错报文:1)ICMP差错报文。2)目的地址是广播地址或多播地址(D类地址)的IP数据报。3)作为链路层广播的数据报。4)不是IP分片的第一片。5)源地址不是单个主机的数据报。即源地址不能为零地址、环回地址、广播地址或多播地址。为了防止过去允许ICMP差错报文对广播分组响应所带来的广播风