计算机网络面试知识点。
SSH 加密是一个使用数学算法对数据进行编码的过程。然后,编码数据的发送者和接收者可以使用密钥来解码数据。
此过程有助于确保数据保持机密并且在传输过程中不被篡改。SSH 还提供身份验证,这有助于防止未经授权访问系统和数据。
SSH 加密主要有两种类型:公钥加密和对称密钥加密。公钥加密使用两种不同的密钥,一种用于编码,一种用于解码。
密钥通常由第三方提供商生成,并在发送方和接收方之间共享。对称密钥加密使用相同的密钥进行编码和解码。这意味着发送方必须先将密钥发送给接收方,然后才能对任何数据进行加密或解密。
TCP粘包是指发送方发送的若干数据包到达接收方时粘成一个数据包,从接收缓存看,后一个数据包的头紧接着前一个数据包的尾。
TCP拆包是指应用程序的数据包被拆分成若干部分发送出去,从接收缓存看,接收方收到的只是数据包的一部分内容。
由此可见,粘包情况有两种,一种是粘在一起的包都是完整的数据包,另一种情况是粘在一起的包有不完整的数据包。
怎么解决粘包问题?
1.利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题(因为只有一种包结构,类似于http协议)。
2.一般可能会在头加一个数据长度之类的包,以确保接收。
MTU是最大传输单元,用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。
MTU是包或帧的最大长度,一般以字节为单位,如果过大在碰到路由器时会被拒绝转发,如果太小,因为协议一定要在包上加上包头,那实际传送的数据量就会过小。