第四讲:网络层协议

文章目录

  • 一、网络层功能
  • 二、IP数据包的格式
    • 1、IP数据包格式
    • 2、各字段说明
  • 三、ICMP协议
    • 1、ICMP封装与格式
    • 2、ping命令
      • 2.1 ping命令的各种用法
  • 四、ARP协议
    • 1、什么是ARP协议?
    • 2、ARP协议是如何工作的?
    • 3、ARP工作原理
    • 4、windows当中如何查看ARP缓存表
    • 5、ARP攻击欺骗原理
      • 5.1 ARP攻击
      • 5.2 ARP欺骗

一、网络层功能

1、定义了基于IP协议的逻辑地址,就是IP地址

2、连接不同的媒介类型

3、选择数据通过网络的最佳路径,完成逻辑地址的寻址

二、IP数据包的格式

1、IP数据包格式

数据封装的时候再无网络层会封装IP地址的头部,形成IP数据包,那么IP数据包是怎么样的格式?里面包含哪些内容?

第四讲:网络层协议_第1张图片

2、各字段说明

**●版本号(4bit):**指IP协议版本,并且通信双方使用的版本必须一致,目前我们使用的是IPV4,表示为0100。

●首部长度(4bit):IP数据包的报头长度。

●优先级与服务类型(8bit):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级。用于实现Qos(服务质量)的要求。

●总长度(16bit):IP数据包的总长度,最长为2^16次方的字节,就是65535字节,包括报头和数据。

●标识符(16bit):该字段用于表示IP数据包的标识符,当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组,标识符字符用于标志一个数据包,以便接收节点可以重组被分片的数据包。分片的好处:可以提高传输速率。

●标志(3bit):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出。

●段偏移量(13bit):在一个分片序列中,如何将各个分片连接起来,按照什么下顺序连接起来。

●TTL生命周期(8bit):可以防止一个数据包在网络红无线循环的转发下去,每经过一台路由器进行-1,当TTL的值为0时,该数据白将会被丢弃。

●协议号(8bit):封装的上层哪些协议,(上层为传输层)

●首部校验和(16bit):只检验数据包的首部,不包括数据部分,这是因为数据每经过一次路由器,都要重新计算一下首部校验和(因为一些字段如生存时间,标志,偏移量等可能发生变化)

●源地址(32bit):源ip地址,表示发送端的IP地址

●目标地址(32bit):目标ip地址,表示接收端的ip地址

●可选项:可以输入创建该数据包的时间等(相当于备注这个数据包)

●数据:上层数据。

三、ICMP协议

●ICMP是一个“错误侦测与回馈机制”

●通过IP数据包封装的,用来发送错误和控制消息

●从 ICMP 的报文格式来说,ICMP 是 IP 的上层协议。但是 ICMP 是分担了 IP 的一部分功能。所以,他也被认为是与 IP 同层的协议。

1、ICMP封装与格式

第四讲:网络层协议_第2张图片

2、ping命令

●在检查网络连通性时,ping命令是用的最多的。

●当我们ping一台主机时,本地计算机发出的就是一个典型的ICMP数据包,用来测试两台主机是否能够顺利连通,ping命令能够检查两台设备之间的双向连通性,即数据包能够到达对端,并且能够返回。

格式:ping 各种命令 ip地址或计算机域名

2.1 ping命令的各种用法

●-t :在windows操作系统中,默认情况下发送4个ping包,如果在ping命令后加上参数“- t”,系统将会一直不停的ping下去,按ctrl+c结束运行。

第四讲:网络层协议_第3张图片

●-a :显示主机名

第四讲:网络层协议_第4张图片

●-l 字节数 :一般情况下,ping包自带为32字节,有时为了检测数据包的通过情况,可以使用参数改变ping包的大小。

第四讲:网络层协议_第5张图片

●-n 发送个数 :指定发送包的个数,就是指定ping多少次

第四讲:网络层协议_第6张图片

●-S ip地址1 要ping的地址 :指定计算机某个网卡的ip去ping,因为计算机中会存在多个ip地址。

第四讲:网络层协议_第7张图片

●tracert ip地址 :在命令行中输入“tracert”并在后面加上一个IP地址,可以查询从本地到该IP地址所在的电脑要经过的路由器及其IP地址。

第四讲:网络层协议_第8张图片

注:内部的*是因为数据包丢失,可能路由器屏蔽了tracert功能或者超时未反馈。

四、ARP协议

1、什么是ARP协议?

●ARP协议是地址解析协议(Address Resolution Protoccol)

●是通过解析IP地址的得到的MAC地址的,是一个在网络协议包中及其重要的网络传输协议,它与网卡有着及其密切的关系。

●在TCP/IP分层结构中,把ARP划分为网络层,为什么?

●因为在网络层看来,源主机与目标主机时通过IP地址进行识别的,而在以太网中使用MAC地址进行寻址,以标识不同的主机,那么久需要一个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所有ARP协议在无网络层被应用,它是网络层与链路层连接的重要枢纽,每当一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次来看,它们只标识IP地址,从不跟硬件打交道。

2、ARP协议是如何工作的?

●为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念。每台主机或路由器在维护这一个ARP缓存表(ARP table)这个表包含IP地址到MAC地址的映射关系,表中记录了对,我们称之ARP表项。

●它们是主机最近运行时获得关于其它主机的IP地址到MAC地址的映射,当需要发送数据的时候,户籍就会根据数据报中的目标IP地址信息,然后再ARP缓存表中性查找对应的MAC地址,最后通过网卡将数据发送出去,ARP缓存表包含了一个寿命值(TTL,也称作生存时间)它记录每个ARP表项的生存时间,生存时间到了就会从缓存表中删除,一个表项通常生存时间是120秒,这些时间也可设置,但一般默认即可。

3、ARP工作原理

两台局域网主机互相通信为例讲解原理(ARP解析过程)

①当pc1主机发送数据给pc2时,首先在自己本地ARP缓存表中检查主机PC2匹配的MAC地址。

第四讲:网络层协议_第9张图片

②如果pc1主机的缓存表中没有找到响应的条目,它将询问pc2主机的MAC地址,然后将ARP请求帧广播到本地网络的所有主机上,该帧中包括源主机pc1的IP和MAC地址加上pc2主机的ip地址和未知的MAC地址(FF-FF-FF-FF-FF-FF)。

第四讲:网络层协议_第10张图片

③本地网络中所有主机都接收到ARP请求,并且检查是否与主机的IP地址想匹配,如果发现请求这种的IP地址与自己IP不匹配则丢弃ARP请求。如果相匹配,则将pc1主机的地址和MAC地址添加到本地缓存表中,然后这回应广播,向pc1主机发送自己的MAC地址(数据帧为单播)。

第四讲:网络层协议_第11张图片

④主机pc1收到主机pc2发回的ARP消息,将pc2的IP地址与MAC地址,添加到自己ARP缓存表中,然后两台主机即可进行单播通信。

第四讲:网络层协议_第12张图片

4、windows当中如何查看ARP缓存表

arp -a            ####查看arp缓存表(a表示为:all)

arp -d[ip]        ####删除指定的arp缓存表(d表示为:delete)

arp -s IP MAC     ##### 删除arp静态绑定(s表示为:static)

5、ARP攻击欺骗原理

●欺骗其它所有计算机

●欺骗被攻击计算机

5.1 ARP攻击

●ARP攻击发送的是ARP应答,也是ARP应答的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的的MAC地址设置成此虚假MAC地址,导致其无法正常通信。

●例如:当主机pc1(被攻击主机)想访问外网时,会发送数据到达网关,此时数据会被主机pc2(攻击主机)获取,主机pc2将发送虚假的MAC地址到达网关,当网关收到虚假的ARP应答更新ARP条目后,下次再发送数据到pc1,就会发送到虚假的MAC地址中,也就是主机pc2中,到最后通信故障。

5.2 ARP欺骗

●ARP欺骗原理与ARP攻击原理类似,但是效果不一样,ARP攻击是导致网络中断,而ARP欺骗的最终结果是流量通过自身达到监控或控制的目的。

假的ARP应答更新ARP条目后,下次再发送数据到pc1,就会发送到虚假的MAC地址中,也就是主机pc2中,到最后通信故障。

你可能感兴趣的:(网络,网络,网络协议)