第二章 应用层
文章目录
1 应用层协议原理
1.1 网络应用程序的体系架构
- CS架构(客户-服务器架构)
- 客户之间不直接通信,服务器具有固定的、周知的地址(IP地址)
- 需配备大量的数据中心
- P2P架构
- 应用程序在间断连接的主机对之间使用直接通信
- 自扩展性:成本有效(?),不需要庞大的服务器基础设施和服务器带宽。
1.2 进程通信(process)
多个端的系统上的程序其实是通过进程通信实现的,而不是程序。
发送进程生成并向网络上发送报文,接收进程接受这些报文。
进程通过套接字socket这一软件接口向网络发送报文和从网络上接收报文。
一台主机上运行着很多进程,如何辨别呢——端口号,来实现进程寻址。
1.3 套接字之间如何传送?
这就涉及到了运输层协议,这里就拿快递公司来打比方吧,方便理解!
那运输层的协议需要考虑哪些方面呢【我寄快递的话,都要考虑哪些因素】?
- 可靠数据传输:确保数据正确、完全地交付 or 可以接受一定量地数据丢失【相当于要不要选顺丰】
- 吞吐量:发送进程能够向接收进程交付比特的速率,就要考虑你的应用是否对带宽有要求【能不能寄大件】
- 定时:时延,玩家的响应时间【快递几天能送达】
下面就是两种典型的