ip层的arp协议

Arp(adress resolution protocol—地址解析协议)是在传输IP包时,因不知道IP地址对应的MAC地址,无法传送数据引起的,通过arp,建立目的IP跟MAC地址的映射关系,从而获得目的IP的MAC地址。

Arp头部的数据结构如下:

typedefstruct arphdr   {   

              unsignedshort arp_hrd;/*硬件类型,*/   

              unsignedshort arp_pro;/*协议类型*/   

              unsignedchar arp_hln;/*硬件地址长度*/   

              unsignedchar arp_pln;/*协议地址长度*/   

              unsignedshort arp_op;/*ARP操作类型*/   

              unsignedchar arp_sha[6];/*发送者的硬件地址*/   

              unsignedlong arp_spa;/*发送者的协议地址*/   

              unsignedchar arp_tha[6];/*目标的硬件地址*/   

              unsignedlong arp_tpa;/*目标的协议地址*/   

              }ARPHDR,*PARPHDR;   

我们封装arp数据包格式如下:

目的地址,我们现在还不知道,需要向本子网广播,以获得目的地址(目的MAC),因此这里全填1,源基地即本地的MAC地址,我们从本地网卡的MAC地址即可取得,类型表示的是上层协议的类型,这里是arp,用0x0806表示,到这里就完整的帧封装。

 

arp头部数据填充,硬件类型有很多种,即有各种各样的硬件类型,比如以太网卡,令牌环网卡等,0x0001表示以太网卡,协议类型表示的是上层协议的类型,即需要通过arp获得对方MAC地址的协议,而不是arp本身协议,0x0800表示IP协议,硬件地址(MAC地址)长度为6,协议地址(IP地址)长度为4,操作类型表示本arp所要操作的动作,1为ARP请求,2为ARP应答,3为RARP请求,4为RARP应答,源主机MAC地址为本地MAC,从网卡驱动从即可获得,源主机IP地址为本地IP,这个也是从网卡驱动中获得,当然也是我们人为设置的(或者DHCP),目的主机MAC地址就是我们发送arp需要获得的数据,此时还不知道,全0待填写,目的主机IP地址为远端的IP地址。

由于路由器有拦截广播的功能,arp广播只能在本子网中广播,如果所要获取的MAC地址不是本子网的,则必须经过路由器网关获得。由于路由器的默认网关也是本子网的一个设备,因此也会收到本子网的arp广播,经过子网匹配,发现目的IP的子网,跟路由器的另一个端口的子网一致,于是,把arp请求转发给路由器的另一个端口,此时,路由器的另一个端口跟目的IP在同一个子网,因此,又可以进行arp广播,当目的IP获得了arp广播信息后,会把本机的MAC地址填充到arp包的目的地址MAC这栏中,同时修改arp的数据包的操作类型为arp应答,接着把数据包发回源IP地址,此时的发送就不是以广播的形式发送了,因为目的地址MAC,本地地址MAC都知道,是需要单播即可,此时,还需要修改以太网帧的目的MAC,本地MAC,从而得以发送数据包

计算机网络(第五版)谢希仁 完整版1.网络向上提供的服务有哪两种?是比较其优缺点。 网络向运输提供 “面向连接”虚电路(Virtual Circuit)服务或“无连接”数据报服务 前者预约了双方通信所需的一切网络资源。优点是能提供服务质量的承诺。即所传送的分组不出错、丢失、重复和失序(不按序列到达终点),也保证分组传送的时限,缺点是路由器复杂,网络成本高; 后者无网络资源障碍,尽力而为,优缺点与前者互易 2.网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决? 网络互联可扩大用户共享资源范围和更大的通信区域 进行网络互连时,需要解决共同的问题有: 不同的寻址方案 不同的最大分组长度 不同的网络接入机制 不同的超时控制 不同的差错恢复方法 不同的状态报告方法 不同的路由选择技术 不同的用户接入控制 不同的服务(面向连接服务和无连接服务) 不同的管理与控制方式 3.作为中间设备,转发器、网桥、路由器和网关有何区别? 中间设备又称为中间系统或中继(relay)系统。 物理中继系统:转发器(repeater)。 数据链路中继系统:网桥或桥接器(bridge)。 网络中继系统:路由器(router)。 网桥和路由器的混合物:桥路器(brouter)。 网络以上的中继系统:网关(gateway)。 4.试简单说明下列协议的作用:IPARP、RARP和ICMP。 IP协议:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有四个协议ARP协议:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。 RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址的映射问题。 ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会 因特网组管理协议IGMP:用于探寻、转发本局域网内的组成员关系。 5.IP地址分为几类?各如何表示?IP地址的主要特点是什么? 分为ABCDE 5类; 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。 各类地址的网络号字段net-id分别为1,2,3,0,0字节;主机号字段host-id分别为3字节、2字节、1字节、4字节、4字节。 特点: (1)IP 地址是一种分等级的地址结构。分两个等级的好处是: 第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。 第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。 (2)实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。 (3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。 (4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值