计算机网络|青训营笔记

69 阅读2分钟

分析方法

  • 自底向上:从简单开始,逐渐变复杂;将模块逐步拼凑成一个系统;
  • 自顶向下:从复杂开始,逐渐变简单;从复杂的系统问题入手,拆分为模块问题;

蟹堡王帝国

  • 蟹堡王:服务端
  • 主分店:isp路由器
  • 分店:路由器
  • 小区:含有转发点,连接路由器
  • 顾客:客户端

客户端通过连接转发点,来连接路由器,再通过路由器连接isp路由器,最后通过isp路由器连接服务端完成通信。

网络基础

网络组成部分

  • 主机:客户端和服务端
  • 路由器
  • 网络协议

网络分层

  • 物理层
  • 数据链路层(http协议,IP协议)
  • 网络层
  • 传输层(tcp协议)
  • 应用层

协议

协议的存在依赖于连接

协议定义了在两个或两个以上通信实体之间交换的报文格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作

TCP:

image.png

Web中网络

http1.0时代,每次连接完成后要销毁连接。

http1.1时代,可以维持连接。无法多路复用

队头阻塞问题: http1.1解决方案,建立多次http连接

http2将请求拆分到多个帧里面,每个帧可以携带来自不同http的数据

帧:

  • 前三个字节:载荷长度
  • 第四个字节:类型
  • 第五个字节:类型对应的flags
  • 六到九字节:第一位是保留位,第2到32位:流ID
  • 好处:调整响应传输的优先级,头部压缩,server push

HTTP3:QUIC

  • Quick UDP Internet Connection
  • 现存网络设备对TCP和UDP支持已经僵化
  • UDP不靠谱但是QUIC靠谱
  • QUIC可以为除HTTP协议以外的应用层协议提供支持

影响浏览器性能因素

  • 物理极限
  • 网络服务器承载量有限

CDN:DNS劫持

  • 域名解析一般由网站自己处理
  • 要加速的域名则重定向到CDN厂商的域名解析服务处理
  • CDN厂商根据来源确定最近的CDN服务器的ip
  • 用户直接访问最近的CDN服务器

离地理位置最近的cdn服务器并不一定最快,若需要转发会有延时

websocket

  • 有状态的持久链接
  • 服务端可以主动推送消息
  • 用websocket发送消息延迟比http低
  • 由http升级而来

网络安全

  • 机密性:攻击者无法获知通信内容
  • 完整性:攻击者对内容进行篡改时能被发现
  • 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信(签名:鉴别身份和防止伪造)

HTTPS:

HTTP明文换成密文,在验证身份,即HTTPS

HTTPS=HTTP+TLS

TLS=身份验证+加解密

身份验证靠PKI

服务端身份验证靠PKI,客户端身份验证靠HTTP协议