IP协议:
是网络层中最重要的协议,是整个Internet的协议基础;负责分配IP地址,提供路由;
IP协议不提供可靠的控制传输服务,对数据没有差错控制,他只使用报头的校验码,不提供重发和流量控制;
ARP协议:
地址解析协议,在数据报向下一个站点传递时,负责将IP地址转换为物理地址;
主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接受返回消息,以此确定目标的物理地址;
接收的返回消息后将该IP地址和物理地址存入本机并保留一段时间,下次请求时直接查询ARP缓存以节约时间。
地址解析协议是IPV4中广泛使用的协议;但在IPV6中不存在该协议,使用NDP(邻居发现协议);
工作流程:
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址解析为主机B的MAC(物理)地址。
ARP缓存是一个用来存储IP地址和MAC地址的一个缓冲区,其本质是一个IP地址对应一个MAC地址。当地址解析协议在查询IP时,首先在哎ARP缓存中查看,若存在则返回,否则发送ARP请求;
地址解析协议是通过报文工作的。报文包括如下字段:硬件类型,协议类型,硬件地址长度,协议长度,操作类型。
APR缓存包含一个或多个表,他们用于存储IP地址及经过地址解析的MAC地址。ARP命令用于查询本机的ARP缓存中的IP到MAC地址的对应关系、添加或删除静态对应关系等。如果再没有参数的情况下ARP命令将显示帮助信息。
ARP-a 查看缓存中的所有项目,在Linux中命令式ARP-g;
RARP协议:
反向地址转化协议,作用于ARP相反,负责将物理层地址转换为IP地址;
允许局域网物理机器从网关服务器的ARP表或缓存上请求主机的IP地址;当设置一台新机器时,其RARP客户机程序需要向路由器上的RARP服务器请求相应的IP地址。
ARP是设备通过自己知道的IP地址来获得自己不知道的物理地址的协议,假设知道自己的物理地址但不知道自己的IP地址,这种情况就该使用RARP协议。
RARP工作方式与ARP相反,RARP发出需要反向解析的MAC地址,并且希望返回其对应的IP地址,应答包括由能提供信息的RARP服务器发出的IP地址。
工作流程:
从网卡读取自己的MAC地址--->发送RARP请求的广播数据包--->RARP服务器收到请求,为其分配IP地址,并将RARP回应发送给该机器--->该机器收到IP地址后,使用IP地址进行通信
ICMP协议:
“错误侦测与回报机制”不传输用户数据;
Internet 控制报文协议,负责发送消息,报告错误;属于TCP/IP协议族;
主要用在主机和路由器之间,ICMP提供移动的出错报告信息,但是他的功能是报告问题而不是纠正问题,他将出错的报文返回发送方,纠正问题的功能由发送方完成;
发送方根据ICMP提供的错误类型来确定如何才能更好的重新发送失败的数据包;
Ping命令其实就是ICMP协议的工作过程;
Tracert命令,跟踪路由的命令也是基于ICMP协议的;
ICMP数据包由一个8字节长的包头,其中前四个字节是固定格式,包括8位类型字段、8位代码字段个16位校验和;后4个字节根据ICMP类型的不同而取不同的值;
“死亡之ping”解决方法: (1)限制路由带宽 (2)在主机上设置处理规则,拒绝处理ICMP数据包