经过三个多月的学习,相信你对网络协议的基础概念和使用场景有了更深入的了解。我从专栏中精心筛选了核心知识点,编成了这10道测试题。希望可以帮助你学习自检,消化吸收,以期获得更好的学习效果。

如果你刚刚打开这个专栏,可以用这10道题,找到自己的薄弱点,对症下药;如果你已经学习了一段时间,可以用这10道题,检测一下学习成果,查漏补缺

你可以拿出纸笔,写下自己的回答,之后再与文末的答案进行对照。


1.(多选)下列哪种方式可以给网卡配置IP地址?

A. 通过DHCP协议

B. 通过ip addr命令

C. 通过PXE

D. 通过Ubuntu的Interface文件配置


2.(多选)下列哪种方式可以配置VLAN?

A. 通过交换机可以配置某个口的VLAN

B. 通过网桥的tag

C. 通过vconfig命令

D. 通过VTEP


3.(单选)对于网关和路由器,下列说法正确的是

A. 网关和路由器是一回事儿

B. 网关是三层的,路由器可以是三层的,也可以是二层的

C. 网关是路由器的一个接口

D. 网关可以做NAT,路由器不能


4.(多选)对于路由协议,下列描述正确的有

A. 路由协议主要是用来寻找最短路径

B. 最短路径往往只有一条

C. 数据中心内部和外部往往使用不同的路由协议

D. 边界路由器只把部分IP告知外面的网络


5.(单选)对于传输层协议,下列描述正确的是

A. 传输层只有两种协议:TCP和UDP

B. 由于UDP过于简单,因而只在数据中心内部使用

C. TCP通过Sequence Number标识重传和回复的包

D. TCP通过滑动窗口解决网络拥塞的问题


6.(多选)对于HTTP协议,下列描述正确的有

A. HTTP协议是基于TCP协议的

B. TCP的重传机制会导致HTTP服务端收到重复的包,因而需要实现幂等

C. HTTP的POST方法可以用来发送数据,也可以用来请求数据

D. HTTP协议主要用来传输HTML网页


7.(多选)对于Socket,下列描述正确的有

A. Socket可以建立TCP连接,也可以建立UDP连接,所以它在传输层工作

B. 对于Linux内核来看,Socket也是一个文件

C. 启动一个Socket来监听,当连接建立之后,会将这个socket交给一个线程来处理

D. UDP的Socket可以接收来自多个源的网络包


8.(单选)对于DNS协议,下列描述正确的是

A. 如果没有DNS,服务器之间无法通信

B. 客户端端需要去轮询DNS树进行域名解析

C. DNS既可以做本地负载均衡,也可以做全局负载均衡

D. 只要修改了DNS域名对应的IP地址,马上就起作用


9.(多选)对于CDN,下列描述正确的有

A. 使用了CDN之后,访问的域名会发生变化

B. CDN只能用来加速静态数据

C. CDN厂商的节点分布在各个地区的各个运营商

D. 相同运营商比相同地点有更高优先级


10.(单选)对于移动通信网络,下列描述正确的是

A. 移动通信网络也是在运营商,因而一旦到了有线部分,就都一样了

B. 之所以分SGW和PGW,主要是解决异地上网的问题

C. 手机的IP地址是公网IP地址,是由互联网上的DHCP服务器分配的

D. 手机上网不稳定,因而所有的协议都要基于TCP,不然一旦丢包就麻烦了


# 答案与解析

1.(多选)答案. ABD

解析:配置的参数如果是DHCP,会通过DHCP协议自动配置IP地址;如果是Static会通过ip addr命令行进行手动配置。而PXE不是用于配置IP地址的,是用于物理机初始化的。


2.(多选)答案. ABC

解析:物理交换机可以配置VLAN,brctl里面的tag可以配置VLAN,vconfig可以配置一个带VLAN ID的虚拟网卡。VTEP是用来封装VXLAN的。


3.(单选)答案. C

解析:网关和路由器都是三层的,都可以做NAT,网关往往是路由器在某个局域网里面的口。


4.(多选)答案. CD

解析:数据中心内部和外部使用的路由协议不太一样。内部的协议主要是用来寻找最短路径,外部的协议往往会有一些策略,可以选择将部分的IP地址广播出去。


5.(单选)答案. C

解析:传输层常用的两种协议是TCP和UDP,其实还有其他的,例如SCTP。UDP比较简单,常用于内网,但是它可以让应用层自己实现可靠连接和拥塞控制,因此也常在数据中心外使用。TCP通过Sequence Number和滑动窗口,解决重传和回复的问题,而拥塞窗口解决的是网络拥塞问题。


6.(多选)答案. AC

解析:HTTP是基于TCP的。TCP虽然会重传,但是只有一个包可以到达HTTP层,所以HTTP层不会收到重复的包。为了防止重新发送HTTP的请求,需要实现幂等。POST仅仅是一个方法,实现可以很灵活。SOAP协议中常用POST实现调用get函数。HTTP不仅仅是传输HTML的,可以传输很多东西,比如视频、JSON、XML等。


7. (多选)答案. BD

解析:Socket可以建立TCP和UDP连接,但是它处于应用层。Socket连接后会生成一个文件描述符,所以从内核来看,它只是一个文件。监听的Socket和读写的Socket并不是同一个。UDP的Socket不是面向连接的,它可以接收来自多个源的网络包。


8.(单选)答案. C

解析:没有DNS,上网就会很不方便,但是使用IP地址,仍然可以互相通信。轮询DNS树的不是客户端,而是本地DNS服务器。DNS可以在数据中心里面做本地负载均衡,也可以做跨数据中心的全局负载均衡。修改DNS域名对应的IP之后,过一段时间才会起作用。


9.(多选)答案. ACD

解析:使用了CDN之后,域名会CNAME成为CDN的域名。CDN可以加速静态数据,也可以加速动态数据。CDN节点分布在各个地区和运营商。相同的运营商路径更短一些。有时候相同的地区,不同的运营商不能直接连接,而是要到两个运营商互通的地方转一下,所以相同运营商更加重要一些。而对于同一个运营商,地区比较重要。


10.(单选)答案. B

解析:移动通信网络有无线的部分、核心网的部分、互联网的部分,不是到了有线就都一样了。区分SGW和PGW可以解决异地上网的问题,SGW是服务本地PGW的登记地结算的。手机的IP地址是PGW分配的。手机里面的GTP协议是基于UDP的。