应用层协议与网络应用
网络应用的体系结构
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提供的传输服务
应用层协议与网络应用相关推荐
- 【计算机网络】2.1 应用层协议原理
第二章第一节 应用层协议原理 网络应用是计算机网络存在的理由,在本章中,我们学习有关网络应用的原理和实现方面的知识.我们学习包括应用沉香谷所需要的网络服务.客户和服务器.进程和运输层接口. 我们详细考 ...
- 读书笔记之应用层协议
网络之间通过把报文发送进套接字使网络进程间实现相互通信.但是如何构造这些报文?在这些报文中的各个字段的含义是什么?进程什么时候发送这些报文?这些问题将带我们进应用层协议的范围.应用层协议定义了运行在不 ...
- [计算机网络]应用层协议,HTTP,SMTP,DNS
应用层 应用层协议原理 网络应用程序体系结构 规定如何在各种端系统上组织应用程序,由研发者设计 客户机/服务器 服务器:对外提供服务的一系列硬件和软件 客户机:使用服务器提供的服务 服务器 7*24小 ...
- 计算机网络--应用层-应用层协议原理
应用层-应用层协议原理 应用层协议原理 网络应用程序体系结构 客户-服务器体系结构 P2P体系结构 进程通信 客户和服务器进程 进程与计算机网络之间的接口 进程寻址 可供应用程序使用的运输服务 可靠数 ...
- 计算机网络(七):应用层协议原理
零.基础理论 网络应用是计算机网络存在的理由,如万维网(包含了web冲浪.搜索和电子商务),以及具有好友列表的即时讯息和对等(P2P)文件共享. 网络应用都是在端系统上的. 网络应用的基本概念.原理: ...
- Day4:应用层——网络应用层内容概述、网络应用基本原理(体系结构、进程通信、套接字socket、应用层协议)、Web应用与HTTP
加油!寒假偷博人 一.网络应用层内容概述. 1本篇内容:(原理.实例.编程) 网络应用体系结构 客户机/服务器 P2P 混合结构 网络应用的服务需求 可靠性 带宽 时延 Inte ...
- 二、应用层协议概述与HTTP
一.应用层简述 应用层提供网络应用程序和对应的协议,常见的如web,email和DNS等.应用程序的结构有两种:C/S(client/server)结构和P2P结构. 在CS结构中,服务端IP地址固定 ...
- Qt基于文本协议的网络应用开发
文章目录 1 文本协议的设计与实现 1.1 文本协议设计介绍 1.2 文本协议设计示例 2 从字节流装配文本协议对象 3 文本协议中的中文处理 4 文本协议的网络应用 1 文本协议的设计与实现 1.1 ...
- 2 应用层 - 应用层协议原理
应用层协议原理 一.网络应用程序体系结构 客户机/服务器 体系结构 纯P2P 体系结构 客户机/服务器与P2P的混合 二.进程通信 客户机和服务器进程 套接字(socket) 进程与套接字关系 进程寻 ...
最新文章
- 2.STM32中对Key_GPIO_Config()函数的理解(自定义)之轮询控制按键LED
- MQTT数据接收流程之数据处理回调函数注册(基于LWIP/RDA8955平台)
- 给计算机系统的资产分配的记号被称为什么,哈工大2015计算机复试试题(25页)-原创力文档...
- java你可能不知道的事(2)--堆和栈
- 你能相信这些逼真的油画是前端小姐姐只用HTML+CSS画出来的吗?精细到毛发,让美术设计也惊叹丨GitHub热榜...
- Centos 部署OpenVP* 证书+密码认证
- K8S入门系列(1)-Windows10安装Docker,配置阿里云加速器
- ARM | 微生物学的历史——Roberto Kolter的解读
- python 谷歌地图_Python查询一个城市的谷歌地图的经度和纬度
- qconshanghai2017
- 从键盘输入直接三角形的两条直接边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数
- linux的一页是多大
- acr38u PHP调用,ACS ACR38智能卡读写器驱动下载_ACS ACR38智能卡读写器驱动官方下载-太平洋下载中心...
- java爬虫写一个百度图片下载器
- java百度地图逆地址解析_百度地图逆地址解析
- 抖音举起兴趣电商屠龙刀
- SVG基本使用(三、剪裁/蒙版、渐变色、画笔、形变、ViewBox)
- 第十章分治算法(大数相乘)
- 满足4G/5G基站覆盖测试、频谱扫描和清频测试功能的扫频仪 TFN FGT系列扫频仪
- linux 查看nc文件,linux下nc的使用
热门文章
- LeetCode 第 27 场双周赛(1125/1966,前57.2%)
- LeetCode 1411. 给 N x 3 网格图涂色的方案数(数学)
- LeetCode 1376. 通知所有员工所需的时间(DFS)
- LeetCode 1366. 通过投票对团队排名(自定义排序)
- hal库开启中断关中断_STM32对HAL库的定时器中断
- 水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合
- python简单实践作业答案_python入门实践四:爬取牛客网面试专项练习题及答案
- Linux基本操作指南
- vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者
- python绘画_python学画画(上)