还剩3页未读,继续阅读
文本内容:
ARP报文格式0001020304050607OH W10IU213141516171819202!2223242526272E93031Bit
1.播MAC地月〈个1)广播MAC地址(公D源MAC地址MMAC地址协议类甲竣件类型协议晏型谶村•地AI:.协议地址卜g盘作类型珈AC地址花MAC地址菰IP地始曲P岫Q kMACilltt(个0bitsCNxom H板IP地址o硬件类型指明发送方想知道的硬件接口类型对以太网,值为1:O协议类型指明发送方提供的高层协议地址类型对TCP/IP互联网,采用IP地址,值为十六机制的0806Q操作指明ARP的操作类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4RARP在后面的章节中介绍O在以太网环境下的ARP报文,硬件地址为48位(6个八位组).图中黄色的部分是以太网(这里是Ethernet II型)的帧头部其中,第一个字段是广播类型的MAC地址OXFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机第二个字段是源MAC地址,即请求地址解析的主机MAC地址第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARP协议协议接下来是ARP协议协议报文部分其中各个字段的含义如下硬件类型表明ARP协议实现在何种类型的网络上对以太网,值为1协议类型代表解析协议(上层协议)这里,一般是0800,即IP硬件地址长度MAC地址长度,此处为6个字节协议地址长度IP地址长度,此处为4个字节操作类型代表ARP协议数据包类型0表示ARP协议请求数据包,1表示ARP协议应答数据包源MAC地址发送端MAC地址源IP地址代表发送端协议地址(IP地址)F1标MAC地址目的端MAC地址(待填充)目标IP地址代表目的端协议地址(IP地址)ARP协议应答协议报文和ARP协议请求协议报文类似不同的是,此时,以太网帧头部的日标MAC地址为发送ARP协议地址解析请求的主机的MAC地址,而源MAC地址为被解析的主机的MAC地址同时,操作类型字段为1,表示ARP协议应答数据包,目标MAC地址字段被填充以目标MAC地址
二、ARP协议无故(Gratuitous ARP,GARP)ARP也称为无为ARP协议主机有时会使用自己的IP地址作为目标地址发送ARP请求这种ARP请求称为无为ARP协议,GARP,主要有两个用途:
(1)检查重复地址(如果收到ARP响应表明存在重复地址)
(2)用于通告一个新的数据链路标识当一个设备收到一个arp请求时,发现arp缓冲区中已有发送者的IP地址,则更新此IP地址的MAC地址条Fl反向ARP协议反向ARP(Reverse ARP,RARP)用于把物理地址(MAC地址)转换到对应的IP地址例如,在无盘工作站启动的时候,因为无法从自身的操作系统获得自己的IP地址配置信息这时,无盘T.作站可发送广播请求获得自己的IP地址信息,而RARP服务器则响应IP请求消息一为无盘工作站分配1个未用的IP地址(通过发送RARP应答包)反向ARP(RARP)在很大程度上已被BOOTP、DHCP所替代,后面这两种协议对RARP的改进是可以提供除了IP地址外的其它更多的信息,如默认网关、DNS服务器的IP地址等信息代理ARP协议代理ARP(PROXY ARP)也被称作混杂ARP(Promiscuous ARP)(RFC
925、1027)一般被像路由器这样的设备使用--用来代替处于另一个网段的主机回答本网段主机的ARP请求下面是代理ARP的应用之一,如图所示,主机PC1(
192.
168.
20.66/24)需要向主机PC2(
192.
168.
20.20/24)发送报文,因为主机PC1不知道子网的存在且和目标主机PC2在同-主网络网段,所以主机PC1将发送ARP协议请求广播报文请求
192.
168.
20.20的MAC地址这时,路由器将识别出报文的目标地址属于另一个了网(注意,路由器的接口IP地址配置的是28位的掩码),因此向请求主机【可复自己的硬件地址(
0004.dd9e.cca0)之后,PC1将发往PC2的数据包都发往MAC地址
0004.dd9e.cca0(路由器的接口E0/0),由路由器将数据包转发到目标主机PC2o(接下来路由器将为PC2做同样的代理发送数据包的工作)这种ARP协议使得子网化网络拓扑对于主机来说时透明的(或者可以说是路由器以一个不真实的PC2的MAC地址欺骗了源主机PCl)o注意ARP不能通过IP路由器发送广播,所以不能用来确定远程网络设备的硬件地址对于目标主机位于远程网络的情况,IP利用ARP确定默认网关(路由器)的硬件地址,并将数据包发到默认网关,由路由器按它自己的方式转发数据包CSMA/CD(以太网)
1、先侦听信道,如果信道闲则发送信息
2、如果信道忙,则继续侦听,直到信道闲时立即发送数据
3、发送信息后进行冲突检测,如发生冲突,立即停止发送数据,同时发出阻塞信号,通知总线上各站点冲突已经发生,使各站点重新开始侦听与竞争
4、已发出信息的站点收到阻塞信号后,等待一段随机时间,重新进入侦听和发送阶段CSMA/CD访问控制是一种争用协议,每个站点处于平等地位去竞争传输介质,算法较简单、技术上较易实现,但它不能提供优先级控制,此外,不确定的延时难以满足远程控制的要求为此已产生改进型的带优先权或应答包的CSMA/CD访问控制方式®IEEE802标准的主要成员©
802.1(A)-综述和体系结构©
802.1(B)-寻址、网络互连和网络管理©
802.2-逻辑链路控制LLC®
802.3-CSMA/CD(以太网)®
802.4-Token Bus(令牌总线)©
802.5-Token Ring(令牌环)®
802.6-分布队列双总线DQDB--MAN标准®
802.7-宽带技术©
802.8-光纤技术©
802.9-综合话音数据局域网©
802.10-可互操作的局域网的安全®
802.11-无线局域网®
802.12-新型高速局域网®
802.13-电缆电视网®
802.14-交互式电视网©
802.15-无线个人局域网®一般情况下,我们将
802.3局域网都称为以太网数据链路层划分为介质访问控制(MAC)子层和逻辑链路控制(LLC)子层LLC子层独立于介质访问控制方法,隐藏了各种局域网技术之间的差别,向网络层提供统的格式和接口主要功能排序、差错控制、建立和终止逻辑链路连接、提供与高层的接口等MAC子层为不同的物理介质定义了不同的介质访问控制标准主要功能组帧、寻址、控制和维护各种MAC协议、差错检测与校正、定义各种介质访问规则等©9DA LLC PDU FCS往饮区间PA DASA TypeData PadFCS PA前导码-10101010序列,用于通知接收方有一个新的帧来到SFD帧首定界-10101011下面开始的是数据DA目的MAC地址;SA源MAC地址LEN:数据长度(数据部分的字节数)Type类型高层协议标识LLCPDU+pad-最少46字节,最多1500字节Pad填充字段,保证帧长不少于64字节(若Data域N46字节,则无Pad)FCS帧校验序列(CRC)注意以太网数据帧的总长度为64-1518字节LLC的帧结构IEEE
802.2可变长度林字节DSAP SSAP控制数据X ADSAP SSAP控制OUI类型数据AA AA03ID LLC首部MAC首部MAC数据RMAC尾q ILLC帧有两种服务访问点(SAP)和子网访问协议(SNAP)系统使用哪种帧取决于系统中运行的应用程序SAP中由DSAP指明了高层协议类型而SNAP用类型指明了高层协议类型LLC(逻辑链路控制)子层负责向其上层提供服务,提供以太网MAC和上层之间的接口MAC(介质访问控制)子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等以太数据报文格式前导码的作用是使接收节点进行同步并做好接收数据帧的准备包括了7个字节的二进制1〃、W间隔的代码,即
1010...10共56位帧首定界符(SFD)它是长度为1个字节的10101011二进制序列,此码表示一帧实际开始,以使接收器对实际帧的第一位定位实际帧是由余卜-的DA+SA+L+LLCPDU+FCS组成通常以DA的最高位来判断地址的类型,若最高位为“0”则表示单址,为“1〃则表示多址或全地址,全地址时DA字段为全“1〃代码TYPE:1500长度共占两个字节,表示数据的字节数1500类型标识以太网帧所携带的上层数据类型数据长度46字节是一个限制,目的是要求局域网上所有的站点都能检测到该帧,即保证网络工作正常如果数据小于46个字节,则发送站的MAC子层会白动填充“0”代码补齐(如果过于小的话,可能出现冲突,在噪声数据范围处在46字节至1500字节之间最小返回到发送方之前就已经发送完成)1500字节是因为当时能够存放完整一帧的最大容量以太网帧格式-Frame CheckSequence帧检验序列(FCS)是32位冗余检骑码(CRC),检监除前导、SFD和FCS以外的内容当发送站发出帧时,一边发送,•边逐位进行CRC检验最后形成一个32位CRC检验和填在帧尾FCS位置中一起在媒体上传输接收站接收后,从DA开始同样边接收边逐位进行CRC检验最后接收站形成的检验和若与帧的检验和相同,则表示媒体上传输帧未被破坏反之,接收站认为帧被破坏,则会通过一定的机制要求发送站重发该帧一个帧的长度为DA+SA+L+LLCPDU+FCS=6+6+2+46〜1500+4=64~1518即当LLCPDU为46个字节时,帧最小,帧长为64字节;当LLCPDU为1500字节时,帧最大,帧长为1518字TCP报文格式—TCP:Transmission ControlProtocol面向连接的可靠传输协议,为用户应用端之间提供一•个虚拟电路—源端口Source Port呼叫端端口号—FI端口Destination Port被叫端端口号—序列号Sequence Number分配给报文的序号,用丁•跟踪报文通信顺序,确保无丢失—确认号Acknowledgement Number所期待的下一个TCP报文的序列号,并表示对此序列前报文正确接收的确认—报头长度HLEN报文头部的字节数一保留域Reserved设置为0一编码位Code Bits控制功能如TCP连接的建立和终止—窗口Window发送者同意接收的字节数一校验和Checksum报头和数据字段的校验和一紧急指针Urgent Pointer指示紧急数据段的末尾—选项Option当前定义TCP段的最大值—数据Data上层协议数据TCP连接的建立实际上是•同步过程又称三次握手三次握手1主机A向主机B发出连接请求数据包2主机B向主机A发送同意连结和要求同步一个在发送,一个在接收3主机A要发出一数据包确认主机B的要求同步UDP报文格式—UDP:User DatagramProtocol无连接的非可靠传输协议一源端口Source Port呼叫端端口号—目端口Destination Port被叫端端口号-报头长度HLEN报文头部的字节数一校验和Checksum报头和数据字段的校验和一数据Data上层协议数据UDP传输不提供ACK反向确认机制、流量和报文序列号控制,因此UDP报文可能会丢失、重复或无序到这,通信的可靠性问题将由应用层协议提供保障但UDP报文格式和控制机制简单,因此通信开销比较小,TFTP、SNMP、NFS和DNS应用层协议等都是用UDP传输的。