交换机工作原理与网络层协议

一、数据链路层

数据链路层是OSI参考模型中的第二层,介乎于物理层网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。而交换机就工作在这一层,也叫二层设备。

img

二、交换机

2.1 交换机设备简介

1)Cisco交换机产品系列
常见的包括Cisco 2960系列,Cisco 3560系列,Cisco 4500系列和Cisco 6500系列

2)H3C交换机产品系列
核心层,路由式交换机:S10500、S9500E、S7500E、S7500等

汇聚层,全千兆智能交换机:S5500-EI/SI、S5510、S5120-EI/SI、S5600等

接入层:S3100-EI/SI、S3600-EI/SI、S3610等

2.2交换机工作原理

1、交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。

2、交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。

3、如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发,这一过程称为泛洪。

2.3华为交换机基本配置

用户视图:基本操作、查看基本信息

系统视图:进阶操作,配置静态路由、动态路由:rip,ospf,BGP

接口模式:配置IP地址

用户视图模式切换至系统视图模式[Huawei]
system-view
sys

退回用户视图
ctrl+z
[Huawei] quit

  1. 历史命令查询
    [Huawei] display history-command
  2. 配置主机名
    system-view
    [Huawei] sysname Router1
  3. 状态信息查询
    display version ####查看VRP版本
    display users ####查看用户终端信息
  4. 进入接口模式并查看信息
    sys
    [Huawei]int e0/0/1
    [Huawei-GigabitEthernet0/0/1]dis this ####查看当前视图下的配置信息
  5. 配置文件管理命令
    [Huawei]display saved-configuration ###查看设备保存的信息
    [Huawei]display current-configuration ###查看设备当前配置的信息
    save ###保存配置
    reset saved-configuration # ##擦除存储设备中的配置文件(初始化)
    compare configuration ###比较当前配置信息与存储设备中的保存文件是否一致
  6. 关闭华为的信息提示中心
    [Huawei]undo info-center enable
    或者
    undo terminal monitor
  7. 永不超时
    [Huawei]user-interface console 0
    [Huawei-ui-console0]idle-timeout 0 0
  8. 配置双工及速率命令
    sys
    [Huawei]int g0/0/1
    [SW1-Ethernet0/0/1]undo negotiation auto ###关闭自动协商
    [SW1-Ethernet0/0/1]speed 100 ###调至速率100M
    [SW1-Ethernet0/0/1]duplex full ###调至全双工模式, 解释:full:Full-Duplex(全双工模式) half:Half-Duplex(半双工模式)
  9. 保存配置
    save
  10. 设置远程登录密码
    [Huawei]user-interface vty 0 4 #0是初始值,4是结束值。表示可同时打开5个会话进入交换机去配置命令
    [Huawei-ui-vty0-4]authentication-mode password
    [Huawei-ui-vty0-4]set authentication password simple 222
    [Huawei-ui-vty0-4]user privilege level 3
    [Huawei-ui-vty0-4]dis this

三、网络层协议

3.1 IP数据包格式

TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram)。这是一个与硬件无关的虚拟包,由首部和数据两部分组成,其格式如图所示。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。
在这里插入图片描述

  1. 版本(version)说明IP协议的版本,允许从一个协议版本变为另一个版本。   

  2. 首部长度(length)(以4字节为单位) 描述分组头的长度(最少20B,最大60B), 固定首部为20B。   

  3. 服务类型(Type of service:TOS)用于指示数据报所需的服务类型或“质量”。处理数据报的路由器阅读这个域,如果需要,将提供优先服务。以前,这个域指示军事急件或关键事件所要的优先处理。根据在Internet Engineering Task Force(IETF)最近的讨论看出,现在,TOS的定义已经改变为减少延迟、减少金钱开销、增大吞吐率,或增加可靠性的需要。   

  4. 总长度(Total length) 说明数据报的总长度,最大长度为2^16-1=65536个字节。   

  5. 标识(Identification)提供连接独立分段数据报的信息,于是目的站点就可以将它们组装成一个完整的分组。

      

  6. 标志(flags) 有两个标志位。第一个标志位指定一个分组不允许被分段,所以必须在能将处理分组当前长度的子网络上传输。第二个标志位指定一个数据报是一个分段分组的最后。   

  7. 段偏址(Fragment offset) 对于分段数据报,这个域指出这个数据在分组中的原来位置,在重新组装的过程中将用到这个信息。

    结合5、6、7举列

  8. 存活时间(Time-to-live)这个时间以秒为单位,它是数据报可以生存的时间。在传输中,如果超过了这个时间,这个数据报就被认为丢失了,或在一个循环内并且被废弃。   

  9. 协议(protocol)标识数据报的协议类型,这样就可以允许非TCP/IP协议工作。

      

  10. 分组头检验(header checksum)提供一个错误检查数值,以保证一个被分发分组的完整性。  

     

  11. 源/目地址 这是数据报源地和这个数据报目的地的地址。选择(option)这个域是可选的,它提供了记录通过网络的一条路径或指定一条路径(源地路由选择)。

3.2 ICMP协议介绍

1、什么是ICMP协议?
Internet控制消息协议ICMP(Internet Control Message Protocol):ICMP 它是TCP/IP协议簇的一个子协议,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。
主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

2、 ICMP协议的主要功能?
ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性。当路由器在处理一个数据包的过程中发生了意外,可以通过ICMP向数据包的源端报告有关事件。
主要功能:

侦测远端主机是否存在。
建立及维护路由资料。
重导资料传送路径(ICMP重定向)。
资料流量控制。
ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。

3、 ICMP协议的应用?
ICMP协议主要用来检测网络通信故障和实现链路追踪,最典型的应用就是PING和traceroute。
Ping:通过发送回送请求报文和回送回答报文来检测源主机到目的主机的链路是否有问题,目的地是否可达,以及通信的延迟情况。
Ping用到的是ICMP协议,不是端口。

4、ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。
我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。

3.3 ARP协议介绍

1、简介
ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。另有电子防翻滚系统也称为ARP。

2、基本功能
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的某个端口的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARP Proxy)。

3、工作原理
当一个基于TCP/IP的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的IP地址。然后,寻找IP地址到实际MAC地址的映射,这需要发送ARP广播消息。当ARP找到了目的主机MAC地址后,就可以形成待发送帧的完整以太网帧头。最后,协议栈将IP包封装到以太网帧中进行传送。

如图1所示,描述了ARP广播过程。

图片

在图1中,当主机A要和主机B通信(如主机A Ping主机B)时。主机A会先检查其ARP缓存内是否有主机B的MAC地址。如果没有,主机A会发送一个ARP请求广播包,此包内包含着其欲与之通信的主机的IP地址,也就是主机B的IP地址。当主机B收到此广播后,会将自己的MAC地址利用ARP响应包传给主机A,并更新自己的ARP缓存,也就是同时将主机A的IP地址/MAC地址对保存起来,以供后面使用。主机A在得到主机B的MAC地址后,就可以与主机B通信了。同时,主机A也将主机B的IP地址/MAC地址对保存在自己的ARP缓存内。

图片

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。

3.4 ARP攻击原理

1、简介

ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。另有电子防翻滚系统也称为ARP。

2、攻击原理

ARP欺骗攻击建立在局域网主机间相互信任的基础上的。

当A发广播询问:我想知道IP是192.168.0.3的硬件地址是多少?

此时B当然会回话:我是IP192.168.0.3我的硬件地址是mac-b,

可是此时IP地址是192.168.0.4的C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的,所以A就会误信192.168.0.3的硬件地址是mac-c,而且动态更新缓存表,这样主机C就劫持了主机A发送给主机B的数据,这就是ARP欺骗的过程。

假如C直接冒充网关,此时主机C会不停的发送ARP欺骗广播,大声说:我的IP是192.168.0.1,我的硬件地址是mac-c,此时局域网内所有主机都被欺骗,更改自己的缓存表,此时C将会监听到整个局域网发送给互联网的数据报。

3、arp命令

1、Windows查看ARP缓存表(静态ARP和动态ARP)

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

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

绑定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>

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

3、华为系统中的ARP命令
[Huawei]dis mac- address ## #查看mac地址信息
[Huawei]arp static <IP> <MAC> ## #绑定ARP
[Huawei]undo arp static <IP> <MAC> ###解绑定
<Huawei>reset arp all ###清除mac地址表

posted @ 2022-01-12 17:33  卖艺小青年  阅读(999)  评论(0编辑  收藏  举报