首页 > 其他分享 >【原创】局域网某视频总结《二》

【原创】局域网某视频总结《二》

时间:2023-09-19 14:36:41浏览次数:32  
标签:总结 视频 IP 地址 局域网 MAC 交换机 终端 转发

       大家好,我是你们的龙少一郎,还是那个不变的我。自从看过某师视频以来,就对它迷恋如相好,膜拜如山倒。现在我就对看过的内容写出系列体会之如下:《网络基础之二层介绍》
        我首先说明的是我对写的内容是对看到的自我体会写下来的,没有前后顺序之分,也没有十分严谨的语言逻辑,说白了就是想到哪写到哪,但肯定是对无基础的同学们是一个不错的积累,希望对这些人有所参考,有所帮助。
      今天我会着重讲一下二层交换机和三层交换机(带路由功能的交换机)的转发原理、以及二层数据帧结构、物理和逻辑拓扑的区分。

       交换机和路由器现在区分有点模糊化。我们一般将有些路由器说成是带有交换机功能的三层交换机,比如3845、比如3560等。但总而言之,交换机要想进行数据转化必须要借助其创建的MAC地址表;而路由器必须要借助其自身的FIB表(路由表)、arp表。区分的根本就是根据其转发原理来决定的,说到这,大家肯定会想到个人PC,服务器等。对,它们就一个三层设备。接下来,我先谈下二层数据帧结构,如下图所示:     

                                                                 

 



       这两个数据帧封装方式不同,根本是由应用场景决定的。怎么讲?ethernet主要用于用户终端和用户终端、用户终端和服务器之间的数据封装方式。打个比方:终端A和终端B进行数据通讯,传输文件也好、QQ聊天也罢等,都是以这种格式进行封装的。还有一种方式,就是终端A或终端B进行服务器的访问,比如页面访问、视频的浏览等,都是某种用户终端间的协议沟通、数据的可达。而802.3主要是设备间的通讯,共同维持设备间的某种状态,比如生成树中根桥的选举。说白了,就是设备间为了达成某种共识,共同维护其传输的可靠性,而在设备间进行的数据传输,用户无需关心,它就已经存在了。说了数据封装的结构,我们接下来再来谈谈交换机的转发原理。

        转发是二层中的重中之重,也是必须要搞清楚的理论依据,才能对各种二层故障有深入的了解和认识。

                                                             

 


       我对大家解释并简单深入的描述下这其中的转发过程,希望对用心的你有所帮助。你觉得有用,它就有用;你觉得无用,它就真的没有用。它的过程其实很简单,整个过程都是在广播域中完成的。当终端A发送一个数据包去访问终端B,无论是通过什么样的方式去访问,telnet也好、ping也行或者是http的形式,都会有一个数据请求去访问B,但是此时的数据包过程是这样的:终端A的源MAC为AAAA,目标B的目标MAC为X.X.X.X,然后就是源IP为1.1.1.1,目标IP为1.1.1.2,进行封装准备发送时,交换机SW1,拿到传送过来的数据帧时,拆开查阅一下,根本没有目标MAC,于是直接丢包!为什么这里的目标MAC为X.X.X.X呢?因为当终端A初次发送数据时,它不可能知道终端B的MAC,既然不知道为什么不一次封装目标MAC为全FFFFFFFF呢?这个问题问得好!因为终端A初次发给一个广播域内的其他IP时,它首先查看自己的arp表,根本没有这样的IP:BBBB所对应的MAC地址,所以第一次封装失败!丢包!第二次,才会以全FFFFFFFF,换成二进制时为48个1的目标MAC地址形式进行封装发送。也就是此时,第二次的数据帧结构为:源MAC为AAAA,目标MAC为FFFFFFFF,源IP为1.1.1.1,目标IP为1.1.1.2,交换机只接受广播MAC地址和指定目标的单播MAC地址,此时拆开帧头一看,有目标全为FFFFFFFF的MAC地址,赶紧转发。转发到除去本身的端口2进来的端口之外的其他端口,这里是第4端口。同时,它自身会创建一个MAC地址表,如上图片,将端口编号、进来的源MAC地址和进入的物理端口进行关联。从交换机SW1的第4个端口转发出去之后,交换机SW2收到来自交换机SW1的数据帧,立即查阅一看,发现来自源MAC地址为终端A的MAC:AAAA,目标MAC地址为全FFFFFFFF,所以赶紧转发,同SW1那样,然后从交换机SW2的第8端口转发出去。此时,终端B收到后,立即拆开一看,目标MAC为全FFFFFFFF,因为这个广播MAC,只要在同一个广播域内的所有设备都要接受查看,它代表着所有设备在同一个广播域内必须接受,既然终端 B接受了,它再往下一看,目标IP为1.1.1.2,是给自己的,于是立即创建了ARP表,表中含有自己和终端A的IP和MAC关联信息,并封装好自己的返回数据帧为源MAC为BBBB,目标MAC为AAAA,源IP为1.1.1.2,目标IP为1.1.1.1,进行单播发送给A,此时整个过程分为了两个过程:从终端A到终端 B为arp request过程;从终端B到终端 A为arp reply过程。完成了这两个过程,同时当返回数据包到达终端 A后,终端 A也需要创建arp表,将终端B的IP和MAC关联起来,这样下次再进行数据传输时就是单播传输,从而减少了带宽浪费,优化了网络的性能。整个过程示意图如下:

                                                                     

 


       也许,大家对这个简单的二层数据过程就有点晕晕沉沉了。别急,接下来还有三层转发过程。希望大家细心体会并最终达到心领神会。如下:  

                                                                   

 



       以上就是二层交换和三层交换机的数据转发原理和区别了,希望你引起足够的重视!另外,我说下MAC地址的构成方式。

       MAC地址作为交换机一个重要的转发依据。也是交换机的心脏,所以有必要对其中的MAC地址的地址结构进行说明一下。
        

                                                                       

 



       第一个1字节位为广播位,表示:当为广播数据帧时,为1;当为0示,表示传输的是非广播数据帧。

       第二个1字节位为本地使用MAC,表示:这些位表示保留MAC用于网络实验室研究技术型协议的。

       第三个22字节的表示厂商唯一标识符。每个厂商单独向IEEE标准委员会进行申请注册使用的,每个标识符可以生产2的24次方个MAC地址的网卡。

       第四个24字节表示用户自定义标识符,表示用户可以生产的MAC地址数目。每个MAC地址都是独一无二的。

       今天,先暂时写到这里,下次想到其他的我会继续接着写,只要大家愿意学,愿意看,愿意思考,我就愿意分享,即使写的不对,也请大家予以指正。

                                                                                           

 



                             

      

标签:总结,视频,IP,地址,局域网,MAC,交换机,终端,转发
From: https://www.cnblogs.com/longshao0918/p/17714527.html

相关文章

  • 【原创】局域网某视频总结《一》
        大家好,我是你们的龙少一郎,还是那个不变的我。自从看过某师视频以来,就对它迷恋如相好,膜拜如山倒。现在我就对看过的内容写出系列体会之如下:《网络基础之二层介绍》       我首先说明的是我对写的内容是对看到的自我体会写下来的,没有前后顺序之分,也没有十分严谨......
  • 【RocketMQ】消息的消费总结
    消费者从Broker拉取到消息之后,会将消息提交到线程池中进行消费,RocketMQ消息消费是批量进行的,如果一批消息的个数小于预先设置的批量消费大小,直接构建消费请求ConsumeRequest将消费请求提交到线程池处理,否则需要分批构建进行提交。消息消费在消息被提交到线程池后进行处理时,会调......
  • 短视频app源码,Android TextView文字,删除线以及下划线
    短视频app源码,AndroidTextView文字,删除线以及下划线1、删除线 TextViewtextview=(TextView)view.findViewById(R.id.textviewk);textview.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);​2、下划线 TextViewtextview=(TextView)view.findViewById(R.id.textvi......
  • android短视频开发,点击两次实现不同点击效果的实现方式
    android短视频开发,点击两次实现不同点击效果的实现方式布局:<RelativeLayout    android:id="@+id/rl_picture_group"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:visibility="gone"......
  • 2-web前端 音频、视频、表格、表单
    1.音频2.视频3.有序无序列表有序列表:ol>liol内必须是li,li内没限制无序列表:ul>liul内必须是li,li内没限制4.表格 th---字体加粗并居中示例: 案例:个人简历 5.表单 针对表单整理的相关问题:<!--action:行动提交的地址服务器地址后台地址收件人地址......
  • 嵌入式三级知识点总结最终章
    181. 操作系统为软件系统提供了多任务运行环境等等而不是板级支持包,BSP运行之前,调试工具不能够用,BSP调试分两步 最小系统和外围设备驱动程序调试。182. RAM访问速度要比ROM快很多。183. U-Boot能够支持多种体系结构的处理器但是每种结构有其自身的版本。184. VXworks(微内核)......
  • 全网最详细的OSPF原理总结,看这篇就够了!
    大家好,我的网工朋友。OSPF是一种基于链路状态的路由协议,也是专为IP开发的路由协议,直接运行在IP层上面。它从设计上保证了无路由环路。除此之外,IS-IS也是很常见的链路状态协议。为什么会出现OSPF?作为目前主流的IGP协议,OSPF主要是为了解决RIP的三大问题而出现的,比如:收敛很慢、容......
  • Glide源码阅读之工厂模式4总结
    工厂模式的应用比较多;变化形态也是各种各样。但经过这段时间的解读。大概可以用浓缩为1、不是使用new创建对象;2、没有明显build方法创建对象;3、带xxxFactory的几乎都满足工厂模式。当然第3点比较明显。如果不带xxxFactory等这样的标识那看看是否有implements、extends。而且内......
  • Glide源码阅读之策略模式4总结
    《Android源码设计模式解析与实践》定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化使用场景针对同一类型问题的多种处理方式。仅仅是具体行为有差别时需要安全地封装多种同一类型的操作时出现同一抽......
  • 迭代器、生成器、模块和包知识点总结
    第一部分:迭代器 例1. for....in运行机制li=[1,2,3,4]#在列表中取值从第一个取到最后一个结束#foriinli:#print(i)#1,2,3,4i=0whilei<len(li):#索引#print(i)#输出索引0,1,2,3print(li[i])#取列表值i+=1print(i)#i=4的时......