课程重点
- 从蟹堡王到网络结构
- 协议——网络的法则
- 网络安全——如何证明我是我
一、从蟹堡王到网络结构
当某一天蟹堡王想要把蟹堡卖到全中国,并且开通外卖业务,应当如何设计网络实现这个复杂而庞大的订餐系统呢?
为了实现所有节点之间的通信并且最大化的利用线路,现实生活中的网络一般都是网络的网络如此套娃,由路由器管理的局域网连接到城域网再交由ISP的路由器组成更加庞大的广域网,也就是我们所说的互联网。
- 在互联网传输数据时通常有两种方式—— 电路交换和分组交换
电路交换最早用于电话系统,主要用于语音通信。在电路交换中,通信双方之间建立一条固定的、专用的物理通信路径。在通话过程中,这条路径会一直被保留,直到通话结束,这也是电路交换的弊端。而分组交换则是现代计算机网络中主要使用的通信技术。在分组交换中,数据被切分成多个数据包(或称分组),每个数据包独立传输。数据包在网络中根据最佳路由选择相应的路径,最终在目的地重新组装成原始数据。
- 现今的网络都是分层管理的,就如同一家快递公司,从集散点到货车司机再到派送员,他们各司其职,不需要关注上一次所做的工作是怎么实现的
- 物理层: 负责处理与物理介质(如电缆、光纤等)相关的通信任务
- 数据链路层: 负责建立、维护和断开数据链路,以确保从源到目的地的可靠数据传输。
- 网络层: 网络层负责处理网络寻址和路由选择,确定数据从源节点到目的节点的最佳路径。
- 传输层: 传输层负责提供端到端的通信服务,包括数据的分段、传输、重组和确认。
- 会话层: 会话层负责建立、管理和断开网络中的通信会话。
- 表示层: 表示层负责处理数据的表示和编码问题,以确保发送方和接收方的数据格式兼容。
- 应用层: 应用层是网络协议栈的最顶层,负责处理与特定应用程序相关的通信任务。
二、协议
协议是计算机网络中必不可少的一部分,他确保在计算机网络中的数据不被误解
- TCP
每一个协议都有两个部分组成——标头和载荷
标头写明了这段数据的来源和去处,以及使用的协议信息(快递单?),载荷则是数据的内容
- HTTP 1
HTTP 1 的请求-回应模型导致了他有一个很影响效率的问题——无法多路复用
于是就有了:
- HTTP 2
HTTP 2 引入了帧的概念,使得多路复用的问题得以解决,并且还可以实现调整响应优先级,头部压缩和·ServerPush等特性
但是!HTTP2 也有队头堵塞,虽然不是堵在HTTP上,而是堵在TCP协议上
于是
- HTTP 3
横空出世
HTTP 3 使用的QUIC协议使得HTTP3协议可以实现第一次1 RTT第二次0 RTT
三、网络安全
计算机网络的世界就像你在楼道喊话,是明文的世界,于是如何证明我是我就成了一个问题
通过双方拥有秘密信息,和密码散列函数基础实现网络安全