计算机网络什么是p2p,计算机网络-p2p(示例代码)
p2p架构
P2P应用:原理与文件分发
纯P2P架构:Peer-to-peer
没有服务器
任意端系统之间直接通信
节点阶段性接入Internet
节点可能更换IP地址
文件分发:客户机/服务器vs. P2P
从一个服务器向N个节点分发一个文件需要多长时间?
客户机/服务器
服务器串行地发送N个副本,时间:NF/us,客户机i需要F/di时间下载
P2P
服务器必须发送一个副本,时间:F/us,客户机i需要F/di时间下载,总共需要下载NF比特,最快的可能上传速率:us+ ∑ui
文件分发:BitTorrent
文件划分为256KB的chunk
节点加入torrent
没有chunk,但是会逐渐积累
向tracker注册以获得节点清单,与某些节点(“邻居”)建立连接
下载的同时,节点需要向其他节点上传chunk
节点可能加入或离开
一旦节点获得完整的文件,它可能(自私地)离开或(无私地)留下
获取chunk
给定任一时刻,不同的节点持有文件的不同chunk集合
节点(Alice)定期查询每个邻居所持有的chunk列表
节点发送请求,请求获取缺失的chunk
稀缺优先
发送chunk: tit-for-tat
Alice向4个邻居发送chunk:正在向其发送Chunk,速率最快的4个
每10秒重新评估top 4
每30秒随机选择一个其他节点,向其发送chunk
新选择节点可能加入top 4
“optimistically unchoke”10
P2P应用:索引技术
P2P: 搜索信息
P2P系统的索引:信息到节点位置(IP地址+端口号)的映射
文件共享(电驴):利用索引动态跟踪节点所共享的文件的位置,节点需要告诉索引它拥有哪些文件,节点搜索索引,从而获知能够得到哪些文件
即时消息(QQ)?索引负责将用户名映射到位置,当用户开启IM应用时,需要通知索引它的位置,节点检索索引,确定用户的IP地址
集中式索引
Napster最早采用这种设计:1) 节点加入时,通知中央服务器:?IP地址?内容,2) Alice查找“Hey Jude”,3) Alice从Bob处请求文件
内容和文件传输是分布式的,但是内容定位是高度集中式的,存在:单点失效问题,性能瓶颈,版权问题
洪泛式查询: Query flooding
完全分布式架构,Gnutella采用这种架构,每个节点对它共享的文件进行索引,且只对它共享的文件进行索引
覆盖网络(overlay network): Graph
节点X与Y之间如果有TCP连接,那么构成一个边
所有的活动节点和边构成覆盖网络
边:虚拟链路
节点一般邻居数少于10个
查询消息通过已有的TCP连接发送
节点转发查询消息
如果查询命中,则利用反向路径发回查询节点
层次式覆盖网络
介于集中式索引和洪泛查询之间的方法,每个节点或者是一个超级节点,或者被分配一个超级节点,节点和超级节点间维持TCP连接,某些超级节点对之间维持TCP连接,超级节点负责跟踪子节点的内容
P2P案例应用:Skype
本质上是P2P的:用户/节点对之间直接通信,是私有应用层协议,所以只能猜,采用层次式覆盖网络架构,索引负责维护用户名与IP地址间的映射,索引分布在超级节点上
所谓P2P(Peer to Peer),其最本质的含义即“对等”,该技术最早是用于网络中对等节点之间的资源和信息共享的技术,通常人们所知道的是将P2P技术用在文件下载过程中,即网络上的对等终端在下载共享文件的同时又作为一个“种子”为其他对等终端提供资源和信息。后来,Skype在网络通话业务系统中灵活应用了该技术
由于冲击了传统通信领域,Skype在引起很多争议的同时也使人耳目一新,可以说,Skype是发展和演进了的P2P应用。对于P2P技术还没有规范的定义,结合其已有的应用,就更广泛的意义而言,P2P技术是指网络中的所有节点都动态参与到路由、信息处理和带宽增强等工作中,而不是单纯依靠服务器来完成这些工作。Skype是P2P技术演进到混合模式后的典型应用,它结合了集中式和分布式的特点,在网络的边缘节点采用集中式的网络结构,而在超级节点之间采用分布式的网络结构
计算机网络什么是p2p,计算机网络-p2p(示例代码)相关推荐
- 计算机网络原理(8)——P2P(文件收发、索引技术)
计算机网络原理(8)--P2P(文件收发.索引技术) 一.文件收发 Peer-to-peer 没有服务器 任意端系统之间直接通信 节点阶段性接入Internet 节点可能更换IP地址 问题:从一个服务 ...
- 名词解释P2P计算机网络技术,计算机三级网络技术P2P网络知识考点
计算机三级网络技术P2P网络知识考点 计算机等考三级网络技术P2P网络考点知识大家一定要熟悉,下面是小编为大家收集的关于计算机等考三级网络技术P2P网络考点知识,希望能够帮到大家! 1.什么是P2P网 ...
- 支持m3u8的php视频cms,分享一个苹果CMS可用P2P的M3U8解析代码
苹果CMS可用P2P的M3U8解析代码,非CDNbye的P2P.<?php /** * @代码开源,透明,请勿用于商业用途,完全开源模式,供大家一起探讨研究 * @支持全网(支持跨域)的M3U8 ...
- GO语言实现P2P网络-服务端代码实现
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情 GO语言实现P2P网络 P2P是区块链节点通信的基础协议,使用起来比TCP协议要麻烦一些.因为通信的两个节 ...
- 【专栏必读】王道考研408计算机网络+湖科大教书匠计算机网络+网络编程万字笔记、题目题型总结、注意事项、目录导航和思维导图
王道考研复习指导下载(密码7281) 其他科目导航 [专栏必读]王道考研408计算机组成原理万字笔记(从学生角度辅助大家理解):各章节导航及思维导图 [专栏必读]王道考研408操作系统万字笔记.题目题 ...
- 计算机网络(一)计算机网络体系
计算机网络(一)计算机网络体系 一.计算机网络概述 概念 功能 组成 分类 二.体系结构和参考模型 ISO/OSI模型 物理层 网络层 传输层 会话层 表示层 应用层 OSI参考模型与TCP/IP参考 ...
- 【计算机网络】第一章--计算机网络概述
本系统教程参考自: 教程:https://blog.csdn.net/weixin_42146136/category_10581354.html 视频:王道计算机考研 计算机网络_哔哩哔哩_bili ...
- 【计算机网络学习笔记】计算机网络
计算机网络学习笔记 第一章 计算机网络概述 1. 计算机网络概述 1.1 计算机网络的概念 1.2 计算机网络的组成 1.3 计算机网络的功能 1.4 计算机网络的分类 1.5 计算机网络的标准化工作 ...
- 计算机网络学习1:计算机网络概论
计算机网络概论 计算机网络的定义 定义 计算机网络(Computer Network)可以定义为由通信信道连接的主机和网络设备的集合. 因特网术语"主机(host)"或称为&quo ...
- 计算机网络知识复习(day01)--计算机网络相关概念及网络分层架构模型
参考书籍:<图解TCP/IP>.<计算机网络-谢希仁> 1.计算机网络相关概念 1.计算机网络: 计算机网络是将分散在不同地点且具有独立功能的多个计算机系统,利用通信设备和通信 ...
最新文章
- 【ACM】杭电OJ 1284(待更)
- C# 在异步中使用HttpWebRequest出现的“正在终止线程”错误的解决方案
- Dubbo源码解析 --- DIRECTORY和ROUTER
- 2.3.10 哲学家进餐问题
- MyEclipse之安装SVN1.10.7
- mysql最大并行用户设置_mysql 优化配置
- Bootstrap4+MySQL前后端综合实训-Day06-AM【eclipse详细配置Tomcat、开发web项目、servlet、连接MySQL8.0数据库、用户登录界面的编写与验证、分页查询】
- 介绍“又一个” Cloud Foundry Gradle插件
- android导入项目出现style错误,menu错误
- ​【文末有福利】揭秘阿里中台!一文看懂阿里推荐业务的两项利器
- windows CMD.exe下写路径太长的解决方案
- 【10天基于STM32F401RET6智能锁项目实战第4天】外部中断的按键实现语音控制
- “恭喜那些拿到 Java 月薪 2 万 Offer 的人”
- 一致性哈希算法及其应用
- 电力拖动自动控制系统复习(一)
- Go语言核心36讲(Go语言实战与应用十九)--学习笔记
- Arduino温控风扇
- 软件开发标准(文档模板)
- 系统设计.如何设计一个秒杀系统(完整版)
- 桥接路由器总是掉线_tplink路由器桥接掉线怎么办
热门文章
- 第一章 基本架设服务器流程
- 宽高变化动画代码,旋转动画代码(HTML5)
- 22条创业军规(读书)
- Daydream播放3D视频(视频左右分屏3D效果)
- 【CityHunter】服务器端设计思路
- 停用Windows Defender Antivirus Service内存
- 服务器的显示器无信号怎么解决办法,显示器无信号怎么办?显示器无信号解决办法大全...
- cocos ClippingNode 之绘制六边形战力(一)
- linux查看ftp客户端限速配置,vsftpd限速设置
- 遇到oracle错误20001,请问ORA-20001错误该如何解决,倒入倒出碰到的。。。