互联网如何运作?
How does the Internet functions?
我刚刚读了我的 CS 书:
在源计算机上,要发送到另一台计算机的消息或 file/document 首先被分成非常小的部分,称为数据包。
每个数据包都有一个序列号,例如 1,2,3...
然后将所有这些数据包发送到目标计算机的地址。
目标计算机以随机方式接收数据包(它甚至可能在数据包 1 到达之前收到数据包 10)。如果数据包乱码或丢失,则重新请求。
如果是这种情况(尤其是第 4 首),那么如何在下载歌曲时播放它。根据第 4 条陈述,如果数据包以随机顺序出现,则 song/movie 在完全下载之前不应启动。
我会向您解释视频发生了什么,但对于音频流来说几乎是一样的。音频只有较低的比特率。
客户端使用缓冲区来减轻 end-to-end 延迟的影响。
客户端尝试以比处理视频包更快的速度下载视频包,并将它们保存在缓冲区中。此操作称为预取。
进行预取允许客户端处理和显示视频,即使某些数据包会在其他数据包之后到达。
在视频开始时,您必须等待一些口袋到达您的缓冲区。当客户的缓冲区有足够的缓冲区时,它会让您看到视频。例如,在 YouTube 上,您会看到一个小圆圈,直到您的缓冲区已满。
例如,您在 YouTube 上开始播放一个 35MB 的视频,客户端计算出一个 500Kbit 的缓冲区,并会等到 2Kbit。这意味着您必须等到客户端下载了 2Kbit 的视频。
如果您的连接中断,客户端将继续使用存储在缓冲区中的数据包,直到它变空。那时你必须等待客户端再次下载 2Kbit 的数据包。
如果您的连接速度太快并且缓冲区已满,它将停止询问数据包,直到缓冲区再次有一些 space。
请注意,当您暂停流式传输视频时,您的客户端仍在下载。
我刚刚读了我的 CS 书:
在源计算机上,要发送到另一台计算机的消息或 file/document 首先被分成非常小的部分,称为数据包。
每个数据包都有一个序列号,例如 1,2,3...
然后将所有这些数据包发送到目标计算机的地址。
目标计算机以随机方式接收数据包(它甚至可能在数据包 1 到达之前收到数据包 10)。如果数据包乱码或丢失,则重新请求。
如果是这种情况(尤其是第 4 首),那么如何在下载歌曲时播放它。根据第 4 条陈述,如果数据包以随机顺序出现,则 song/movie 在完全下载之前不应启动。
我会向您解释视频发生了什么,但对于音频流来说几乎是一样的。音频只有较低的比特率。
客户端使用缓冲区来减轻 end-to-end 延迟的影响。 客户端尝试以比处理视频包更快的速度下载视频包,并将它们保存在缓冲区中。此操作称为预取。 进行预取允许客户端处理和显示视频,即使某些数据包会在其他数据包之后到达。
在视频开始时,您必须等待一些口袋到达您的缓冲区。当客户的缓冲区有足够的缓冲区时,它会让您看到视频。例如,在 YouTube 上,您会看到一个小圆圈,直到您的缓冲区已满。
例如,您在 YouTube 上开始播放一个 35MB 的视频,客户端计算出一个 500Kbit 的缓冲区,并会等到 2Kbit。这意味着您必须等到客户端下载了 2Kbit 的视频。 如果您的连接中断,客户端将继续使用存储在缓冲区中的数据包,直到它变空。那时你必须等待客户端再次下载 2Kbit 的数据包。 如果您的连接速度太快并且缓冲区已满,它将停止询问数据包,直到缓冲区再次有一些 space。
请注意,当您暂停流式传输视频时,您的客户端仍在下载。