体系结构
C/S
客户机/服务器体系结构(client/server)
- 服务器
- 总是打开的主机来等待客户的请求
- 具有固定的,众所周知的 IP 地址
- 主机集群常备用于创建强大的虚拟服务器
- 客户机
- 同服务器端通信
- 可以间断的同服务器连接
- 可以拥有动态的 IP 地址
- 客户机相互之间不能直接通信
实现了通信汇聚的功能
服务器会产生单点失效问题,服务器本身会成为性能瓶颈
p2p
- 没有总是打开的服务器
- 任意一对主机直接互相通信
- 对等方间歇连接并可以改变 IP 地址
扩展性好,ISP 友好(不经过很多流量)
不过有安全性问题
进程通信
套接字(socket)
是应用程序和网络之间的 API,进程通过它的套接字在网络上发送和接收报文。应用开发者可以控制应用层端(只能选择传输层的协议、时间戳等一些参数)
进程寻址
通过端口号来对进程编址,通过 ip 进行主机识别
常见应用程序端口:
- Web:80
- mail:25
应用程序使用的运输层服务特性:可靠数据传输,吞吐量,定时,安全性。
运输服务
TCP
- 面向连接的服务
- 可靠的传输服务
- 流量控制
- 送塞控制
- 没有提供时延保证,最小带宽
- SSL
UDP
- 不可靠数据传输
- 没有提供建立连接,流量控制,拥塞控制,时延和带宽保证
应用层协议
现代邮件系统终端到邮件服务器之间是 HTTP,邮件服务器之间仍然使用 SMTP