蟹堡王帝国:
本节课以蟹堡王帝国张本,将客户端比为蟹堡王的顾客,将服务端比为蟹堡王分店,将路由器比为小区转发点和蟹堡王城市转发点,将网络协议比为转发表格。形象生动的展示出了计算机网络的运行结构。
网络基础:
此后,祝老师又介绍了网络的主机(客户端和服务端),路由器和网路协议并引出了网络结构:网络的网络。多个本地网络先组成一个个有多个本地节点的网络,进而组成了本地网络的网络。同样,城市内的区域网络组成了城域网,进而组成广域网。
HTTP 协议: HTTP协议的链路层依次为本地帧头部,IP协议头部,TCP协议头部。其次是运输层,应用层。其中,TCP协议格式如下图:
Web中的网络: HTTP协议的基本结构基本由请求-响应模式构成,这种方式特别是HTTP 1.0会导致效率低下,而且HTTP 1.1也无法解决队头堵塞和无法多路复用的缺点。但HTTP 2中帧的方法有效的区分了请求类型,调整了响应传输的优先级,实现头部压缩以及Server Push。但仍未完全解决队头堵塞的问题,其原因是TCP包1发生了丢包,也即为main.js的内容发生了丢包。HTTP 3加入了QUIC协议,QUIC比UDP靠谱并且可以为除HTTP以外的应用层协议提供支持。可是QUIC的快是无法突破物理极限的快且会造成资源浪费,而CDN巧妙的解决了这个问题,仅需很少的跳数便可覆盖大量的地方。 作为HTTP协议的升级版,WebSocket协议可有状态的持久链接,服务端主动推送消息以及延迟低等优点。
网络安全: 网络安全的三要素为机密性,完整性和身份验证。HTTPS使用PKI完成了除客户端身份验证以外的特性(客户端身份验证要通过HTTP协议实现)。 相比于对称加密中加密解密均用相同的密钥,非对称加密分别用公钥和私钥进行加密和解密。而不同长度的原内容经过哈希函数(密码散列函数)所得到的哈希值则均为相同的固定长度。经过这些加密算法和密钥等信息的加密和完整性以及身份的验证,即使通过明文的网络进行传输也能交换秘密信息。