自顶向下:由简单到复杂,模块拼接成一个系统
自底向上:复杂到简单;将复杂系统问题拆分为模块问题
【网络组成】 1、主机:客户端和服务端 send/receive message 2、路由器 transfer message 3、网络协议 统一格式
【网络】 术语:
网络结构:网络中的网络
概念:本地网络、区域网络、城域网、广域网和全国通信网络(本地网络的网络)
信息传输媒介:电路交换 or 分组交换
网络分层:物理层、链路层、应用层、运输层、网络层
【协议】 存在依赖于连接。 协议定义了在两个或多个通信实体间交换的报文格式和顺序。 概念:标头和载荷。(收送快递为例子) HTTP协议示例(代码部分)
TCP协议格式(a graph)
【Web中网络】
HTTP协议:short-lived connections, persistent connection, HTTP Pipelining
Question we meet: Head of Line Blocking
HTTP1:
HTTP2:帧
载荷长度,类型,flags,保留位,流ID,载荷
advantage:响应传输优先级,头部压缩,Server Push
TCP(包的形式。如丢包,等待重新输送包,再看往后包)
RTT(钥匙🔑)
HTTP3 : QUIC ,short for Quick UDP(!) Internet Connection
Features:
UDP is not reliable while QUIC is
provide support for 应用层协议 besides HTTP
Usage:
QUIC - 1RTT
QUIC - 0RTT
CDN : 解决了HTTP 协议外的问题
服务器的铺建:物理限制,流量要钱,服务器承载流量——站点的建设,最多跳两次(亮点)
DNS劫持(出现名词:域名解析和加速域名)
拉策略与推策略(视频网站)
【WebStock】由HTTP升级而来 代码实例
【网络安全】 基本内容与概念:
要素:机密性、完整性、身份验证
加密方式:对称加密:加解密密钥相同
非对称加密:加解密密钥不同。公钥加密私钥解,私钥加密公钥解
哈希函数:任意长度输入得到固定长度输出
feature:找到两个不同的输入使之经过密码散列函数后有相同哈希值在计算上不可能。
具体实现:通信双方需要先有秘密信息
机密性:网络以明文的方式传输信息。想通过明文通信交换秘密信息
完整性:
身份验证:对明文内容哈希值用私钥加密,验证者用公钥验证
根证书,证书链
分发、验证证书的基础设施:PKI, Public key Infrastructure
通信双方需要先有秘密信息:根证书中公钥
HTTPS:将HTTP明文换成密文,再身份验证,即为~
使用KPI完成除客户端身份验证以外特性
HTTPS = HTTP + TLS
TLS = 身份验证 + 加解密
服务端身份验证靠 PKI, 客户端靠HTTP协议
思考与鼓励:自顶向下和自底向上是编程学习中经常见到的字眼,它反映了模块化,化繁为简,拆分的思想。这节课程从开连锁餐厅,传输信息的要求开始帮助我们理解相应的概念。而谈及网络分层时以快递的运输为例子也是一个很棒的切入点。现在,我们对计算机网络概述有一个笼统的认识。可以见到,技术是在不断的发展和完善。HTTP为适应市场需求,解决存在的技术问题有了1、2、3代的发展,然后有了WebStock。没有一个系统或者功能一开始就是完备的。我们需要给予技术信心。类似的,学习的过程也是如此。要相信,我们总会一步一步达到目标的。