笔面考点总结(一)计算机网络篇

前言

最近春招找暑期实习,做了些往年的笔试,发现知识点都生疏了,所以开了这个系列用于记录,同时希望能帮到同样处境的同学。

计算机网络篇

TCP 标志位

  • SYN (synchronous) 创建连接
  • ACK (acknowledge) 确认接受
  • FIN (finish) 结束连接
  • PSH (push) 传送
  • RST (reset) 重置
  • URG (urgent) 紧急

TCP 三次握手

  • 第一次握手:A 发送 SYN=1SEQ=X, A 进入SYN_SEND状态
  • 第二次握手:B 发送 SYN=1ACK=X+1SEQ=Y, B 进入SYN_RECV状态
  • 第三次握手:A 发送 ACK=Y+1SEQ=Z,A 和 B 都进入ESTABISHED状态

注:A 为主动建立连接一方,B 为被动建立连接一方。

TCP 四次挥手

  • 第一次挥手:A 发送 FIN=N , A 进入FIN_WAIT_1状态
  • 第二次挥手:B 发送 ACK=N+1 ,B 进入CLOSE_WAIT状态, A 进入FIN_WAIT_2状态
  • 第三次挥手:B 准备好关闭时,发送 FIN=M 并进入LAST_ACK状态
  • 第四次挥手:A 发送 ACK=M+1,A 进入 TIME_WAIT 状态(2MSL 后关闭连接),B 进入CLOSED状态

注:A 为主动关闭连接一方,B 为被动关闭连接一方。 MSL 为 Maximum Segment Lifetime 的缩写,中文翻译为“最大报文生存时间” 。

TCP 拥塞控制

拥塞是一种持续过载的网络状态,此时用户对网络资源需求超过了固有的容量,而拥塞控制是为了防止过多的数据注入网络

概念

  • cwnd(congestion window) 拥塞窗口,由发送数据方维持,其大小取决于网络拥塞程度。
  • ssthresh(slow start threshold) 慢开始阈值,拥塞窗口大于该值时,由慢开始算法改用拥塞避免算法。

慢开始与拥塞避免

慢开始算法的思想是,一开始发送小量数据,测探网络的拥塞程度,接着逐渐增加拥塞窗口大小,且增长速度是按倍增长

当拥塞窗口超过慢开始阈值时,改用拥塞避免算法,拥塞避免算法使拥塞窗口缓慢增长,即每次拥塞窗口只增加一

无论是在慢开始还是拥塞避免阶段,只要网络发生拥塞即没有收到发送方确认,将慢开始阈值设置为拥塞时发送窗口的一半,再将拥塞窗口置为一,并重新进行慢开始算法。

网络模型层次

网络七层模型

  • 物理层(IEEE 802.1A、IEEE 802.2 到 IEEE 802.11)
  • 数据链路层(Ethernet、PPP、Arpanet、PDN、SLIP、FDDI)
  • 网络层(IP、ICMP、ARP、RARP、AKP、UUCP)
  • 传输层(TCP、UDP)
  • 会话层,不同机器上用户间建立及管理会话(SSL、TLS、RPC)。
  • 表示层,处理信息的语法语义,例如加解密、解压缩、转换翻译等。(Telnet)
  • 应用层(HTTP、FTP、SMTP、NFS、TFTP)

网络四层模型

  • 数据链路层,相当于七层模型的物理层和数据链路层。
  • 网络层
  • 传输层
  • 应用层,相当于七层模型的会话层、表示层和应用层。

TCP 与 UDP 区别

  • TCP 是面向连接,发送数据前需要进行连接,而 UDP 是无连接的。
  • TCP 是可靠的,发送的数据能做到无差错、不丢失、不重复且按序到达,而 UDP 尽最大努力交付,即不保证可靠交付。
  • TCP 连接只支持一对一,而 UDP 连接支持多对多。
  • TCP 对系统资源要求较多,而 UDP 对系统资源要求较少。

参考文章

posted @ 2019-03-15 20:22  ZachLim  阅读(364)  评论(0编辑  收藏  举报