计算机网络概率 | 青训营笔记
1 课程目标
①建立计算机网络的整体认识
②认识分层网络协议
③学习HTTP 1、2、3的关系
④了解CDN运行的基本原理
⑤了解网络安全的最基本原则
2 蟹堡王帝国
本小节通过蟹老板开分店,建立对计算机网络的整体认知。
以海绵宝宝为背景,蟹老板想开分店,各分店需要通信,建立的分店通信图如图所示:
其中各部分代表的含义为:
蟹堡王顾客:客户端
蟹堡王分店:服务端
小区转发点和蟹堡王城市转发分店:路由器
转发表格︰网络协议
对应的计算机网络如下图所示:
其中绿色的代表的是家庭网络,通过家庭路由器连接,蓝色代表的是公司网络,通过企业路由器连接。
3 计算机网络基础
3.1 网络组成部分
①主机:客户端和服务端、②路由器、③网络协议
3.2 计算机网络按通信距离分类:
局域网LAN、广域网WAN、城域网MAN
3.3 信息交换方式:电路交换和分组交换
电路交换:
①分配通信资源。即在使用电路交换打电话前,必须先拨号请求建立连接。当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端建立连接,即一条专用的物理通路。
②通话:一直占用通信资源。
③释放连接:归还通信资源。
分组交换:
在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方式。
3.4 网络分层
优点:
1.各层次之间是独立的。
2.灵活性好。
3.结构上可分割开。
4.易于实现和维护。
5.能促进标准化工作。
OSI七层模型:
物理层、链路层、网络层、运输层、会话层、表示层、应用层
五层TCP/IP模型:
物理层、链路层、网络层、运输层和应用层
3.5 网络协议:标头和载荷
HTTP 标头(header)允许客户端和服务器通过 HTTP 请求(request)或者响应(response)传递附加信息。
载荷: 通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息,比如这一批数据量的大小,校验位等,这样就相当于给已经分批原始数据加一些外套,这些外套起到标示作用,使得原始数据不易丢失。一批数据加上它的“外套”,就形成了传输通道中基本的传输单元,叫做数据帧或者数据包(有的地方数据帧和数据包不是同一概念比如网络传输)。这些数据帧中的记录信息的原始数据就是有效载荷数据,即payload data。而消息体就是外套。即标记着原始数据的大小等的辅助信息。
4 Web中的网络
4.1 HTTP 123
HTTP 1
1. 高延迟 — 队头阻塞(Head-Of-Line Blocking)
2. 无状态特性 — 阻碍交互
3. 明文传输 — 不安全性
4. 不支持服务端推送
5. 无法多路复用
HTTP 2
HTTP2 基于 SPDY,专注于性能,最大的一个目标是在用户和网站间只用一个连接。
新增特性:
1. 二进制分帧 - HTTP2 性能增强的核心
2. 多路复用 - 解决串行的文件传输和连接数过多
HTTP 3:QUIC
基于UDP协议的QUIC协议。而这个就是 HTTP3。它真正“完美”地解决了“队头阻塞”问题。现存网络设备对TCP和UDP支持已经僵化。UDP不靠谱但是QUIC靠谱,QUIC可以为除HTTP协议以外的应用层协议提供支持。
1. 改进的拥塞控制、可靠传输
2. 快速握手
3. 集成了 TLS 1.3 加密
4. 多路复用
5. 连接迁移
4.2 CDN解决了HTTP协议之外的问题.
CDN英文全称Content Delivery Network,中文翻译即为内容分发网络。它是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。CDN应用广泛,支持多种行业、多种场景内容加速。
4.3 WebSocket :从 HTTP协议升级而来
HTTP协议提供了一种特殊的机制,这一机制允许将一个已建立的连接升级成新的、不相容的协议。
通常来说这一机制总是由客户端发起的(不过也有例外,比如说可以由服务端发起升级到传输层安全协议(TLS) ),服务端可以选择是否要升级到新协议。借助这一技术,连接可以以常用的协议启动(比如HTTP/1.1),随后再升级到HTTP2甚至是WebSockets.
5 网络安全
1.网络安全三要素:机密性、完整性和身份验证。
2.在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息PKI保证了普通用户不需要“面对面”和根证书机构交换根证书。
3.HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现。