P2P通信实质: 还是CS结构, 每个peer即使客户又是服务器
网络进程间通信为什么不用PID标识进程?
PID由本机的操作系统管理, 且进程ID可能在变.
如何理解端口号?
一个进程可以有多个端口, 但一个端口号同时只能运行一个进程.
TCP如何实现与多客户通信?
创建多个套接字, 新创建的套接字与客户链接, 主套接字只用于接受用户请求. 新建的套接字的端口号与主套接字的端口号相同(使TCP实现与多客户通信创建多套接字的机制对客户透明)
如何优化Web应用响应时间?
优化Http(Http1.0->1.1->2.0)
Web缓存(代理服务器)
CDN: Web缓存的扩展, 对象副本放在多个服务器, 每次请求就近的服务器进行传输.
P2P应用如何通过内容索引(key)找到内容(value)?
集中式, 洪泛式, 层次式
(扩展)DHT: 一个分布式p2p数据库, 数据库保存的是一个个键值对(key, value)
每个key通过hash映射为一个整数, 用这个整数作为插入哪个数据库的依据: 与哪个peerID最近就放在哪个peer
用户通过key计算出他映射的整数,从而找到保存这条数据的数据库。