第四讲:网络层协议

一、网络层功能

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

2、连接不同的媒介类型

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

二、IP数据包的格式

1、IP数据包格式

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

img

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封装与格式

image-20220419111835285

2、ping命令

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

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

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

2.1 ping命令的各种用法

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

image-20220419112806910

●-a :显示主机名

image-20220419113329691

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

image-20220419113602844

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

image-20220419113802354

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

image-20220419190357504

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

image-20220419115323867

注:内部的*是因为数据包丢失,可能路由器屏蔽了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地址的映射关系,表中记录了<IP地址,MAC地址>对,我们称之ARP表项。

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

3、ARP工作原理

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

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

image-20220419182743938

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

image-20220419183537732

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

image-20220419183654110

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

image-20220419184114027

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中,到最后通信故障。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值