当前位置: 首页 > news >正文

计算机网络——数据链路层(以太网)

目录

局域网的数据链路层

局域网可按照网络拓扑分类 

局域网与共享信道 

以太网的两个主要标准  

适配器与mac地址

适配器的组成与运作 

MAC地址 

MAC地址的详细介绍 

局域网的mac地址格式 

mac地址的发送顺序

单播、多播,广播mac地址 

mac帧 

如何取用以太帧中的数据 

MAC子层填充字段 

以太网MAC帧进入物理层

其他注意事项与无效MAC帧 

CSMA/CD协议 

以太网用来简化通信的两种措施 

CSMA/CD协议的要点

CSMA/CD的缺陷

争用期

争用期的特点 

 不现实的理想争用期

练习 

共享式以太网的最小帧长和最大帧长 

最小帧长 

最大帧长 

练习 

共享式以太网的退避算法 

退避过程 

强化碰撞  

共享式以太网的信道利用率 

使用集线器的星形拓扑 

10BASE-T以太网 


局域网的数据链路层

        局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。

        在局域网刚刚出现时,局域网比广域网具有较高的数据率、较低的时延和较小的误码率。但随着光纤技术在广域网中普遍使用,现在广域网也具有很高的数据率和很低的误码率。

局域网具有如下的一些优点:

  • 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
  • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
  • 提高了系统的可靠性、可用性和生存性。
     

局域网可按照网络拓扑分类 

        以太网拓扑:逻辑上总线型,物理上星型

         总线网以传统以太网最为著名,但以太网后来又演变成了星形网。经过四十多年的发展,以太网的速率已大大提高。

        现在最常用的以太网的速率是1Gbit/s(家庭或中小企业)、10 Gbit's(数据中心)和100 Gbit/s(长距离传输),且其速率仍在继续提高。现在以太网已成为了局域网的同义词,

局域网与共享信道 

        必须指出,局域网工作的层次跨越了数据链路层和物理层。由于局域网技术中有关数据链路层的内容比较丰富,因此我们就把局域网的内容放在数据链路层这一章中讨论。但这并不表示局域网仅仅和数据链路层有关。

        共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体资源。这在技术上有两种方法:

1.静态划分信道:

  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用

        用户只要分配到了信道就不会和其他用户发生冲突。但这种划分信道的方法代价较高,不适合于局域网使用。

2.动态媒体接入控制:

        其特点是信道并非在用户通信时固定分配给用户。这里又分为以下两类:

        1)随机接入
                随机接入的特点是所有的用户可随机地发送信息但如果恰巧有两个或更多的用户在同一时刻发送信息,那么在共享媒体上就要产生碰撞(即发生了冲突),使得这些用户的发送都失败。因此,必须有解决碰撞的网络协议。

        2)受控接入
                受控接入的特点是用户不能随机地发送信息而必须服从一定的控制。这类的典型代表有分散控制的令牌环局域网和集中控制的多点线路探询,或称为轮询。

以太网的两个主要标准  

  • DIX Ethernet V2:第一个局域网产品(以太网)规约。
  • IEEE 802.3:IEEE 802委员会802.3 工作组制定的第一个IEEE的以太网标准。

        IEEE 802委员会未能形成一个统一的局域网标准,而是被迫制定了几个不同的局域网标准。

        为了使数据链路层能更好地适应多种局域网标准,他们将局域网的数据链路层拆成两个子层。

        逻辑链路控制LLC子层和媒体接入控制MAC子层。与接入到传输媒体有关的内容都放在 MAC子层,而LLC子层则与传输媒体无关,不管采用何种传输媒体和 MAC子层的局域网对 LLC子层来说都是透明的。

       

        LLC的作用:为数据建立连接,使他们在以太网上进行设备之间的传输


        MAC的作用:使用硬件地址,分配给网络接口卡,来标识特定的设备,显示源和目标数据传输

        然而到了20世纪90年代后,激烈竞争的局域网市场逐渐明朗。以太网在局域网市场中己取得了垄断地位,并且几乎成为了局域网的代名词。

        这里不必叙述后来陆续出现的多种以太网标准的详细过程。目前使用最多的局域网只剩下 DIX Ethernet V2(简称为以太网)而不是IEEE 802委员会制定的几种局域网。 

        本章在介绍以太网时就不再考虑LLC子层。这样对以太网工作原理的讨论会更加简洁。

适配器与mac地址

        适配器,也常被称为网络接口卡或网络接口控制器,在计算机网络中负责实现计算机与网络之间的物理和数据链路层连接。

要将计算机接入以太网,都需要使用网卡

        它是一个硬件组件,通常以扩展卡的形式插入主板的PCI插槽或直接集成在主板上。适配器的主要功能包括: 

  • 数据封装与解封装:将上层数据包(如IP包)封装成适合在物理介质上传输的数据帧,以及接收时进行相反的过程。
  • 物理地址(MAC地址)管理:每个适配器都有一个全球唯一的MAC地址,用于在网络中标识该设备。
  • 介质访问控制:遵循相应的介质访问控制协议(如以太网的CSMA/CD或无线网络的CSMA/CA),决定何时发送数据到共享介质上。
  • 数据传输:负责实际的数据传输,包括信号的发送与接收

适配器的组成与运作 

        

  • 在计算机内部,网卡与CPU之间的通信,一般是通过计算机主板上的IO总线以并行传输方式进行。
  • 网卡与外部以太网(局域网)之间的通信,一般是通过传输媒体(同轴电缆、双绞线电缆、光纤)以串行方式进行的。
  • 网卡除要实现物理层和数据链路层功能,其另外一个重要功能就是要进行并行传输和串行传输的转换。由于网络的传输速率和计算机内部总线上的传输速率并不相同,因此在网卡的核心芯片中都会包含用于缓存数据的存储器。
  • 在确保网卡硬件正确的情况下,为了使网卡正常工作,还必须要在计算机的操作系统中为网卡安装相应的设备驱动程序。驱动程序负责驱动网卡发送和接收帧。

         请注意,虽然我们把适配器的内容放在数据链路层中讲授,但适配器所实现的功能却包含了数据链路层及物理层这两个层次的功能。现在的芯片的集成度都很高,以致很难把一个适配器的功能严格按照层次的关系精确划分开。

         

        适配器的运作

  • 适配器在接收和发送各种帧时,不使用计算机的CPU。这时计算机中的CPU可以处理其他任务。
  • 当适配器收到有差错的帧时,就把这个帧直接丢弃而不必通知计算机。
  • 当适配器收到正确的帧时,它就使用中断来通知该计算机,并交付协议栈中的网络层。

        当计算机要发送IP数据报时,就由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。

        我们特别要注意,计算机的硬件地址就在适配器的ROM中;而计算机的软件地址——IP地址,则在计算机的存储器中。

MAC地址 

        在点对点信道中,数据链路层不需要使用地址,但是在广播信道中,需要辨别谁发送数据帧,谁接收数据帧,就需要硬件地址 

MAC地址的详细介绍 

        每个网络适配器都有一个固定的MAC地址,该地址在生产时就被固化到硬件中,不能更改。 

        (1)假定连接在局域网上的一台计算机的适配器坏了而我们更换了一个新的适配器,那么这台计算机的局域网的“地址”也就改变了,虽然这台计算机的地理位置一点也没有变化,所接入的局域网也没有任何改变。
        (2)假定我们把位于南京的某局域网上的一台笔记本电脑携带到北京,并连接在北京的某局域网上。虽然这台电脑的地理位置改变了,但只要电脑中的适配器不变,那么该电脑在北京的局域网中的“地址”仍然和它在南京的局域网中的“地址”一样。



         综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

        如果连接在局域网上的主机或路由器安装有多个适配器,该设备就有多个“地址”。
 

        MAC地址一般被固化在网卡的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址,所以MAC地址有时也被称为物理地址。

        不要被物理地址中的“物理”二字误导,误认为物理地址属于网络体系结构中物理层的范畴。物理地址属于数据链路层范畴。

  • 一般情况下,普通用户计算机中往往会包含两块网卡:
    • 一块是用于接入有线局域网的以太网卡
    • 另一块是用于接入无线局域网的Wi-Fi网卡
  • 每块网卡都有一个全球唯一的MAC地址。
  • 交换机和路由器往往具有更多的网络接口,所以会拥有更多的MAC地址。

局域网的mac地址格式 

        但是由于6字节的地址字段可使全世界所有的局域网适配器都具有不相同的地址,因此现在的局域网适配器实际上使用的都是6字节MAC地址。


        现在IEEE的注册管理机构RA 是局域网全球地址的法定管理机构,它负责分配地址字段的6个字节中的前三个字节(即高位24位)。世界上凡要生产局域网适配器的厂家都必须向IEEE购买由这三个字节构成的这个号(即地址块)。

        这个号的正式名称是组织唯一标识符OUI,通常也叫作公司标识符。但应注意,24位的OUI不能够单独用来标志一个公司,因为一个公司可能购买了几个OUI,也可能有几个小公司合起来购买一个 OUI。

        地址字段中的后三个字节(即低位24位)则是由厂家自行指派,称为扩展标识符,只要保证生产出的适配器没有重复地址即可。

        可见购买了一个 OUI,就可以生成出2^{24}个不同的6字节(48位)MAC 地址,这种地址又称为EUI-48,这里EUI表示扩展的唯一标识符

 

mac地址的发送顺序

单播、多播,广播mac地址 

        

        网卡从网络上每收到一个无误码的帧,就检查帧首部中的目的MAC地址,按以下情况处理:

  • (1)如果目的MAC地址是广播地址(FF-FF-FF-FF-FF-FF),则接受该帧。
  • (2)如果目的MAC地址与网卡上固化的全球单播MAC地址相同,则接受该帧。
  • (3)如果目的MAC地址是网卡支持的多播地址,则接受该帧。
  • (4)除上述(1).(2)和(3)情况外,丢弃该帧。

混杂方式: 

         网卡还可被设置为一种特殊的工作方式:混杂方式。工作在混杂方式的网卡,只要收到共享媒体上传来的帧就会收下,而不管帧的目的MAC地址是什么。

        对于网络维护和管理人员,这种方式可以监视和分析局域网上的流量,以便找出提高网络性能的具体措施。

        嗅探器就是一种工作在混杂方式的网卡,再配合相应的工具软件,就可以作为一种非常有用的网络工具来学习和分析网络。

        混杂方式就像一把“双刃剑”,黑客常利用这种方式非法获取网络用户的口令。

mac帧 

 

  1. 前导码:一系列的比特模式,用于同步接收器并指示新帧的到来。在以太网中,前导码通常由56位的10101010…101010位序列组成。
  2. 帧起始定界符:一个单独的位模式,用于标记MAC帧的开始。在以太网中,SFD是一个10101011位序列。
  3. 目的MAC地址:接收方网络接口卡的物理地址,长度为6字节(48位)。
  4. 源MAC地址:发送方网络接口卡的物理地址,同样为6字节。
  5. 类型/长度字段:用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报。
  6. 数据字段:承载来自网络层的数据,其长度可变,最大传输单元(MTU)通常受限于网络类型,例如以太网的最大有效载荷为1500字节。(46字节是这样得出的:最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)
  7. 帧检验序列:用于错误检测的循环冗余校验(CRC)值,通常为4字节

如何取用以太帧中的数据 

        Q1:MAC帧格式中,其首部并没有一个帧长度(或数据长度)字段,那么,MAC子层如何知道从接受的以太网帧取出多少字节的数据交付上一层协议?


         A1:曼彻斯特编码的一个重要特点就是:在曼彻斯特编码的每一个码元(不管码元是1或0)的正中间一定有一次电压的转换(从高到低或从低到高)。

        当发送方把一个以太网帧发送完毕后,就不再发送其他码元了(既不发送1,也不发送0)。因此,发送方网络适配器的接口上的电压也就不再变化了。

        这样,接收方就可以很容易地找到以太网帧的结束位置。在这个位置往前数4字节(FCS字段长度是4字节),就能确定数据字段的结束位置。

MAC子层填充字段 

        当数据字段长度小于46字节,MAC子层会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的Mac帧不小于64字节(注意是以太网的MAC帧而不是数据字段)
        

        Q1:IP层如何知道这里有没有填充字段?


        A1:IP协议首部有一个“总长度”字段,如果IP数据报的“总长度”超过或等于46字节,那么肯定没有填充字段;反之小于46字节,那么就很容易算出填充字段。

          例如,若IP数据报的总长度为42字节,填充字段就应当是4字节。当MAC 帧把46字节的数据上交给IP层后,IP层就把其中最后4字节的填充字段丢弃。

以太网MAC帧进入物理层

        

        

        在传输媒体上实际传送的要比MAC帧还多8个字节,这是因为一个站在刚开始接收MAC 帧时,由于适配器的时钟尚未与到达的比特流达成同步,因此MAC 帧的最前面的若干位就无法接收,结果使整个的MAC成为无用的帧。

        为了接收端迅速实现位同步,从 MAC子层向下传到物理层时还要在帧的前面插入8个字节(由硬件生成)

        第一个字段是7个字节的前同步码(1和О交替码),它的作用是使接收端的适配器在接收MAC帧时能够迅速调整其时钟频率,使它和发送端的时钟同步,也就是“实现位同步”(位同步就是比特同步的意思)。

        第二个字段是帧开始定界符,定义为10101011。它的前六位的作用和前同步码一样,最后的两个连续的1就是告诉接收端适配器:“MAC帧的信息马上就要来了,请适配器注意接收。”

其他注意事项与无效MAC帧 
  • 还需注意,在以太网上传送数据时是以帧为单位传送的。以太网在传送帧时,各帧之间还必须有一定的间隙。因此,接收端只要找到帧开始定界符,其后面的连续到达的比特流就都属于同一个MAC帧。可见以太网不需要使用帧结束定界符,也不需要使用字节插入来保证透明传输。
  • MAC 帧的FCS字段的检验范围不包括前同步码和帧开始定界符。
  • 顺便指出,在使用SONET/SDH进行同步传输时则不需要用前同步码,因为在同步传输时收发双方的位同步总是一直保持着的。

 IEEE 802.3标准规定凡出现下列情况之一的即为无效的MAC帧:

  • (1)帧的长度不是整数个字节;
  • (2)用收到的帧检验序列FCS查出有差错;
  • (3)收到的帧的MAC客户数据字段的长度不在46~1500字节之间。考虑到MAC帧首部和尾部的长度共有18字节,可以得出有效的MAC帧长度为64~1518字节之间。

对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

CSMA/CD协议 

         最早的以太网:将许多计算机都连接到一根总线上。

        总线的特点是:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据。


         为了在总线上实现一对一的通信,可以使每一台计算机的适配器都拥有一个与其他适配器都不同的地址。在发送数据帧时,在帧的首部写明接收站的地址。

        现在的电子技术可以很容易做到:仅当数据帧中的目的地址与适配器ROM中存放的硬件地址一致时,该适配器才能接收这个数据帧。


.        总线缺点:多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。

以太网用来简化通信的两种措施 

        为了通信的简便,以太网采取了以下两种措施:

        1. 采用较为灵活的无连接的工作方式

  • (1)不必先建立连接就可以直接发送数据。
  • (2)对发送的数据帧不进行编号,也不要求对方发回确认

注:

  1. 这样做可以使以太网工作起来非常简单,局域网信道的质量很好,因通信质量不好产生差错的概率是很小的。因此,以太网提供的服务是尽最大努力的交付,即不可靠的交付。
  2. 当目的站收到有差错的数据帧时(例如:用CRC查出有差错):就把帧丢弃,其他什么也不做。对有差错帧是否需要重传则由高层来决定。例如,如果高层使用TCP协议,那么TCP就会发现丢失了一些数据。于是经过一定的时间后,TCP就把这些数据重新传递给以太网进行重传。但以太网并不知道这是重传帧,而是当做新的数据帧来发送。
  3. 同一时间只能允许一台计算机发送数据:以太网采用最简单的随机接入来协调总线上各计算机的工作,但有很好的协议用来减少冲突发生的概率,以太网使用的协议是CSMA/CD

        2.以太网发送的数据都使用曼彻斯特编码

        

        Q1:为什么不使用其他二进制基带数据信号?

        A1:使用高、低电压交替出现的信号,最大问题就是当出现一长串连续的1或连续的0时,接收端就无法从收到的比特流中提取位同步(即比特同步)信号。详情如此

        曼彻斯特编码是从高电压变到低电压,这样保证了每一个比特的正中间出现一次电压的转换。而接收端就利用这种电压的转换很方便地把位同步信号提取出来。


        缺点:从曼彻斯特编码的波形图可以看出,这就是它所占的频带宽度比原始的基带信号增加了一倍(因为每秒传送的码元数加倍了)。

CSMA/CD协议的要点

1、多点接入

        说明这是总线型网络。许多计算机以多点接入的方式连接在一根总线上。协议的实质是“载波监听”和“碰撞检测”。

2、载波监听

        即“边发送边监听”不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道。在发送前检测信道,是为了避免冲突。

        如果检测出已经有其他站在发送,则本站就暂时不要发送数据。在发送中检测信道,是为了及时发现如果有其他站也在发送,就立即中断本站的发送。这就称为碰撞检测。

3、碰撞检测(冲突检测)

        适配器边发送数据,边检测信道上的信号电压的变化情况。当两个或几个站同时在总线上发送数据时,总线上的信号电压变化幅度将会增大(互相叠加)。

        电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞(或冲突)

        一旦发现总线上出现了碰撞,其适配器就要立即停止发送,免得继续进行无效的发送,白白浪费网络资源,然后等待一段随机时间后再次发送。

CSMA/CD的缺陷

         因为传播有时延,可能B还没传输到总线上,C未检测出来,于是发送了数据。

        退避一段时间,再次检测并重传该帧,总体流程如下:


        以太网还采取了另外一种措施如下:

  • 载波监听检测到总线空闲,但总线并不一定空闲。
  • 使用CSMACD协议的共享总线以太网上的各站点,只是尽量避免碰撞并在出现碰撞时做出退避后重发的处理,但不能完全避免碰撞。
  • 在使用CSMA/CD协议时,由于正在发送帧的站点必须“边发送帧边检测碰撞”,因此站点不可能同时进行发送和接收,也就是不可能进行全双工通信,而只能进行半双工通信(双向交替通信)。

争用期

争用期的特点 

 不现实的理想争用期

        从条件1与条件2就可以得知该状态不存在。

        另外考虑到其他时延因素, 争用期2τ应小于51.2μs。

练习 

        这里不能直接套前面的碰撞公式,注意这里是要求从发送数据到检测到碰撞时刻的最短时间,应该是分类讨论不同的情况

共享式以太网的最小帧长和最大帧长 

最小帧长 

有情况如下:

综合如上情况,我们可得出最小帧长的概念: 

        当某个站点在发送帧时,如果帧的前64B没有遭遇碰撞,那么帧的后续部分也就不会遭遇碰撞。也就是说,如果遭遇碰撞,就一定是在帧的前64B之内。
        由于发送帧的站点边发送帧边检测碰撞,一旦检测到碰撞就立即中止帧的发送,此时已发送的数据量一定小于64B。

        因此,接收站点收到长度小于64B的帧,就可判定这是一个遭遇了碰撞而异常中止的无效帧,将其丢弃即可。

最大帧长 

        如果不对帧的数据长度加以限制,会产生问题如下: 

        所以MAC帧最大长度为1518帧,数据载荷帧最小为46B也是为了满足这个最小帧长,如如果不满足,就填充字段。 

练习 

        这里了解一下最小帧长的公式,实际前面的以太网最小帧长公式就是通过该公式求出来的:


        另外,争用期2τ只跟信号速度与信道总长有关(即本质是信号从信道一端到达另一端的时间×2),不要被其他参量搞错了。

共享式以太网的退避算法 

        在使用CSMA/CD协议的共享总线以太网中,正在发送帧的站点一边发送帧一边检测碰撞,当检测到碰撞时就立即停止发送,退避一段随机时间后再重新发送。

        共享总线以太网中的各站点采用截断二进制指数退避(Truncated Binary Exponential Backoff)算法来选择退避的随机时间。
         

  • 如果连续多次发生碰撞,就表明可能有较多的站点参与竞争信道。但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大(即动态退避),因而减小产生碰撞的概率。
  • 当重传达16次仍不能成功时,就表明同时打算发送帧的站点太多,以至于连续产生碰撞,此时应放弃重传并向高层报告。

退避过程 
  1. 退避时间为:2 τ× r(争用期)
  2. 第一次冲突后,r={0,1},每个站点将会等待在0或者1个基本退避时间后进行重传。
  3. 第二次冲突后,r={0,1,2,3},每个站点将会随机等待0,1,2,3之中选取一个随机数乘以基本退避时间作为退避时间后再开始重传。
  4. 第i ≤ 10 i≤10次冲突后,r={0,1,2,3,……2^{i}-1}会在该区间整数中选取一个随机数乘以争用期作为退避时间后再开始重传。
  5. 第10次冲突后,r={0,1,2^=……1023},第十次之后,选择的基本的时间将会固定的在0到1023之间选取一个随机数乘以基本退避时间作为退避时间后开始重传。
  6. 第16次冲突后,发送失败,报告上层

强化碰撞  

        当发送数据的站一旦发现发生了碰撞时,除立即停止发送数据外,还要再继续发送32比特或48比特的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞

        TB:A站从发送数据开始到检测到碰撞并停止发送的时间间隔
        TJ:A站得知碰撞已经发生时发送的强化碰撞的干扰信号的持续时间

        τ:总线中干扰信号需要传送一个端到端的距离

        发生碰撞使A浪费的时间:TB+TJ

        整个信道被占用的时间:TB+TJ+τ

共享式以太网的信道利用率 

 


        提高信道利用率的提高方式:

        D选项中信号传播延迟趋近于0”,这相当于信号瞬间到达整个网络,致使公式中的τ=0,得出Smax=1 

使用集线器的星形拓扑 

        传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。

        采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器 (hub) 

(1)使用集线器的以太网在逻辑上仍然是总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议(更具体来说,各个站点适配的还是CSMA/CD协议),各站中的站点必须竞争对传输媒体对控制,并且在同一时刻至多只允许一个站发送数据
        从表面上看使用集线器的局域网物理上是一个星型网,但是由于集线器使用电子器件模拟实际电缆线的工作,所以运行从逻辑上讲还是和传统以太网一样。

(2)集线器有许多端口,是一个多端口的中继器,即一个多端口的转发器
        原先使用中继器作为物理层的转发设备时,只能互联两个端系统(即两台主机),所以超过两个设备的互联,中继器不再适用,所以出现了多个端口的转发设备-----集线器。

 

(3)集线器工作在物理层,它的每个端口仅仅简单地转发比特收到1就转发1,收到0就转发0,不进行碰撞检测。
        若两个端口同时有信号输入(即发生碰撞),那么所有的端口都将收不到正确的帧。

(4)集线器采用了专门的芯片,进行自适应串音回波抵消。
        这样就可使端口转发出去的较强信号不致对该端口接收到的较弱信号产生干扰(这种干扰即近端串音)。每个比特在转发之前还要进行再生整形并重新定时。
 

10BASE-T以太网 

  • IEEE于1990年制定了10BASE-T星型以太网的标准802.3i,这种以太网是局域网发展史上的一座非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础
  • 10BASE-T以太网的通信距离较短,每个站点到集线器的距离不能超过100m
  • IEEE 802.3以太网还可使用光纤作为传输媒体,相应的标准为10BASE-F,“F”表示光纤。光纤主要用作集线器之间的远程连接。

相关文章:

计算机网络——数据链路层(以太网)

目录 局域网的数据链路层 局域网可按照网络拓扑分类 局域网与共享信道 以太网的两个主要标准 适配器与mac地址 适配器的组成与运作 MAC地址 MAC地址的详细介绍 局域网的mac地址格式 mac地址的发送顺序 单播、多播,广播mac地址 mac帧 如何取用…...

Java ORM框架FastMybatis踩坑

Java ORM框架FastmyBatis踩坑 问题:使用了FastmyBatis的saveOrUpdate方法,明明设置了主键的值且表中存在,但是依然执行insert操作。导致Duplicate PK。 原因:使用了其他第三方包的注解指定表的主键,没有按照FastmyBat…...

AI是在帮助开发者还是取代他们?

AI是在帮助开发者还是取代他们? 在软件开发领域,生成式人工智能(AIGC)正在改变开发者的工作方式。无论是代码生成、错误检测还是自动化测试,AI工具正在成为开发者的得力助手。然而,这也引发了对开发者职业…...

C. Theofanis‘ Nightmare

原题链接 : Problem - 1903C - Codeforces 思路 : 创建一个后缀和数组 , 然后把所有后缀和>0的加入到答案中,注意,整个数组的和一定要加入答案中 ; 代码 java : package sf;import java.util.Scanner; import java.util.* ;public …...

加密货币大利好!9月降息概率突破70%!美国可能大幅降息或多次降息?

根据最新消息,美国9月降息的概率已经突破70%,这对加密货币市场来说是个利好消息。与此同时,美国经济表现疲软,可能会陷入衰退,联邦储备系统(Fed)接下来会不会果断采取大幅降息措施备受关注。 美国劳工统计局7月5日公布…...

Dns被莫名篡改的逆向分析定位(笔记)

引言:最近发现用户的多台机器上出现了Dns被莫名修改的问题,从系统事件上看并未能正常确定到是那个具体软件所为,现在的需求就是确定和定位哪个软件具体所为。 解决思路: 首先到IPv4设置页面对Dns进行设置:通过ProcExp…...

SpringBoot中整合ONLYOFFICE在线编辑

SpringBoot整合OnlyOffice SpringBoot整合OnlyOffice实现在线编辑1. 搭建私有的OnlyOffice的服务2. SpringBoot进行交互2.1 环境2.2 我们的流程2.3 接口规划2.3.1 获取编辑器配置的接口2.3.2 文件下载地址2.3.3 文件下载地址 3. 总结4. 注意4.1 你的项目的地址一定一定要和only…...

Python打字练习

代码解析 导入模块和定义单词列表 import tkinter as tk import randomsample_words ["apple", "banana", "cherry", "date", "fig", "grape", "kiwi", "lemon", "mango", &quo…...

Pytorch添加自定义算子之(10)-mmdeploy编译流程

整体参考 一、mmcv的编译安装 见上一篇 opencv的安装 $env:OpenCV_DIR = "D:\git_clone\opencv\build" # 我这里下载解压之后的地址 $env:path = "$env:OpenCV_DIR\x64\vc15\bin;" + $env:path $env:path = "D:\git_clone\opencv\build\OpenCVConf…...

大数据面试题之Flink(4)

Flink广播流 Flink实时topN 在实习中一般都怎么用Flink Savepoint知道是什么吗 为什么用Flink不用别的微批考虑过吗 解释一下啥叫背压 Flink分布式快照 Flink SQL解析过程 Flink on YARN模式 Flink如何保证数据不丢失 Flink广播流 Apache Flink 中的广播流&…...

C#实战|账号管理系统:通用登录窗体的实现。

哈喽,你好啊,我是雷工! 本节记录登录窗体的实现方法,比较有通用性,所有的项目登录窗体实现基本都是这个实现思路。 一通百通,以下为学习笔记。 01 登录窗体的逻辑 用户在登录窗输入账号和密码,如果输入账号和密码信息正确,点击【登录】按钮,则跳转显示主窗体,同时在固…...

php简单商城小程序系统源码

🛍️【简单商城小程序】🛍️ 🚀一键开启,商城搭建新体验🚀 你还在为繁琐的商城搭建流程头疼吗?现在,有了简单商城系统小程序,一切变得轻松又快捷!无需复杂的编程知识&a…...

NativeMemoryTracking查看java内存信息

默认该功能是禁用的,因为会损失5-10%的性能 开启命令 -XX:NativeMemoryTrackingdetail 打印命令 jcmd 45064 VM.native_memory summary scaleMB > NativeMemoryTracking.log 具体的日志信息 ➜ ~ ➜ ~ jcmd 45064 VM.native_memory summary scaleMB 45064…...

建智慧医院核心:智能导航系统的功能全析与实现效益

在数字化转型的浪潮中,智慧医院的建设是医疗行业数字化转型的关键步骤。随着医院规模的不断扩大和医疗设施的日益复杂,传统的静态不连续的导航方式已无法满足患者的需求。院内智能导航系统,作为医疗数字化转型的关键组成部分,正逐…...

数据库基础之:函数依赖

函数依赖在数据库设计中是非常关键的概念,用于描述关系数据库中数据项之间的相关性。下面我将通过几个例子来说明函数依赖的几种类型:完全函数依赖、部分函数依赖和传递函数依赖。 完全函数依赖 考虑一个关系模式 Student,包含属性 Student…...

Newport太阳光模拟器MSOL-UV-X使用说明手侧

Newport太阳光模拟器MSOL-UV-X使用说明手侧...

pandas读取CSV格式文件生成数据发生器iteration

背景 数据集标签为csv文件格式,有三个字段column_hander [‘id’, ‘boneage’, ‘male’],需要自己定义数据集。文件较大,做一个数据发生器迭代更新数据集。 实现模板 在Pandas中,可以使用pandas.read_csv函数读取CSV文件&…...

SpringBoot 启动流程四

SpringBoot启动流程四 前面这个创建对象是初始化SpringApplication对象 是加载了SpringBoot程序的所有相关配置 我们接下来要将这个run方法 run过程是一个运行 初始化容器 我们看我们的运行结果是得到一个ConfigurableApplicationContext对象 package com.bigdata1421.star…...

实现桌面动态壁纸(二)

目录 前言 一、关于 WorkerW 工作区窗口 二、关于窗口关系 2.1 窗口以及窗口隶属关系 2.2 桌面管理层窗口组分简析 2.3 厘清两个概念的区别 2.4 关于设置父窗口 三、编写代码以供在 Vista 上实现 3.1 方法二:子类化并自绘窗口背景 四、初步分析桌面管理层…...

JavaEE——计算机工作原理

冯诺依曼体系(VonNeumannArchitecture) 现代计算机,大多遵守冯诺依曼体系结构 CPU中央处理器:进行算术运算与逻辑判断 存储器:分为外存和内存,用于存储数据(使用二进制存储) 输入…...

并发、多线程和HTTP连接之间有什么关系?

一、并发的概念 并发是系统同时处理多个任务或事件的能力。在计算中,这意味着系统能够在同一时间段内处理多个任务,而不是严格按照顺序一个接一个地执行它们。并发提高了系统的效率和资源利用率,从而更好地满足用户的需求。在现代应用程序中&…...

展开说说:Android服务之startService源码解析

通过上一篇文章我们掌握了Android四种的基本使用,本篇从源码层面总结一下startService的执行过程。 本文依然按着是什么?有什么?怎么用?啥原理?的步骤来分析。 1、是什么 上一篇总结了“Service是Android系统中的四…...

Java + MySQL 实现存储完整 Json

Java MySQL 实现存储完整 Json 一、应用场景二、数据库配置三、后端代码配置1、maven 依赖2、实体类3、Service 实现类4、xml 文件 四、测试1、新增接口2、查询接口3、数据表内容 一、应用场景 将前端传过来的 Json 完整存储到 MySQL 中,涉及技术栈为 Java、MyBat…...

解决刚申请下来的AWS EC2,无法用finalshell连接的问题

在AWS的命令页面创建一个root用户 切换到root 模式,输入密码 su root 不知道密码的可以使用一下命令来设置root用户的密码: su passwd root 再切换到root用户 su 修改配置文件 输入 vim /etc/ssh/sshd_config进入文件,键入’i’ ,进行…...

如何在PD虚拟机中开启系统的嵌套虚拟化功能?pd虚拟机怎么用 Parallels Desktop 19 for Mac

PD虚拟机是一款可以在Mac电脑中运行Windows系统的应用软件。使用 Parallels Desktop for Mac 体验 macOS 和 Windows 的最优性能,解锁强大性能和无缝交互。 在ParallelsDesktop(PD虚拟机)中如何开启系统的嵌套虚拟化功能?下面我们…...

vue中实现button按钮的重复点击指令

// 注册一个全局自定义指令 v-debounce Vue.directive(debounce, {// 当被绑定的元素插入到 DOM 中时...inserted: function (el, binding) {let timer;el.addEventListener(click, () > {clearTimeout(timer);timer setTimeout(() > {binding.value(); // 调用传给指令…...

智能与伦理:Kimi与学术道德的和谐共舞

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 Kimi,由月之暗面科技有限公司开发的智能助手,擅长中英文对话,能处理多种文档和网页内容。在论文写作中,Kimi可提供资料查询、信息整理、语…...

mac有什么解压软件 mac怎么解压7z软件 苹果电脑好用的压缩软件有哪些

众所周知,macOS集成解压缩软件归档实用工具,可直接解压zip格式的压缩包。但对于其他比较常见的格式,诸如RAR、7z、TAR等,则无能为力,不过,我们可以选择大量第三方解压缩软件,帮助我们更好地完成…...

C语言_练习题

求最小公倍数 思路:假设两个数,5和7,那么最小至少也要7吧,所以先假定最小公倍数是两个数之间较大的,然后看7能不能同时整除5和7,不能就加1继续除 int GetLCM(int _num1, int _num2) {int max _num1>_n…...

Type-C接口快充取电技术的实现

Type-C接口快充取电技术的实现 Type-C接口快充取电技术主要通过USB PD(Power Delivery)协议实现。这种技术利用了Type-C接口的物理特性和PD协议的智能性,实现了高效、安全、快速的充电过程。具体实现过程如下: 接口连接与检测&a…...

压测工具---Ultron

压测工具:Ultron 类型:接口级和全链路 接口级 对于接口级别的压测我们可以进行 http接口压测、thrift压测、redis压测、kafka压测、DDMQ压测、MySQL压测等,选对对应的业务线、选择好压测执行的时间和轮数就可以执行压测操作了 全链路 对…...

Kubernetes 负载均衡器解决方案 MetalLB实践

Kubernetes 负载均衡解决方案 MetalLB实践 MetalLB 是一个用于在 Kubernetes 集群中提供外部 IP 地址的负载均衡器实现。 准备工作 1. 安装需知 安装 MetalLB 有一些前置条件: Kubernetesv1.13.0 或者更新的版本 集群中的 CNI 要能兼容 MetalLB,最新…...

力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)

力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和) 文章目录 力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)一、151. 反转字符串中的单词二、129. 求根节点到叶节点数字之和三、104. 二…...

(七)[重制]C++命名空间与标准模板库(STL)

​ 引言 在专栏C教程的第六篇C中的结构体与联合体中,介绍了C中的结构体和联合体,包括它们的定义、初始化、内存布局和对齐,以及作为函数参数和返回值的应用。在专栏C教程的第七篇中,我们将深入了解C中的命名空间(nam…...

Elasticsearch:Runtime fields - 运行时字段(一)

目录 使用运行时字段带来的好处 激励 折衷 映射运行时字段 定义运行时字段而不使用脚本 忽略运行时字段上的脚本错误 更新和删除运行时字段 在搜索请求中定义运行时字段 创建使用其他运行时字段的运行时字段 运行时字段(runtime fields)是在查询…...

03:C语言运算符

C语言运算符 1、常见运算符2、赋值运算符3、判断运算符4、与- - 1、常见运算符 数学运算符号。常见数学运算符号,跟数学中理解相同 加号 - 减号 * 乘号 / 除号,相除以后的商 % 取余符号,相除以后余数是几 ()括号括起来优先级最高&#xff0…...

JAVA每日作业day7.4

ok了家人们今天学习了Date类和simpleDateformat类,话不多说我们一起看看吧 一.Date类 类 java.util.Date 表示特定的瞬间 ( 日期和时间 ) ,精确到毫秒。 1.2 Date类的构造方法 public Date(): 用来创建当前系统时间对应的日期对象。 public Date(long …...

WordPress网站违法关键词字过滤插件下载text-filter

插件下载地址:https://www.wpadmin.cn/2025.html 插件介绍 WordPress网站违法关键词字过滤插件text-filter由本站原创开发,支持中英文关键字自动替换成**号,可以通过自定义保存修改按钮增加“预设关键字”,也可以导入定义好的txt文本形式的关…...

ros1仿真导航机器人 navigation

仅为学习记录和一些自己的思考,不具有参考意义。 1navigation导航框架 2导航设置过程 (1)启动仿真环境 roslaunch why_simulation why_robocup.launch (2)启动move_base导航、amcl定位 roslaunch why_simulation nav…...

Python制作动态颜色变换:颜色渐变动效

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame颜色变换函数主循环 完整代码 引言 颜色渐变动画是一种视觉上非常吸引人的效果,常用于网页设计和图形应用中。在这篇博客中,我们将使用Python创建一个动态颜色变换的动画效果。通…...

Python 异步编程介绍与代码示例

Python 异步编程介绍与代码示例 一、异步编程概述 异步编程是一种编程范式,它旨在处理那些需要等待I/O操作完成或执行耗时任务的情况。在传统的同步编程中,代码会按照顺序逐行执行,直到遇到一个耗时操作,它会阻塞程序的执行直到…...

堆叠的作用

一、为什么要堆叠 传统的园区网络采用设备和链路冗余来保证高可靠性,但其链路利用率低、网络维护成本高,堆叠技术将多台交换机虚拟成一台交换机,达到简化网络部署和降低网络维护工作量的目的。 二、堆叠优势 1、提高可靠性 堆叠系统多台成…...

ubuntu 如何查看某一个网卡的ip地址

在Ubuntu中,你可以使用多种方法来查看某一个网卡的IP地址。以下是一些常用的方法: 使用ip命令: ip命令是现代Linux系统中用于显示和操作路由、网络设备、策略路由和隧道的工具。要查看所有网络接口的IP地址,你可以使用&#xff1a…...

跨界客户服务:拓展服务边界,创造更多价值

在当今这个日新月异的商业时代,跨界合作已不再是新鲜词汇,它如同一股强劲的东风,吹散了行业间的壁垒,为企业服务创新开辟了前所未有的广阔天地。特别是在客户服务领域,跨界合作正以前所未有的深度和广度,拓…...

linux驱动编程 - kfifo先进先出队列

简介: kfifo是Linux Kernel里面的一个 FIFO(先进先出)数据结构,它采用环形循环队列的数据结构来实现,提供一个无边界的字节流服务,并且使用并行无锁编程技术,即当它用于只有一个入队线程和一个出…...

JS 四舍五入使用整理

一、Number.toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字,重点返回的数据类型为字符串 toFixed() 方法将一个浮点数转换为指定小数位数的字符串表示,如果小数位数高于数字,则使用 0 来填充。 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。…...

上万组风电,光伏,用户负荷数据分享

上万组风电,光伏,用户负荷数据分享 可用于风光负荷预测等研究 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取码:381i 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取…...

在物联网快速发展的趋势下,Java 怎样优化对低功耗、资源受限的边缘设备的支持,保障物联网应用的稳定运行?

在物联网快速发展的趋势下,Java可以通过以下方式优化对低功耗、资源受限的边缘设备的支持,以保障物联网应用的稳定运行: 精简Java运行环境:针对边缘设备的资源限制,可以使用精简型的Java运行环境,避免不必要…...

java-HashSet 源码分析 1

## 深入分析 Java 中的 HashSet 源码 HashSet 是 Java 集合框架中的一个重要类,它基于哈希表实现,用于存储不重复的元素。HashSet 允许 null 元素,并且不保证元素的顺序。本文将详细分析 HashSet 的源码,包括其数据结构、构造方法…...

K8S 部署 EFK

安装说明 系统版本为 Centos7.9 内核版本为 6.3.5-1.el7 K8S版本为 v1.26.14 ES官网 开始安装 本次安装使用官方ECK方式部署 EFK,部署的是当前的最新版本。 在 Kubernetes 集群中部署 ECK 安装自定义资源 如果能打开这个网址的话直接用这个命令安装,打不开的话…...