今天小编要和大家分享的是ARP协议功能 ARP协议系统设计,接下来我将从ARP协议的功能,ARP协议的系统设计,ARP工作过程,ARP报文格式,这几个方面来介绍。

ARP协议功能 ARP协议系统设计

ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。ARP协议和ICMP协议是常用的TCP/IP底层协议。在对网络故障进行诊断的时候,它们也是最常用的协议。

ARP协议功能,ARP协议系统设计,ARP报文格式等信息资料

ARp协议的功能

ARp协议功能是把Ip地址映射为MAC地址,核心机制是ARp缓存表,实现Ip地址和MAC地址之间的一一对应关系。研究ARp协议动态交互仿真实验系统的目的是便于大家在学习ARp协议的时候更好地理解协议理论,能够体会到ARp请求报文和响应报文封装和发送的整个过程,真实地演示交换机对于ARp请求报文和响应报文转发的机制及pC机上缓存表的修改过程,有助于增强学生的学习效果。

ARp协议的系统设计

ARp协议动态交互仿真实验系统是由三台计算机(pC-A,pC-B,pC-C)模拟的局域网,数据在其内部转发时的分布式仿真实验平台。三台机器分别模拟ARp报文发送端、交换机、ARp报文接收端,通过三台机器交互操作,在以太网环境中动态模拟出ARp协议的整个工作流程,包括ARp高速缓存表的查询和修改,ARp报文封装,交换机端口转发报文。

ARp协议动态交互仿真系统拓扑结构图如图1所示。

图1ARp协议动态交互仿真实验平台拓扑结构

1.1系统分析

该系统的目的是为了在学生学习ARp协议时,通过动态、逼真的实验过程帮助学生深入理解ARp协议,提高学习效果。为了能够快捷、顺利地完成实验,实验环境对该系统有如下要求:部署方便,使用简单,效果逼真,移植性和可扩展性强。

系统针对上述需求采取如下策略:该系统全部在WindowsXp下开发,采用部署较为简单的Mysql数据库和Tomcat服务器(pC-C),将整个ARp协议工作过程抽象出来放在网页上直观地展现,学习者可以像浏览网页一样使用该系统。

客户端:要求简单、明了地展现相应信息;有动态效果,逐步封装;能与服务器进行数据交互。因此,系统用dreamweaver8设计页面,采用表格布局封装相关信息;用javascript.控制动态效果和实现逐步封装;采用Ajax技术实现客户端与服务器的交互。

服务器:开发语言相对简单易学,业务逻辑集中控制,采用分层的思想,在基本不动现有代码的情况下实现功能的拓展。系统用java完成服务器端的实现,以一个逻辑控制类控制整个业务逻辑;封装一个持久层框架byesql操作mysql数据库,能在不写任何SQL语句的情况下针对MySQL数据库完成基本的增、删、改、查。

1.2系统设计

1.2.1系统用例图

实验时,学生甲操作pC-A,模拟数据发送端;学生乙操作pC-C,模拟交换机;学生丙操作pC-B,模拟数据接收端。

发送端(pC-A):获取本机真实Ip和MAC地址后,用一个JSp页面模拟ARp报文的逐步封装过程,使用者可以看到ARp请求报文逐步封装的效果。然后自动向“交换机”

发送ARp请求报文,再自动跳转到“ARp高速缓存表”模拟页面,等待“交换机”转发来ARp响应报文,最后修改“ARp高速缓存表”。

交换机(pC-C):用一个JSp页面模拟“端口——MAC映射表”,负责转发ARp报文。初始为等待状态,当发送端(pC-A)发送完ARp请求报文之后,自动向除发送端外的所有端口转发该请求报文,完毕后自动跳到初始状态等待转发ARp响应报文,当响应报文到达后就针对发送端(pC-A)单播该报文分组。

接收端(pC-B):获取本机真实Ip和MAC地址后,自动跳到“ARp高速缓存表”模拟页面,等待“交换机”将ARp请求报文转发过来后修改ARp高速缓存表,再自己跳转到ARp响应报文页面,逐步封装。封装完毕则自动向“交换机”发送ARp响应报文。

图2为ARp协议仿真系统动态交互用例图。

图2ARp协议动态交互仿真系统用例

1.2.2系统类图

ARp协议动态交互仿真系统定义了四个类:

①ARp报文类ArpMessage:定义ARp报文属性和类型;②ARp缓存表类ArpTable:定义ARp表字段和属性;③端口MAC映射表类MacTable:定义交换机端口和机器MAC地址的映射关系;④计算机类pC:定义各机器的Ip地址、MAC地址和计算机名。

计算机类pC为ARp报文类ArpMessage和ARp缓存表类ArpTable提供本机的MAC地址和Ip地址,分别用于帧封装和MAC地址查询。端口MAC映射表类MacTable为计算机类pC提供MAC地址和端口的对应关系,用于数据转发。

图3为ARp协议动态交互仿真实验系统类图。

图3ARp协议动态交互仿真系统类

1.2.3系统流程图

为了使用方便,ARp协议动态交互仿真系统把三个角色功能集成在一个程序中。程序运行时,操作者需为机器选择规定的角色,再根据角色功能分配,按照定义的流程完成相应的操作。图4为ARp协议动态交互仿真系统流程图。

图4ARp协议动态交互仿真系统流程

ARp工作过程

当一个基于TCp/Ip的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的Ip地址。然后,寻找Ip地址到实际MAC地址的映射,这需要发送ARp广播消息。当ARp找到了目的主机MAC地址后,就可以形成待发送帧的完整以太网帧头。最后,协议栈将Ip包封装到以太网帧中进行传送。

如图所示,描述了ARp广播过程。

图 ARp广播

在图中,当主机A要和主机B通信(如主机Aping主机B)时。主机A会先检查其ARp缓存内是否有主机B的MAC地址。如果没有,主机A会发送一个ARp请求广播包,此包内包含着其欲与之通信的主机的Ip地址,也就是主机B的Ip地址。当主机B收到此广播后,会将自己的MAC地址利用ARp响应包传给主机A,并更新自己的ARp缓存,也就是同时将主机A的Ip地址/MAC地址对保存起来,以供后面使用。主机A在得到主机B的MAC地址后,就可以与主机B通信了。同时,主机A也将主机B的Ip地址/MAC地址对保存在自己的ARp缓存内。

ARp报文格式

ARp报文被封装在以太网帧头部中传输,如图所示,是ARp请求协议报文头部格式。

图ARp请求协议报文头部格式

图中黄色的部分是以太网(这里是EthernetII类型)的帧头部。其中,第一个字段是广播类型的MAC地址:0XFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机。第二个字段是源MAC地址,即请求地址解析的主机MAC地址。第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARp协议。

接下来是ARp协议报文部分。其中各个字段的含义如下:

硬件类型:表明ARp实现在何种类型的网络上。

协议类型:代表解析协议(上层协议)。这里,一般是0800,即Ip。

硬件地址长度:MAC地址长度,此处为6个字节。

协议地址长度:Ip地址长度,此处为4个字节。

操作类型:代表ARp数据包类型。0表示ARp请求数据包,1表示ARp应答数据包。

源MAC地址:发送端MAC地址。

源Ip地址:代表发送端协议地址(Ip地址)。

目标MAC地址:目的端MAC地址(待填充)。

目标Ip地址:代表目的端协议地址(Ip地址)。

ARp应答协议报文和ARp请求协议报文类似。不同的是,此时,以太网帧头部的目标MAC地址为发送ARp地址解析请求的主机的MAC地址,而源MAC地址为被解析的主机的MAC地址。同时,操作类型字段为1,表示ARp应答数据包,目标MAC地址字段被填充以目标MAC地址。

关于ARP协议,电子元器件资料就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查