1.在网络中选择最佳路径转发数据
2.定义了基于IP协议的逻辑地址
3.连接不同的媒介类型
版本号(4bit):**指IP协议版本,并且通信双方使用的版本必须一致,目前我们使用的是IPV4,表示为0100。
首部长度(4bit):IP数据包的报头长度。
优先级与服务类型(8bit):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级。用于实现Qos(服务质量)的要求。
总长度(16bit):IP数据包的总长度,最长为2^16次方的字节,就是65535字节,包括报头和数据。
标识符(16bit):确定数据的分片是否来自于同一个文件。
标志(3bit):代表数据过小不需要分片,代表该组最后一个数据包。
段位偏移量(13bit) :该数据片离起点的位置坐标 作用:重组数据
TTL生命周期(8bit):生命周期,当TTL的值为0时,该数据将会被丢弃。
协议号(8bit):封装的上层哪些协议。
首部校验和(16bit):只检验ip头部的完整性
源地址(32bit):源ip地址,表示发送端的IP地址
目标地址(32bit):目标ip地址,表示接收端的ip地址
可选项:可以输入创建该数据包的时间等(相当于备注这个数据包)
数据:上层数据。
Internet控制消息协议ICMP是IP协议的辅助协议
ICMP协议用来在网络设备间传递各种差错和控制消息,对于收集各种网络消息、诊断和排除各种网络故障等方面起着至关重要的作用。
ICMP的作用:检测网络的双向联通性。
格式:ping [选项] ip地址或计算机域名
① -t 在windows操作系统中,默认情况下发送4个ping包,如果在ping命令后加上参数“- t”,系统将会一直不停的ping下去,按ctrl+c结束运行。
② -a 显示主机名
③ -l 字节数 :一般情况下,ping包自带为32字节,有时为了检测数据包的通过情况,可以使用参数改变ping包的大小。
④ -n 发送个数 :指定发送包的个数,就是指定ping多少次
⑤ -w 超时等待时间
⑥ tracert ip地址 :追踪
ARP协议是地址解析协议
是通过解析IP地址的得到的MAC地址的,是一个在网络协议包中及其重要的网络传输协议,它与网卡有着及其密切的关系。
为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念。当需要发送数据的时候,户籍就会根据数据报中的目标IP地址信息,然后再ARP缓存表中性查找对应的MAC地址,最后通过网卡将数据发送出去,ARP缓存表包含了一个寿命值(TTL,也称作生存时间)它记录每个ARP表项的生存时间,生存时间到了就会从缓存表中删除。
1.PC1想发送数据给PC2, 会先检查自己的ARP缓存表。 只在终端设备上
2.如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。 ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)
3.交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答, 并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。
4.PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。
arp -a 查看arp缓存表(a表示为:all)
arp -d[ip] 删除指定的arp缓存表(d表示为:delete)
arp -s IP MAC 删除arp静态绑定(s表示为:static)
ARP攻击:
ARP攻击发送的是ARP应答,也是ARP应答的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的的MAC地址设置成此虚假MAC地址,导致其无法正常通信。
例如:当主机pc1(被攻击主机)想访问外网时,会发送数据到达网关,此时数据会被主机pc2(攻击主机)获取,主机pc2将发送虚假的MAC地址到达网关,当网关收到虚假的ARP应答更新ARP条目后,下次再发送数据到pc1,就会发送到虚假的MAC地址中,也就是主机pc2中,到最后通信故障。
ARP欺骗原理与ARP攻击原理类似,但是效果不一样,ARP攻击是导致网络中断,而ARP欺骗的最终结果是流量通过自身达到监控或控制的目的。
假的ARP应答更新ARP条目后,下次再发送数据到pc1,就会发送到虚假的MAC地址中,也就是主机pc2中,到最后通信故障。