ip地址属地代理
在以太网上解析IP地址时,ARP请求和回 答分组的格式如图所示。(ARP可以用于其 它类型的网络,可以解析IP地址以外的地址。 紧跟着帧类型字段的前四个字段指定了最后 四个字段的类型和长度。)
以太网报头中的前两个字段是以太网的源地 址和目的地址ip地址属地代理。目的地址为全1的特殊地址是 广播地址。电缆上的所有以太网接口都要接收 广播的数据帧。 2个字节长的以太网帧类型表示后面数据的 类型。对于ARP请求或回答来说,该字段的值 为0x0806。
ARP高效运行的关键是由于每个主机上都有 一个ARP高速缓存。这个高速缓存存放了最 近Internet地址到硬件地址之间的映射记录。 高速缓存中每一项的生存时间一般为20分钟, 起始时间从被创建时开始算起。
在以太网中,上层运行的是IP协议, 当一台主机把以太网数据帧发送到位于 同一局域网上的另一台主机时,是根据 48 bit的以太网地址来确定目的接口的。 即下层传输地址使用MAC地址表示。 我们使用SOCKET程序,只是关心 IP地址。它们二者是怎样相对应呢?
如果目的IP地址是子 网外的,显然它不可能 收到ARP请求,这时有 两种方案: 1. 路由器有ARP代理功 能,它代理子网外 的主机响应ARP请求。 2. 主机通过识别目的 IP地址的网络号, 知道它是子网外的 主机,直接发给缺 省路由器
ARP为IP地址到对应的硬件地址之间提供动 态映射。这个过程一般应用程序会自动完成 的,用户并不知道。 RARP是被那些没有磁盘驱动器的系统使 用,它需要系统管理员进行手工设置。
当链路层要封装网络层分组时, 它需要知道目的物理地址。 首先,每个主机都有ARP缓存, 用来存放一些IP地址与MAC地址 的对应关系。主机根据分组头上 的目的IP地址查阅自己的ARP缓 存,如果没查到,就用广播地址 发送ARP请求。 被请求的IP地址所对应的主机返 回一个ARP响应。 主机收到响应后,就可发送数据 帧,并将该IP地址与MAC地址对 存放在ARP缓存中。
4、总长度: 即首部数据部分的长度,它是 一个数值。单位是字节,总长度为16位,最长 为:216-1=65535字节, 实际上决定于MTU(最 大传输单元),对以太网为1500字节。 若包太长,超过了MTU的值,则需要切割,即 分片
5、标识(Identification)的用途 是让目标主机 确定一个新的数据段属于哪个数据包,同一个 数据报的分段有相同的标志值.当IP被重组时, 每个来自同一笔数据的小IP就得要有个识别 码以告知接收端这些小IP其实来自同一个封 包才行。
操作字段指出四种操作类型,它们是ARP请求 ( 值 为 1 ) , ARP回 答 ( 值 为 2 ) , RARP 请 求 (值为3),RARP回答(值为4)。这个字段必 需的,因为ARP请求和ARP回答的帧类型字段值 是相同的。 接下来的四个字段是发送端的硬件地址(在本 例中是以太网地址),发送端的协议地址(IP地 址),目的端的硬件地址,目的端的协议地址。 注意,这里有一些重复信息:在以太网的数据帧 报头中和ARP请求数据帧中都有发送端的硬件地 址。
8、TTL域,存活周期,是一个限制分组生 存期的计数器.计数时间为秒,一共占8位, 所以最大生存期为255(秒/点)通常为64。 当他递减到0时,路由器给源主机发送一个 警告分组,原分组被丢弃.这样可以避免数 据报长时间存在网络中.
对于一个ARP请求来说,除目的端硬件 地址外的所有其他的字段都有填充值。当系 统收到一份目的端为本机的ARP请求报文后, 它就把硬件地址填进去,然后用两个目的端 地址分别替换两个发送端地址,并把操作字 段置为2,最后把它发送回去。
形容词hardware(硬件)和protocol(协议)用来 描述ARP分组中的各个字段。例如,一个ARP 请求分组询问协议地址(这里是IP地址)对应 的硬件地址(这里是以太网地址)。
硬件类型字段表示硬件地址的类型。它的 值为1即表示以太网地址。协议类型字段表 示要映射的协议地址类型。它的值为0x0800 即表示IP地址。它的值与包含IP数据报的以 太网数据帧中的类型字段的值相同,这是有 意设计的。 接下来的两个1字节的字段,硬件地址长 度和协议地址长度分别指出硬件地址和协议 地址的长度,以字节为单位。对于以太网上 IP地址的ARP请求或回答来说,它们的值分 别为6和4。
地址解析为这两种不同的地址形式提 供映射:32 bit的IP地址和数据链路层使 用的任何类型的地址。(ARP 和RARP)
ARP理论的基础是:每个网络接口有一个硬 件地址(一个48 bit的值,标识不同的以太网 或令牌环网络接口)。在硬件层次上进行的数 据帧交换必须有正确的接口地址。但是, TCP/IP有自己的地址:32 bit的IP地址。知道 主机的IP地址并不能让内核发送一帧数据给主 机。内核(如以太网驱动程序)必须知道目的 端的硬件地址才能发送数据。ARP的功能是在 32 bitIP地址和采用不同网络技术的硬件地址 之间提供动态映射。
ARP Frame 字段 硬件类型 上层协议类型 MAC地址长度 IP地址长度 操作码 发送方MAC 发送方IP 接收方MAC 接收方IP 填充数据
其中头部又包含一个20字节的定长部分和一 个可选的变长部分. (一)头部组成 1、vesion(版本)取值为:IPv4: 4, IPv6: 6 。
可表示的最大十进制数值是15。请注意,这个字段所表 示数的单位是32位字长(1个32位字长是4字节),因 此,当IP的首部长度为1111时(即十进制的15),首 部长度就达到60字节。当IP分组的首部长度不是4字节 的整数倍时,必须利用最后的填充字段加以填充。因 此数据部分永远在4字节的整数倍开始,这样在实现IP 协议时较为方便。首部长度限制为60 字节的缺点是有 时可能不够用。但这样做是希望用户尽量减少开销。 最常用的首部长度就是20字节(即首部长度为0101), 这时不使用任何选项。
10、头部校验和,当数据到达时,头部所有的16 位累加起来,再取结果的补码,其结果应该为0. 11、32位的源地址和32位的目标地址, 12、选项 IP首部的长度必须是4个字节的整数倍,如果 选项长度不是4的整数倍,必须填充数据0。
该地方的内容为0D* DF:若为0表示可以分段,若为1表示不 可分段 MF:若为0表示此IP为最后分段,若为1 表示非最后分段。
表示目前这个IP分段在原始的IP封包中所 占的位置,有点像序号,有这个序号才 能将所有的小IP分段组合成为原本的IP封 包大少
字段 硬件类型 上层协议类 型 MAC地址长 度 IP地址长度 操作码 发送方MAC 发送方IP 接收方MAC 接收方IP 填充数据
备注 以太网类型值 上层协议为IP协议 以太网MAC地址长度为 6 IP地址长度为 4 0x1表示ARP请求包,0x2表示应答包
3、区分服务(DS)一共8个bit位,从左到右依次为 PPPDTRCU,其中包含4个标志D,T,R,C(延迟, 吞吐量,可靠性,最小费用) 和一位保留位。
D:若为0表示一般延迟,为1低延迟 T:为0表示一般传输量,为1表示高传输量 R:若为0表示为一般可靠度,为1高可靠度 U:保留位,一般未使用
选项都是以一个8位的选项开始的,每个 选项由三部分组成:一个字节的选项码、一个字 节的长度、多个字节所构成的选项数据,长度 由前一部分决定。不同的选项码位的数字代表 不同的意义,其代表意义如下: 第0位代表:拷贝类((Copy)。用于控制网关对 数据包分片时对本项的处理,“1”将本选项拷 贝到所有的分片中;“0”仅将本选项拷贝第一 个分片中。第1、2位代表:选项类(Option Class). 第3~7位:目前定义了6种类型,其中如定义为 00111代表记录路由,该选项让数据包把从源节 点到目的节点所经过的各路由填上其IP地址.