计算机网络面试题解答一

1.http和https的区别

  • 端口号:HTTP默认是80,HTTPS默认是443
  • URL前缀:HTTP的URL前缀是http://HTTPS的URL的前缀是https://
  • 安全性和资源消耗:HTTP 协议运行在 TCP 之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。所以说,HTTP 安全性没有 HTTPS 高,但是 HTTPS 比 HTTP 耗费更多服务器资源。

注:该解答著作权归Guide所有 

原文链接:https://javaguide.cn/cs-basics/network/http-vs-https.html#ssl-tls-%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86
 

2.TCP和UDP的区别

  • 是否面向连接 :UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。
  • 是否是可靠传输:远地主机在收到 UDP 报文后,不需要给出任何确认,并且不保证数据不丢失,不保证是否顺序到达。TCP 提供可靠的传输服务,TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。
  • 是否有状态 :这个和上面的“是否可靠传输”相对应。TCP 传输是有状态的,这个有状态说的是 TCP 会去记录自己发送消息的状态比如消息是否发送了、是否被接收了等等。为此 ,TCP 需要维持复杂的连接状态表。而 UDP 是无状态服务,简单来说就是不管发出去之后的事情了(这很渣男!)。
  • 传输效率 :由于使用 TCP 进行传输的时候多了连接、确认、重传等机制,所以 TCP 的传输效率要比 UDP 低很多。
  • 传输形式 : TCP 是面向字节流的,UDP 是面向报文的。
  • 首部开销 :TCP 首部开销(20 ~ 60 字节)比 UDP 首部开销(8 字节)要大。
  • 是否提供广播或多播服务 :TCP 只支持点对点通信,UDP 支持一对一、一对多、多对一、多对多。

注:著作权归Guide所有
原文链接:https://javaguide.cn/cs-basics/network/other-network-questions2.html#tcp-%E4%B8%8E-udp-%E7%9A%84%E5%8C%BA%E5%88%AB-%E9%87%8D%E8%A6%81

3.TCP如何实现流量管理和拥塞控制

TCP通过流量管理和拥塞控制,可以有效地避免网络拥塞和数据丢失的问题。具体实现方式如下:

流量管理:TCP通过滑动窗口机制来进行流量管理。这个机制可以让接收方控制发送方发送数据的速率。发送方会根据接收方发送回来的窗口大小,来控制自己的发送速率,防止对方无法接收所有数据而导致数据的丢失。同时,TCP还通过确定性延迟ACK,来对接收方实现有效反馈,从而更好的进行流量控制。

拥塞控制:TCP通过拥塞控制算法,来保证网络的稳定性和数据传输的可靠性。拥塞控制算法可以根据网络的拥塞程度,来控制发送方的发送速率,防止因网络拥塞而导致的数据丢失和重传。TCP主要采用的拥塞控制算法有慢启动、拥塞避免和拥塞恢复算法,这些算法都可以动态调整发送窗口的大小,来控制发送速率,从而实现拥塞控制。

在实现流量管理和拥塞控制时,TCP还需要进行一些参数的设置和状态的维护,比如滑动窗口大小、拥塞窗口大小、拥塞窗口阀值和超时重传等。只有在正确地设置这些参数,并保持正确的状态维护,才能使TCP的流量管理和拥塞控制算法发挥作用,达到数据传输的稳定和可靠。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值