二层转发原理:
交换机的功能:
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地址表还是正常学的,但数据帧不会转发。
1.交换机在发送数据帧时只是透明转发数据帧,不会更换MAC地址
2.同一个MAC地址是否可以绑定到多个接口?不能
3.一个接口可以绑定多个不同的MAC吗?可以
动态:可以先拆除MAC然后绑定Dynamic
静态:不可以拆除MAC,静态交换机没有能力解除MAC:1口存在MAC,2口学不到,不会去学习源MAC,数据帧发过来,会从1口出去,2口收不到的,这个数据帧有去无回。
拓展:如果网络中出现广播,怎么判断?
通过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->
//再看一个报文CDP->发现直连链路邻居关系(邻居的设备型号,主机名,ip地址)
对应的公有协议LLDP,SNAP的部分红圈标识
实际 上,用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是个广播地址;
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)
交换机的功能:
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
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
附件列表
原文地址:https://www.cnblogs.com/xuxaut-558/p/11080035.html