几种报文格式及ARP分类主要内容TCP/IP协议概述•数据封装和解封装过程•TCP、UDP、IP报文格式、以太帧格式•ARP、免费ARP、代理ARP、RARP、IARPTCP/IP协议概述主机AInternetTCP/IP主机BTransmissionControlProtocol/InternetProtocol是互联网上通信的标准•TCP/IP是发展至今最成功的通信协议,它被用于当今所构筑的最大的开放式网络系统Internet之上就是其成功的明证。Internet最初的设计是为了满足美国国防的需要,。•TCP和IP是两个独立且紧密结合的协议,负责管理和引导数据报文在Internet上的传输。二者使用专门的报文头定义每个报文的内容。TCP负责和远程主机的连接。而IP负责寻址,使报文被送到其该去的地方。应用层概述ApplicationTransportInternetNetworkAccessTCP/IP协议栈文件传输-TFTP-FTP-NFS邮件协议-SMTP-POP3-IMAPWeb浏览-HTTP远程登录-Telnet-rlogin-SSH网络管理-SNMP-RMON名称管理-DNS-WINS为应用软件提供接口,从而使得应用程序能够使用网络服务传输层概述ApplicationTransportInternetNetworkAccessTCP/IP协议栈负责将报文能准确、可靠、顺序地进行源端到目的端(端到端,end-to-end)的传输。TransmissionControlProtocol(TCP)-可靠传输-面向连接UserDatagramProtocol(UDP)-不可靠传输-非面向连接网络层概述ApplicationTransportInternetNetworkAccessTCP/IP协议栈网络层提供了逻辑地址和路由寻址功能InternetProtocol(IP)-路由寻址InternetControlMessageProtocol(ICMP)-用于连通性测试或路由追踪AddressResolutionProtocol(ARP)-将IP地址映射到MAC地址ReverseAddressResolutionProtocol(RARP)-将MAC地址映射到IP地址链路层概述ApplicationTransportInternetNetworkAccessTCP/IP协议栈链路层定义了硬件地址和数据在物理介质上的传输LogicalLinkControl(LLC)-定义了流量控制和错误检查等功能MediaAccessControl(MAC)-管理网络设备的物理地址PhysicalLayer-定义了数据在物理介质上的传输数据封装过程•数据封装过程是在不同的层次对数据打上相应的标识应用层表示层会话层传输层网络层数据链路层物理层DataDataTCP/UDPHeaderDataTCP/UDPHeaderIPHeaderDataTCP/UDPHeaderIPHeaderIPHeaderDataLinkHeaderCRC100010010011100011001100010发送方数据(DATA)段(Segment)包(Packet)帧(Frame)比特(Bit)发送方,封装的操作是逐层进行的。各个应用程序将要发送的数据送给传输层;传输层(TCP/UDP)把数据分段为大小一定的数据段,加上本层的报文头。发送给网络层。在传输层报文头中,包含接收它所携带的数据的上层协议或应用程序的端口号,例如Telnet的端口号是23。传输层协议利用端口号来调用和区别应用层各种应用程序。网络层对来自传输层的数据段进行一定的处理(利用协议号区分传输层协议、寻找下一跳地址、解析数据链路层物理地址等),加上本层的IP报文头后,转换为数据包,再发送给链路层(以太网、帧中继、PPP、HDLC等)。链路层依据不同的数据链路层协议加上本层的帧头,发送给物理层以比特流的形式将报文发送出去。数据解封装过程•数据解封装过程是在不同的层次对数据去掉相应的标识ApplicationPresentationSessionTransportNetworkDataLinkPhysicalDataDataTCP/UDPHeaderDataTCP/UDPHeaderIPHeaderDataTCP/UDPHeaderIPHeaderIPHeaderDataLinkHeaderCRC100010010011100011001100010接收方数据(DATA)段(Segment)包(Packet)帧(Frame)比特(Bit)•在接收方,这种去封装的操作也是逐层进行的。从物理层到数据链路层,逐层去掉各层的报文头部,将数据传递给应用程序执行。TCP报文格式0816243116位源端口32位序列号32位确认号保留(6位)16位TCP校验和选项16位目的端口16位窗口大小16位紧急指针数据头长度UAPRSF•URG紧急指针(urgentpointer)•ACK确认序号有效。•PSH接收方应该尽快将这个报文段交给应用层。•RST重建连接。•SYN同步序号用来发起一个连接。•FIN发端完成发送任务。TCP段格式举例端口号TCP端口号FTP传输层TELNETDNSSNMPTFTPSMTPUDP应用层23255369RIP5202021161162端口号提供了应用层到传输层的桥梁•TCP和UDP都用端口号来标明上层应用的信息。例如FTP应用中控制端口是21,数据端口是20。•端口号定义的范围:•1、低于255的端口号用于公共应用•2、255到1023的端口号被指定给各个公司•3、高于1023的端口号未做规定,由主机随机使用UDP报文格式•没有序列和确认字段Sourceport(16)Destinationport(16)Length(16)Data(ifany)1Bit0Bit15Bit16Bit31Checksum(16)8BytesUDP格式举例IP包格式TrainingCenter21包格式举例EthernetII帧格式目的地址源地址类型帧净载荷帧检测序列以太网Ⅱ型数据帧是所有以太网帧中最古老也是应用最广泛的•ARP•免费ARP•代理ARP•RARP•IARPARP概述•ARP–AddressResolutionProtocol地址解析协议–作用:把IP地址解析为MAC地址•数据在以太链路上以以太网帧的形式传输•要在以太网中传输IP数据包,必须知道IP对应的MAC目标MAC源MAC源IP目标IP数据FCSARP地址解析过程源、目的主机是否同一子网解析网关/下一跳MAC解析目的主机MACYN源主机要发送IP包ARP缓存中是否有IP-MAC条目NY发送ARP请求并在本地建立临时条目根据接收的ARP报文建立IP-MAC映射条目根据ARP表中IP-MAC映射条目封装成帧发送ARP缓存27•ARP缓存›动态表项›通过ARP协议学习,能被更新,缺省老化时间120s›静态表项›手工配置,不能被更新,无老化时间的限制ARP报文目的MAC源MAC类型ARP报文0X8086硬件类型协议类型硬件地址长度协议地址长度操作代码SenderMACSenderIPTargetMACTargetIP1Request2Reply免费ARP29•免费ARPGratuitousARP•开机或者更改了IP地址,会发送免费ARP›发送ARP请求,其中TargetIP是自己的IP›确定其它设备的IP地址是否与本机IP地址冲突。›更改了地址,通知其他设备更新ARP表项•IP地址发生冲突的条件–收到GratuitousARP报文,且Sender/TargetIP与当前IP一致,但SenderMAC与当前MAC不同主机或网络设备怎样判断IP冲突30网关PC2PC1192.168.0.100d0.f800.0001192.168.0.100d0.f800.0002GratuitousARPGratuitousARP代理ARP•代理ARPProxyARP–由启动了代理ARP功能的网关/下一跳设备代为应答ARP请求,该ARP请求的是其他IP对应的MAC地址–回应ARP请求的条件•本地有去往目的IP的路由表•收到该ARP请求的接口与路由表下一跳不是同一个接口代理ARP32PC1192.168.1.10255.255.255.0192.168.1.1MAC-PC1情形1PC2192.168.2.10255.255.255.0192.168.2.1MAC-PC2VLAN10192.168.1.1255.255.255.0VLAN20192.168.2.1255.255.255.0PC1192.168.1.10255.255.255.0192.168.1.10MAC-PC1情形2PC1192.168.1.10255.255.0.0192.168.1.1MAC-PC1情形3代理ARP-情形233PC2192.168.2.10255.255.255.0192.168.2.1MAC-PC2VLAN10192.168.1.1255.255.255.0VLAN20192.168.2.1255.255.255.0PC1192.168.1.10255.255.255.0192.168.1.10MAC-PC1情形2•锐捷交换机缺省关闭了代理ARP›在接口下使用ipproxy-arp开启代理ARP功能代理ARP-情形234PC2192.168.2.10255.255.255.0192.168.2.1MAC-PC2VLAN10192.168.1.1255.255.255.0VLAN20192.168.2.1255.255.255.0PC1192.168.1.10255.255.255.0192.168.1.10MAC-PC1情形2192.168.1.10MAC-PC1192.168.2.100000.0000.0000.000ARP请求192.168.2.10001a977f3d5192.168.1.10MAC-PC1ARP应答代理ARP-情形335PC2192.168.2.10255.255.255.0192.168.2.1MAC-PC2VLAN10192.168.1.1255.255.255.0VLAN20192.168.2.1255.255.255.0192.168.1.10MAC-PC1192.168.2.100000.0000.0000.000ARP请求192.168.2.10001a977f3d5192.168.1.10MAC-PC1ARP应答PC1192.168.1.10255.255.0.0192.168.1.1MAC-PC1情形3代理ARPPC1192.168.1.10255.255.255.0192.168.1.1MAC-PC1情形1PC1192.168.2.10255.255.255.0192.168.2.1MAC-PC1Fa0/0192.168.1.1255.255.255.0Fa0/110.1.1.2/30routerrouter2Fa0/0192.168.2.1255.255.255.0Fa0/110.1.1.1/30情形4Iproute192.168.1.0255.255.010.1.1.2情形5Iproute192.168.1.0255.255.0fa0/1代理ARPPC1192.168.2.10255.255.255.0192.168.2.1MAC-PC1Vlan10192.168.1.1255.255.255.0Fa0/110.1.1.2/30SW1SW2VLAN20192.168.2.1255.255.255.0Fa0/110.1.1.1/30情形5Iproute192.168.1.0255.255.0fa0/1ARP请求192.168.1.10MA