应用层

落花浮王杯 提交于 2020-03-22 10:54:54

网络应用的体系结构

  • 客户机/服务器结构(Client-Server, C/S)
  • 点对点结构(Peer-to-peer, P2P)
  • 混合结构(Hybrid)

客户机/服务器结构

  • 服务器
    • 永久提供服务
    • 永久性访问地址/域名
    • 大量的服务器实现了可拓展性
  • 客户机
    • 与服务器通信,使用服务器提供的服务
    • 间歇性接入网络
    • 可能使用动态的ip地址
    • 不会与其它客户机通信

P2P结构

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

混合结构

Napster

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

网络应用进程通信

在计算机网络中, 进程指的就是程序。

同一主机上的进程之间的通信

  • 进程间通信机制
  • 操作系统提供

不同主机上的进程之间的通信

  • 消息交换

套接字(Socket)

进程间通信利用socket发送/接收消息实现,这个过程类似于寄信

寻址进程

  • 不同主机上的进程间通信,那么每个进程必须拥有标识符
  • 寻址主机——ip地址
  • 端口号(Port number):为主机上每个需要通信的进程分配一个端口号( HTTP Server: 80;Mail Server:25)
  • 进程的标志符(ip地址+端口号)

应用层协议

  • 网络应用需遵循应用层协议
  • 公开协议
    • 由RFC(Request For Comments)定义
    • 允许互操作
    • HTTP, SMTP, ……
  • 私有协议
    • 多数P2P文件共享应用

应用层协议的内容

  • 消息的类型(type)
    • 请求消息
    • 响应消息
  • 消息的语法(syntax)/格式
    • 消息中有哪些字段(field)?
    • 每个字段如何描述
  • 字段的语义(semantics)
    • 字段中信息的含义
  • 规则(rules)
    • 进程何时发送/响应消息
    • 进程如何发送/响应消息

网络应用的需求与传输层服务

网络应用对传输服务的需求

  • 数据丢失(data loss)/可靠性(reliability)
  • 时间(timing)/延迟(delay)
  • 带宽(bandwidth)

Internet提供的传输服务

  • TCP
  • UDP

(...未完待续...)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!