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

101 阅读2分钟

(终于写到最后一个part了…)

三、Web应用

讨论除了HTTP协议之外影响Web性能的因素,这些问题HTTP协议本身是无法解决的。

1.CDN:你无法突破物理极限的

  • HTTP 3快吗?
  • 快!
  • 那从美国到中国,HTTP 3要多久?
  • 150ms!
  • 和北京到上海相比,还快吗?
  • 好像不够?

2.CDN:你的钱包够鼓吗?

  • 流量多少钱1个G?
  • 1块
  • 那我在北京给上海的人发一部10G电影要10块钱?
  • 对!
  • 发10次一样的电影要100块?
  • 是的!
  • 我都发到上海了,不能内部分享吗?

反映的是如果一个网站只有一个中心服务器,世界各地的网络流量需要很多的路由器,而对于很多内容,尤其是视频内容,一遍一遍的通过中心服务器发送非常浪费资源,且财力消耗巨大。

3.CDN:你,够强大吗?

  • 我们有几台服务器?
  • 1台
  • 它能抗多少流量?
  • 100G!
  • 双11巅峰值得是1000G啊,扛得住吗?
  • 不一定,可能挂…

单个服务器承担的网络流量是非常有限的,过多的流量会导致服务器“崩掉”。

4.CDN:DNS劫持

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

一个域名对应一个IP,一般情况下只有一台服务器会用该IP。 那么,如何实现北京的用户使用北京的服务器上抖音,上海的用户用上海的服务器上抖音呢?答案即在DNS上。

类似于之前的蟹堡王每开一家分店,都需要总店将分店信息发送给其他旧分店的员工一样,DNS即为Domain Name System-域名系统,用于命名组织到域层次结构中的计算机和网络服务。它管理和安排域名,将域名转换成为网络可以识别的IP地址,是进行域名解析的服务器。

一般只有一台服务器会应用这个IP这句话并不严谨,有一项技为anycast,这项技术允许多台服务器共享一个IP。

5.WebSocket

是除了HTTP协议之外的另一个应用层协议,相比于HTTP协议有以下特点:

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

该协议是由HTTP协议升级而来的,即要使用WebSocket协议需要先连接HTTP协议。

6.小结:

  • HTTP123的演进历史:逐渐由“智障”走向灵活变通
  • CDN解决了HTTP协议之外的问题
  • WebSocket从HTTP协议升级而来