第十一、十二节 TCP
前面解决了连接维护问题,下面解决其他4个问题。
第十三节 socket(插槽,插座)
socket编程进行端到端的通信,只能设置端到端协议之上的网络层和传输层的协议,如ipv4还是ipv6,tcp还是udp。
第十四节 http协议
-
http请求报文格式
-
nginx做接入层,拦截静态请求
-
http返回报文格式
- http2.0 通过头压缩、分帧、二进制编码、多路复用等技术提升性能
- QUIC协议(google)
- 自定义连接机制:基于UDP
- 自定义重传机制
- 无阻塞多路复用
- 自定义流量控制
第十五节 https
- 两端各产生一个随机数,最后再发一个pre-master随机数,结合起来,生成对称密钥。
- 重放与篡改问题:timestamp&nonce解决
第十六节 流媒体协议
第十七节 p2p协议
- 解决http或ftp下载文件, 存在的单一服务器压力问题。资源并不集中存储在某些设备上,而是分散存储在多台设备。
- 种子文件:保存tracker url(中心化的调度服务器地址)和文件信息
- 去中心化网络:DHT(Distributed Hash Table)
第十八节 DNS协议
第十九节 httpdns
- 跨机房的负载均衡和容灾多使用DNS来实现
- httpdns就是基于http协议,自己搭建的dns服务器集群,分布在多个网点和运营商。使用httpdns需要绕过默认的dns路径,就不能使用默认的客户端。在手机上就是嵌入支持httpdns的客户端sdk。
- 解决的2大问题:
- 缓存更新2大机制:同步&异步
第二十节 CDN
-
CDN分发系统架构
- 防盗链:时间戳加密
- 支持流媒体协议:流媒体数据量大,往往主动推、预处理(转码、分片等)
第二十一节 数据中心
下一篇:趣谈网络协议-笔记(4)