二层转发原理:

交换机的功能:

1.转发(MAC地址表中存在目的MAC地址)

2.泛洪(1.未知单播帧2.广播/组播帧)

3.过滤(1.MAC地址表中存在目的MAC地址,转发也是一种过滤2.如果数据帧的出入口一致,数据帧需要丢弃)

 

(交换机收到数据帧后的行为和动作,广播是广播帧,泛洪是一个动作(未知单播帧/MAC地址表里面没有目的MAC))

(CAM表是可寻址内存,是二进制数,是为了快速交换

MAC表绑定VLAN信息,接口信息,三层转发才需要ARP,二层转发不需要ARP)

(MAC地址表老化时间300s)

(交换机泛洪会从除接收端口进行泛洪)

 

3过滤:

sw开始MAC地址表空的,查表查不到,泛洪,会将源MAC地址绑定在接收端口上,从1口学到,要从1口发出去,交换机的防环机制,数据帧不会转发会丢弃,,MAC地址表还是正常学的,但数据帧不会转发。

 

网络二层trunk和access转发原理 二层转发的原理_封装


1.交换机在发送数据帧时只是透明转发数据帧,不会更换MAC地址

2.同一个MAC地址是否可以绑定到多个接口?不能

3.一个接口可以绑定多个不同的MAC吗?可以

动态:可以先拆除MAC然后绑定Dynamic

静态:不可以拆除MAC,静态交换机没有能力解除MAC:1口存在MAC,2口学不到,不会去学习源MAC,数据帧发过来,会从1口出去,2口收不到的,这个数据帧有去无回。

网络二层trunk和access转发原理 二层转发的原理_封装_02

 

拓展:如果网络中出现广播,怎么判断?

通过MAC地址表查看,MAC地址翻动或者MAC地址漂移。MAC地址一下子绑定在1口,一下子绑定在2口


 

交换机通过MAC地址表实现数据帧的转发

数据帧-二层的概念;

在数据链路层分为LAN和WAN

 

LAN:(局域网标准)

IEEE 802.3 (国际电气电子工程师协会)\

ethernet Ⅱ·(施乐)

 

在LAN网中就这两种数据链路层封装协议,现在传输出去的一般用的都是Ethernet Ⅱ的封装,有些二层协议的报文用802.3封装,如:生成树报文BPDU包,CDP,TDP

 

区别:

IEEE 802.3 封装结构 = 14B帧头 + 4B帧尾(帧校验序列FCS)

淘宝买快递,签收物品完整才收。

FCS设备收到一个数据帧,检查数据帧的完整性,不完整丢弃,完整才接收。

##【比较完整性】实际上是将帧头做一次checkSum,将校验和放在FCS里面,对端收到数据帧,对帧头做同样的校验,和FCS进行比对看这两个校验和是否是一样的,如果一样的表明数据帧在转发过程中是没有被破坏掉的。

 

802.3/Ethernet Ⅱ帧头和帧尾数据长度一样的,但帧头结构不一样

 

#【802.3的头部封装】并不能标识上层协议

交换机收到数据帧以后靠MAC地址表做转发,查目的MAC

MAC地址48bit ,等于6个字节。

14B帧头=6B DMAC+6 SMAC+2B Length(6个字节的目的MAC和6个字节的源MAC加上2个字节的length长度 用于标识数据帧的长度的)

+IEEE 802.2(8B) LLC(SSAP\DSAP)(3B)+SNAP(5B)

 

#【EthernetⅡ的头部封装】可以标识上层 协议

Ethernet Ⅱ14B=6B DMAC+6B SMAC +2B ETYPE(2个字节的以太类型-识别上层封装协议,IPV4=0x0800,ARP=0x0806,  dot1q= 0x8100,IPV6=0x86dd)

*********************************************************************************

如果是802.3需用IEEE的802.2 (8B-----3字节LLC罗辑链路控制子层(SSAP数据帧的发送方\DSAP数据帧的接收方)+5字节SNAP)里面的LLC标识上层字段。

//看个报文STP->

 

网络二层trunk和access转发原理 二层转发的原理_数据帧_03

//再看一个报文CDP->发现直连链路邻居关系(邻居的设备型号,主机名,ip地址)

对应的公有协议LLDP,SNAP的部分红圈标识

 

网络二层trunk和access转发原理 二层转发的原理_IP_04

实际 上,用LLC去通告一些上层协议,一般只能通告公有协议,私有协议是通告不了的。用802.3去承载一些思科的私有协议,就会用到SNAP去标识上层封装。Org是MAC地址的前24个比特位(3个字节)用来标识厂商,

下面的PID就等同于以太类型,标识上层协议是什么,用802.2去封装并不一定会有SNAP这个字段。即,如果LLC能标识的话就不需要携带SNAP,如果LLC不能标识的话就需要携带SNAP,不能标识的一般都是私有协议,思科居多。

 

WAN网:(广域网)

##WAN网中有MAC地址吗?回答:广域网中没有MAC地址。

    WAN网中有二层封装,和LAN不一样,WAN的二层封装:(PPP\HDLC\帧中继FR\ATM)

     WAN网和LAN网主要是物理层和数据链路层不一样,其他的上层协议都是一模一样的。WAN网中没有MAC地址,没有ARP。

     WAN网中一般设备都是点到点,LAN网是通过一些网络设备交换机/HUB互联,  LAN网中存在广播域的概念。

     3种以太帧的方式:单播,组播,广播。

      单播:源/目的MAC地址都是单播地址;

      组播:目的MAC是个组播地址;

      广播:目的MAC是个广播地址;

网络二层trunk和access转发原理 二层转发的原理_封装_05

 


      1->3想实现单播端到端的互通?

     在大的广域网中实现单播通信,你有目的MAC吗?

      交换机是二层设备,通过MAC转发,不认识3层ip;

    如果源/目的ip写成单播的ip,源MAC为单播,目的MAC为广播,可互通


1->3互通,1和3划在一个VLAN;1—>2实现单播通信?

所以需要在LAN网里面找到一个唯一能标识设备的地址,而这个地址就是一个MAC地址(硬件地址),可以唯一标识一台设备。


MAC地址不重复,MAC地址的前24个比特位是OUI的部分,这个部分是需要申请的,申请机构-IANA。保证MAC是不可能重复的,篡改的不考虑。


单播通信

1.ARP广播:在LAN网中发送ARP报文找到对方的位置,将罗辑的ip地址转换成为物理的MAC地址。

2.回复MAC地址,发送方就可以封装数据帧,实现一对一的通信。

 

所以,MAC地址在LAN网中才会存在去标识唯一 一台设备,WAN网中不存在,因为WAN网中都是点对点直连的,和你互联的就一台设备,你只要把数据帧发出去就行了。

 

******************************************************************************

MTU《TCP/IP详解》看看

min=46B(一个IP包不能小于这个字节)

MAX=1500B(IP数据包的最大长度)    

如果,用EthernetⅡ数据帧封装协议去封装,MAX数据传输单元是1500

          用802.3封装,MAX数据传输单元是1492B,因为802.2扩展头部也会占8B

802.3=1492

*********************************************************************************

 

//看书:《TCP/IP详解》-IP首部

 

//找找英文版书籍

复习

1、二层的转发原理

2、三层的转发原理 (IP ICMP ARP)

网络二层trunk和access转发原理 二层转发的原理_封装_06

交换机的功能:

 

1、转发(如果MAC地址表存在目的MAC地址) 2、泛洪(1、未知的单播帧 2、广播/组播帧) 3、过滤(1、如果MAC地址表存在目的MAC地址

2、如果数据帧的出入接口一致,数据帧需要丢弃)

 

LAN(IEEE 802.3\ethernetII(施乐)) WAN(WAN网中有MAC地址吗?) (PPP\HDLC\FR\ATM)

 

IEEE 802.3 = 14B+4B(FCS) 14B=6B DMAC+6B SMAC+2B Length  + IEEE 802.2(8B) LLC(SSAP\DSAP)+SNAP(5B)

EthernetII 14B=6B DMAC+6B SMAC+2B ETYPE

 

IPV4=0x0800

ARP=0x0806

dot1q=0x8100

 

46B~1500B = IP数据包的长度 ETH II

    1492B = IEEE 802.3

 

 

三层转发原理:

 

IPV4 (20B~60B)

 

第一行(32bit): 版本(4bit) 首部长度(4bit) TOS(8bit)  总长度(16bit)

第二行(32bit): 标识(16bit) 标志(3bit) 偏移地址(13bit)(分片)

第三行(32bit): TTL(8bit) 协议标识(8bit) [1=icmp 6=tcp 17=udp 88=eigrp 89=ospf 47=GRE] 校验和(16bit)

第四行(32bit): 源IP

第五行(32bit): 目的IP

 

 

第六行(32bit): 填充字段 (40B) 2B

 

TTL值的两个作用 1、可以防止IP包环路 2、可以限制IP包的转发距离

 

traceroute (UDP)

tracert (ICMP)

 

512B

 

response ?(25)  20*25=500+8+4= 512B

 

ARP(地址解析协议) 

 

1、request replay

2、28B

3、硬件类型

  协议类型

  硬件长度

  协议长度

  OP=0

  发送方MAC

  发送方IP

  目的方MAC

  目的方IP

4、ARP算几层协议

5、ARP需要填充0来满足最小MTU的长度

6、ARP和RARP有什么区别 (无盘工作站) 网卡启动

7、普通ARP、代理ARP、免费ARP(1、IP地址冲突检查  2、通过MAC地址)

 

 

show arp (4个小时) ,接收到下面哪个报文会刷新ARP的老化时间?

 

 

2、免费ARP ?

 

ICMP重定向的触发条件:如果IP包的发送源和到达目的路由的下一跳在同一个网段,就需要触发ICMP重定向。在ICMP重定向报文中会增加一个gateway字段,该字段中填充下一跳地址。

 

什么情况下需要比较AD值?:如果同一条路由通过多种路由协议学习,需要比较AD值选出最优的一条。

什么情况下需要比较metric值?:如果同一条路由通过同一种路由协议的不同邻居学到,需要比较metric值,优选metric值小的一条。

 

 

转发流程

1、PC1发送的ARP请求,请求网关(路由器0接口)的MAC地址 (PC2、PC3)

2、路由器回送给PC1的单播ARP应答 (PC2)

3、PC1发送给PC4的ICMP报文 (PC2)

  二层:DMAC=网关(路由器0口) SMAC=PC1 E-TYPE=0x0800

  三层:源IP=PC1 目的IP=PC4 Protocol id= 1 (ICMP)

  ICMP: type=8 code=0

4、路由器向PC4发送的ARP请求 (PC4)

5、PC4向路由器1口回复的ARP应答

6、PC1向PC4发送的ICMP请求(PC2、PC4)

7、PC4回给PC1的ICMP应答 (PC2)

  二层:DMAC=网关(路由器1口) SMAC=PC4 E-TYPE=0x0800

  三层:源IP=PC4 目的IP=PC1 Protocol id= 1 (ICMP)

  ICMP: type=0 code=0

 

网络二层trunk和access转发原理 二层转发的原理_IP_07


<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">


附件列表