计算机网络-慕课笔记4

网络应用结构

客户机服务器CS架构

服务器

  • 24小时提供服务
  • 永久性访问地址/域名
  • 利用大量服务器实现可扩展性

客户机

  • 与服务器通信,使用服务器提供的服务
  • 间歇性接入网络
  • 可能使用动态IP地址
  • 不会与其他客户机直接通信

P2P

没有永远在线的服务器
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
例子:文件共享
优点:高度可伸缩
缺点:难于管理

混合结构(结合两者)

Napster
文件传输使用P2P结构
文件的搜索采用C/S结构——集中式

  • 每个节点向中央服务器登记自己的内容
  • 每个节点向中央服务器提交查询请求,查找感兴趣的内容

网络应用的基础:进程间通信

进程:主机上运行的程序

  • 服务器进程 等待通信
  • 客户机进程 发起通信

同一主机上运行的进程之间如何通信?

  • 操作系统提供API Socket

不同主机上运行的进程间通信?

  • 消息交换

套接字: Socket

  1. 发送方将消息送到门外邮箱

  2. 发送方依赖(门外的)传输基础设施将消
    息传到接收方所在主机,并送到接收方的
    门外

  3. 接收方从门外获取消息

  4. 使用相同协议的网络应用间才可相互通信

    • RFC
      HTTP、SMTP
    • 私有协议
      P2P

传输基础设施向进程提供API

  • 传输协议的选择
  • 参数的设置
进程间通信的标识 = IP地址+端口号
  • IP标识主机

  • 端口号标识主机进程

    • HTTP 80
    • Mail 25

协议的内容

请求的类型

  • 请求
  • 响应

语法格式

  • 字段

语义

  • 信息

规则

  • 何时发送
  • 如何发送

网络应用的需求

  • 数据丢失/可靠性
    • 网络电话 可以容忍
    • 文件传输 100%传输可靠
  • 时间/延迟
    • 网络电话
    • 网络游戏
  • 带宽
    • 网络视频
    • 弹性需求e-mail

Internet服务

  • TCP
    • 面向连接
      客户服务器进程间 建立连接
    • 可靠的传输
    • 全双工
    • 流量控制(发送方发的东西不会超过接收方处理能力)
    • 拥塞控制(当网络负载过大时限制发方发送速度)
    • 不提供 时间 延迟保护
    • 不提供 最小带宽保障
  • UDP
    • 自由
    • 无连接
    • 应用层发挥空间大
    • 不提供
      • 流量控制
      • 可靠性保障
      • 拥塞控制
      • 延迟保障
      • 带宽保障
posted @ 2019-11-13 22:50  飞翔的子明  阅读(144)  评论(0编辑  收藏  举报