应用层(一)

应用层协议原理

研发网络应用程序

  • 运行在不同端系统
  • 通过网络彼此通信

eg:web服务器和浏览器通信

不需要给网络核心设备写软件

  • 网络核心设备不在应用层上运行
  • 网络核心设备不在应用层起作用

应用程序体系结构

client-server 客户机-服务器架构

  • server:总是打开,永远在线,固定IP
  • client:间断(intermittently)连接,可能动态IP,不相互直接通信

include:Web、FTP、Telnet、email

image-20220314100852972.png

通常大型因特网服务都配备了数据中心,装有大量服务器和数据

peer-to-peer(P2P)对等网络架构

对位于数据中心的专用服务器有最小的依赖,应用程序在间断连接的主机对之间直接通信,这些主机称为对等方(peer)

应用:BitTorrent、迅雷、

image-20220314101807196.png

特点:

自扩展性:在一个P2P文件共享应用中,尽管每个对等方都由于请求文件产生工作负载,但每个对等方向其他对等方分发文件也为系统增加服务能力,使得其不需要庞大的服务器基础设施和服务器带宽

hybrid of client-server and P2P 混合C/S和P2P架构

即时通信应用服务器用于跟踪用户IP,但用户到用户间的报文在用户主机之间直接发送

进程通信

进行通信的实际上是进程而不是程序

进程

  • 运行在端系统的一个程序
  • 通过跨越计算机网络交换报文而相互通信

客户进程和服务器进程

会话开始时发起与其他进程联系的进程$\rightarrow$客户,等待联系的进程$\rightarrow$服务器

eg:

  • 在Web中,浏览器是一个客户进程,Web服务器是一台服务器进程
  • 在P2P文件共享中,下载文件的peer标识为客户,上传文件的peer标识为服务器

套接字(sockets)

进程与计算机网络之间的接口

可以将进程比作房子,套接字比作门

image-20220314113108001.png

也被称作API,应用程序编程接口

寻址过程

为向另一台主机发送分组,接收进程需要有一个地址:IP地址(IPv4-Ch4)

IP地址区分不同主机,端口号区分相同主机不同进程,eg:HTTP server-80,邮件服务-25

可供应用程序使用的运输服务

可靠数据传输

分组不丢失$\rightarrow$可靠数据传输(数据完整性)

  • no loss
  • loss-tolerant

吞吐量

发送进程能够向接收进程交付比特的速率

  • 具有吞吐量需求的,bandwidth-sensitive,带宽敏感的应用
  • elastic,弹性应用

及时性

实时应用(对时延有约束)和非实时应用

安全性

数据完整性、加密、端点鉴别

因特网提供的运输服务

TCP OR UDP?

网络应用需求

image-20220316204626240.png

TCP

  • 面向连接
  • 可靠数据传输
  • 流量控制:发送方不会淹没接收方
  • 拥塞控制
  • 不提供:及时性、最小的吞吐量保证、安全性

UDP

  • 不可靠数据传输

扩展:安全性:SSL,安全套接字层加强TCP,提供加密连接、数据完整性、端点鉴定

流行的应用及其应用层协议和支撑的运输协议

image-20220316210009662.png

不提供吞吐量或及时性保证

应用层协议

定义了:

  • 交换的报文类型:请求(request)、响应(response)
  • 各种报文类型的语法:报文中各个字段及其描述
  • 字段的语义:这些字段中的信息含义
  • 确定一个进程何时以及如何发送报文,对报文响应的规则

  • 公开协议:由RFC文档定义,遵循RFC规则
  • 私有协议(proprietary protocol):Skype、QQ、Thunder
最后修改:2022 年 03 月 16 日
如果觉得我的文章对你有用,请随意赞赏