首页 > 其他分享 >网络层协议

网络层协议

时间:2024-05-30 11:59:57浏览次数:17  
标签:ARP 协议 AA 主机 网络层 地址 MAC IP地址

目录

一、网络层的功能
二、IP数据包格式
三、ICMP协议 
        1.功能
        2.类型
        3.ICMP协议的应用
        4.ping不通的几种情况
        5.ping命令的用法
        6.tracert命令:
四、ARP协议
        1.arp协议如何工作的
        2.工作原理(结合交换机原理)
        3.如何查看arp缓存表
        4.绑定arp(win10)
        5.动态ARP表项老化
        6.arp攻击与欺骗
        7.arp报文(抓包分析)


一、网络层的功能

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

2.连接不同的媒介类型

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

二、IP数据包格式

(ip头部分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分)

字段长度(位)描述
版本 (Version)4IP协议的版本号(IPv4中为4)
报头长度 (IHL)4报头长度,以4字节为单位
区分服务 (TOS)8服务类型,用于区分不同的服务质量
总长度16整个IP数据包的长度,以字节为单位
标识 (ID)16唯一标识主机发送的每一个数据报文
标志 (Flags)3控制和标记数据包的某些特性
片偏移 (FO)13数据包分片的位置
生存时间 (TTL)8数据包在网络中的存活时间
协议 (Protocol)8上层协议类型,例如TCP、UDP
头校验和16检验报头的完整性
源地址32发送数据包的设备的IP地址
目的地址32接收数据包的设备的IP地址
选项 (Options)可变支持网络测试和调试等功能
数据 (Padding)可变补充字段,使报头长度为4字节的整数倍

三、ICMP协议 

1.功能

作为网络管理员,必须知道网络设备之间的连接状况,因此就需要有一种机制来侦测或通知网络设备之间可能发生的各种各样的情况,这就是 ICMP 协议的作用。ICMP 协议(Internet Control Message Protocol)的全称是“Internet 控制消息协议”,主要用于在IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题的反馈。通过这些反馈信息管理员就可以对所发生的问题做出判断,然后采取适当的措施去解决。

2.类型

ICMP报文有两种类型:差错报告报文和查询报文。

3.ICMP协议的应用

ping命令和traceroute/tracert(windows使用)命令,在检查网络连通性时,ping 命令是用得最多的。

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

4.ping不通的几种情况

1)当主机有一个默认网关时,如果他ping其他网段的地址,到不了的话,显示的是request timeout(此时他把icmp包发给网关,至于后面的事他就不管,如果没有包回应,就显示request timeout)
2)当一个主机没有默认网关时或者配置了网关但是和网关不通时,如果他ping其他网段的地址,显示的是Destination host unreachable(此时他发送arp请求包请求网关的mac地址)
3)当一个路由器ping他路由表中没有的地址时,显示的是request timeout(此时不发任何包)
4)当路由器ping一个路由表中存在地址时,如果没有回应,则显示的也是 reuqest timeout (此时发送arp请求包,请求目标ip的mac地址)

5.ping命令的用法

1)-t     在 Windows 操作系统中,默认情况下发送 4 个 ping 包,如果在 ping 命令后面加上参数“-t”,系统将会一直不停地 ping 下去
2)-a   显示主机名
3)-l    一般情况下,ping 包的大小为 32 字节,有时为了检测大数据包的通过情况,可以使用参数改变 ping 包的大小    #在linux 系统下为 -s
4)-n   指定发送包的个数      
5)-S   指定源IP去ping        

6.tracert命令:

在命令行中输入“tracert ”并在后面加入一个IP地址,可以查询从本机到该IP地址所在的电脑要经过的路由器及其IP地址(windows是tracert,再linux中是traceroute IP/域名)

四、ARP协议

1.arp协议如何工作的

为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念,每台主机或路由器在维护着一个ARP缓存表(ARP table),这个表包含IP地址到MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,我称之为ARP表项,如我们前面那张图所展示的一样,他们是主机最近运行时获得关于其他主机的IP地址到MAC地址的映射,当需要发送数据的时候,主机就会根据数据报中的目标IP地址信息,然后在ARP缓存表中进行查找对应的MAC地址,最后通过网卡将数据发送出去。ARP缓存表包含一个寿命值(TTL,也称作生存时间),它将记录每个ARP表项的生存时间,生存时间到了就会从缓存表中删除。从一个表项放置到ARP缓存表中开始,一个表项通常的生存时间一般是10分钟吗,当然,这些生存时间是可以任意设置的,我们一般使用默认即可。

2.工作原理(结合交换机原理)

假设两台主机A和B在同一个局域网中,主机A的IP地址是192.168.1.2,MAC地址是AA:AA:AA:AA:AA:AA,主机B的IP地址是192.168.1.3,MAC地址是BB:BB:BB:BB:BB:BB。

    2.1. 主机A要向主机B发送数据

        2.1.1主机A构建数据包

                数据包包括源IP地址(192.168.1.2)、目的IP地址(192.168.1.3)、
                源MAC地址(AA:AA:AA:AA:AA:AA)、以及目的MAC地址。

        2.1.2查找主机B的MAC地址

               如果主机A的ARP缓存中没有主机B的MAC地址,
               就需要使用ARP协议来解析IP地址到MAC地址的映射。

    2. 2ARP解析过程

            2.2.1 发送ARP请求

                1)主机A发送ARP请求包到局域网,ARP请求包的格式为:

                        目的IP地址:192.168.1.3

                        目的MAC地址:FF:FF:FF:FF:FF:FF(广播地址)

                        源IP地址:192.168.1.2

                        源MAC地址:AA:AA:AA:AA:AA:AA

                2)交换机接收到ARP请求包后,会将其广播到局域网内的所有主机。

            2.2.2接收ARP响应主机B回应ARP请求

                1)局域网内所有主机收到ARP请求后,
                只有IP地址匹配(192.168.1.3)的主机B会回应ARP请求。

                2)主机B构建ARP响应包:

                        源MAC地址:BB:BB:BB:BB:BB:BB

                        源IP地址:192.168.1.3

                        目的MAC地址:AA:AA:AA:AA:AA:AA

                        目的IP地址:192.168.1.2

                 3)主机B将ARP响应包单播发送给主机A。

        2.3. 数据通信过程

                2.3.1. 构建数据帧

                        主机A将需要发送的数据包封装成以太网帧:

                        源MAC地址:AA:AA:AA:AA:AA:AA

                        目的MAC地址:BB:BB:BB:BB:BB:BB

                        数据部分:实际的传输数据(包括IP头和数据)

                2.3.2发送数据帧

                        主机A通过交换机发送数据帧,交换机会根据目的MAC地址将帧转发给主机B。

                2.3.3 数据接收和处理

                        主机B接收数据帧:

                        交换机将数据帧转发给主机B,

                        主机B解封装数据帧,提取出IP数据包并进行处理。

        2.4 交换机的工作原理

                2.4.1学习MAC地址

                        交换机通过监听数据帧的源MAC地址来学习局域网中主机的MAC地址,
                        并将其与相应的端口映射存储在MAC地址表中。

                2.4.2数据帧转发

                        当交换机接收到一个数据帧时,会查找目的MAC地址在MAC地址表中的映射关系,
                        并将帧转发到对应的端口。

3.如何查看arp缓存表

        1)arp -a          ###查看arp缓存表 
        2)arp -d [IP]     ###删除arp缓存表
        3)arp -s IP MAC   ###删除arp静态绑定

        (windows静态arp和动态arp)

        附加:如提示ARP项添加失败,解决方案:
用管理员模式:电脑左下角“开始”按钮右键,点击"Windows PowerShell (管理员) (A)”或者
进入C盘windows \system32文件夹找到cmd.exe, 右键“以管理员身份运行”再执行arp -s命令:

4.绑定arp(win10)

        cmd中输入
        netsh -c i i show in 查看网络连接准确名称,如:本地连接、无线网络连接
        netsh -c “i i” add neighbors 19 “IP” “Mac”,这里19是idx号。//绑定
        netsh -c “i i” delete neighbors 19,这里19是idx号。  //解绑
        netsh interface ipv4 set neighbors <接口序号> <IP> <MAC>

5.动态ARP表项老化

        动态ARP表项老化:在一段时间内(默认180s)如果表项中的ARP映射关系始终没有使用,则会被删除。通过及时删除不活跃表项,从而提升ARP响应效率

6.arp攻击与欺骗

        6.1ARP攻击

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

        例如:如果希望被攻击主机无法访问互联网,就需要对网关发送或被攻击主机发送虚假的ARP应答。当网关接收到虚假的ARP应答更新ARP条目后,如果网关再发生数据给PC1时,就会发送到虚假的MAC地址导致通信故障。

        6.2ARP欺骗

        ARP欺骗的原理和ARP攻击基本相同,但是效果不一样。ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的。

7.arp报文(抓包分析)

        1)目的MAC地址:  54:89:98:0F:2B:BE

        2)源MAC地址:  54:89:98:5B:5B:8A

        3)帧类型: 0x0806  --长度为2字节,0x0806代表为ARP packe

        4)硬件类型:0x0001  --长度为2字节,表示网络类型;以太网取值为1

        5)协议类型:0x0800  --长度为2字节,表示要映射的协议地址类型。
              取值为0x0800,表示根据IP地址来进行映射

        6)硬件地址长度:0x06  --长度为1字节,表示硬件地址长度;
              取值为0x06,以太网中表示MAC地址长度为6字节

        7)协议地址长度:0x04  --长度为1字节,表示协议地址长度;
              取值为0x04,以太网中表示IP地址长度为4字节

        8)op:  0x0002  --长度为2个字节,表示ARP报文的种类;
              取值为1,表示请求报文;取值为2,表示ARP应答报文

        9)发送端MAC地址: 54:89:98:5B:5B:8A  (信息体的发起端)
              发送端IP地址: 0A:00:00:02  (转换即为10.0.0.2)

        10)目的端 MAC地址:54:89:98:0F:2B:BE

标签:ARP,协议,AA,主机,网络层,地址,MAC,IP地址
From: https://blog.csdn.net/xw2441176267/article/details/139287001

相关文章

  • 《计算机网络微课堂》6-5 文件传送协议FTP
    本节课我们介绍文件传送协议FTP:将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,是一项基本的网络应用,即文件传送文件传送协议FTP是因特网上使用的最广泛的文件传送协议FTP提供交互式的访问,允许客户指明文件的类型与格式,例如指明是否使用ASCII,并允许......
  • 《计算机网络微课堂》6-3 动态主机配置协议DHCP
    本节课我们介绍动态主机配置协议DHCP。我们首先来举例说明DHCP的作用。如图所示有这样一个网络拓扑,请同学们思考一下,我们应该给网络中的各主机设置怎样的网络相关配置信息,才能使他们可以正常访问网络中的WEB服务器。根据我们之前课程所介绍过的相关知识可知,需要给网络中的各......
  • 玩转STM32-I2C通信协议(详细-慢工出细活)
    文章目录一、I2C总线原理(掌握)1.1硬件构成1.2传输位1.3数据传输格式二、STM32的I2C特性和结构三、STM32的I2C通信实现(硬件实现方式)3.1I2C主模式四、应用实例一、I2C总线原理(掌握)1.1硬件构成I2C总线由串行数据线SDA和串行时钟线CL构成,总线上的每个器件都有一个......
  • 视频汇聚EasyCVR平台视图库GA/T 1400协议与GB/T 28181协议的区别
    在公安和公共安全领域,视频图像信息的应用日益广泛,尤其是在监控、安防和应急指挥等方面。为了实现视频信息的有效传输、接收和处理,GA/T1400和GB/T28181这两个协议被广泛应用。虽然两者都服务于视频信息处理的目的,但它们在实际应用、功能特性和适用范围上却存在显著的区别。今天我......
  • iNeuOS工业互联网操作系统,增加电力IEC104协议
    1.     概述...22.     配置IEC104协议设备驱动...2 1.  概述IEC60870-5-104是一种电力自动化系统中常用的通信协议,使用TCP/IP协议作为底层通信协议,用于监视和控制电力系统中的各种设备,如变电站、发电机、开关等。IEC104协议是基于TCP的应用......
  • 【网络技术】【Kali Linux】Wireshark嗅探(十六)BT-DHT(比特流分布式哈希表协议)报文捕获
    往期KaliLinux上的Wireshark嗅探实验见博客:【网络技术】【KaliLinux】Wireshark嗅探(一)ping和ICMP【网络技术】【KaliLinux】Wireshark嗅探(二)TCP协议【网络技术】【KaliLinux】Wireshark嗅探(三)用户数据报(UDP)协议【网络技术】【KaliLinux】Wireshark嗅探(四)域......
  • Vitis HLS 学习笔记--块级控制协议-ap_ctrl_chain/ap_ctrl_hs/ap_ctrl_none
    目录1.简介2.详细分析2.1使用场景区别2.2 ap_continue行为详解2.3 ap_ctrl_chain行为详解3.总结1.简介块级控制协议允许硬件模块表明:何时可以开始处理数据。何时完成了数据处理。以及何时处于空闲状态,准备接受新的数据输入。这些信号用于本模块在与其他硬......
  • TCP和UDP协议的特点和用途
    TCP(TransmissionControlProtocol):特点:面向连接、可靠传输、按序交付、流量控制、拥塞控制。用途:适用于需要高可靠性的数据传输,如网页浏览、电子邮件、文件传输等。优势:数据包顺序和完整性有保障,适合需要准确无误传输数据的场景。举例:在线购物网站的交易数据传输,确保每笔交易......
  • 最新钻石大亨全自动协议挂机项目,单机一天5+【协议脚本+使用教程】
    钻石大亨,这款创新的手机应用,如同一场刺激的淘金热,为用户带来了轻松赚取收入的新机会。它将游戏与收益结合,让你在享受游戏的同时,也能从中赚取收益。......
  • 西门子学习笔记3 - 工业物联网(MQTT协议服务器的搭建)
    这里使用的是公开测试的一个服务器(EMQX)的服务器EMQX是一款全球下载量超千万的开源物联网MQTT服务器,单集群支持1亿物联网设备连接,消息分发时延低于1毫秒,助力企业构建关键业务的IoT平台与应用。1、服务器文件的下载1、官方下载地址:免费下载、试用EMQ产品(emqx.com......