计算机网络概论 | 青训营笔记

71 阅读2分钟

计算机网络基础

网络组成部分

  • 主机:客户端+服务端 (提供和接收信息)
  • 路由器 (转发主机之间的信息)
  • 网络协议 (提供统一的格式,方便路由器或主机进行编码解码)

网络结构

网络的网络 本地网络LAN

区域网络MAN 城域网CAN 广域网WAN

电路交换&分组交换

信息交换的方式

网络分层

各层互不关心下一层的内容

协议

协议规定两个及以上通信实体之间交换的报文的格式和顺序,以及收发报文等其他动作

标头和载荷

HTTP协议

例如:

  • 链路层
  • 本地帧头部 4字节
  • 第三行 IP协议头部 5-44字节
  • 运输层
  • 第四行 TCP协议头部 20个字节
  • 第五行 Http协议层

报文=链路层头+IP协议头+TCP协议头+http协议头+http正文

协议

web应用

HTTP协议

基本结构

请求

请求方式 自然路径 http版本 头部,使用冒号分隔,左边为头部名称,右边为值

响应

状态行,包括http的版本、状态栏、信息

http连接模型

队头阻塞 http1.1 无法多路复用 http2 使用帧 (帧的长度、类型、不同帧的含义、状态),解决了对头堵塞,但TCP包1(含main.js)丢失 http 2:3 RTT启动 http3 QUIC(基于UDP)靠谱

比如前三字节:载荷长度 第四字节:类型 第五字节:类型对应的Flags 第六到九字节:第1位是保留位,2-32位是流ID 随后8192字节:载荷

帧的额外好处:

  • 调整响应传输的优先级
  • 头部压缩
  • Sever Push

CDN

最多跳两次

DNS 劫持

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

WebSocket (由http升级)

有状态的持久连接、 服务端可主动推送消息、 发送消息延迟比HTTP低、