1. 什么是异步非阻塞

  • 同步和异步
    • 同步:所有的操作都做完,才返回给用户(写完数据库再响应给用户,用户体验不好)
    • 异步:不用等操作做完,就响应给用户(先响应给用户,然后慢慢去写数据库,用户体验较好)
  • 阻塞和非阻塞:调用者(程序)在等待返回结果(或输入)时的状态
    • 阻塞:在调用结果返回前,当前线程会被挂起,并在得到结果后返回
    • 非阻塞:如果不能立即得到结果,则该调用者(程序)不会阻塞当前线程。因此对于非阻塞的情况,调用者(程序)需要定时轮询查看处理状态
  1. 同步和异步关注的是任务完成消息通知的机制
  2. 阻塞和非阻塞关注的是等待任务完成时请求者的状态

    2. 路由器和交换机的区别

  3. 区别一

    1. 交换机是用来连接局域网的,也就是只能将一个办公室或一栋大楼连接成一个网络,但无法连接到因特网。如果要访问的话需要在交换机上面连接一个路由器。现在家用的路由器都集成了交换机的功能了。
  4. 区别二
    1. 路由器会在局域网自动分配IP,实现虚拟分号,就像有人带着你走就是,不用自己操心怎么走。而交换机只是用来分配网络数据的。
  5. 区别三
    1. 路由器工作在网络层,路由器根据IP地址寻址,路由器可以处理TCP/IP地址。交换机在中继层,交换机根据MAC地址寻址。
  6. 区别四
    1. 路由器能将一个IP分配给多个主机使用,主机对外ip只有一个。交换机可以把不同的主机连接起来,对外表现的IP也各不相同。
  7. 区别五
    1. 路由器提供防火墙功能。集线器、交换机都是做端口扩展的,就是扩大局域网的接入点,也就是能让局域网可以连接进来更多的电脑。路由器是用来连接不同的网络的。
  8. 区别六

    1. 路由器相当于一个邮局,把信投递到收件人的地址,它的任务就完成了。
    2. 信邮到了你们宿舍楼下,但这个地址不是你一个人专享的,楼管阿姨还需要把信交到你手里面,他不会关心收件人的地址,只看收件人的姓名,然后打个内线叫你来取信。
    3. 所有邮局构成的系统就是广域网,而你的宿舍楼,就是局域网,构建局域网不需要路由器。

      3. 如何修改本地hosts文件

      3.1 hosts文件的作用

  9. host文件是一个用于存储计算网络中各节点信息的计算机文件;作用是将一些常用的网站域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网站时,系统会首先自动从hosts文件中寻找对应的IP地址。

    1. 加快域名解析
    2. 构建映射关系
    3. 屏蔽网站和广告
    4. 调试、测试

      3.2 hosts文件在不同操作系统中的存放路径

  10. windows系统

    1. C:\Windows\System32\drivers\etc
  11. Linux系统

    1. /etc/

      3.3 修改hosts后需要刷新DNS缓存使之生效

  12. windows系统

    1. 在cmd命令下:ipconfig/flushdns

4. TCP/IP协议

  1. TCP(Transmisstion Control Protocol)
    1. TCP提供IP环境下的数据可靠传输,他提供的服务包括数据流传送、可靠性、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。
    2. 它事先为所发送的数据开辟出连接好的通道,然后再进行数据发送。
    3. TCP对应的是可靠性要求较高的应用
    4. TCP支持的协议
      1. Telnet、FTP、SMTP等
  2. UDP(User Datagram Protocol)
    1. UDP不为IP提供可靠性、流控或差错控制的服务。
    2. UDP对应的是可靠性要求低、传输经济的应用
    3. UDP支持的协议
      1. NFS(网络文件系统)
      2. DNS(域名解析系统)
  3. TCP/IP协议与底层的数据链路层和物理层无关

    5. TCP可靠传输

    TCP使用了校验、序号、确认和重传等机制来达到这一目的。

  4. 序号

    1. TCP首部的序号字段用来保证数据能有序提交给应用层。
    2. TCP把数据视为一个无结构但有序的字节流,序号建立在传送的字节流之上,而不建立在报文段之上。
    3. TCP连接传送的数据流中的每个字节都编上一个序号。序号字段的值是指本报文段所发送的数据的第一个字节的序号。
  5. 确认
    1. TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号。
    2. TCP默认使用累计确认,即TCP只确认数据流中至第一个丢失字节为止的字节。
  6. 重传

    1. 超时
      1. TCP每发送一个报文段,就对这个报文段设置一次计时器。计时器设置的重传时间到期但还未收到确认时,就要重传这一报文段。
    2. 冗余
      1. TCP规定当发送方收到对同一个报文段的3个冗余ACK时,就可以认为跟在这个被确认报文段之后的报文端已经丢失。

        6. TCP流量控制

        TCP提供流量控制服务来消除发送方(发送速率过快)使接收方缓存区溢出的可能性。
  7. 通信原理

    1. 接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,这称为接收窗口。
    2. 发送方根据其对当前网络拥塞成都的估计而确定的窗口值,这称为拥塞窗口。

      7. TCP拥塞控制

      拥塞控制是防止过多的数据注入网络,保证网络中的路由器或链路不致过载。
      拥塞控制和流量控制的区别:
  8. 拥塞控制:让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器。

  9. 流量控制:指的是点到点的通信量的控制,是个端到端的问题。

拥塞控制的4种算法:
慢开始、拥塞避免、快重传、快恢复

  1. 慢开始和拥塞避免
    1. 慢开始一直把cwnd增大到一个规定的满开始门限,然后改用拥塞避免算法。
  2. 快重传和快恢复