计算机网络题集

一、网络模型
  • OSI七层模型
    物理层 —> 数据链路层 —> 网络层(IP)—> 传输层(TCP、UDP)—> 会话层(DNS)—> 表示层 —> 应用层(HTTP)
  • TCP/IP四层模型
    网络接口层(物理层+数据链路层)—> 网络层(IP)—> 传输层(TCP、UDP)—> 应用层(会话层 + 表示层 + 应用层)
  • 说明: OSI七层模型是完整的完善的宏观理论模型、TCP/IP四层模型则是侧重于互联网通信核心的分层
二、TCP与UDP

TCP:传输控制协议 UDP:用户数据报协议

  • TCP是面向连接的且只支持一对一连接通信,UDP是无连接的可一对多
  • TCP使用了流量控制和拥塞控制保证数据可靠性,而UDP则没有,可能会存在丢包和顺序错乱的情况
  • TCP是面向字节流的,常用于传输大量数据(文件传输),UDP是面向报文的,常用于传输少量数据(IP电话,语音,直播等)
  • UDP首部开销小(8字节),TCP首部开销大(20~60字节)
三、HTTP与HTTPS
  • HTTPS采用加密传输协议而HTTP采用明文传输协议故HTTPS更加安全
  • HTTPS加入了SSL层需要CA证书以确认对方的身份
  • HTTPS规范端口443,HTTP规范端口80
四、TCP的三次握手/四次挥手

TCP建立连接三次握手,断开连接四次握手

  • 三次握手
    • 客户端 - 发送SYN包(syn=j) - 服务端
    • 服务端 - 收到SYN包,确认客户的SYN(syn=j+1)同时发送ACK包(ack=k) - 客户端
    • 客户端 - 收到服务器的SYN+ACK包,并发送确认包ACK(ack=k+1) - 服务端


      image.png
  • 四次握手
    • 客户端-客户端发送一个 FIN=1 (代表断开连接)准备关闭连接
    • 服务器-收到这个FIN,会发送 ACK 报文,且把客户端的序列号值 + 1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,有可能服务端数据没处理完会继续处理数据。
    • 服务端处理完数据后准备断开连接,和客户端的第一次挥手一样,发给 FIN 报文。
    • 客户端-收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 + 1 作为自己 ACK 报文的序列号值,客户端会经过一段时间(2MSL报文最大生存时间)自动进入关闭状态;服务端收到 ACK 报文之后,就关闭连接了
img
  • 为啥关闭连接需要4次
    • 断开和连接阶段的区别就在于,这里的B的确认消息和断开消息不能融合。因为A要断开的时候,B可能还有数据要处理要发送,所以要等正常业务处理完,在发送断开消息。
五、对称加密和非对称加密
  • 对称加密:加密解密算法不同,但是密钥相同。比如DES,AES算法。
  • 非对称加密:加密解密算法相同,但是密钥不同。私钥自己保存,公钥提供给对方。比如RSA,DSA算法。

你可能感兴趣的:(计算机网络题集)