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

206 阅读3分钟

理解中的计算机网络

计算机网络可以简化为服务器 -> lsp路由器(网络运营商),而lsp路由器可以互连,家庭路由和企业路由器连接不同的lsp路由器。从而让全国的网络互通

网络组成部分

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

信息交换方式

信息交换方式有两种电路交换分组交换

  • 电路交换需要先建立连接才能交换信息,存在占线问题,同一条线路建立连接的数量是有上限的,当可建立连接数大于连接数,就存在了资源浪费。
  • 分组交换,不会建立电路连接,不会预留资源,带宽,建立分组后,会建立输出队列,是按队列顺序输出,当队列满了的时候会丢弃轻段分组,从而发生丢包现象。在计算机网络中都采用的是分组交换,大的报文会分成小的报文,然后通过分组分发到目的地,到达之后,再由主机上的软件,把分组拼成完整的报文。

网络分层

网络分层:从低到高分为物理层数据链路层网络层运输层应用层

协议

协议的存在依赖于连接。协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送或接收一条报文或其他事件所采取的动作。网络协议:标头+载荷

Screenshot_20230413_233216.jpg HTTP 1.1:无法多路复用(队头堵塞问题)

Screenshot_20230413_233642.jpg HTTP 2:帧
帧带来的额外好处
调整响应传输的优先级
头部压缩
Server Push
HTTP 3:QUIC

CDN:DNS劫持

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

WebSocket

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

网络安全三要素

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

对称加密和非对称加密

  • 对称加密:加密、解密用同样的密钥
  • 非对称加密:加密、解密使用不同的密钥(公钥和私钥)。而且公钥加密只能用私钥解密、私钥解密只能用公钥解密

密码散列函数(哈希函数)

  • 输入:任意长度的内容
  • 输出:固定长度的哈希值
  • 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的

HTTPS

  • 把HTTP的明文换成密文,再验证身份,即HTTPS
  • HTTPS=HTTP + TLS
  • TLS = 身份验证+加解密
  • 身份验证靠PKI
  • 服务端身份验证靠PKI,客户端身份验证靠HTTP协议

小结

  • 网络安全三要素:机密性、完整性和身份验证
  • 在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息
  • PKI保证了普通用户不需要"面对面"和根证书机构交换根证书
  • HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现

总结

计算机网络可以看成网络中的网络,错综复杂。在对项目优化的时候就可以考虑计算机网络方面的优化方式,CDN就是其中的一个方式