视频流媒体是什么意思(计算机网络基础 - 应用层(3))


视频流媒体是什么意思(计算机网络基础 - 应用层(3))

P2P应用与P2P体系结构

在P2P应用中,没有或极少有始终运行的服务器,任意端系统都可以直接通信。由于Peer节点间歇上网,每次IP地址都有可能变化。

例子包括文件分发(如BitTorrent)、流媒体(如KanKan)和VoIP(如Skype)。

P2P体系结构的优势在于其扩展性。与传统客户-服务器体系结构相比,P2P体系结构的分发时间呈现出不同的特性。随着对等方数量的增加,P2P体系结构的分发时间呈线性增长但并无上限,并且其最小分发时间总是优于客户-服务器体系结构。这种扩展性的根源在于对等方不仅是内容的消费者,还是内容的重新分发者。

以BitTorrent协议为例,这是一种用于文件分发的流行P2P协议。在BitTorrent中,参与特定文件分发的所有对等方集合被称为torrenl洪流。洪流中的对等方相互下载等长度的文件块。一旦某个对等方获得了整个文件,它可以选择离开洪流或继续上载块给其他对等方。

每个洪流都有一个基础设施节点,称为追踪器(tracker)。当对等方加入洪流时,它向追踪器注册自己并定期通知追踪器它仍在洪流中。当新对等方加入时,追踪器会选择对等方的子集并将其IP地址发送给新对等方。

在BitTorrent中,块的状态通过bitmap来记录,每个对等方都会询问邻近对等方的块列表并使用最稀缺优先技术来优先请求哪些块。这旨在快速重新分发最稀缺的块,以实现块在洪流中的均衡分布。

关于P2P文件共享应用,存在一些关键问题如如何定位所需资源、对等方的加入与离开等。对于非结构化P2P,存在集中化目录和完全分布式等解决方案。这些方法都有其问题,如单点故障、性能瓶颈和侵犯版权等。

视频流和内容分发网络方面,视频流量占据了互联网的大部分带宽。对于流式视频服务,重要的性能度量是平均端到端吞吐量。为了应对不同用户的不同能力(如带宽丰富和受限用户),需要分布式的、应用层面的基础设施解决方案。

HTTP流和DASH是其中的解决方案。在DASH中,视频被编码为几个不同版本的块,每个版本有不同的比特率。服务器将视频文件分割成多个块并独立存储,同时提供不同块的URL。客户端会获取告示文件,测量服务器到客户端的带宽,并根据带宽选择适当的视频块。

内容分发网络(CDN)是解决大规模视频流化的另一种方法。CDN通过分布在多个地理位置上的服务器来存储视频副本,并通过将用户请求定向到最佳位置来提高用户体验。CDN可以采用不同的服务器安置原则,如深入到ISP接入网中或在关键位置建造大集群。其核心是集群选择策略,即动态地将客户定向到CDN中的某个服务器集群或数据中心的机制。

在套接字编程方面,应用进程使用传输层提供的服务来交换报文并实现应用协议。TCP和UDP是两种主要的套接字类型。UDP套接字编程提供不可靠的字节组传送服务,而TCP套接字编程则提供可靠的、字节流服务。两者都有各自的用途和特性,根据应用需求选择合适的套接字类型进行编程。


视频流媒体是什么意思(计算机网络基础 - 应用层(3))