计算机网络-慕课笔记4
目录
网络应用结构
客户机服务器CS架构
服务器
- 24小时提供服务
- 永久性访问地址/域名
- 利用大量服务器实现可扩展性
客户机
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态IP地址
- 不会与其他客户机直接通信
P2P
没有永远在线的服务器
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
例子:文件共享
优点:高度可伸缩
缺点:难于管理
混合结构(结合两者)
Napster
文件传输使用P2P结构
文件的搜索采用C/S结构——集中式
- 每个节点向中央服务器登记自己的内容
- 每个节点向中央服务器提交查询请求,查找感兴趣的内容
网络应用的基础:进程间通信
进程:主机上运行的程序
- 服务器进程 等待通信
- 客户机进程 发起通信
同一主机上运行的进程之间如何通信?
- 操作系统提供API Socket
不同主机上运行的进程间通信?
- 消息交换
套接字: Socket
-
发送方将消息送到门外邮箱
-
发送方依赖(门外的)传输基础设施将消
息传到接收方所在主机,并送到接收方的
门外 -
接收方从门外获取消息
-
使用相同协议的网络应用间才可相互通信
- RFC
HTTP、SMTP - 私有协议
P2P
- RFC
传输基础设施向进程提供API
- 传输协议的选择
- 参数的设置
进程间通信的标识 = IP地址+端口号
-
IP标识主机
-
端口号标识主机进程
- HTTP 80
- Mail 25
协议的内容
请求的类型
- 请求
- 响应
语法格式
- 字段
语义
- 信息
规则
- 何时发送
- 如何发送
网络应用的需求
- 数据丢失/可靠性
- 网络电话 可以容忍
- 文件传输 100%传输可靠
- 时间/延迟
- 网络电话
- 网络游戏
- 带宽
- 网络视频
- 弹性需求e-mail
Internet服务
- TCP
- 面向连接
客户服务器进程间 建立连接 - 可靠的传输
- 全双工
- 流量控制(发送方发的东西不会超过接收方处理能力)
- 拥塞控制(当网络负载过大时限制发方发送速度)
- 不提供 时间 延迟保护
- 不提供 最小带宽保障
- 面向连接
- UDP
- 自由
- 无连接
- 应用层发挥空间大
- 不提供
- 流量控制
- 可靠性保障
- 拥塞控制
- 延迟保障
- 带宽保障