网络应用的体系结构

1、客户机/服务器(Client-Server, C/S)

服务器:

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

客户机:

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

2、点对点结构(Peer-to-peer,P2P)

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

3、混合结构(Hybrid)

Napster

  • 文件传输使用P2P结构
  • 文件的搜索采用C/S结构——集中式
    每个节点向中央服务器登记自己的内容
    每个节点向中央服务器提交查询请求,查找感兴趣的内容

网络应用的进程间通信
进程:
主机上运行的程序
客户机进程:发起通信的进程
服务器进程:等待通信请求的进程
注意:采用P2P架构的应用同样存在客户机进程/服务器进程之分

同一主机上运行的进程:

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

不同主机上运行的进程:

  • 消息交换

套接字:Socket

  • 进程间通信利用scoket发送/接收消息实现
  • 类似于寄信
  • 发送方将消息送到门外邮箱
  • 发送方依赖(门外的)传输基础设施将消息传到接收方所在主机,并送到接收方的门外
  • 接收方从门外获取消息

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

  • 传输协议的选择
  • 参数的设置

如何寻址进程?

  • 不同主机上的进程间通信,那么每个进程必须拥有标识符
  • 如何寻址主机?——IP地址
  • 主机有了IP地址之后,并不足以定位进程,因为同一主机上可能同时有多个进程需要通信

端口号

  • 为主机上每个需要通信的进程分配一个端口号
  • HTTP Server:80
  • Mail Server:25

进程的标识符
IP地址+端口号

应用层协议

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

应用层协议的内容

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

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

  • 数据丢失/可靠性
    某些网络应用能容忍一定的数据丢失:网络电话
    某些网络应用要求100%可靠的数据传输:文件传输,telnet
  • 时间延迟
    有些应用在延迟足够低时才“有效”
    网络电话/网络游戏
  • 带宽(bandwidth)
    某些应用只有在带宽达到最低要求时才“有效”:网络视频
    某些应用能够适应任何带宽——弹性应用:email

Internet提供的传输服务

应用层协议与网络应用相关推荐

  1. 【计算机网络】2.1 应用层协议原理

    第二章第一节 应用层协议原理 网络应用是计算机网络存在的理由,在本章中,我们学习有关网络应用的原理和实现方面的知识.我们学习包括应用沉香谷所需要的网络服务.客户和服务器.进程和运输层接口. 我们详细考 ...

  2. 读书笔记之应用层协议

    网络之间通过把报文发送进套接字使网络进程间实现相互通信.但是如何构造这些报文?在这些报文中的各个字段的含义是什么?进程什么时候发送这些报文?这些问题将带我们进应用层协议的范围.应用层协议定义了运行在不 ...

  3. [计算机网络]应用层协议,HTTP,SMTP,DNS

    应用层 应用层协议原理 网络应用程序体系结构 规定如何在各种端系统上组织应用程序,由研发者设计 客户机/服务器 服务器:对外提供服务的一系列硬件和软件 客户机:使用服务器提供的服务 服务器 7*24小 ...

  4. 计算机网络--应用层-应用层协议原理

    应用层-应用层协议原理 应用层协议原理 网络应用程序体系结构 客户-服务器体系结构 P2P体系结构 进程通信 客户和服务器进程 进程与计算机网络之间的接口 进程寻址 可供应用程序使用的运输服务 可靠数 ...

  5. 计算机网络(七):应用层协议原理

    零.基础理论 网络应用是计算机网络存在的理由,如万维网(包含了web冲浪.搜索和电子商务),以及具有好友列表的即时讯息和对等(P2P)文件共享. 网络应用都是在端系统上的. 网络应用的基本概念.原理: ...

  6. Day4:应用层——网络应用层内容概述、网络应用基本原理(体系结构、进程通信、套接字socket、应用层协议)、Web应用与HTTP

    加油!寒假偷博人 一.网络应用层内容概述. 1本篇内容:(原理.实例.编程) 网络应用体系结构 客户机/服务器  P2P  混合结构 网络应用的服务需求 可靠性 带宽 时延 Inte ...

  7. 二、应用层协议概述与HTTP

    一.应用层简述 应用层提供网络应用程序和对应的协议,常见的如web,email和DNS等.应用程序的结构有两种:C/S(client/server)结构和P2P结构. 在CS结构中,服务端IP地址固定 ...

  8. Qt基于文本协议的网络应用开发

    文章目录 1 文本协议的设计与实现 1.1 文本协议设计介绍 1.2 文本协议设计示例 2 从字节流装配文本协议对象 3 文本协议中的中文处理 4 文本协议的网络应用 1 文本协议的设计与实现 1.1 ...

  9. 2 应用层 - 应用层协议原理

    应用层协议原理 一.网络应用程序体系结构 客户机/服务器 体系结构 纯P2P 体系结构 客户机/服务器与P2P的混合 二.进程通信 客户机和服务器进程 套接字(socket) 进程与套接字关系 进程寻 ...

最新文章

  1. 2.STM32中对Key_GPIO_Config()函数的理解(自定义)之轮询控制按键LED
  2. MQTT数据接收流程之数据处理回调函数注册(基于LWIP/RDA8955平台)
  3. 给计算机系统的资产分配的记号被称为什么,哈工大2015计算机复试试题(25页)-原创力文档...
  4. java你可能不知道的事(2)--堆和栈
  5. 你能相信这些逼真的油画是前端小姐姐只用HTML+CSS画出来的吗?精细到毛发,让美术设计也惊叹丨GitHub热榜...
  6. Centos 部署OpenVP* 证书+密码认证
  7. K8S入门系列(1)-Windows10安装Docker,配置阿里云加速器
  8. ARM | 微生物学的历史——Roberto Kolter的解读
  9. python 谷歌地图_Python查询一个城市的谷歌地图的经度和纬度
  10. qconshanghai2017
  11. 从键盘输入直接三角形的两条直接边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数
  12. linux的一页是多大
  13. acr38u PHP调用,ACS ACR38智能卡读写器驱动下载_ACS ACR38智能卡读写器驱动官方下载-太平洋下载中心...
  14. java爬虫写一个百度图片下载器
  15. java百度地图逆地址解析_百度地图逆地址解析
  16. 抖音举起兴趣电商屠龙刀
  17. SVG基本使用(三、剪裁/蒙版、渐变色、画笔、形变、ViewBox)
  18. 第十章分治算法(大数相乘)
  19. 满足4G/5G基站覆盖测试、频谱扫描和清频测试功能的扫频仪 TFN FGT系列扫频仪
  20. linux 查看nc文件,linux下nc的使用

热门文章

  1. LeetCode 第 27 场双周赛(1125/1966,前57.2%)
  2. LeetCode 1411. 给 N x 3 网格图涂色的方案数(数学)
  3. LeetCode 1376. 通知所有员工所需的时间(DFS)
  4. LeetCode 1366. 通过投票对团队排名(自定义排序)
  5. hal库开启中断关中断_STM32对HAL库的定时器中断
  6. 水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合
  7. python简单实践作业答案_python入门实践四:爬取牛客网面试专项练习题及答案
  8. Linux基本操作指南
  9. vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者
  10. python绘画_python学画画(上)