• 计算机网络学习笔记--数据链据层上的设备详解


      在数据链路层工作的主要设备,常见的有网卡,网桥,和二层交换机.

     网卡(网络适配器):

      网卡,也叫网络适配器,是安装在计算机上,用来连接计算机网络的,是计算机网络中最基础的网络设备,网卡类型总的来说分为有线以太网卡,WLAN无线网卡两大类.

      常见的有双绞线以太网卡:

    网卡的功能:

      网卡和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,网卡将计算机的数据封装成帧,并且通过上述设备将数据发送到网络上,而网卡和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行,网卡接收其他网络上发送来的帧,并将帧重新组合成数据,通过主板上的总线传给计算机。因此,网卡的一个重要功能就是要进行串行/并行转换

    网卡地址:

      世界上每一个网卡上面都有一个唯一的编码,称为MAC地址,MAC地址是固化在网卡上的,一般不可改变,是网络上用来表示一个网络硬件设备的标识符.

      MAC地址长度一般为48位,前24位称为机构唯一标识符,由IEEE分配以标识不同的生产厂商.后24位称为扩展标识符,用来表示每个网卡,由生产厂商指定.

      MAC地址常用12位16进制数来表示,如 00-23-5A-15-99-42.

    网桥:

      网桥是早期的两端口二层网络设备,是用来连接不同网段的设备,同时可以隔离冲突域,因为它的两个端口不是共享一条总线的(分别有一条独立的交换信道),比当时的集线器(Hub)性能更好(集线器各端口是共享同一条总线的),后来网桥被具有更多端口,同时也能隔离冲突域的交换机所取代了.

      网桥只有两个端口,所以所连接的两个物理网段的主机通常是由当时的集线器集中连接的,网桥端口一般不直接连接主机.软件中通常所说的桥接(如VMware中的桥接工作模式)也就是网桥的作用,它连接的也是同一网络或子网中的不同网段.

      网桥的工作原理:

          

    如图,假设主机A要向主机D发送数据,网段一和网段二的主机实际是通过集线器进行连接管理的,集线器是物理层设备,不能识别帧中的MAC地址,所以会以广播的方式发送帧数据:

      1,当网桥收到集线器的广播帧后,网桥会把帧中的源MAC地址和目标MAC地址,与站表(缓存)中保存的MAC地址进行比较.

      2,如果发现这两个MAC地址属于同一物理网段,则网桥不会把该帧转发到下一个端口,这里即网段上的主机,直接丢弃数据帧,起到了隔离冲突域的作用,这里因为是主机A发送给主机D,二者的MAC地址不在同一网段,那么网桥会把该帧数据转发到网段2上,再通过集线器以复制的方式广播到主机D上.D就能收到来自主机A的数据了.
      起初,网桥的缓存表中是没有任何MAC地址的,他可以通过自动记录学习,很快的都把整个网络中各主机MAC地址和对应的物理网段全部记录下来,形成一张映射表.

     二层交换机:

      交换机可以说是集线器和网桥的升级换代产品,它既具有集线器一样的集中连接功能,又具有网桥的数据交换功能,所以交换机被称为多端口的网桥,其实也可以称作是带有交换功能的集线器.

      下图就是一个交换机:

    交换机的特性:

    1.   具有多个交换接口,不仅每个接口可以连接一个不同的网段(交换机上一个端口对应一个物理网段),还可以有大量的端口来集中连接主机,这样就同时担任了集线器和网桥的双重功能.
    2.   数据转发效率更高,集线器是使用广播方式发送数据,会使信道负荷很大,且利用率低,有了交换机之后,直接连接主机,数据的转发就可以直接通过提取帧中的MAC地址来直接发送到目标主机上,而不是通过广播方式,转发效率和信道利用率都大大提高.
    3.   更强的MAC地址自动学习能力,交换机的缓存也比网桥的大,适用于较大的网络.

         交换机工作原理和网桥差不多,并且现在的二层交换机一般都支持VLAN(虚拟局域网),所以它还具有消除回路,抑制广播域的功能.

  • 相关阅读:
    head命令
    less命令
    解决get方法传递URL参数中文乱码问题
    The method convert(String) of type DateConverter must override a superclass method
    Tomcat Can't load AMD 64-bit .dll on a IA 32
    聚合函数查询 group by having
    string[] 清理重复+反转显示
    C# GetValueList 获得字符串中开始和结束字符串中间得值列表
    C# GetValue 正则获取开始结束代码
    string [] 去除重复字符两个方法
  • 原文地址:https://www.cnblogs.com/fingerboy/p/5386869.html
Copyright © 2020-2023  润新知