路由 交换机 及数据流向(数据包 浏览网页)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一层交换机:只支持物理层协议。
二层交换机:支持物理层和数据链路层协议,如以太网交换机。
三层交换机:支持物理层,数据链路层及网络层协议,如某些带路由功能的交换机。
二层交换机是基于MAC地址访问的,而三层交换机是带路由功能的交换机,可以一次路由多次交换。
二层交换机基于MAC,2层快速交换,所有接口同在一个广播域。
三层交换机可以起到路由功能。
一次路由多次交换。
解释:在广域网中,当然跑的都是3层数据包(被路由的),而路由需要确定每次源到目的的最优路径,每次都要重新进行选择,而如果您使用3层交换机,就可以第一次进行源到目的的路由,3层交换机会将此数据转到2层,那么下次无论是目的到源,还是源到目的都是进行快速交换.
三层交换机的结构:ASIC芯片和CPU
ASIC芯片用于完成二层和三层的转发,内部包含用于二层转发的MAC地址表和用于IP转发的三层转发表。
CPU用于转发的控制,主要维护一些软件表项(包括路由表,ARP表),并根据软件表项的转发信息来配置ASIC的硬件三层转发表。
真正决定高速转交换转发的是ASCIC的二三层硬件表项,而ASIC的硬件表来源于CPU维护的软件表项。
假设A和B处于两个不同网段的不同VLAN,中间通过三层交换机的SVI接口进行路由转发。
ApingB数据流分析如下:
主机A检查目标B的IP地址,与自己不在同一个网段,因此需通过网关转发,首先查询ARP缓存,没找到网关的MAC,所以广播ARP请求(目标MAC为全F,源MAC为A的MAC,源IP为A的IP,目标IP为网关IP),请求网关的MAC地址,三层交换机收到后,发现是广播帧,进行解封装,发现目标IP是给自己的,所以返回ARP应答,把自己的MAC 告诉A,A收到ARP应答后,更新ARP缓存,再重新封装ICMP(目标MAC为网关,源MAC为A,目标IP为B,源IP为A),交换机收到以后,首先根据报文的源MAC+VID更新MAC表,根据报文的目的MAC+VID进行查MAC表,发现匹配自己的三层接口的MAC 表项(说明:三层交换机给分配SVI的IP地址时,会在交换机的MAC表项中添加三层接口的MAC+VID),当报文中的目的MAC与这个三层接口的MAC表项匹配时,就进行三层转发,查找三层表项,因为第一次是空的,所以查找失败,于是将报文交给CPU进行软件处理,CPU根据目标IP进行查找路由,匹配到一个直连网段,于是查找ARP表,第一次还是空的,所以查找失败,则在目标网段进行广播ARP请求B的MAC地址,B收到后给出ARP应答,交换机收到应答,更新MAC表和ARP表,同时重新封装ICMP发送给B(目标MAC为B,源MAC为三层交换接口的MAC,目标IP为B,源IP为A)。同时,交换机的三层表项根据刚刚得到到三层转发信息添加表项(包括IP,MAC,VLAM,出接口),这样后续的报文如果匹配三层表项,就可以直接进行硬件转发了,这样就叫做一次路由多次交换。B收到后给出ICMP应答,就是以上过程的逆过程,所以PING通了。
1.3层交换机有路由功能,但不能完全取代路由器,因为基础原理并不相同.
2.3层交换机从某种意义上来说会比路由器策略转发快的多!
3.3层交换机能很方便的节约网络资源,防止拥塞现象.
交换机与路由器的不同
1.工作层次不同
2.数据转发所依据的对象不同
交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。(网卡硬件本身的地址MAC)
而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。(软件实现,网络地址/协议地址/IP地址)
3.传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域
4.路由器提供了防火墙的服务
路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。
交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。路由器用于W AN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。
三个表:mac地址表ARP表路由表
Mac地址表:记录局域网主机mac地址和交换机接口的对应关系。交换机具有动态学习源MAC地址的功能,并且交换机的一个接口可以对应多个MAC地址,但是一个MAC地址只能对应一个接口。
ARP表:每台主机都会有一个ARP表。我们是如何获得目标主机的MAC地址呢?这时我们就需要使用ARP协议了,在每台主机中都有一张ARP表,它记录着主机的IP地址和MAC地址的对应关系。
路由表:路由器中有一张表,这张表叫路由表,记录着到不同网段的信息。路由表中的信息分为直连路由和非直连路由。
路由器是工作在网络层的,在网络层可以识别逻辑地址。当路由器的某个接口收到一个包时,路由器会读取包中相应的目标的逻辑地址的网络部分,然后在路由表中进行查找。如果在路由表中找到目标地址的路由条目,则把包转发到路由器的相应接口,如果在路由表中没有找到目标地址的路由条目,那么,如果路由配置默认路由,就科举默认路由的配置转发到路由器的相应接口;如果没有配置默认路由,则将该包丢弃,并返回不可到达的信息。这就是数据路由的过程
ARP工作原理:
局域网内两台主机A B。A发数据包给B,首先检查自己的ARP缓存表,发现没有与B的ip地址对应的mac地址,于是需要发ARP请求(源IP自己的,源MAC自己的,目标IP
是B的,目标MAC为FF-FF-FF-FF-FF-FF)。
交换机收到数据包后,发现目标MAC是广播帧,因此将该数据包从所有端口发送出去。B收到广播包后,发现IP地址是自己的,于是记录下A的IP和MAC地址到ARP缓存表上,并将自己的MAC地址回发给A。
A收到B的回复后,将B的IP和MAC更新到ARP缓存表中。
(而此时,交换机已经学习到了A和B的mac地址和相应的端口的对应关系)
打开一个网页数据的传输过程。
1.打开一个网页,首先是将域名解析到对方服务器的ip地址。系统先查看本机DNS,并比对本机ip地址,看是否是一个网段。(一般都不是)发现不是同一网段,需要将解析数据发往网关ip中转,查看本机arp缓存,发现没有对应的ip与mac地址arp缓存,则发送arp 广播包,网关回应arp报文告知网关mac地址。数据将封装成帧发往网关。
2.网关收到数据帧后,根据目的地址查看路由表,根据路由将数据帧封装成数据包发送到下一跳设备上,路由器需要做nat转换,并维护nat转换表项,内网ip端口对应路由器的外网ip端口。
3.下一跳设备受到包后,根据目的地址再转发到下一设备,(需要多次转发),转发过程中源地址一直是首次发包的源地址,目的地址一直是dns服务器。改变的只是传输途中数据帧mac地址的变化。
4.最终到达dns服务器,服务器将此域名和对应的ip地址回发回去。中间过程省略。到达用户路由器后,路由器根据源目的地址查找nat表项,并修改数据包再次回发到电脑上。
5.电脑获知此域名的ip地址。再次发起http会话连接。也是跟上面的过程一样。
HostA向HostB发数据包过程。