计算机网络

为什么TCP 握手

TCP具有可靠性=》消息发送必须有应答,所以客户端与服务器需要握手

为什么是三次?

TCP是全双工道,TCP规范是不允许半打开状态发送消息,即客户端跟服务端可以互发=》必须得知道发送的序列号

浏览器输入,网络世界发生什么?

1:域名通过DNS转换成IP地址 (如果有缓存,则查缓存,如果没有可能经过正向代理或反向代理到达目的服务器)
2:正向代理反向代理必须转成Http请求的格式

使用Http长连接有什么有优点?

1:减少握手次数
2:减少慢启动影响

介绍下Close_WAIT状态产生的原因

1:建议连接后,谁先关闭谁就是主动端
2:主动端的状态有建立、Fin-wait-1、Fin-wait-2、Time-wait、Closed
3: 被动的的状态有建立、Closed-wait、Last-ack和Closed状态
Closed-wait,属于半打开连接状态,可以通过nestat命令查到,多半是程序出现了BUG

介绍一下多播是怎么实现的?

单播、广播、组播,其中广播和组合称为多播,
Mac地址全是1的话就是广播,路由器和交换机负责请求复制的工作,提升性能。

服务器最大支持的并发数?

https://blog.csdn.net/qq_40989769/article/details/109742190

怎么实现高并发,Linux高并发优化

TCP UDP区别

UDP 一对多,简单、效率高、实时性好、无队头阻塞问题
TCP 可靠、流量控制、拥塞控制、传递任意长度

tcp 怎么保证有序传输的:
1)应用数据被分割成 TCP 认为最适合发送的数据块。
2)超时重传:当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到
一个确认,将重发这个报文段。
3)TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。
4)校验和:TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任
何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段。
5)TCP 的接收端会丢弃重复的数据。
6)流量控制:TCP 连接的每一方都有固定大小的缓冲空间,TCP 的接收端只允许发送端发送接收端缓冲区能接
纳的我数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控
制协议是可变大小的滑动窗口协议。
7)拥塞控制:当网络拥塞时,减少数据的发送。

time_wait 状态,这个状态出现在什么地方,有什么用?
1.为实现 TCP 全双工连接的可靠释放
当服务器先关闭连接,如果不在一定时间内维护一个这样的 TIME_WAIT 状态,那么当被动关闭的一方的 FIN 到
达时,服务器的 TCP 传输层会用 RST 包响应对方,这样被对方认为是有错误发生,事实上这只是正常的关闭连接
工程,并没有异常
2.为使过期的数据包在网络因过期而消失
在这条连接上,客户端发送了数据给服务器,但是在服务器没有收到数据的时候服务器就断开了连接
现在数据到了,服务器无法识别这是新连接还是上一条连接要传输的数据,一个处理不当就会导致诡异的情况发

下面讲讲大量的 TIME_WAIT 产生需要的条件:
1.高并发
2.服务器主动关闭连接
如果服务器不主动关闭连接,那么 TIME_WAIT 就是客户端的事情了

http 与 https 有啥区别?https 是怎么做到安全的?
http协议和https协议的区别:传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同
1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。
2、https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。
二、连接方式不同
1、http协议:http的连接很简单,是无状态的。
2、https协议:是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议。
三、端口不同
1、http协议:使用的端口是80。
2、https协议:使用的端口是443.
四、证书申请方式不同
1、http协议:免费申请。
2、https协议:需要到ca申请证书,一般免费证书很少,需要交费。

TCP VS UDP

TCP 三次握手

Http1.0 http1.1 http2.0?

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务