TCP/IP协议基础之一( 二 )


(4)目标主机收到请求后,形成ICMP响应 。因源主机在远程网上,将在本地路由表中查找源主机网的网关 。找到网关后,ARP即获取它的硬件地址 。
(5)假如此网关的硬件地址不在ARP缓存中,通过ARP广播获得 。一旦它获得硬件地址,ICMP响应就送到路由器上,然后传到源主机 。
ARP缓存
为减少广播量,ARP在缓存中保存地址映射以备用 。ARP缓存保存有动态项和静态项 。动态项是自动添加和删除的,静态项则保留在CACHE中直到计算
机重新启动 。
ARP缓存总是为本地子网保留硬件广播地址(0xffffffffffffh)作为一个永久项 。
此项使主机能够接受ARP广播 。当查看缓存时,该项不会显示 。
每条ARP缓存记录的生命周期为10分钟,2分钟内未用则删除 。缓存容量满时,删除最老的记录 。
加入静态(永久)记录
通过添加静态ARP项可减少ARP请求访问主机的次数 。
ARP包的结构
ARP结构的字段如下:
硬件类型--使用的硬件(网络访问层)类型 。
协议类型--解析过程中的协议使用以太类型的值 。
硬件地址长度--硬件地址的字节长度,对于以太网和令牌环来说,其长度为6字节 。
协议地址长度--协议地址字节的长度,IP的长度是4字节 。
操作号--指定当前执行操作的字段 。
发送者的硬件地址--发送者的硬件地址 。
发送者的协议地址--发送者的协议地址 。
目的站硬件地址--目标者的硬件地址 。
目的站协议地址--目标者的协议地址 。
3、ICMP和IGMP
internet控制消息协议ICMP是用于报告错误并代表IP对消息进行控制 。
IP运用互联组治理协议IGMP来告诉路由器,某一网络上指导组中的可用主机 。
ICMP
ICMP源抑制消息:当TCP/IP主机发送数据到另一主机时,假如速度达到路由器或者链路的饱和状态,路由器发出一个ICMP源抑制消息 。
ICMP数据包结构
类型:一个8位类型字段,表示ICMP数据包类型 。
代码:一个8位代码域,表示指定类型中的一个功能 。假如一个类型中只有一种功能,代码域置为0 。
检验和:数据包中ICMP部分上的一个16位检验和 。
指定类型的数据随每个ICMP类型变化的一个附加数据 。
IGMP
IGMP信息传给别的路由器以使每个支持多路广播的路由器获知哪个主机组和哪个网络中 。
IGMP包结构
版本:IGMP的版本,值一般为0x1h 。
类型:IGMP消息的类型 。0x1h类型称为主机成员请求,在多路广播路由器上用于指定多级组中的任何成员轮询一个网络 。0x2h类型称为主机成员报告,在主机上用于发布指定组中的成员情况或对一个路由器的主机成员请求进行回答 。
未用:未用的域名被发送者置零且被接收者忽略 。
检验和:IGMP头的一个16位检验和 。
组地址:主机用该组地址在一个主机成员请求中存储IP多路广播地址 。在主机成员请求中,组地址被全置零,而且硬件级的多路广播地址被用来标示主机组 。
4、IP
IP是一个无连接的协议,主要就是负责在主机间寻址并为数据包设定路由,在交换数据前它并不建立会话 。因为它不保证正确传递,另一方面,数据在被收到时,IP不需要收到确认,所以它是不可靠的 。
有一些字段,在当数据从传输层传下来时,会被附加在数据包中,我们来看一下这些字段:
源IP地址:用IP地址确定数据报发送者 。
目标IP地址:用IP地址确定数据报目标 。
协议:告知目的机的IP是否将包传给TCP或UDP 。
检查和:一个简单的数学计算,用来证实收到的包的完整性 。

推荐阅读