Appearance
3.1 Web协议
3.1.1 网络协议
| 分类 | 协议 |
|---|---|
| 应用层 | DHCP HTTP HTTPS RTMP P2P DNS GTP RPC |
| 传输层 | UDP TCP |
| 网络层 | ICMP IP OSPF BGP IPSec GRE |
| 链路层 | ARP VLAN STP |
| 物理层 | 网络跳线 |
3.1.2 OSI模型与TCP/IP模型

- 应用层:负责解决业务问题
- 表示层:负责把网络中的消息转换成应用层可以读取的消息
- 会话层:负责建立会话、握手、维持连接、关闭
- 传输层:负责解决进程与进程之间的通信,例如TCP保证报文的可达性和流量的控制
- 网络层:负责解决广域网(Internet)中主机之间数据的传递
- 数据链路层:负责局域网中根据MAC地址连接的相应的交换机/路由器进行报文的转发
- 物理层:物理传输介质
分层模型的优点在于当前层只需要考虑与其相邻层的对接交互,即每一层只为其之上的层服务,并使用在其之下的层所提供的服务,而不需要考虑其相邻层之外的其他层做了什么。分层模型的缺点在于不同层之间数据交互需要耗费更多的时间,从而影响网络性能。
3.1.3 web构架的关键属性:
- 性能:影响高可用的关键因素
- 可伸缩性:支持部署可以互相交互的大量组件
- 简单性:易理解、易实现、易验证
- 可见性:对两个组件间的交互进行监视或者仲裁的能力。如缓存、分层设计等
- 可移植性:在不同的环境下运行的能力
- 可靠性:出现部分故障时对整体的影响程度
- 可修改性:对系统做出修改的难易程度,由可进化型、可定制性、可扩展性、可配置性、可重用性构成
3.1.4 五种架构风格:
- 数据流风格 Data-flow Styles
优点:简单性、可进化性、可扩展性、可配置性、可重用性
- 复制风格 Replication Styles
优点:用户可察觉的性能、可伸缩性,网络效率、可靠性也可以得到提升
- 分层风格 Hierarchical Styles
优点:简单性、可进化性、可伸缩性
- 移动代码风格 Mobile Code Styles
优点:可移植性、可扩展性、网络效率
- 点对点风格 Peer-to-Peer Styles
优点:可进化性、可重用性、可扩展性、可配置性
TIP
抓包工具:Wireshark、Fiddler、Charles、Proxyman