网络应用体系结构

我们每天都会使用各种各样的网络应用,比如 QQ、email、百度、迅雷、支付宝、微信等等
网络应用的特点——与单机应用有何不同——这些不同造成网络应用应该有怎样的结构?
1 需要网络的连接,并且无法用一台主机完成
2.在端系统主机上有程序运行,在互联网上也会有数据和程序运行并且会涉及数据传输和交换

  • 网络应用的体系结构:
    • 客户机/服务器结构(Client-Server, C/S)
      • 服务器
        • 7*24小时提供服务、
        • 永久性访问地址/域名、
        • 利用大量服务器实现可扩展性
      • 客户机
        • 与服务器通信, 使用服务器提供的服务
        • 间歇性接入网络
        • 可能使用动态IP地址
        • 不会与其他客户机直接通信
          计算机网络笔记No.4
    • 点对点结构(Peer-to-peer, P2P)
      • 没有永远在线的服务器
      • 任意端系统/节点之间可以直接通讯
      • 节点间歇性接入网络
      • 节点可能改变IP地址
      • 优点:高度可伸缩;缺点:难于管理
    • 混合结构(Hybrid)
      • 例子:Napster
        • 文件传输使用P2P结构
        • 文件的搜索采用C/S结构——集中式
          计算机网络笔记No.4

进程通信、Socket编程

网络应用的基础:进程 间通信
进程:主机上运行的程序
同一主机上运行的进程之间如何通信?——进程间通信机制、操作系统提供
不同主机上运行的进程间如何通信?——消息交换

  • 客户机进程:发起通信的进程
  • 服务器进程:等待通信请求的进程

进程间通信利用 socket发送/接收消息 实现
计算机网络笔记No.4
消息交换何如寻址?
不同主机上的进程间通信,那么每个进程必须拥有标识符(IP+端口号)

  • 如何寻址主机?——IP地址
  • 主机上的不同进程?——端口号/Port number

具体消息交换如何实现?——应用层协议

  • 网络应用需遵循应用层协议(公开协议——HTTP、SMTP;私有协议——多数P2P文件共享)
  • 应用层协议的内容:
    • 消息的类型(type)
    • 消息的语法(syntax)/格式
      • 消息中有哪些字段(field)?
      • 每个字段如何描述
    • 字段的语义(semantics)
    • 规则(rules)
      • 进程何时发送/响应消息
      • 进程如何发送/响应消息

网络应用服务需求与Internet传输层服务模型

  • 网络应用对传输服务的要求:
    • 数据丢失(data loss)/可靠性(reliability)
      • 某些网络应用能够容忍一定的数据丢失:网络电话
      • 某些网络应用要求100%可靠的数据传输:文件传输,telnet
    • 时间(timing)/延迟(delay)
      • 有些应用只有在延迟足够低时才“有效
      • 网络电话/网络游戏
    • 带宽(bandwidth)
      • 某些应用只有在带宽达到最低要求时才“有效”:网络视频
      • 某些应用能够适应任何带宽——弹性应用:email
        计算机网络笔记No.4
  • Internet提供的传输服务
    • TCP服务UDP服务
      计算机网络笔记No.4
      典型网络应用所使用的传输层服务: 应用层和传输层
      计算机网络笔记No.4

思考题:

  • 盘点你计算机上的所有网络应用,制作一个清单,包括网络应用的名字、功能、协议等
  • 基于上述清单,制作表格,分析这些网络应用对传输服务的需求
  • 分析这些网络应用所使用的传输服务是TCP还是UDP

—————————————————————————————————————————————

由于本人水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错

相关文章:

  • 2021-10-21
  • 2021-09-09
  • 2021-12-24
  • 2022-01-10
  • 2021-05-21
  • 2022-01-12
  • 2021-08-25
  • 2021-07-28
猜你喜欢
  • 2021-11-29
  • 2021-08-20
  • 2021-05-02
  • 2021-04-26
  • 2021-09-30
  • 2021-09-05
  • 2021-04-28
相关资源
相似解决方案