网络应用
- 网络应用体系结构
- 网络应用的服务需求
- Internet传输层服务模型
网络应用的基本原理
网络应用的基础:进程间通信
- 进程:主机上运行的程序
- 同一主机上运行的进程之间如何通信?
(1)进程间通信机制
(2)操作系统提供 - 不同主机上运行的进程间如何通信?
(1)消息交换
(2)客户机进程:发起通信的进程
(3)服务器进程:等待通信请求的进程
(4)套接字:Socket 传输基础设施向进程提供API
寻址主机---->IP地址
每个需要通信的进程----->端口号 Port Number
进程的标识符----->IP地址+端口号
网络应用的需求与传输层服务
需求
- 数据丢失(data loss)/可靠性(reliability)
(1)能容忍一定的数据丢失,如网络电话
(2)要求100%可靠数据传输,如文件传输,telnet - 时间(timing)/延迟(delay)
(1)延迟足够低才有效
(2)网络电话/网络游戏 - 带宽(bandwidth)
(1)带宽达到最低要求时才有效,如网络视频
(2)适应任何带宽,如email 安全性
Internet提供的传输服务
- TCP
(1)面向连接
(2)可靠的传输
(3)流量控制 发送速度不会过快,超过接收方的处理能力
(4)拥塞控制 网络负载过重的时候能够限制发送方的发送速度
(5)不提供时间/延迟保障
(6)不提供最小带宽保障 UDP
(1)无连接
(2)不可靠的数据传输
(3)不提供:可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障
Web
Web与HTTP
- World Wide Web : Tim Berners-Lee
网页
网页互相链接 - 网页(Web Page)包含多个对象(Objects)
对象:HTML文件、JPEG、视频文件、动态脚本等
基本HTML文件:包含对其他对象引用的链接 - 对象的寻址(addressing)
URL(Uniform Resource Locator):统一资源定位器
Scheme://host:port/path
eg: www.someschool.edu/somDept/pic.gif - HTTP协议(HyperTest Transfer Protocol)
(1)C/S结构
(2)使用TCP传输服务
(3)无状态(stateless) 服务器不维护任何有关客户端过去所发请求的信息
有状态的协议更复杂:需要维护状态(历史信息);如果客户或服务器失效,会产生状态不一致,解决这种不一致代价高 - HTTP连接
(1)非持久性连接(Nonpersistent HTTP)
RTT(Round Trip Time) 从客户端发送一个很小的数据包到服务器并返回所经历的时间
响应时间(Response time):Total=2RTT+文件发送时间
存在问题
(2)持久性连接(Persistent HTTP)
无流水线的持久性连接
带有流水机制的持久性连接
来源:https://www.cnblogs.com/maxwell-maxwill/p/12357826.html