计算机网络知识点补充

计算机网络知识点补充


目录:


1. HTTP和HTTPS的区别

http协议是运行在tcp之上,明文传输,客户端和服务器端都无法验证对方的身份;https是运行在ssl(Secure Socket Layer)上,ssl协议运行于tcp之上。是添加了加密和认证机制的http。二者有以下不同:

  1. 端口不同:http和HTTPS使用的连接方式不同,端口也不一样。前者是80,后者是443端口。
  2. 资源消耗不同:与HTTP通信相比,HTTPS通信会由于加密解密处理消耗更多的cpu和内存资源。
  3. 开销不同:HTTPS通信要证书,而证书一般需要向认证机构购买。
  4. HTTPS有加密机制,是一种共享秘钥和公开秘钥加密并用的混合加密机制。

2. 对称加密和非对称加密

对称秘钥加密是指加密和解密都使用同一个秘钥的方式,这种方式存在的最大问题就是秘钥发送问题,即如何安全地将秘钥发送给对方。非对称加密是指使用一对非对称秘钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方收到加密信息后,使用自己的私钥进行解密。

由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。


3. 为什么TCP链接需要三次握手,两次不可以么,为什么?

为了防止已失效的链接请求报文突然又传送到了服务端,因而产生错误。

客户端发出的连接请求报文并未丢失,而是在某个网络节点长时间滞留了,以致延误到链接释放以后的某个时间才到达Server。这时,Server误以为是Client发出的一个新的链接请求,于是就向客户端发送确认数据包,同意建立链接。若不采用“三次握手”,那么Server发出确认数据包,新的链接就建立了。由于client此时并未发出建立链接的请求,所以其不会理睬Server的确认,也不会与Server通信;而这时Server值在等待Client的请求,这样Server就白白浪费了一定的资源。若采用“三次握手”,在这种情况下,由于Server端没有收到来自客户端的确认,则就会知道Client并没有要求建立请求,就不会建立链接。


5、TCP协议如何来保证传输的可靠性

TCP提供一种面向连接的、可靠的字节流服务。其中,面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信;而字节流服务意味着两个应用程序通过TCP链接交换8bit字节构成的字节流,TCP不在字节流中插入记录标识符。

对于可靠性,TCP通过以下方式进行保证:

  1. 数据包校验:目的是检测数据在传输过程中的任何变化,若校验出包有错,则丢弃报文段并且不给出响应,这时TCP发送数据端超时后会重发数据;

  2. 对失序数据包重排序:既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。TCP将对失序数据进行重新排序,然后才交给应用层;

  3. 丢弃重复数据:对于重复数据,能够丢弃重复数据;

  4. 应答机制:当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒;

  5. 超时重发:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段;

  6. 流量控制:TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据,这可以防止较快主机致使较慢主机的缓冲区溢出,这就是流量控制。TCP使用的流量控制协议是可变大小的滑动窗口协议。


6、客户端不断进行请求链接会怎样?DDos(Distributed Denial of Service)攻击?

服务器端会为每一个请求创建一个链接,并向其发送确认报文,然后等待客户端进行确认。

  1. DDos(分布式拒绝服务攻击)攻击

    • 客户端向服务端发送请求链接数据包
    • 服务端向客户端发送确认数据包
    • 客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认
  1. DDos 预防 ( 没有彻底根治的办法,除非不使用TCP )

    • 限制同时打开SYN半链接的数目
    • 缩短SYN半链接的Time out 时间
    • 关闭不必要的服务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值