一、P2P(peer to peer)
对等网络技术。各个节点是对等、伙伴式的关系,同时具备生产和消费资源的行为。节点自由的加入、退出,不影响网络组织的特性。
二、网络拓扑
计算机连接及组织所形成的结构。常用结构:星形、总线、环形拓扑
三、NAT、NAT穿透、防火墙穿透
1、NAT(network address translation,网络地址转换),将私有的专用网络地址转换成公用网络地址的一种技术。
内部本地地址(inside local address):网络内部分配的IP地址(内网地址,例如192.168.1.1)
内部全局地址(inside global address):分配给本地主机的外部上网地址(例如:111.13.101.208:60000)
外部本地地址(outside local address):外部网络分配该主机的ip地址(例如: 172.18.1.5)
外部全局地址(outside global address):内部主机所知道的外部主机地址(例如:140.205.220.96:50000)
2、NAT工作方式:静态NAT、动态NAT、端口映射、overlapping
3、NAT分类:
Basic NAT(基本NAT、一对一IP 地址转换)
NAPT(网络地址端口翻译,IP+端口)
{
1)、对称NAT(symmetric NAT):把所有来至相同内部的IP地址和端口号,到特定目的IP地址和端口号的请求映射到相同的外部IP地址和端口。如果同一主机使用不同的源地址和端口,发送的目的地址不同,则使用不同的映射。对称NAT不保证所有会话中的(私有地址、私有端口)和(公开地址、公开端口)之间绑定的一致性,会为每个新的回话分配一个新的端口号。
2)、克隆NAT(Clone NAT):相对于对称NAT,克隆NAT如果已经建立私有IP和端口的映射后,重复使用该映射
{
1>、全克隆(full clone):把所有来至相同内部IP和端口的请求映射到相同的外部IP和端口。任何一个外部主机通过一个TP包发送给已得到映射的外部IP的方式,都可以把该包发送给内部主机。
2>、限制性克隆(restricted clone):把所有来至相同内部IP和端口的请求映射到相同的外部IP和端口。只有当内部主机以前曾经给IP地址为X的外部主机发送过数据包时,IP地址为X的该外部主机才能够把一个IP包发送给该内部主机。
3>、端口限制性克隆(port restricted clone):相对于限制性克隆,增加了端口号的限制。
}
}
4、NAT穿透
1)反向连接
2)Holing技术(UDP打洞技术,“洞”即建立一个会话,通过恰当的设计p2p程序,使得“洞”穿过NAT设备并在主机间建立连接。大部分的打洞技术采用UDP)
分类:
1>P2P主机在不同NAT后面
2>P2P主机在相同的NAT后面
3>P2P对等的主机由多个NAT分开
四、ICE、stun、turn
1、STUN(simple traversal of udp through NAT 即UDP对NAT的简单穿越方式):stun协议无需现有NAT/FW设备做任何改动,同时支持在多个NAT串联的网络环境中使用,STUN不支持TCP穿越,切无法穿透对称NAT。
2、TURN(traversal using relayNAT,即通过Relay方式穿越NAT,又称为SPAN(simple protocol for augmenting NATS)):TURN支持任何类型的NAT/FW,同时支持TCP应用,局限在于所有数据包需经过TRUNServer转发,增大丢包和延迟可能。
3、ICE(interactive connectivity establishment,即交互式连接建立),ICE不是一种协议,而是一个framework,它整合了STRUN、TRUN。
五、libjingle
libjingle是Google提供的C++组件,它为Google talk 的点对点通信和语音呼叫功能提供交互操作性。组件包括了jingle和jingle-audio的实现源码,他们是xmpp标准的推荐扩展。
base - 底层通用类,可移植的功能函数
p2p - p2p栈,包括了与
XMPP挂钩的客户端和基础p2p函数
session - 电话呼叫指令以及可变
点对点流
third_party - 用于其他功能的第三方扩展
xmllite - XML解析器
xmpp - XMPP engine,接受和发送xmpp协议的请求,管理共同的xmpp协议任务
备注:
1、IP地址划分:
A类地址:1.0.0.0-126.0.0.0(最高位为"0"),分配给大公司和主干网
B类地址:128.0.0.0-191.255.255.255 (最高位为"10"),分配给大中型网络(如区域网)
C类地址:192.0.0.0-223.255.255.255 (最高位为"110"),一般为局域网和校园网
D类地址:广播地址
E类地址:保留
全零:当前主机任意地址。全1为当前子网的广播地址
私有地址:
A类:10.0.0.0--10.255.255.255
B类:172.16.0.0--172.31.255.255
C类:192.168.0.0--192.168.255.255
2、XMPP(extensible messageing and presence protocol,可扩展消息于存在协议)