宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

网络拓扑

拓扑(Topology):网络连接图。
网络按照拓扑类型按照接入设备划分,可以分成两种类型:

  • 总线型网络:通过集线器(Hub)将终端设备(PC Printer)连接形成的网络,属于OSI一层(Layer 1)网络。
  • 星形网络:通过交换机(Switch)将终端设备(PC Printer)连接形成的网络,属于OSI二层(Layer 2)网络。

总线型网络

网络之交换机原理-编程部落
总线型网络的工作原理

数据从终端PCA通过Hub集线器发送到终端PCB,需要进行数据封装,添加一些头信息,形成类似这样的数据包(“Header(源地址 目的地址)|Header(源端口 目的端口)|数据XXXXX”),再由接入设备,通过目的地址找到PCB

Q:Hub集线器是一个一层设备,功能只有转发数据,根本不认识Header,自然也就无法获得PCB的目的地址,那Hbu是怎样把数据转发给PCB的呢?

答案:数据全发,又称之为数据泛洪(Flooding)。Bub会把数据拷贝N份,全部发到所有与之相联的终端PC…上,PCX如果发现是我的消息就处理,不是我的就丢弃。总有正确的一路到达PCB,并且在这个过程中Hub采用的是半双工工作方式进行数据转发。一端发送数据的时候,其他端必须等待接收完毕,才能向外发送数据;如果有两端同时向Hub发送数据,就会发生数据冲突,形成冲突碎片导致数据不能用。为了避免这种情况发生,Hub采用CSMA /CD(载波侦听多路访问/冲突检测),来抑制冲突。

总线型网络的缺点

  • 正是因为,Bub采用半双工的工作模式,数据转发效率很低。而且CSMA /CD无法完全避免,冲突碎片产生。
  • 因为Hub采用,数据泛洪的工作模式,数据全发就会浪费带宽。

正是由于有这些缺点,所以集线器在现代网络中,早已经被淘汰了;取而代之的是交换机(Switch)。

双工模式
单工:A到B的通路上,只能A向B发消息,或者只能B向A发消息,不能双向发送消息。
半双攻:A到B的通路上,可以A向B发消息,也可以B向A发消息,但不能同时双向发生消息,必须等待一端接收完毕。
全双工:A到B的通路上,可以A向B发消息,也可以B向A发消息,也可以同时双向发送信息。

广域网VS局域网

  • 局域网(LAN):覆盖范围比较小,节点数量比较少的网络,包含以下协议。

    • 以太网协议(Ethernet)
    • 令牌环协议 (Token Ring)
    • 光纤分布数据接口协议(FDDI)
  • 广域网(WAN):覆盖范围比较大,节点数量众多的网络,包含以下协议。

    • 高级链路控制协议(HDLC)
    • 点到点协议(PPP)
    • 帧中继协议(Frame-Relay)

局域网,广域网包含的协议都属于OSI二层协议 数据链路层协议

什么是协议?
协议简单来说就是网络中各终端,在发送,接收数据时,必须要遵守的规则,约束,规定;各种的协议形成一组协议栈(例如TCP/IP OSI),一起保证数据从网络的一端 安全完整,的发送到另一端。

只要由双绞线,光纤连接的网络就是以太网协议。

以太网 MAC地址

MAC地址:介质访问控制地址(Media Access Control ),是以太网规定的一个数据链路层的硬件物理地址,属于OSI二层地址。

MAC地址的特点

  • MAC地址用48bit6Byte字节表示。
  • MAC地址是在网内标识终端物理网络地址的唯一标识,全球唯一。
  • MAC地址是在网卡出厂的时候,以只读的方式,写入到网卡ROM(Read Only Mermory 只读存储器)中的。

MAC地址格式
华为:XX-XX-XX-XX-XX-XX 4bit表示一个X,代表一个十六进制数,0-9 A-F。
思科:XXXX.XXXX.XXXX
前24位:OUI组织唯一标识符,表示地址所属公司;需要向IANA组织购买(MAC IPV4 IPV6)。
后24位:表示可以可分配的地址,有2的24次方 1700w个地址。

MAC地址和IP地址的区别

  • MAC地址:只能在一个网络内去标识一个节点,只在一个网络内有意义,相当于身份证。
  • IP地址:能在全局网络上标识一个节点,即在网络内有意义,又在网络间有意义,相当于护照。

多路访问网络(MA): 一个网络中可以包含任意多个节点(由集线器Hub或者交换机Switch连接形成的网络),需要二层地址。

点到点的网络(P2P):一个网络中只有两个节点。(R1——R2 :路由器R1通过serial串行线缆连接路由器R2形成的网络)不需要二层地址。

以太网数据帧

以太网发送数据的格式是以数据帧Frame)的形式传递的。
数据帧格式:Ethernet2(DMAC SMAC TYPE)|IPV4/IPV6|TCP/UDP|数据载荷(Payload)|FCS。

应用数据载荷封装过程

  • 在数据载荷的头部添加一个OSI四层协议,TCP/UDP协议头,形成一个数据段(Segment)。
  • 在数据段的头部添加一个OSI三层协议,IPV4/IPV6协议头,形成一个IP数据报(Datagram)。
  • 在数据报的头部添加一个以太网帧头,在尾部添加一个以太网帧尾,形成一个以太网数据帧(Frame)。

ARP协议

网络内两个节点在以太网上通信,不仅需要知道对方的IP地址,还得知道对方的MAC地址。可是两个节点上应用/管理员进行通信,应用和管理员只知道IP地址,不知道MAC地址,怎样获得MAC地址呢?通过ARP协议获取。

为什么用户只关心IP
IP地址的最大好处就是,我不管和你是不是在同一个网络,我要和你通信,我都需要知道你的IP
并且也比较短,比较好记。对于用户也好,设备也好,应用程序也好,在网络通信的时候我更加关心对方的IP地址。

ARP:地址解析协议。

PCA要和PCB进行网络通信,地址解析过程

  1. 在通信前PCA利用目的IP地址去本机ARP表查找PCBMAC地址。
  2. 如果表项不存在,PCA发送一个ARP广播,这个ARP广播中包含PCBIP地址。
  3. 网络内所有的主机PCX都接受到广播开始处理,PCB自然也受到了广播。
  4. PCB收到广播后,会产生一个ARP应答。在应答中包含PCBMAC地址。
  5. PCA收复PCBMAC地址以后,会和PCBIP进行一对一绑定,形成一个ARP表项,并记录在本机的ARP表中。
  6. PCAPCBIPMAC地址,将数据封装成帧。然后发送给PCB

注意:正是因为APR广播,会影响到网络内的所有主机,所以一个网络内的主机不应该过多。过多会浪费很多链路带宽。10M的带宽让254台机器用,一台机器获得的带宽有限。并且还得处理很多不想相干的广播。消耗CPU,内存资源。

星型网络

网络之交换机原理-编程部落

交换机

交换机(Switch):是一个OSI二层设备。

交换机的作用

  • 通过识别MAC地址表,又叫CAM表(内容可寻址存储器)中记录的源目MAC地址项,在网络间精确的转发数据。
    • MAC地址表,包含计算机的MAC地址;计算机连接交换机的接口。
  • 通过FCS帧校验序列,哈希算法。可以校验数据帧的完整性。
  • 分割冲突域。
    • 如果主机PC通过集线器Hub再连接到交换机Switch上,如果有PC0PC1同时向PC4发送数据,就会产生冲突。数据帧到达交换机SwitchSwitch通过FCS校验,发现是冲突碎片,就会丢弃。一个交换接口连接的就是一个冲突域。
      网络之交换机原理-编程部落

冲突域:
在一次数据冲突中,能影响到的所有机器的集合,就叫做一个冲突域。

交换机控制层面

  • 控制层面(Cantrol Plane):交换机如何得知网络连接信息,如何获得转发表项。
    • 静态配置:管理员通过Console口登录交换机系统VRP/IOS的控制台,手动配置表项。
    • 动态学习:交换机通过它的任何一个接口,收到一个数据,根据这个数据帧帧头中的源MAC地址,来确定发送主机的MAC地址,并根据接收数据设备端口,交换机认为这个设备端口是直接连接发送者的。交换机就把这个接收接口(设备端口)和源MAC地址做一个绑定,形成MAC地址表项。
      • 表项通过老花计时器 Aging Timer 来确定什么时候清除表项。默认时间300s。

交换机数据层面

  • 数据层面(Date Plane):如何精确的在网络内转发数据。
    • 交换机在数据帧头中拿到DMAC地址,通过DMAC地址,去CAM表中查找,以确定是否有接口DMAC地址绑定的表项,如果有直接数据转发。如果没有进行数据泛洪(Flooding)。如果FCS验证不通过进行数据丢弃。

重复帧:
如上图PC3,PC4两台机器连接到一台HubHub再连到Switch上。PC3发送数据到PC4上,Hub进行泛洪;Switch收到数据,通过查CAM表,发现A发送主机的接口,正好是B接收主机出去的接口。这个时候Switch不会把PC3的数据通过同一个端口转发给PC4的,如果进行转发PC4会收到两份相同的数据,所以Switch会把数据包丢弃。

交换机接口分类

下连接口:连接终端的接口,一般为电口,数量有24,48。
级联接口:交换机和交换机连接的接口,一般为光口,数量有2,4,是下联接口的十分之一。

交换机进行地址转发过程

PCA通过Switch交换机向PCB发送消息:

  • PCA通过接口1连接Switch交换机,Switch通过自动学习,将PCA的源SMAC地址和接口1绑定形成表项,添加到CAM表中。
  • PCA通过SwitchPCB发送数据帧,Switch 交换机通过解封装,拿到数据帧头的目DMAC地址
  • Switch通过目DMAC地址,去CAM表中查找,是否有目DMAC地址与之接入接口2对应的表项。
  • CAM表中如果有表项,则Switch通过接口2直接转发数据帧。如果没有表项,Switch进行数据泛洪(Flooing)。
  • PCB接收到泛洪数据,通过与Switch连接的接口2PCA回复数据。
  • Switch收到PCB的回复数据帧,Switch自动学习绑定PCB的源SMAC地址和接口2表项。然后通过解封装帧头的目MAC地址,查找CAM表,找到与之对应的接口1,将数据转发到PCA

经过以上步骤之后,无论是AB,还是BA发送数据,都可以不用数据泛洪了。
而且Switch转发数据模式是全双工形式。所以A,B可以同时发送数据。

交换机优/缺点

优点

  • 精确转发数据,节省数据带宽。
  • 采用全双工模式,数据转发效率也大大提高了。

缺点

  • CAM表项都是单播表项,数据转发只能是单播。
  • 遇到未知单播帧,组播帧,广播帧就会泛洪。

广播域

交换网络无法限制,组播和广播,一个广播流量会影响到的所有连接的主机。被称之为一个广播域。
总线型和星型网络都是一个广播域。
因为现在都是星型网络,所以可以说一个网络就是一个广播域。
属于同一个广播域内的所有主机的IP地址 网络位是完全相同的。

单播,组播,广播区别
单播:源是单播,目的是单播。
组播:源是单播,目的是组播。
广播:源是单播,目的是组播。
他们的区别只在于目的地址之上。