01【HCIE钻研之路】-IA-网络基础-TCP/IP模型-转发原理

文章介绍了网络通信的基础知识,包括TCP/IP模型与OSI模型的对比,数据的封装与解封装过程,物理层的比特流传输,数据链路层的MAC地址及其分类和学习控制,网络层的IP地址,以及传输层的TCP和UDP协议。此外,还详细阐述了交换机和路由器的工作原理,以及IP数据包在不同网络设备间的转发机制。
摘要由CSDN通过智能技术生成

目录

前言

TCP/IP模型与OSI模型

封装与解封装

物理层

数据链路层

MAC地址

MAC地址分类

MAC地址表分类

MAC地址学习控制

MAC地址漂移

MAC刷新ARP

交换机

网络层

路由器

IP地址

传输层

TCP/UDP

转发原理


前言

学IE以前认为IA很简单,学IE以后发现IA最重要;好多IE学员拿到证以后还不知道什么是二层转发,什么是三层转发;这些都是IA的基础,基础扎实学IE才会顺风顺水一举拿下,学IA一定要做到对知识点一公里深一厘米宽,知识点延展不用太宽。

没有什么知识点是一个实验解决不了的,如果有就再抓个包!

TCP/IP模型与OSI模型

        在网络上,一个协议对应于管理系统之间如何相互通信的规则。一个协议族是一系列协同工作的协议的集合。OSI模型和TCP/IP模型是现在网络中常用的协议。

        先了解一下TCP/IP模型与OSI模型,按照TCP/IP模型从物理层网上讲。

        OSI模型:开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),一种概念模型,由国际标准化组织提出,试图使各种计算机在世界范围内互连为网络的标准框架。

        TCP/IP模型同样采用了分层结构,层与层相对独立但是相互之间也具备非常密切的协作关系。

        TCP/IP模型将网络分为四层。TCP/IP模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。TCP/IP模型的核心是网络层和传输层:网络层解决网络之间的逻辑转发问题,传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。

 下面介绍一下TCP/IP与OSI模型对比,报文封装解封装过程

TCP/IPOSI
数据应用层应用层为应用程序提供服务
表示层数据格式化,加密、解密
会话层建立、维护、管理会话连接
数据段传输层传输层建立、维护、管理端到端连接
数据包网络层网络层IP寻址与路由选择
数据帧数据链路层数据链路层控制网络层与物理层之间通信
比特流物理层物理层比特流传输

封装与解封装

应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDUProtocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段 );数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

物理层

数据传输是通过物理层实现的。通过物理介质传输比特流

常用物理层传输介质有网线、双绞线、同轴电缆、光纤等。

常说的10M中的M不是单位,指的是10x10^6,带宽单位是bps(bit per second)每秒传输多少bit,10Mbps就是每秒传输10x10^6次方个bit。

网线最大传输距离100米。

光纤分为单模光纤与多模光纤

单模光纤:传输距离远(3公里)

多模光纤:传输距离相对较近(1-2公里)

数据链路层

MAC地址

二层网络通信通过MAC地址(全球唯一,但可以手动修改)识别唯一主机

MAC地址(Media Access Control),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第二层数据链路层则负责MAC位址。

MAC地址作用:用来定义网络设备的位置。

MAC地址组成:48bit(16进制),前24bit由IEEE分配给厂商。

MAC地址分类

物理MAC地址(单播MAC):标识以太网唯一终端,全球唯一;第一字节最后一个bit为0的MAC即为单播MAC。

组播MAC地址:表示LAN上的一组终端;第一字节最后一个bit为1的MAC即为组播MAC;

常见组播MAC:

①BPDU MAC:01-80-c2开头

②ISIS协议发送level1 LSP的目的 MAC:01-80-c2-00-00-14

③ISIS协议发送level2 LSP的目的 MAC:01-80-c2-00-00-15

④VRRP4 MAC:01-00-5e-00-00-12

广播MAC:全1的MAC地址为广播MAC(即全FF-FF-FF-FF-FF-FF),表示LAN上所有终端。

交换机支持的MAC:系统MAC(设备自身MAC)与接口MAC(管理口MAC、二层物理口MAC、三层路由主接口MAC、子接口MAC、二层Eth-Trunk接口MAC、三层Eth-Trunk接口MAC)。

系统MAC查看方式:display bridge mac-address

管理口MAC、子接口MAC、二层物理口MAC与二层Eth-Trunk接口MAC相同,使用的是系统MAC

其他类型接口MAC查看方式:display interface

查看接口下接的设备MAC:display mac-address G0/0/1

MAC地址表分类

MAC地址表记录了交换机学习到其他设备MAC地址与接口对应关系,以及接口所属Vlan等信息。设备在转发报文时,根据报文目的MAC查MAC表,如果MAC表中有目的MAC对应表项,直接从对应出接口转发;否则,广播泛洪该报文。

MAC地址表类型特点作用
动态表项接口通过学习报文源MAC,表项老化,复位丢失

通过查看动态mac地址表,可以判断两台相连设备之间是否有数据转发。

可以获取接口下通信的用户数。

静态表项

手动配置,表项不老化,复位不丢失。

一个静态MAC只能绑定一个出接口。

一个出接口可以绑定多个MAC。

不影响动态MAC表的学习。

保证合法用户的使用,防止其他用户使用该MAC进行攻击。
黑洞表项手动配置,表项不老化,复位不丢失。过滤非法用户。

黑洞表项配置命令:mac-address blackhole

查看黑洞MAC表项:display mac-address blackhole

MAC地址表组成:MAC地址、vlan ID、出接口

MAC地址表作用:指导报文进行单播转发

MAC地址学习过程:根据数据帧中的源MAC自动学习建立,分两种情况:一是MAC地址表中不存在该MAC,设备将该MAC加入到MAC表中,二是存在该MAC表项,刷新该MAC表项,重置该表项老化时间。

设备不会学习BPDU MAC。

MAC地址老化时间:300s(缺省)

MAC地址学习控制

由于MAC地址表的容量是有限的,当黑客伪造大量源MAC地址不同的报文发送到设备后,设备上的MAC地址表项资源可能会被耗尽。当MAC表被填满后,即使再收到正常报文,也无法学习到报文中的源MAC地址,导致报文广播转发,浪费带宽资源。

MAC地址学习控制方式原理描述典型应用场景
基于VLAN或接口关闭学习MAC能力某个VLAN或接口关闭MAC能力后,将不再自动学习到新的动态MAC地址表项。之前学习的动态表项将在老化时间到达后自动删除,也可提前手动删除。多数情况下,一个黑客发送的攻击是从同一个接口进入设备,在这个接口上配置关闭学习MAC能力或配置MAC地址学习限制,可避免攻击报文将整个设备的MAC地址表填满。
基于VLAN或接口进行MAC地址数限制

基于VLAN或接口限制MAC地址数后,该VLAN或接口最多只能学习到指定限制数的MAC地址表项。

到达限制后,该vlan或接口不能再学习新的mac地址表项,同时丢弃源mac不在表项中的报文。

MAC地址漂移

定义:一个vlan内有两个接口学习到同一个MAC地址,后学习的mac会覆盖原mac。

出现mac地址漂移意味着网络中出现环路,可以通过查看告警信息和漂移记录,快速定位和排除环路。

MAC地址漂移检测:利用mac地址出接口跳变的现象,检测mac地址是否发生漂移的功能。

其中跳变的接口可能是出现环路的接口。

mac-address flapping detection

防止MAC地址漂移

提高接口MAC地址学习优先级:当不同接口学到相同的MAC地址表项时,高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址在接口间发生漂移。

关闭MAC地址学习功能:mac-address learning disable  [ action { discard | forward } ]

缺省情况下,接口的MAC地址学习功能是使能的。

关闭MAC地址学习功能的缺省动作为forward,即对报文进行转发(如果MAC地址表没有对应MAC表项就泛洪)。当配置动作为discard时,会对报文的源MAC地址进行匹配,当接口和MAC地址与MAC地址表项匹配时,则对该报文进行转发。当接口和MAC地址与MAC地址表项不匹配时,则丢弃该报文。

不允许相同优先级的接口MAC地址表项覆盖:当伪造网络设备所连接口的优先级与安全网络设备相同时,后学习到的伪造网络设备的MAC地址表项不会覆盖之前正确的表项。但如果网络设备下电,仍会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。

mac-limit maximum 15 限制接口的MAC地址学习数

mac-limit action { discard | forward },配置当MAC地址数达到限制后,对报文应采取的动作

mac-limit alarm { disable | enable },配置当MAC地址数达到限制后是否进行告警

使用命令display mac-limit,查看MAC地址学习数限制信息

MAC刷新ARP

正常情况下设备MAC表项与ARP表项出接口一致

有一种情况:MAC表项与ARP表项出接口都是G0/0/1,当MAC地址表刷新出接口变成G0/0/2,但ARP老化探测还没有开始出接口依然是G0/0/1,这时候ARP表项出接口不可用,会导致不同网段间通信失败。

这种情况配置MAC刷新ARP,实现MAC出接口更新时,直接刷新ARP表项的出接口,避免出现上述问题。

交换机

上面提到MAC地址在二层通信,了解二层通信就要了解交换机

交换机三种行为:泛洪、转发、丢弃

转发:按照MAC地址表将对应数据帧(数据链路层的协议数据单元)从对应出接口发出去

泛洪:从除了接收端口意外的所有端口发出去(接收一份数据帧,交换机复制发给所有非接收端口)--广播、组播、未知单播帧

丢弃:从A端口收到数据帧查MAC地址表,又从A端口发出去;场景:交换机下联hub,hub下联pc1与pc2,pc1访问pc2

交换机有个问题:不会隔离广播域,过大的广播域会导致设备消耗过多的性能处理无用的广播消息--所以要限制广播域大小。

网络层

路由器

路由器每个接口就是一个广播域,隔离广播域可以提高网络质量与安全性。

交换机泛洪广播,路由器隔离广播

同一个广播域中可以使用MAC地址通信,不同广播域通信需要使用IP地址。

IP地址

IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族,工作在TCP/IP协议栈的网络层。

IPv4协议族主要包括地址解析协议ARP(Address Resolution Protocol)、逆地址解析协议RARP(Reverse Address Resolution Protocol)、互联网控制报文协议ICMP(Internet Control Message Protocol)、传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol)。

IP是为广播域编址的,不是为主机编址的。

此篇文章IP地址就不展开介绍,后面文章会详细介绍,本篇文章读者先掌握MAC地址的组成以及对应的拓展知识点。

传输层

TCP/UDP

TCP是一种面向连接的传输协议,提供可靠的传输服务。

TCP端口号用来区分不同的程序,端口号分为知名端口与动态端口,端口号范围1-65535,知名端口号范围0-1023,动态端口号范围1024-65535,有些常用端口号需要记住,例如:HTTP(TCP80)、FTP(TCP20、21)、Telnet(TCP23)、SMTP(TCP25)、HTTPS(TCP443)。

UDP是一种面向无连接的传输协议,传输可靠性没有保证。

转发原理

最后讲一下转发原理将今天的内容串起来

 PC1访问PC2转发原理:

PC1封装三层源IP为1.1,目的IP为4.2;二层封装目的MAC为E,源MAC为A(由于PC1与PC2不在同一广播域,MAC不能跨广播域传播,PC1访问外部会找网关),然后发给PC1网关R1,经过SW1,SW1解封装到二层发现目的MAC是E,然后转发给R1.

R1收到以后进行解封装,解封装到二层发现目的MAC是自己,然后继续解封装到三层,发现目的IP是PC2,然后查到转发表

查转发表分两种情况:

一是转发表中存在到PC2的下一跳出接口,但是没有下一跳的MAC,发送ARP;如果存在下一跳MAC则直接将目的MAC封装为下一跳MAC;

二是转发表中不存在PC2的下一跳出接口,则丢弃。

R1封装三层源目IP不变,二层封装目的MAC为G,源MAC为F。

R2与R3的封装方式与R1一致。

R3封装三层源目IP不变,二层封装目的MAC为B,源MAC为J。

PC2收到后进行二层解封装发现目的MAC是自己,继续解封装三层发现目的IP也是自己,继续解封装看到上层数据。

做实验抓个包给大家演示一下更为直观

PC1的Ethernet0/0/1口抓的包

  AR1的G0/0/1口抓的包

 AR2的G0/0/1口抓的包

AR3的G0/0/1口抓的包

 由以上实验可以看出,数据传输过程中,源目IP保持不变,源目MAC每经过一个广播域都会改变,建议大家自己做一遍实验抓包看一下这样可以加深印象。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值