《趣谈网络协议》——问答笔记

以下整理的笔记来源于:极客时间的专栏《趣谈网络协议》,网址:https://time.geekbang.org/column/85

协议三要素有哪些?

语法:规则和格式

语义:代表的意义

顺序

OSI七层协议有哪些?

1、物理层。数据单位:bit

2、链路层。数据单位:帧(ARP、VLAN)

3、网络层。数据单位:数据包(IP)

4、传输层。数据单位:数据段(TCP、UDP)

5、会话层

6、表示层

7、应用层(HTTP、FTP、RPC、DHCP、DNS)

浏览网页的流程是什么?

1、应用层:输入URL,通过DNS获取URL的IP地址。使用HTTP协议封装

2、传输层:TCP协议封装
3、网络层:通过IP地址封装
4、MAC层:通过网关的路由器,找到目的服务器

接收请求的流程?(3个)

1、把MAC头摘下来,看看是丢弃、转发,还是留着

2、把IP头摘下来~

3、TCP


网络的层与层之间的关系?(2个)

1、只要是在网络上跑的包,都是完整的。

2、可以有下层没上层,不可能有上层没下层。

MAC地址和IP地址的区别?

1、MAC地址:是硬件提供商写在网卡中的。

IP地址:是网络提供商给你的

2、MAC地址:局域网寻址,
IP地址:网络寻址

3、MAC 是身份证,无定位功能;
IP 是地址,有定位功能,

ARP全称是什么?是干嘛的?

Address Resolution Protocol 地址解析协议

1、ARP表中存储局域网内IP地址和MAC地址的对应关系。

2、通过IP地址获取MAC地址。

IP全称是什么?

互联网协议地址 Internet Protocol Address

数据包是什么?

把传送的数据分段打包,传送出去。

IPv4是多少位的?

32位

位bit是什么?

1、二进制位,音译:比特bit

2、计算机最小的数据单位。
3、只有0和1。

字节Byte是什么?

1、存储空间的基本单位。

2、1字节可以存储1个英文字母、半个汉字。

1字节等于多少位?

1字节=8个二进制位

MAC地址全称?

1、Media Access Control Address,媒体访问控制地址

2、也称为局域网地址(LAN Address)

MAC地址是干啥的?

确认网上设备位置的地址。

MAC地址多少字节组成?多少进制组成?

6个byte。

十六进制。


MAC地址的特点?

1、MAC地址通信范围小

2、跨子网,需要IP地址
3、MAC是身份证,无定位功能。(IP是地址,有定位功能)

DHCP全称是什么?干什么的?

动态主机配置协议

分配IP的(相当于租房,不用装修,用完就可以退租)

新加入的客户机,分配IP的流程?(3点。提示:DHCP)

1、向广播吼一声,谁能租IP给我
2、如果有DHCP Server,验证mac是否唯一,之后分配IP给他。
3、如果有多个DHCP Server,一般先到的分配IP

IP地址如何续租?(2点)

1、客户机在租期超过50%时,会为其提供IP地址的DHCP Server发送DHCP request消息包。

2、客户机收到服务器回复的消息包,更新租期的配置。

数据链路层的作用?

防止多路访问,堵车问题。

链路层的访问方式?(3点)

1、信道划分。一个车占用一个车道
2、轮流协议。单双号
3、随机接入协议。错峰出行

拓扑结构怎么形成的?

多个交换机连接起来,形成了拓扑结构。

如何解决环路问题?

1、先来的,先记录。

2、后来的,把之前那条清理掉。

如何解决广播问题和安全问题?

1、物理隔离。子网划分

2、虚拟隔离。VLAN虚拟局域网

ICMP全称是?干嘛的?

Internet Control Message Protocol 互联网控制报文协议

相当于网络世界的侦察兵


MAC头包含?(3点)

目的MAC、源MAC、协议类型

IP头包含?(3点)

版本号(主流是IPv4)、源IP、目标IP

网关是什么?

往往是一个路由器(离开局域网,需要经过网关)

路由规则包括?(3点)

目的地址、出口设备、下一跳网关

动态路由算法分为?(2点)

1、距离矢量路由算法

2、链路状态路由算法

距离矢量路由算法,适用场景?缺点?(2点)

适用场景:小型网络(小于 15 跳)。

缺点:
1、好消息传得快,坏消息传得慢(路由器挂了)
2、每次发送的时候,要发送整个全局路由表。

链路状态路由算法,优点?

优点:更新信息更小,节省了带宽和 CPU 利用率

链路状态路由算法,算法思路?(3点)

1、将自己和邻居之间的链路状态包广播出去,发送到整个网络的每个路由器。
2、每个路由器都能在自己本地构建一个完整的图,
3、然后针对这个图使用 Dijkstra 算法,找到两点之间的最短路径。

距离矢量路由算法,算法思路?

每个路由器都保存一个路由表,包含多行,每行对应网络中的一个路由器,每一行包含两部分信息,一个是要到目标路由器,从那条线出去,另一个是到目标路由器的距离。


由此可以看出,每个路由器都是知道全局信息的。那这个信息如何更新呢?

每个路由器都知道自己和邻居之间的距离,每过几秒,每个路由器都将自己所知的到达所有的路由器的距离告知邻居,每个路由器也能从邻居那里得到相似的信息。

每个路由器根据新收集的信息,计算和其他路由器的距离,比如自己的一个邻居距离目标路由器的距离是 M,而自己距离邻居是 x,则自己距离目标路由器是 x+M。

TCP的特点(大人)?

1、可靠交付(无差错、不丢失、不重复、并且按序到达)
2、面向字节流(发的是一个流,没头没尾)
3、有拥塞控制的
4、一个有状态服务

UDP的特点(小孩子)?

1、不保证不丢失,不保证按顺序到达
2、基于数据报的,一个一个地发,一个一个地收
3、没有拥塞控制。应用让我发,我就发。
4、无状态服务

MAC 层定义了?

本地局域网的传输行为

IP 层定义了?

整个网络端到端的传输行为

UDP包头包含什么?

源端口号、目的端口号、UDP长度、UDP校验和、数据

UDP的三大特点?

1、沟通简单

2、轻信他人
3、愣头青,做事不懂权变

UDP 的三大使用场景?

1、需要资源少

2、不需要一对一沟通,建立连接。
3、处理速度快,时延低,可以容忍少数丢包

基于 UDP 使用的五个例子?

1、网页或者 APP 的访问
2、流媒体的协议
3、实时游戏
4、IoT 物联网
5、移动通信领域

TCP 包头包含?

源端口号、目标端口号、序号、确认序号、状态位、窗口大小(流量控制)

TCP的优点?(5个)

1、有顺序

2、不丢包
3、连接状态
4、流量控制
5、拥塞控制


TCP的三次握手,为什么是三次?

客户端和服务端都要有请求、应答

TCP 的三次握手,从客户端、服务端的角度,流程分别是?

客户端(1、3):CLOSED》SYN-SENT》ESTABLISHED

服务端(2):CLOSED》LISTEN》SYN-RCVD》ESTABLISHED

TCP 四次挥手?

客户端(1、4):ESTABLISHED》FIN-WAIT-1》FIN-WAIT2》TIME-WAIT》CLOSED

服务端(2、3):ESTABLISHED》CLOSED-WAIT》LAST-ACK》CLOSED

TCP为什么靠谱?

如果服务器端超过一定的时间没有回复,客户端就会重新发送这个包,直到有回复。

TCP的超时重试策略是什么?

超时,时间间隔加倍

TCP的快速重传机制?

一次发送三个冗余的 ACK

TCP的状态位:SYN、ACK、RST、FIN,分别是什么?

SYN 是发起一个连接,

ACK 是回复,
RST 是重新连接,
FIN 是结束连接


Socket通信的bind(),绑定什么?(2点)

IP地址、端口

Socket维护了2个队列是什么?

已建立连接的队列、没有建立连接的队列

基于TCP协议的Socket通信,connect是干嘛的?

发起连接(三次握手)

基于 TCP 协议的 Socket 程序函数调用过程?分别从客户端、服务端的角度

客户端:socket() 》 connect() 》 write() 》 read()

服务端:socket() 》 bind() 》 listen() 》 accept() 》 read() 》 write()

基于 UDP 协议的 Socket 程序函数调用过程?分别从客户端、服务端的角度

客户端:socket() 》 bind() 》 sendto() 》 recvfrom()
服务端:socket() 》 bind() 》 recvfrom() 》 sendto()

HTTP基于什么协议?需要建立什么连接?

TCP

HTTP1.1

默认开启什么?

Keep-Alive

Keep-Alive有什么好处?

减少TCP连接的开销

短连接的过程?

1、建立tcp连接
2、发起请求
3、响应请求
4、断开tcp连接
5、建立tcp连接
6、发起请求
7、响应请求

长连接的过程?

1、建立tcp连接
2、发起请求
3、响应请求
4、发起请求
5、响应请求

短连接的缺点?

每个请求都要建立一次连接

长连接的缺点?

连接数高时,占用网络带宽、影响性能。

HTTP1.0和1.1的区别?(2个方面)

长连接方面:HTTP1.0 需要手动开启Keep-Alive,HTTP1.1 默认开启

节约带宽方面:HTTP1.1 支持只发送helder信息


HTTP1.1和2.0的区别?(3个方面)

多路复用:HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求。而且并发请求的数量比HTTP1.1大了好几个数量级。

数据压缩:HTTP2.0支持header数据压缩
服务器推送:HTTP2.0会顺便把客户端需要的资源一起推送到客户端


HTTP请求包含哪4部分?

1、请求行(方法、url、版本)

2、请求头(acept-charset、content-type、cache-control)
3、空行(必须要空行)
4、请求正文

Accept-Charset是干嘛的?

客户端可以接受的字符集

Content-Type是干嘛的?

正文的格式

HTTP通信过程?

TCP》IP》网关(不是一个局域网),ARP》到达目的局域网 ARP》MAC》IP》TCP,解析序列号》指定端口,HTTP服务器

HTTP的特点?

简单快速、灵活、无连接、无状态

HTTP是使用什么来传输数据的?

统一资源标识符(Uniform Resource Identifiers, URI)

URL的全称?与URI的关系是什么?

uniform resource locator,统一资源定位器。

它是一种具体的URI,即URL可以用来标识一个资源

HTTP的状态码,400、401、403、500、503代表什么?

400 bad request:客户端请求语法错误。

401 unauthorized:请求未经授权
403 forbidden:服务端收到请求,但拒绝提供服务
500 internal server error:服务器发生错误
503 server unavailable:服务不可用


get和post的区别?(2点)

1、传输数据大小的限制不一样,url有长度限制

2、安全性


HTTP协议是基于什么的? 字符 HTTP2.0的特点?(5点)

1、对 HTTP 的头进行一定的压缩
2、将一个 TCP 的连接中,切分成多个流,每个流有优先级
3、传输信息分割为更小的消息和帧:Header 帧、Data帧
4、客户端和服务端都可以同时发送多个请求或回应,而且不用按照顺序一对一对应。
5、成功解决了 HTTP 1.1 的队首阻塞问题

HTTP返回的请求包含?(3点)

状态行、首部、实体

对称加密的优点和缺点?

优点:加密、解密效率高

缺点:协商秘钥,密码本只能通过线下传输


非对称加密,在客户端、服务端是如何使用的?

客户端》服务端:发送信息,用服务端的公钥加密。收到信息,用服务端私钥解密

服务端》客户端:发送信息,用客户端的公钥加密。收到信息,用客户端的私钥解密

如何鉴定对方的公钥是对的?

数字证书:由权威部门证明,颁发的称为证书(Certificate)

数字证书包含?(4点)

公钥、所有者、发布机构、有效期。

证书是怎样生成的?

权威机构CA( Certificate Authority),通过签名算法生成

签名算法的过程?

1、对信息做一个 Hash 计算,得到一个 Hash 值,这个过程是不可逆的。

2、在把信息发送出去时,把这个 Hash 值加密后,作为一个签名和信息一起发出去。

如何知道某个 CA 的证书是否可靠?

要看 CA 的上级证书的公钥,能不能解开这个 CA 的签名。

root CA是干嘛的?

做最后的背书。

层层授信背书的方式 HTTPS 的工作模式是什么,在客户端、服务端的角度?

客户端:Client Hello》证书校验》产生随机数字》对称秘钥》协商的通信密钥和加密算法》数据与握手验证

服务端:Server Hello》Server Certificate》Server Hello Done》对称秘钥》协商的通信密钥和加密算法》数据与握手验证

帧率是什么?

以人的眼睛的敏感程度,看不出是一张张图片

DNS是什么结构组成? 树状结构:

1、根 DNS 服务器
2、顶级域 DNS 服务器
3、权威 DNS 服务器 :返回相应主机的 IP 地址

DNS 访问数据中心中对象存储上的静态资源,解析过程?

客户端》本地DNS缓存》本地DNS解析器》本地DNS缓存》本地DNS服务器》根域名服务器》.com顶级域名服务器》权威域名服务器》

全局负载均衡器 CDN的结构是什么?

CDN树状结构:中心节点》区域节点》边缘节点

数据中心分为哪三层?

服务器连接到接入层,然后是汇聚层,再然后是核心层

VPN是如何工作的?

VPN,全名Virtual Private Network,虚拟专用网。

就是利用开放的公众网络,建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。

基于XML的SOAP协议,三大要素(协议约定、传输协议、服务发现)是什么?

协议约定用 WSDL(严谨的Web 服务描述语言,是XML文件)

传输协议用 HTTP
服务发现用 UDDL(注册中心)


SOAP的全称?

Simple Object Access Protocal 简单对象访问协议

基于JSON的RESTful接口协议,传输协议是什么?协议约定基于什么?

传输协议:HTTP

协议约定:基于JSON

RESful是什么?全称是什么?

RESful是一种架构风格,主要面向资源,提供无状态服务。

全称 Representational State Transfer,表述性状态转移

什么是服务端的无状态化?优点是?

服务端维护资源的状态,客户端维护会话的状态

优点:可以横向扩展

SOAP的缺点?RESTful的缺点?

SOAP缺点:过于复杂,而且设计是面向动作的,因而往往因为架构问题导致并发量上不去。

restful缺点:使用json字符串占用字节数大。二进制的RPC占用小。


如果最后一跳的时候,IP 改变了怎么办?

ARP找不到了,所以这个包就会发送失败了

RARP 协议是干嘛的?

通过 MAC,得到 IP

HTTPS 访问过程?

DNS 查询、TCP 连接建立、TLS 连接建立,最后才是 HTTP 发送数据。

猜你喜欢

转载自www.cnblogs.com/amusement1992/p/10416714.html
今日推荐