网络应用模型
约 50 分钟
网络应用模型
本课目标
能沿应用进程、名字解析、传输连接和请求响应画完整协议链;能计算缓存TTL、连接数、RTT与对象时延,并识别每条连接的发起方和状态。
核心机制
客户/服务器模型由长期在线服务器提供服务,客户端主动发起,便于管理但服务器可能成瓶颈;P2P节点兼具客户和服务器角色,容量可随节点增加但管理与可用性复杂。应用进程通过套接字使用传输层,协议规定报文类型、语法、语义和时序。
报文与时序推演
同一Web服务可由多个服务器副本和负载均衡扩展;P2P分发中每个新节点既下载也上传,系统总上传能力增加,但最慢节点和源初始上传仍构成下界。
统一表格记录“时刻、客户端/服务器、协议、连接、源/目的端口、请求、响应、缓存状态”。DNS先解决名字到地址/服务,传输层建立通信,应用协议再交换报文;不同阶段不可用一个‘网络请求’笼统代替。
可运行模型
server_upload=10;peers=[2,3,1];print('client-server-cap',server_upload,'p2p-upload',server_upload+sum(peers))
先手算再运行。修改TTL、对象数、连接复用方式、FTP模式或邮件域,重新画报文和时延。
边界与错因
递归与迭代描述查询责任,不等同UDP/TCP;DNS缓存命中也受TTL约束。FTP控制/数据连接分离,主动/被动模式的数据连接发起方不同。SMTP负责提交与传输,POP3/IMAP负责读取。HTTP无状态指协议请求独立,不妨碍Cookie建立应用状态。
迁移练习
将DNS缓存设为过期、FTP放在NAT后、MX查询失败、HTTP对象改为并行/持久/多路复用,重新计算连接、RTT和错误传播。必须指出哪个阶段变化,而不是只改总时间。
课内验收
完成下方两道在线题,并提交协议时序或RTT表。计算题说明忽略/计入哪些时间;选择题指出错误项混淆的协议职责。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。