计算机网络概论
1.前沿和课程介绍
自顶向下、自底向上
网络分层、网络协议、网络应用、HTTP123、CDN
GPT.
计算机网络的发展历程可以分为四个阶段:单机、局域网、广域网、互联网
2.蟹堡王帝国
顾客:客户端
分店:服务端
小区转发点:路由器
转发表格:网络协议
3.网络基础
网络结构:网络的网络
比奇堡和小区网络:本地网络
比奇堡+北京和上海分店:三个本地网络节点的网络
全国通信网络:本地网络的网络
数据传输:电路交换和分组交换
GPT.
电路交换是一种点对点的连接方式,需要在通信前建立连接,然后在连接上进行数据传输。这种方式适用于需要长时间传输大量数据的场合。
分组交换则是将数据分成小块进行传输,每个分组都包含有目的地址和源地址等信息,可以独立传输。这种方式适用于传输小量数据和需要灵活控制带宽的场合。
网络分层
物理层、链路层、网络层、运输层、应用层
协议的存在依赖于连接
协议定义了在两个或多个通信实体之间交换报文的格式和顺序,以及接受或发送一条报文或其他事件所采取的动作
GPT.
计算机网络协议是指在计算机网络中通信时所使用的规则和标准。计算机网络协议可以分为三个层次:应用层、传输层和网络层。
应用层协议是用户与计算机网络之间进行数据交互的协议。其中常见的应用层协议包括HTTP、FTP、SMTP等。
传输层协议是对网络中数据传输的控制和管理,主要用于提供可靠的数据传输。常见的传输层协议包括TCP和UDP。
网络层协议则是对数据在网络中的传输进行管理和控制,主要用于提供数据的路由和转发。常见的网络层协议包括IP、ICMP等。
标头和载荷
4.Web中的网络
HTTP协议
HTTP1.1: 目前应用最广泛,无法多路复用
HTTP2: 2015年发布,帧,头部压缩,流,多路复用,Server Push,服务器推送允许服务器在客户端发出请求之前,预先将一些资源推送到客户端,以减少客户端的请求次数。TCP丢包阻塞
HTTP3: UDP简明快但不靠谱+QUIC靠谱,首次1RTT,二次0RTT
GPT.
Server Push允许服务器在客户端请求数据之前主动推送数据到客户端缓存中,从而提高网站的性能和响应速度
CDN
GPT.
CDN,全称Content Delivery Network(内容分发网络),是指由分布在不同地理位置的多台服务器构成的网络。
就近缓存以提高速度。原理是DNS解析和HTTP重定向DNS,全称Domain Name System(域名系统),是互联网中的一种分布式命名系统,用于将域名转换为IP地址。
DNS劫持
域名解析一般由网站自己处理
要假设的域名则重定向到CDN厂商的域名解析服务处理
CDN厂商根据来源确定最佳的CDN服务器的IP
用户直接访问最佳的CDN服务器
WebSocket
有状态的持久连接
服务端可以主动推送消息
延迟比HTTP低
GPT.
WebSocket协议是一种基于TCP协议的全双工通信协议,它允许在单个TCP连接上进行双向通信,而无需通过轮询或长轮询的方式进行数据交换,从而实现了实时性更高的网络通信。WebSocket协议的出现主要是为了解决HTTP协议无法满足实时通信需求的问题。
5.网络安全
机密性:攻击者无法获知通信内容
完整性:攻击者的篡改能被发现
身份验证:攻击者无法伪装为任一方
非对称加密:公钥加密只能用私钥解密,私钥加密只能用公钥解密
密码散列函数(哈希函数):输入任意长度内容,输出固定长度的哈希值
机密性和完整性:双方先有秘密信息
数字签名:可鉴别、不可伪造。对明文内容的哈希值使用私钥加密,验证者用公钥解密
公钥的可信度:证书链、根证书
分发证书、验证证书的基础设施称为PKI,Public Key Infrastructure,保证普通用户不需要面对面和根证书机构交换根证书
HTTPS: HTTP的明文换成密文,再验证身份
HTTPS = HTTP + TLS
TLS = 身份验证 + 加密解密
服务端身份验证靠PKI,客户端身份验证靠HTTP协议
GPT.
TLS(Transport Layer Security)协议是一种加密传输协议,用于保护计算机网络中的通信安全。TLS协议的前身是SSL(Secure Sockets Layer)协议,但是由于存在安全漏洞和弱点,现在大多数应用程序都采用TLS协议。