当前位置:首页 » 网络连接 » 计算机网络交换机转发表
扩展阅读
电脑搜索可用网络 2025-09-23 02:53:20
网安周网络安全 2025-09-23 02:37:22

计算机网络交换机转发表

发布时间: 2023-07-07 15:09:09

1. 交换机的主要转发模式有哪4种是计算机网络领域是使用的最广泛的技术之一

交换机交换模式的分类
交换机有静态交换和动态交换两种方式。
在采用静态交换方式的交换机中,端口之间传输通道的建立是人工预先设定的,这些通道是固定不变的。
在采用动态交换方式的交换机中,传输通道的建立是依据目的MAC地址查询交换表,根据表中给出的输出端口临时建立的,在一个数据帧传送完成后,连接就会自动断开。
动态交换模式有存储转发和直通两种模式。
直通交换模式又有快速转发交换和碎片丢弃交换两种方式。
总结起来,交换机有存储转发、快速转发和碎片丢弃三种交换模式。

2. 计算机网络技术(四)——局域网技术

摘要

传统的以太网是总线型的局域网,总线型结构决定了网络中所有结点共享传输介质,但同一拍液时间只允许一个结点以“广播”的方式使用总线发送数据,其他结点以“收听”的方式接收数据。所以,当局域网中的结点要发送数据时,首先要确定总线上没有其他结点在发送数据,否则,就要等总线空闲下来才能发送。而由于结点发送的数据在总线上有传输延迟,有可能会出现两个以上结点通过总线发送数据,造成多个数据“冲突”,无法接收正确数据。这些都是介质访问控制(MAC)协议要解决的问题。

CSMA/CD 基本思想简单概括为:“先监听,再发送;边发送,边监听。”

为了能在局域网中方便的找到各个结点,IEEE 802 委员会制定了一套标识规则,即用一个 48bit(6B) 二进制数作为局域网的全球地址,标识每一块局域网适配器(网卡)。这个地址在适配器生产时就固化到其ROM中,称为局域网适配器的物理地址或MAC地址。计算机只有安装了局域网适配器才能接入局域网,升贺桥所以局域网适配器的MAC地址可以认为是该计算机在局域网中的地址。

局域网地址由IEEE RA 机构管理和分配,他们负责分配局域网地址6个字节中的吵猛前3个字节,后3个字节由生产厂商自行分配,只要不出现重复即可。

在以太网的MAC层,数据是以帧的形式存在的,以太网的MAC帧格式有两种标准:DIX Ethernet V2 标准和IEEE 802.3 标准,两者的帧格式基本相同,唯一区别是V2帧中设置两个字节作为类型字段,用于标记上一层所使用的协议类型,而802.3帧定义这两个字节为长度或类型字段。目前使用最广的是V2帧格式。

各字段含义:

目的地址和源地址: 分别为48bit。
类型: 上层所使用的协议,如IP。
数据: 从上层接收到的数据报文,长度限定为46~1500B之间,如果最短数据不足46B,则填充到46B。
FCS: 帧检测序列,采用循环冗余CRC校验对收到的MAC帧进行差错检测。

在实际传输中,发送端要在每个以太网MAC帧前面插入8B(由硬件生成),包括7B的前导码和1B的帧前定界符,用于告知接收端数据到了,实现接收的同步。

随着以太网的普及,人们需要以太网覆盖更广阔的区域,容纳更多的主机,这时就需要对以太网进行扩展。扩展的方法根据使用设备所在层次的不同,分为物理层扩展和数据链路层扩展。物理层扩展使用的设备主要有中继器(Repeater)和集线器(Hub),数据链路层扩展使用的设备主要有网桥(Bridge)和交换机(Switch)。

网桥连接示意图:

上图网桥中的转发表:

转发过程:
网桥的接口1和接口2分别连接两个以太网LAN1和LAN2,假如主机1要给主机5发数据,它将MAC帧广播发送到LAN1上,与之相连的网桥也会收到该MAC帧,收到后,网桥检查其中的目的地址并查找转发表,发现主机5对应的接口为接口2,则将其转发到接口2,从而广播到LAN2中。如果主机1要向主机4发送数据,它将MAC帧广播发送到LAN1上,网桥收到后,发现其目的地址对应的接口是接口1,与发送主机(主机1)的接口相同,说明主机1和主机4在同一个网段上,不需要转发,将该帧丢弃。网桥的这种机制,保证了不同网段上的通信互不干扰。如果主机1向主机8发送数据,网桥收到该帧后查询转发表,发现没有目的地址为主机8的表项,则向除该MAC帧来源(接口1)外的所有接口进行转发。

网桥内部使用 “自学习” 算法来建立和维护转发表。基本思想是:当一个网桥刚接入以太网时,转发表是张空表。当它从某接口x收到某主机a所发出MAC帧时,就把主机a的地址和接口x记录到转发表中,如果再收到目的地址为主机a的MAC帧,则向接口x转发。当以太网内的所有主机都向网桥发送过MAC帧后,每一个主机地址都会记录在表中。

交换机自学习的基本原理 :利用接收到的数据帧的源MAC地址完成学习,即学习到可以通过接收该帧的端口到达该帧的源MAC地址对应的主机。例如,若从某个主机A发出的帧通过端口x进入某交换机,就意味着从端口x出发沿相反方向一定可以把一个帧传送到A。所以,交换机每收到一个帧,先按其源MAC地址查看转发表的目的地址栏,如果没有则将其源MAC地址和进入的端口标识记录在转发表中,完成一次学习;再按目的MAC地址查找转发表的目的地址栏,如果有记录,则向相应的端口转发,如果没有记录,则向除帧进入交换机对应的端口外的其他所有端口转发。

原理说明:假如某局域网拓扑结构如上图所示,其中有9台主机,分布在三个楼层,通过3个交换机形成3个网段:网段a(a1,a2,a3)、网段b(b1,b2,b3)和网段c(c1,c2,c3)。3个网段通过路由器连接在一起。根据业务需求,现在要重新划分工作组,将不同网段内的主机划分成一个工作组,形成虚拟局域网。假设划分成3个虚拟局域网:VLAN1:(a1,b1,c1)、VLAN2:(a2,b2,c2)和VLAN3:(a3,b3,c3),每个虚拟局域网中的每台主机都可以在不同的网段和楼层。

主要有3种方法:

为了标识以太网帧所属的不同虚拟局域网,需要对以太网帧格式进行扩展。IEEE 802.1Q 标准规定在以太网的帧格式中插入一个4B的标识符,称为VLAN标记,用来指明发送该帧的主机属于哪一个虚拟局域网。如下图所示。

VLAN标记字段占4B,位于源地址和类型字段之间,其中前16位(2B)是固定的二进制数(1000000100000000),称为IEEE 802.1Q标记类型。当接收到MAC帧检测到源地址后面的16位后,说明是插入了VLAN标记。后面的两个字节中,前3位是用户优先级字段,接着是1位规范格式指示符(CFI),最后12位是虚拟局域网VLAN标识符(VID),表示该帧属于哪一个VLAN。

由于VLAN是按照逻辑位置而非物理位置进行划分的,因此经常遇到同一VLAN中的主机需要跨越不同的交换机进行数据通信的问题,采用的方法是在不同的交换机之间用一条骨干链路连接起来,并利用VLAN标识符来识别和承载来自多个VLAN中的数据帧,如下图所示。

在交换机1和交换机2之间用一条链路级联,并将对应的端口设置位Trunk端口,这样就可以使两个交换机上处于同一个VLAN的主机进行通信,即a1和b1之间,a2和b2之间,a3和b3之间。

无线局域网(Wireless Local Area Network,WLAN)是局域网发展的一种新形式,通过无线方式在各种便携式的计算机设备之间建立数据连接。

无线局域网分两类:

对于有固定基础设施的无线局域网,在MAC层使用载波监听多路访问/冲突避免协议(CSMA/CA)。与有线以太网的CSMA/CD协议不同,CSMA/CA协议采用的是冲突避免算法(CA)来代替冲突检测算法(CD)。这样做的原因:
1)在无线通信环境下,信号强度的动态范围非常大,接收端不容易根据收到的信号强度判断是否发生碰撞;
2)由于无线信号是向所有方向传播的,当多个站点同时进行通信时,很可能 “检测到信道空闲,其实并不空闲;检测到信道忙,其实并不忙” 的错误
因此,无线局域网应该尽可能地减少碰撞的发生。

CSMA/CA基本思想
1)采用 “停止-等待” 的可靠传输方式,即发送方必须收到接收方的确认帧后才能继续发送;如果在规定时间内没有收到确认帧,则认为数据丢失,需要重发。
2)采用 “虚拟载波监听” 机制,让发送方将它要占用信道的时间及时通知给其他所有站点,以便使其他站点在这一段时间内都停止发送数据,从而降低碰撞机会。
3)在信道从忙状态转为空闲时,各个站点要执行 “退避算法” ,等待一个随机的时间段后再发送数据,目的是减少碰撞的概率。

WLAN的最小单位是基本服务集BSS,其中包括一个AP和多个移动设备。在一个BSS内,各个移动设备之间可以通信,但如果要和本BSS外的设备通信,则必须经过BSS内的AP。一个BSS可以与由以太网、点对点链路或者无线网络构成的分配系统DS相连接,然后再连接其他BSS,构成覆盖范围更广的扩展服务器ESS,如下图所示。

移动设备如何与AP建立连接?
有两种方式建立连接:
1) 被动扫描: 由AP周期性地发出包含SSID、速率等参数的信息帧,移动设备收到这些信息帧后与AP建立连接;
2) 主动扫描: 由移动设备主动发出探测请求帧,然后等待AP发回探测响应帧进行连接。

3. 计算机网络TCP/IP等相关协议与原理

网络分层(由下到上):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

重点在: 物理层、数据链路层(这两层需要了解基本的原理)、网络层、传输层(这两层需要了解功能作用,原理和相关的一些协议)、应用层(http协议)。

开始之前先跟大家说一下协议,很多人不知道协议是什么,尤其是刚接触这方面东西的时候,一听协议,感觉很吊的样子,但是又不知其所云,其实,协议可以理解为:一个双方通信需要共同遵守的规范。

记住,在网络分层协议中,所有下层的协议的作用就是为了上层服务,谨记!

接下来,我跟大家一一道来,首先登场的是物理层。

这一层主要就是跟硬件打交道,这一层也是所有上层的基础。

数据链路层强调的是一种传输规范,这是指什么呢?说白了,就是指每次传输的最大容量(最大传输单元),数据组织结构(以太网帧的概念)、传输的目的地等。

MAC地址:烧录在网卡ROM中的一串数字,长度48bit。

分组交换:较大数组分割为较小数组,依次发送。
原因是数据链路层有不定长度的最大传输单元。

以太网的帧的概念:前导码(8字节)+本体(首部+数据+FCS)

原理:依靠MAC地址决定向哪个端发送数据,需要“转发表”。
转发表是交换机自动学习得到的。

作用:保证不同数据链路层下数据的可达性。

ARP协议(获取MAC地址)和ICMP协议(数据发送异常通知)

作用:识别对端信息的地址。地址为32位正整数表示,分为四个部分,每个部分由8位整数组成。说白了,是识别要传输目的地的地址。
每位对应十进制范围:0-255。

[注]:网络标识和主机标识是为了寻址而发明。

A类:
第一位为“0”的地址,前8位为网络标识,0.0.0.0-127.0.0.0是A类IP地址的理论范围。
B类:
前两位为“10”的地址,前16位是网络标识,128.0.0.0-191.255.0.0,主机标识16位。
C类:
前三位为“110”的地址。前24位网络标识,192.0.0.0-223.255.255.0,主机标识为8位。
D类:
前4位为“1110”的地址。网络标识为32位,没有主机标识。

IP地址长度仅可表达43亿左右的主机数目,(区分网络标识和主机标识)共32位(一段连续的0和一段连续的1)组成,1的长度就表示网络标识的长度。

子网掩码的作用是区分IP地址是否在同一子网内。

分组数据发送到目标地址的功能,持有路由控制表,它在路由控制表中查找目标IP地址对应的下一个路由器地址。

源主机--->网卡--->路由器1(路由器控制表)--->路由器2--->网卡--->目标主机

IP协议最大包为2的16次幂,等于65536.

接下来介绍几个IP协议相关的协议或技术:

将域名转化为IP地址(域名也是分层处理请求的,每一层都有对应的DNS服务器)。

通过目标IP地址,定位下一个接收数据包的网络设备(主机或路由器)的MAC地址。

在数据链路层发送广播,如果没有ARP技术,就没有办法穿透中间的服务器(ARP请求+ARP应答)。

NAT:用于将局域网中的私有地址转换为全局IP地址的技术。
每个路由器只有一个对外的全局IP地址,如果一个内网主机都向外通讯,怎么办?
就要使用到NATP技术,可转为TCP和UDP端口号。
不同的内网IP被转换成同一个公共的IP,但是NAPT技术可以使用不同的端口加以区分。

NAT和NAPT都需要路由器内部维护一张转换表。

举例:TCP首次SYN时,会生成这个表,关闭连接时会发出FIN包,收到这个包应答时转换表会被删除。

定义:实现应用程序之间的通信。
TCP:面向有连接的协议,建立连接需要3步,关闭连接需要4步。
具备数据重传、流量控制等功能,能正确处理丢包功能并有效利用宽带。
UDP:比较适合做实时视频和音频,效率比TCP高。

TCP有5个要素:源IP地址、目标IP地址、源端口号、目标端口号、协议号,同一台机器的端口号可以区分为不同的应用程序。

校验和=源IP地址(IP协议首部)+目标IP地址(IP协议首部)+源端口+目标端口

包长度=首部长度+数据长度

应该可以从下图看出来,TCP的首部比UDP的首部要复杂的多,所以也一定会影响的传输的速度和效率。

简单介绍一下首部的相关参数:

序列号:发送数据的位置
确认应答号:下一次应用接收到的数据的序列号
数据偏移:TCP首部的长度,单位为4字节。
控制位:长度为8位。
窗口大小:用于表示从应答号开始能够接受多少个8位字节。
紧急指针:尽在URG控制位为1时有效,表示紧急数据的末尾在TCP数据部分中的位置。

接下来最重要的一个技术点来了:

以下是通俗话解释连接和断开过程:
建立连接的过程:
1.client:我要建立连接。
2.server:我知道你要建立连接了,我这边没问题。
3.client:我了解你知道我要建立连接了,开始通信吧!

结束连接的过程:
1.client:我要关闭连接了
2.server:你那边可以关闭了
3.server:我这边也准备关闭了
4.client:我已关闭,你可以关闭了

[注]:连接是双方面的,所以关闭也是要自行关闭的。

数据包重发:保证ACK的值和发送方下次发送数据包的序列号相等。

接收方通过TCP首部中的控制位SYN判断这个数据是否曾经接收过?接收过就会舍弃。
重传超时时间(RTO)动态改变,略大于连接往返时间(RTT),RTO有自己的估算公式

定义:无需等待ACK,可以发送的最大数量。(窗口大小由接收端控制)
作用:为了解决发送数据包后,直至ACK确认返回之前,发送端都无法在进行发送的问题。

定义:接收端有缓存区数据溢出(如果窗口较大)
通俗一点的意思就是让发送方慢一点,免得接收方接收不过来。

TCP会慢启动算法得出窗口的大小,对发送数据量进行控制。
发送方拥有一个拥塞窗口,对发送的数据量进行控制。
TCP协议中的窗口是指:发送方和接收方窗口中的最小值。

1.通讯开始,发送方窗口为1。每收到一个ACK确认后,拥塞窗口翻倍。
2.由于指数级增长快,很快就会出现确认包超时。
3.设置慢启动阈值,它的值为拥塞窗口的大小的一半。
4.将拥塞窗口大小设置为1,重新进入慢启动过程。
5.慢启动阈值存在,当拥塞窗口大小达到阈值时,不再翻倍,而是线性增长。
6.随窗口大小的不断增长,可以收到三次重复的ACK,进入“快速重发”阶段。
7.TCp将慢启动阈值设置为当前拥塞窗大小的一半,再将拥塞窗口大小设成阈值大小。
8.拥塞窗口又会线性增加,直至下一次出现3次ACK或者超时。

4. 计算机网络自顶向下方法--网络层

R1. 我们回顾一下本书中使用的某些术语。前面讲过,运输层的分组名称是报文段,数据链路层的分组名字是帧。网络层的分组名字是什么?前面讲过,路由器和链路层交换机都称为分组交换机。路由器和链路层交换机间的根本区别是什么?回想我们对数据报网络和虚电路网络都使用术语路由器。

R2. 在数据报网络中,网络层最重要的两个功能是什么?在虚电路网络中,网络层的3个最重要的功能是什么?

R3. 路由选择和转发的区别是什么?

R4. 在数据报网络和虚电路网络中,路由器都使用转发表吗?如果是,描述用于这两类网络的转发表。

R5. 描述某些网络层能为单个分组提供的某些假想的服务。对于分组流进行相同的描述。因特网的网络层为你提供了这些假想服务吗?ATM的CBR服务模型提供了该假想服务吗?ATM的ABR服务模型提供类该假想服务吗?

R6. 列出某些得益于ATM的CBR服务模型的应用。

R7. 讨论为什么在高速路由器的每个输入端口都存储转发表的影子副本。

R8. 4.3节中讨论了3类交换结构。列出并简要讨论每一类交换结构。哪一种(如果有的话)能够跨越交换结构并行发送多个分组?

R9. 描述在输入端口会出现分组丢失的原因。描述在输入端口如何消除分组丢失(不使用无限大缓存区)。

R10. 描述在输出端口出现分组丢失的原因。通过增加交换结构速率,能够防止这种丢失吗?

R11. 什么是HOL阻塞?它出现在输入端口还是输出端口?

R12. 路由器有IP地址吗?如果有,有多少个?

R13. IP地址223.1.3.27的32比特二进制等价形式是什么?

R14. 考察使用DHCP获得它的IP地址,网络掩码,默认路由器和其本地DNS服务器的IP地址的主机。列出这些值。

R15. 假设在一个源主机和一个目的主机之间有3台路由器。不考虑分片,一个从源主机发送给目的主机的IP报文将通过多少个端口?为了将数据报从源移动到目的地需要检索多少个转发表?

R16. 假设某应用每20ms生成一个40字节的数据块,每块封装在一个TCP报文中,TCP报文再封装在一个IP数据报中。每个数据报的开销有多大?应用数据所占的百分比是多少?

R17. 假设主机A向主机B发送封装在一个IP数据报中的TCP报文段。当主机B接收到该数据报时,主机B中的网络层应该如何知道它应当将该报文段(即数据报的有效载荷)交给TCP而不是UDP或某个其他东西呢?

R18. 假定你购买了一个无线路由器并将其与电缆调制解调器相连,并且你的ISP动态地为你连接的设备(即你的无线路由器)分配一个IP地址。还假定你家有5台PC,均使用802.11以无线方式与该无线路由器相连。怎样为这5台PC分配IP地址?该无线路由器使用NAT吗?为什么?

R19. 比较IPv4和IPv6首部字段。它们有某些字段是相同的吗?

R20. 有人说当IPv6通过IPv4路由器建隧道时。IPv6将IPv4隧道作为链路层协议。你同意这种说法吗?为什么?

R21. 比较和对照链路状态和距离向量路由选择算法?

R22. 讨论因特网的等级制组织是怎样使得其能够扩展为数以百万计用户的。

R23. 每个自治系统使用相同的AS内部路由选路算法是必要的吗?为什么?

R24. 考虑图4-37。从D中的初始表开始,假设D收到来自A的下面的通告:

D中的表会改变吗?如果是,怎样变化?

R25. 比较RIP和OSPF使用的通告。

R26. 填空:RIP通告通常宣称到各目的地的跳数。另一方面,BGP则是通告到各目的地的_____?

R27. 为什么在因特网中用到了不同类型的AS间与AS内部选路协议?

R28. 为什么策略考虑对于AS内部协议(如OSPF和RIP)与对于AS间路由选择协议(如BGP)一样重要呢?

R29. 定义和对比下列术语:子网,前缀和BGP路由。

R30. BGP是怎样使用NEXT-HOP属性的?它是怎样使用AS-PATH属性的?

R31. 描述一个较高层ISP的网络管理员在配置BGP时是如何实现策略的。

TODO----HERE
4.6.32 通过多个单播实现广播抽象与通过支持广播的单个网络(路由器)实现广播抽象之间有什么重要区别吗?
答:N次单播效率低,需要知道接收者的地址,消耗大。但是使用广播的话可以通过洪泛方法发送消息。
4.6.33 对于我们学习的3种一般的广播通信方法(无控制洪泛,受控洪泛和生成树广播),下列说法正确吗?可以假定分组不会因缓存溢出而丢失,所有分组以它们发送的顺序交付给链路。
a.一个节点可能接收到同一个分组的多个拷贝。
b.一个节点可能跨越相同的出链路转发多个分组的拷贝。
答:无控制洪泛:a对,b对。受控洪泛:a对,b错。生成树广播:a错,b错。
4.6.34 当一台主机加入一个多播组时,它必须将其IP地址改变为它所加入的多播组的地址吗?
答:对错误。
4.6.35 IGMP和广域多播选路协议所起的作用是什么?
答:IGMP运行在一台主机与其直接相连的路由器之间。IGMP允许主机指定路由器要加入的组播网。然后由组播路由器与运行组播路由协议的其他组播路由器一起工作。
4.6.36 在多播选路场合中,一棵组共享的树与一颗基于源的树之间有什么区别?
答:一个组共享的树来为组中所有发送方分发流量,一个是为每个独立的发送方构建一颗特定源的选路树。