计算机网络八股文,计算机网络书

计算机网络八股文计算机网络体系架构?
OSI结构:理论上的 7应用层:定义了应用进程间通信和交互的规则,常见协议有HTTP、SFTP、DNS、WebSocket6表示层&#xff1a

计算机网络体系架构?

OSI 架构:理论

7、应用层:定义应用进程之间通信和交互的规则。常见协议包括HTTP、SFTP、DNS 和WebSocket。 6. 表示层:数据表示、安全性和压缩。验证一个系统的应用程序层发送的消息是否可以由另一系统的应用程序层读取。 GIF、JEPG5 会话层:建立、管理和终止会话。这是用户应用程序和网络之间的接口。 RPC、SQL4传输层:提供源和目的地之间可靠、透明的数据传输。传输层协议为不同主机上运行的进程提供逻辑通信。 TCP、UDP、SSH3网络层:将网络地址转换为相应的物理地址,以提供不同网络之间的路径选择、寻址和路由。 ICMP、IGMP、IP和另外两个数据链路层:基于提供比特流服务的物理层,在组成点之间建立数据链路。 1物理层:建立、维护和拆除物理连接。 TCP/IP结构:实际应用、传输网络、链路层五层结构:在此基础上,我们折中介绍了逐层打包和逐层拆包的原理。

DNS的迭代查询和递归查询?

递归查询示例:

客户端想要解析www.example.com 的IP 地址,并向本地DNS 解析器发送请求。

本地解析器查询根DNS 服务器。

根DNS 服务器返回.com TLD 服务器地址。

本地解析程序查询.com TLD 服务器。

.com TLD 服务器返回权威DNS 服务器地址,例如example.com。

本地解析器查询权威DNS 服务器,例如example.com。

权威DNS服务器返回www.example.com的IP地址。

本地解析器将IP 地址返回给客户端。

迭代查询示例:

客户端想要解析www.example.com的IP地址,依次查询各个DNS服务器。

客户端查询本地DNS 解析器。

本地解析器查询根DNS 服务器。

根DNS 服务器返回.com TLD 服务器地址。

本地解析器将.com TLD 服务器地址返回给客户端。

客户端查询.com TLD 服务器。

.com TLD 服务器返回权威DNS 服务器地址,例如example.com。

客户端查询权威DNS服务器(例如example.com)。

权威DNS服务器返回www.example.com的IP地址。

客户端获取IP地址。

结论是

递归查询和迭代查询是DNS查询的两种方法,各有其优缺点。递归查询对客户端友好,但会增加DNS 解析器的负担。迭代查询对解析器的成本很小,但会增加客户端的复杂性。在实际应用中,客户端通常使用递归查询并通过本地DNS 解析器处理大部分查询过程。

DNS解析过程?

常见端口:

21:FTP22:SSH53:DNS解析80:HTTP443:HTTPS1080:套接字3306:mysql

常见状态码:

1XX:临时响应。客户端必须继续请求。 2XX:服务器成功接收请求。 3XX:用于重定向。 4XX:您的请求可能有错误。 5XX:服务器处理请求时遇到错误。 404:表示客户端(如浏览器)请求的资源在服务器上不存在

GET和POST的区别?

传递参数的方式不同。一份在URL 中,一份在请求正文中。大多数幂等GET 都由CDN 缓存。

HTTP报文结构?

请求消息:

消息头

请求行请求标头字段公共标头字段实体标头字段

获取/index.html HTTP/1.1

主机: www.javabetter.cn

接受:文本/html

User-Agent: Mozilla/5.0(Windows NT 10.0;Win64;x64) AppleWebKit/537.36(KHTML、Gecko 等) Chrome/58.0.3029.110 Safari/537.3

消息体响应消息

消息头

状态行响应标头字段通用标头字段实体标头字段

HTTP/1.0 200 好

内容类型: 文本/纯文本

内容长度: 137582

到期时间: 1997 年12 月5 日星期四16:00:00 GMT

最后修改时间: 1996 年8 月5 日星期三15:55:28 GMT

服务器:阿帕奇0.84

html

身体沉默了,旺儿很天真/身体

/html

邮件正文

URI 和 URL 有什么区别?

URI,统一资源标识符(URI) URL,统一资源位置。这是URI的子集,其主要功能是提供资源的路径。

HTTP 1-3的区别?

1.0

无状态协议是非持久连接。 Connection:keep-alive 可以设置为强制打开长连接1.1。

持久连接支持发送问题,在前一个响应到达之前阻塞队列的下一个头。如果第一个响应被阻塞,即使2.0准备就绪,后续响应也无法发送。

由于使用的是二进制协议,grpc是通过基于2.0的byteArray发送的。以前,多个HTTP 请求或响应被分解为独立的帧并以交错的方式发送。这缓解了HTTP 1.x 的队头阻塞问题,并依靠顺序标头压缩来减少带宽消耗。表示层实现gzip压缩3.0。

Quick UDP连接基于3.0 QUIC协议,实现不同流之间的独立传输。 2.0仍然需要一种方法来保证TLS三向握手的可靠性。

内置前向纠错和重传

编码:用特定的编码算法对一堆原始数据进行编码,生成纠错码。 发送:发送时带有纠错码。 解码:接收到数据后,进行解码,恢复原始数据。纠错增加了带宽要求并简化了重传。这些主要是SACK、快速重传流量控制和拥塞控制。

HTTP长连接相关参数:

keep-alivekeep-alive timeoutTCP也有三个参数。空闲后,会定期发送检测报文,无论响应多少次,连接都会断开。

HTTP和HTTPS

在HTTP的基础上,增加了SSL(Secure Socket)/TLS(Transport Layer Security)协议,保证传输过程加密。已解决的问题:

TLS握手的安全问题:

客户端向服务器发送一条ClientHello 消息,其中包含支持的TLS 版本、随机数等。服务器响应ServerHello,选择客户端建议的版本,并发送数字证书。客户端验证证书的有效性并生成数字证书。加密后的通信密钥通过公钥发送到服务器,服务器的私钥解密得到会话密钥。

握手阶段的密钥交换是对称非对称传输。

TCP的流量控制:

三次握手协商窗口大小,以字节为单位,最大值为(2^16-1)14。有一个窗口扩展选项,大概是同意1G每次可以发送的最大接收窗口数。

发件人窗口

拥塞控制:

为了避免拥塞,发送方的数据保持cwnd并且滑动窗口可以接收单位MSS慢启动。

检测网络拥塞。每次收到ACK 时,单位cwnd+1 都会呈指数增加。

当cwnd达到慢启动阈值sshresh时,进入拥塞,以避免每次收到ACK时出现拥塞(cwnd=cwnd+1/cwnd)。每个RTT 都是+1。

如果是RTO超时重传

sshresh=cwnd/2cwnd=1 输入慢启动以进行快速重传

cwnd=cwnd/2sshresh=cwnd 启动快速恢复快速恢复

快速恢复算法判断仍然收到了3个重复的ACK,说明网络还不算太差,所以不需要像RTO超时那么强。 cwnd 和ssresh 已更新为cwnd=ssresh+3。重新传输重复的ACK,即丢失的数据包。如果您收到cwnd=cwnd+1 的新数据包,请再次输入cwnd=sshresh。

TCP的超时重传机制?

如果在一定时间内没有收到ACK,则触发RTO。在此期间发送的数据会标有序列号,以确保发送方以正确的顺序发送数据。 1、2、3、4、5 的数据:

Acked 回到2,因为第一个Seq1 已先交付。结果由于某种原因没有收到Seq2,Seq3到了,后面的Seq4和Seq5都返回Acked。由于Seq2尚未收到,发送方收到3个Ack=2的确认,知道Seq2尚未收到,因此在Resend定时器超时之前得到丢失的Seq2。最后,接收Seq2。此时Seq3、Seq4、Seq5都已收到,所以Ack返回6。 SACK,Acknowledged,ACK是指从左到右第一个空白,没有数据。 D-SACK:告诉发送者哪些消息已被重复接收。例如,如果ACK 未到达,则发送方重新发送ACK。确认号表示接收方期望从发送方接收的下一个字节在TCP 中的序列号。一个SACK 表示在快速重传期间收到的内容,另一个表示如果发送方在未收到ACK 的情况下重传时将收到的内容。

TCP和UDP的区别?

可靠性:校验和、序列号、ACK、RTO、fast等多种传输格式(前者为字节流,后者为数据段报文) 传输效率:UDP无确认、无重传、无超时、无序列号、无流控QUIC需要资源头字节20到60并实现UDP 8面向连接,并且可以进行拥塞控制。

IP协议的定义和作用?

定义数据包的格式和处理规则。

解决路由碎片和重组

ICMP协议的功能?

一种无连接协议,用于传输错误报告控制信息,例如错误报告和状态信息。如果IP无法访问,则会自动发送ICMP。

ping的原理?

一种网络工具,主要用于测试网络连接的可达性和延迟。 Ping过程主要基于ICMP(Internet控制消息协议)实现,其基本流程包括:

当使用ping命令(如ping javabetter.cn)时,Ping首先解析域名获取IP地址,然后向目标IP发送ICMP Echo Request报文。

当目标IP收到ICMP Echo Request报文时,生成并返回ICMP Echo Reply报文。即Ping响应消息。

发起Ping命令的设备收到ICMP Echo Reply报文后,计算发送Echo Request到收到Echo Reply之间的时间(通常称为Round-Trip Time,RTT)并显示。存在丢包的可能性。

以上关于#computer网络的8部分文章摘自互联网,供您参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92777.html

(0)
CSDN的头像CSDN
上一篇 2024年7月4日
下一篇 2024年7月4日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注