一、ICMP协议
ICMP协议(Internet Control Message Protocol)的全称是“Internet控制消息协议”,它是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息。控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP协议与ARP协议不同,ICMP靠IP协议来完成任务,所以ICMP报文中要封装IP头部。它与传输层协议(如TCP和UDP)的目的不同,一般不用来在端系统之间传送数据,不被用户网络程序直接使用,除了像Ping和Tracert这样的诊断程序。
Ping方式测试是否能够连通目标主机的响应成功结果如图所示:
二、ARP协议
ARP(Address Resolution Protocol,地位解析协议)的基本功能是负责将一个已知的IP地址解析成MAC地址,以便在交换机上通过MAC地址进行通信。
例如:
1、PC1发送数据给PC2,需要先知道PC2的IP地址所对应的MAC地址是什么,这时就需要ARP请求广播实现
2、主机PC1想发送数据给主机PC2,它检查自己的ARP缓存表。ARP缓存表是主机存储在内存中的一个IP地址和MAC地址—对应的表,经查看PC1的ARP缓存表中没有PC2的MAC地址
3、这时,PC1会初始化ARP请求过程(发送一个ARP请求广播),用于发现目的地的MAC地址,ARP请求是目的地址为MAC广播地址(FF-FF-FF-FF-FF-FF)的广播帧,从而保证所有的设备都能收到该请求
4、主机接收到数据帧后,进行IP地址的比较,如果目标IP地址与自己的IP地址不同,则会丢弃这个数据包,只有PC2这台主机会在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,同时发送一个ARP应答,来告诉PC1自己的MAC地址(这个数据帧是单播)
5、PC1在接收到这个回应的数据帧后,在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,之后PC1就可以发送数据给PC2了
三、TCP协议
TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种断点我们叫作套接字(socket&#x