网络协议学习笔记

下面有10道题,附带了答案,能够测试一下本身这个版块的掌握程度。编程

下列哪一种方式能够给网卡配置 IP 地址?浏览器

A. 经过 DHCP 协议服务器

B. 经过 ip addr 命令网络

C. 经过 PXE负载均衡

D. 经过 Ubuntu 的 Interface 文件配置socket

答案. ABD函数

解析:配置的参数若是是 DHCP,会经过 DHCP 协议自动配置 IP 地址;若是是 Static 会经过测试

ip addr 命令行进行手动配置。而 PXE 不是用于配置 IP 地址的,是用于物理机初始化的。网站

 

2.下列哪一种方式能够配置 VLAN?url

A. 经过交换机能够配置某个口的 VLAN

B. 经过网桥的 tag

C. 经过 vconfig 命令

D. 经过 VTEP

答案. ABC

解析:物理交换机能够配置 VLAN,brctl 里面的 tag 能够配置 VLAN,vconfig 能够配置一个

带 VLAN ID 的虚拟网卡。VTEP 是用来封装 VXLAN 的。

 

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

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

B. 网关是三层的,路由器能够是三层的,也能够是二层的

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

D. 网关能够作 NAT,路由器不能

答案. C

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

 

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

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

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

C. 数据中心内部和外部每每使用不一样的路由协议

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

答案. CD

解析:数据中心内部和外部使用的路由协议不太同样。内部的协议主要是用来寻找最短路径,外

部的协议每每会有一些策略,能够选择将部分的 IP 地址广播出去。

 

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

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

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

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

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

答案. C

解析:传输层经常使用的两种协议是 TCP 和 UDP,其实还有其余的,例如 SCTP。UDP 比较简单,

经常使用于内网,可是它可让应用层本身实现可靠链接和拥塞控制,所以也常在数据中心外使用。

TCP 经过 Sequence Number 和滑动窗口,解决重传和回复的问题,而拥塞窗口解决的是网络

拥塞问题。

 

 

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

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

B. TCP 的重传机制会致使 HTTP 服务端收到重复的包,于是须要实现幂等

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

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

解析:HTTP 是基于 TCP 的。TCP 虽然会重传,可是只有一个包能够到达 HTTP 层,因此

HTTP 层不会收到重复的包。为了防止从新发送 HTTP 的请求,须要实现幂等。POST 仅仅是一

个方法,实现能够很灵活。SOAP 协议中经常使用 POST 实现调用 get 函数。HTTP 不只仅是传输

HTML 的,能够传输不少东西,好比视频、JSON、XML 等。

 

7.对于 Socket,下列描述正确的有

A. Socket 能够创建 TCP 链接,也能够创建 UDP 链接,因此它在传输层工做

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

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

D. UDP 的 Socket 能够接收来自多个源的网络包

答案. BD

解析:Socket 能够创建 TCP 和 UDP 链接,可是它处于应用层。Socket 链接后会生成一个文

件描述符,因此从内核来看,它只是一个文件。监听的 Socket 和读写的 Socket 并非同一

个。UDP 的 Socket 不是面向链接的,它能够接收来自多个源的网络包。

 

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

A. 若是没有 DNS,服务器之间没法通讯

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

C. DNS 既能够作本地负载均衡,也能够作全局负载均衡

D. 只要修改了 DNS 域名对应的 IP 地址,立刻就起做用

答案. C

解析:没有 DNS,上网就会很不方便,可是使用 IP 地址,仍然能够互相通讯。轮询 DNS 树的

不是客户端,而是本地 DNS 服务器。DNS 能够在数据中内心面作本地负载均衡,也能够作跨

数据中心的全局负载均衡。修改 DNS 域名对应的 IP 以后,过一段时间才会起做用。

 

9.对于 CDN,下列描述正确的有

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

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

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

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

答案. ACD

解析:使用了 CDN 以后,域名会 CNAME 成为 CDN 的域名。CDN 能够加速静态数据,也可

以加速动态数据。CDN 节点分布在各个地区和运营商。相同的运营商路径更短一些。有时候相

同的地区,不一样的运营商不能直接链接,而是要到两个运营商互通的地方转一下,因此相同运营

商更加剧要一些。而对于同一个运营商,地区比较重要。

 

10.对于移动通讯网络,下列描述正确的是

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

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

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

D. 手机上网不稳定,于是全部的协议都要基于 TCP,否则一旦丢包就麻烦了

答案. B

解析:移动通讯网络有无线的部分、核心网的部分、互联网的部分,不是到了有线就都同样了。

区分 SGW 和 PGW 能够解决异地上网的问题,SGW 是服务本地 PGW 的登记地结算的。手机

的 IP 地址是 PGW 分配的。手机里面的 GTP 协议是基于 UDP 的。

 

协议三要素:语法、语义、顺序

 

浏览器输入url的整个解析过程:

浏览器打开地址簿去查找。可使用通常的地址簿协议DNS去查找,还可使用另外一种更加精准的地址簿查找协议HTTPDNS。获得目标地址,而后开始打包它的请求。

DNS、HTTP、HTTPS 所在的层咱们称为应用层。通过应用层封装后,浏览器会将应用层的包交给下一层去完成,经过 socket 编程来实现。下一层是传输层。传输层有两种协议,一种是无链接的协议UDP,一种是面向链接的协议TCP。对于支付来说,每每使用 TCP 协议。所谓的面向链接就是,TCP 会保证这个包可以到达目的地。若是不能到达,就会从新发送,直至到达。

TCP 协议里面会有两个端口,一个是浏览器监听的端口,一个是服务器监听的端口。操做系统每每经过端口来判断,它获得的包应该给哪一个进程。

传输层封装完毕后,浏览器会将包交给操做系统的网络层。网络层的协议是 IP 协议。在 IP 协议里面会有源 IP 地址,即浏览器所在机器的 IP 地址和目标 IP 地址,也即访问的网站所在服务器的IP 地址。

 

操做系统既然知道了目标 IP 地址,就开始想如何根据这个门牌号找到目标机器。操做系统每每会判断,这个目标 IP 地址是本地人,仍是外地人。若是是本地人,从门牌号就能看出来,可是显然电商网站不在本地,而在遥远的地方。

操做系统知道要离开本地去远方。虽然不知道远方在何处,可是能够这样类比一下:若是去国外要去海关,去外地就要去网关。而操做系统启动的时候,就会被 DHCP 协议配置 IP 地址,以及默认的网关的 IP 地址 192.168.1.1。

操做系统如何将 IP 地址发给网关呢?在本地通讯基本靠吼,因而操做系统大吼一声,谁是192.168.1.1 啊?网关会回答它,我就是,个人本地地址在村东头。这个本地地址就是MAC地址,而大吼的那一声是ARP协议

 

因而操做系统将 IP 包交给了下一层,也就是MAC 层。网卡再将包发出去。因为这个包里面是有 MAC 地址的,于是它可以到达网关

网关收到包以后,会根据本身的知识,判断下一步应该怎么走。网关每每是一个路由器,到某个IP 地址应该怎么走,这个叫做路由表。

 

路由器有点像玄奘西行路过的一个个国家的一个个城关。每一个城关都连着两个国家,每一个国家至关于一个局域网,在每一个国家内部,均可以使用本地的地址 MAC 进行通讯。一旦跨越城关,就须要拿出 IP 头来,里面写着贫僧来自东土大唐(就是源 IP 地址),欲往西天拜佛求经(指的是目标 IP 地址)。路过宝地,借宿一晚,明日启行,请问接下来该怎么走啊?

城关每每是知道这些“知识”的,由于城关和临近的城关也会常常沟通。到哪里应该怎么走,这种沟通的协议称为路由协议,经常使用的有OSPF和BGP

 

城关与城关之间是一个国家,当网络包知道了下一步去哪一个城关,仍是要使用国家内部的 MAC地址,经过下一个城关的 MAC 地址,找到下一个城关,而后再问下一步的路怎么走,一直到走出最后一个城关。

最后一个城关知道这个网络包要去的地方。因而,对着这个国家吼一声,谁是目标 IP 啊?目标服务器就会回复一个 MAC 地址。网络包过关后,经过这个 MAC 地址就能找到目标服务器。目标服务器发现 MAC 地址对上了,取下 MAC 头来,发送给操做系统的网络层。发现 IP 也对上了,就取下 IP 头。IP 头里会写上一层封装的是 TCP 协议,而后将其交给传输层,即TCP层。

相关文章
相关标签/搜索