Q: 网络层如何完成分组传输任务?
A: 网络层将分组传输任务划分为分组转发和路由选择两种重要功能。
Q: 分组转发和路由选择分别是什么?
A: - 分组转发: 当分组到达路由器时,路由器根据分组的目的地址,选择合适的输出链路,将分组转发到下一跳路由器。
- 路由选择: 路由器根据网络拓扑结构和网络流量,计算出分组从源主机到目的主机的最佳路径,并将其存储在路由表中。
Q: OSI 参考模型主张在网络层使用什么服务?
A: OSI 参考模型主张在网络层使用面向连接的虚电路服务。虚电路就是在模拟两个端系统之间拉了一条物理网线

Q: 面向连接的虚电路服务有什么特点?
A: 面向连接的虚电路服务需要在数据传输之前建立连接,并保证数据传输的可靠性。
Q: 面向连接的虚电路服务由谁负责保证通信的可靠性?
A: 面向连接的虚电路服务由网络自身来保证通信的可靠性。
Q: TCP/IP 体系的网络层提供什么服务?
A: TCP/IP 体系的网络层提供无连接的数据报服务。

Q: 无连接的数据报服务有什么特点?
A: 无连接的数据报服务不需要建立连接,数据传输的可靠性由用户主机负责。
Q: 无连接的数据报服务由谁负责保证通信的可靠性?
A: 无连接的数据报服务由用户主机来保证通信的可靠性。
Q: 路由器主要完成哪些功能?
A: 路由器主要完成路由选择和分组转发两个功能。
Q: 分组转发如何实现?
A: 分组转发根据转发表将分组从合适的端口转发出去。
Q: 转发表和路由表的关系是什么?
A: 转发表是从路由表得出的,路由表是根据路由选择算法得出的。
Q: 转发表和路由表的优化目标是什么?
A: 转发表的结构应当使查找过程最优化,路由表则需要最优化网络拓扑变化的计算。
网际协议(Internet Protocol,IP)是TCP/IP体系结构网际层中的核心协议
Q:与 IP 协议配套使用的四个协议:
A:ICMP:网际控制报文协议
IGMP:网际组管理协议
RARP:逆地址解析协议
ARP:地址解析协议

虚电路方式
虚电路建立
Q: 虚电路建立过程分为哪几个阶段?
A: 虚电路建立过程分为三个阶段:虚电路建立、数据传输与虚电路释放。
Q: 虚电路建立时如何区分不同的虚电路?
A: 每次建立虚电路时,将一个未用过的虚电路号 (VCID) 分配给该虚电路,以区别于本系统中的其他虚电路。
Q: 虚电路建立后,分组首部如何标识虚电路?
A: 虚电路建立后,分组首部只需携带这条虚电路的编号即可。
虚电路表
Q: 虚电路网络中的每个结点都维护什么?
A: 虚电路网络中的每个结点都维持一张虚电路表。
Q: 虚电路表中记录什么信息?
A: 虚电路表中每项记录一个打开的虚电路的信息,包括在接收链路和发送链路上的虚电路号、前一结点和下一结点的标识。
虚电路建立过程
Q: 虚电路建立过程具体步骤是什么?
A: 1. 数据传输前,主机 A 与主机 B 先建立连接,主机 A 发出 “呼叫请求” 分组,该分组通过中间结点送往主机 B,若主机 B 同意连接,则发送 “呼叫应答” 分组予以确认。
2. 虚电路建立后,主机 A 和主机 B 就可相互传送数据分组。
3. 传送结束后,主机 A 通过发送 “释放请求” 分组来拆除虚电路,逐段断开整个连接。
虚电路特点
Q: 虚电路方式有哪些特点?
A: 1. 虚电路通信链路的建立和拆除需要时间开销,对交互式应用和少量的短分组情况显得很浪费,但对长时间、频繁的数据交换效率较高。
2. 虚电路的路由选择体现在连接建立阶段,连接建立后,就确定了传输路径。
3. 虚电路提供了可靠的通信功能,能保证每个分组正确且有序到达。此外,还可对两个端点的流量进行控制,当接收方来不及接收数据时,可以通知发送方暂缓发送。
4. 虚电路有一个致命的弱点,即当网络中的某个结点或某条链路出现故障而彻底失效时,所有经过该结点或该链路的虚电路将遭到破坏。
5. 分组首部不包含目的地址,包含的是虚电路号,相对于数据报方式,其开销小。
虚电路的“虚”
Q: 虚电路为什么被称为“虚电路”?
A: 虚电路之所以是虚,是因为这条电路不是专用的,每个结点到其他结点之间的链路可能同时有若干条虚电路通过,也可能同时在多个结点之间建立虚电路。
确认机制
Q: 虚电路方式中,数据传输过程是否需要确认?
A: 虚电路方式中,数据传输过程是有确认的传输,由高层实现,B 收到分组后要发回相应分组的确认。
Q: 网络中的传输是否有确认与网络层提供的两种服务有什么关系?
A: 网络中的传输是否有确认与网络层提供的两种服务没有任何关系。
数据报方式
数据报方式概述
Q: 数据报方式中,发送分组前需要建立连接吗?
A: 数据报方式中,发送分组前不需要建立连接。
Q: 数据报方式中,源主机如何发送分组?
A: 源主机的高层协议将报文拆成若干较小的数据段,并加上地址等控制信息后构成分组。
Q: 数据报方式中,中间结点如何处理分组?
A: 中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组。
Q: 数据报方式中,网络提供端到端的可靠传输服务吗?
A: 数据报方式中,网络不提供端到端的可靠传输服务。
数据报方式工作原理
Q: 数据报方式中,分组如何从源主机到达目的主机?
A: 1. 主机 A 先将分组逐个发往与它直接相连的交换结点 A,交换结点 A 缓存收到的分组。
2. 然后查找自己的转发表。因为不同时刻的网络状态不同,所以转发表的内容可能不完全相同,所以有的分组转发给交换结点 C,有的分组转发给交换结点 D。
3. 网络中的其他结点收到分组后,类似地转发分组,直到分组最终到达主机 B。
数据报方式特点
Q: 数据报方式有哪些特点?
A: 1. 发送分组前不需要建立连接。发送方可随时发送分组,网络中的结点可随时接收分组。
2. 网络尽最大努力交付,传输不保证可靠性,所以分组可能出错或丢失;网络为每个分组独立地选择路由,转发的路径可能不同,因此分组不一定按序到达目的结点。
3. 发送的分组中要包括发送方和接收方的完整地址,以便可以独立传输。
4. 当分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
5. 网络具有冗余路径,当某个交换结点或一条链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强。
6. 收发双方不独占某条链路,资源利用率较高。
Q: 数据报方式在哪些网络中应用?
A: 互联网就是采用数据报方式设计的。
数据报方式与虚电路方式比较
Q: 数据报方式与虚电路方式相比,有哪些区别?
A: 1. 数据报方式不需要建立连接,而虚电路方式需要建立连接。
2. 数据报方式不保证可靠传输,而虚电路方式保证可靠传输。
3. 数据报方式的路由选择是动态的,而虚电路方式的路由选择是静态的。
4. 数据报方式的资源利用率较高,而虚电路方式的资源利用率较低。
数据报服务与虚电路服务对比
连接建立
Q: 数据报服务和虚电路服务在连接建立方面有什么区别?
A: 数据报服务不需要建立连接,而虚电路服务必须建立连接。
目的地址
Q: 数据报服务和虚电路服务在目的地址方面有什么区别?
A: 数据报服务中,每个分组都有完整的目的地址,而虚电路服务中,仅在建立连接阶段使用目的地址,之后每个分组使用长度较短的虚电路号。
路由选择
Q: 数据报服务和虚电路服务在路由选择方面有什么区别?
A: 数据报服务中,每个分组独立地进行路由选择和转发,而虚电路服务中,属于同一条虚电路的分组按照同一路由转发。
分组顺序
Q: 数据报服务和虚电路服务在分组顺序方面有什么区别?
A: 数据报服务不保证分组的有序到达,而虚电路服务保证分组的有序到达。
可靠性
Q: 数据报服务和虚电路服务在可靠性方面有什么区别?
A: 数据报服务不保证可靠通信,可靠性由用户主机来保证,而虚电路服务保证可靠性,由网络保证。
对网络故障的适应性
Q: 数据报服务和虚电路服务在对网络故障的适应性方面有什么区别?
A: 数据报服务中,出故障的结点丢失分组,其他分组路径选择发生变化时可以正常传输,而虚电路服务中,所有经过故障结点的虚电路均不能正常工作。
差错处理和流量控制
Q: 数据报服务和虚电路服务在差错处理和流量控制方面有什么区别?
A: 数据报服务中,由用户主机进行流量控制,不保证数据报的可靠性,而虚电路服务中,可由分组交换网负责,也可由用户主机负责。
SDN
SDN 控制平面的三个层次
Q: SDN 控制平面包含哪些层次?
A: SDN 控制平面包含三个层次:
- 网络控制应用程序的接口(含北向 API)
- 网络范围状态管理层(含 SDN 控制器)
- 通信层(含南向 API)

数据平面与控制平面
Q: 网络层可以抽象地划分为哪两个平面?
A: 数据平面和控制平面。

Q: 数据平面和控制平面分别实现什么功能?
A: 数据平面实现转发功能,控制平面实现路由选择功能。

Q: 数据平面执行的主要功能是什么?
A: 数据平面执行的主要功能是根据转发表进行转发,这是路由器的本地动作。

Q: 转发表包含哪些信息?
A: 转发表包含两列信息:第一列是输出首部(分组当中首部里面的一个字段);第二列是输出对应的分组应该走哪个输出端口。
Q: 路由选择过程在哪个平面进行?
A: 路由选择过程在控制平面进行。
Q: 控制平面的主要功能是什么?
A: 控制平面用于控制和管理网络协议的运行,比如 OSPF 协议、RIP 协议、BGP 协议。
Q: 控制平面通常如何实现?
A: 控制平面通常通过软件实现,以处理复杂的路由计算和选择。
Q: 转发过程在哪个平面进行?
A: 转发过程在数据平面进行。
Q: 数据平面的主要功能是什么?
A: 数据平面的主要功能是根据转发表进行数据报的转发。
Q: 数据平面通常如何实现?
A: 数据平面通常通过硬件实现,以保证时间短和高效。
软件定义网络 (SDN)
Q: 什么是软件定义网络 (SDN)?
A: 软件定义网络 (SDN) 是一种创新网络架构,采用集中式的控制平面和分布式的数据平面,两个平面相互分离,控制平面利用控制-数据接口对数据平面上的路由器进行集中式控制。
SDN把路由器算路由表这个软件功能搬到云端服务器上了,在云端来帮路由器算路由表,剥离出来这个算路由表的过程,路由器只基于硬件实现转发表

SDN 的结构
Q: 在 SDN 结构中,路由器的功能有哪些变化?
A: 在 SDN 结构中,路由器变得简单,不再需要路由选择软件,因此路由器之间不再相互交换路由信息。

Q: 在 SDN 结构中,控制平面由什么组成?
A: 在 SDN 结构中,控制平面有一个逻辑上的远程控制器,可由多个服务器组成。


Q: 远程控制器在 SDN 中的作用是什么?
A: 远程控制器掌握各主机和整个网络的状态,为每个分组计算出最佳路由,通过 Openflow 协议(或其他途径)将转发表(在 SDN 中称为流表)下发给路由器。


SDN 与传统网络的对比
Q: 传统网络中的路由器有哪些功能?
A: 传统网络中的路由器既有转发表又有路由选择软件,即既有数据平面又有控制平面。

Q: SDN 中的路由器与传统网络中的路由器有什么不同?
A: SDN 中的路由器不再需要路由选择软件,路由器之间不再相互交换路由信息,转发表由远程控制器集中管理和下发。


Q:SDN体系结构及其四个关键特征
A:1.基于流的转发。SDN 控制的交换机的分组转发工作,能够基于运输层,网络层或链路层首部中任意数量的首部字段值进行。SDN 控制平面的工作是计算,管理和安装所有网络交换机中的流表项。
2.数据平面与控制平面分离。数据平面由网络交换机组成,交换机是相对简单(但快速)的设备,该设备在它们的流表中执行 “匹配加动作” 的规则。控制平面由服务器以及决定和管理交换机流表的软件组成部分
3.网络控制功能。控制平面自身由两个组件组成:一个 SDN 控制器或网络操作系统,以及若干网络控制应用程序。实践中,控制器仅是逻辑上集中的,通常在几台服务器上实现。
4.可编程网络。通过运行在控制平面中的网络控制应用程序,该网络是可编程的
SDN 的可编程性
北向接口
Q: 什么是 SDN 的北向接口?
A: 北向接口是 SDN 提供给上层应用开发者的编程接口,提供了一系列丰富的 API,开发者可以在此基础上设计自己的应用,而不必关心底层的硬件细节。
也就是上层来算路由表的一套编程规范是吧


南向接口
Q: 什么是 SDN 的南向接口?
A: 南向接口是 SDN 控制器和转发设备建立双向会话的接口,通过不同的南向接口协议(如 Openflow),SDN 控制器可以兼容不同的硬件设备,同时可在设备中实现上层应用的逻辑。
也就是向路由器传递路由表计算结果的接口


东西向接口
Q: 什么是 SDN 的东西向接口?
A: 东西向接口是 SDN 控制器集群内部控制器之间的通信接口,用于增强整个控制平面的可靠性和可拓展性。
SDN可以是服务器集群来算这个路由表,那集群中的服务器通信就走这个东西向接口

SDN 的优点
全局集中式控制和分布式高速转发
Q: SDN 的全局集中式控制和分布式高速转发有什么优点?
A: 全局集中式控制和分布式高速转发既利于控制平面的全局优化,又利于高性能的网络转发。

灵活可编程与性能的平衡
Q: SDN 的灵活可编程与性能的平衡有什么优点?
A: 控制和转发功能分离后,使得网络可以由专有的自动化工具以编程方式配置。

降低成本
Q: SDN 如何降低成本?
A: 控制和数据平面分离后,尤其是在使用开放的接口协议后,实现了网络设备的制造与功能软件的开发相分离,从而有效降低了成本。

拥塞控制与流量控制的区别
Q: 拥塞控制与流量控制的区别是什么?
A: 拥塞控制是一个全局性的过程,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素;而流量控制是指在发送方和接收方之间的点对点通信量的控制,抑制发送方发送数据的速率,以便使接收方来得及接收。
拥塞控制的方法
开环控制
Q: 什么是开环控制?
A: 开环控制是在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。这是一种静态的预防方法,一旦系统启动并运行,中途就不再需要修改。
提前预防,想好各种情况,提前做好准备
Q: 开环控制手段包括哪些?
A: 开环控制手段包括确定何时可接收新流量、何时可丢弃分组及丢弃哪些分组,确定何种调度策略等。
闭环控制
Q: 什么是闭环控制?
A: 闭环控制是事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,及时检测哪里发生了拥塞,然后将拥塞信息传到合适的地方,以便调整网络系统的运行,并解决出现的问题。
动态调整,遇到问题再处理,这种显然性能开销比较大
Q: 闭环控制基于什么概念?
A: 闭环控制基于反馈环路的概念,是一种动态的方法。
OpenFlow协议
OpenFlow协议概述
Q: OpenFlow协议在SDN体系结构中的作用是什么?
A: OpenFlow协议是控制层面与数据层面之间的通信接口,使控制器能够直接访问和控制数据层面的物理设备。

OpenFlow交换机和流表
Q: 在SDN中,完成“匹配+动作”的设备被称为什么?
A: OpenFlow交换机或分组交换机。

Q: 流表在SDN中取代了什么?
A: 传统路由器中的转发表。

Q: 流表的定义是什么?
A: 一个流是穿过网络的一种分组序列,流中的每个分组共享某些字段的值。

Q: OpenFlow交换机中的流表由谁管理?
A: 由SDN远程控制器通过OpenFlow协议管理。

流表项结构
Q: 每个流表项包含哪些字段?
A: 首部字段值(匹配字段)、计数器、动作。

首部字段值
Q: OpenFlow协议中,首部字段值的作用是什么?
A: 用于匹配入分组的首部,匹配不上的分组会被丢弃或发送到控制器处理。

计数器
Q: OpenFlow协议中,计数器字段的作用是什么?
A: 记录与该流表项匹配的分组数量和该流表项上次更新到现在经历的时间。

动作
Q: OpenFlow协议中,动作字段包含哪些操作?
A: 
- 把分组转发到指明的端口
- 丢弃分组
- 复制分组并从多个端口转发
- 重写分组的首部字段
OpenFlow交换机的流表
Q: 每个OpenFlow交换机必须具备什么?
A: 一个或多个流表。
Q: 每个流表可以包含多少个流表项?
A: 多个流表项。