应用层协议与网络应用

网络应用的体系结构

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提供的传输服务
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oc之脚本

进入Build Phases页面,点击加号选择“New Run Script Phases”创建Run Script 在这里添加Run Script, 1.每次编译运行版本号(bundleVersion)自增1 buildNumber$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" &q…

案例分享|突破卡脖子技术,研制协作机器人核心零部件的方向与思考

来源: 机器人大讲堂协作机器人,作为一种新型的智能机器人,扫除了人机协作的障碍,让机器人彻底摆脱护栏或围笼的束缚,让机器人与人可以在生产、制造与服务上协同作战,充分发挥机器人的效率及人类的智能&…

Spark安装及其sbt和maven 打包工具安装

一.安装准备 需要先安装hadoop,Java JDK,采用 Hadoop(伪分布式)+Spark(Local模式) 的组合.spark和sbt,maven的版本:spark-2.4.5-bin-without-hadoop.tgz 和sbt-1.3.8.tgz,maven-3.6.3; https://pan.baidu.…

SpringBoot集成Spring Security(一)登录注销

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! SpringBoot集成Spring Security(二)注册 、密码加密、修改密码 写在前面 Spring Security是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案…

什么是1+N模式的新一代城市大脑建设方案

来源:城市大脑全球标准研究组前言:2021年上半年,我们在城市大脑的最新探索和研究中,提出了1N模式的新一代城市大脑建设方案。其中“1”是世界统一标准的城市神经元网络,“N”是N条城市云反射弧,这是基于互联…

图计算-Pregel-Hama

一.图计算简介 1.1 图计算是专门针对图结构数据的处理. 许多大数据都是以大规模图或网络的形式呈现;许多非图结构的大数据,也常常被转换为图模型后进行分析;图结构很好地表达了数据之间的关联性;关联性计算是大数据计…

英伟达推出全球首个元宇宙平台,豪砸数亿是为什么?

来源:AI科技大本营(ID:rgznai100)编译:禾木木翻译:AI科技大本营NVIDIA 在 SIGGRAPH 推出首个全球元宇宙平台,并赢得了最佳展示奖。目前处于公测阶段,它对 NVIDIA RTX 和 GeForce RTX GPU 用户免费开放。用户在安装完 N…

长链剖分题表

长链剖分,类似于重链剖分(dsu on tree)的一种替代算法。最广泛的用法是优化与深度有关的树上DP,以及处理一些与点分治类似的问题。有一部分长链剖分题也可以用dsu on tree做,单复杂度往往会多一个log。 每个点找到高度最大的儿子作为自己的重…

流计算

一.概述 实时获取来自不同数据源的海量数据经过实时分析处理,或的有价值的信息. 1.数据的处理流程 静态数据:数据不会发生变化,如数据仓库中的数据;流数据:数据以大量,快速.时变的流形式持续到达&#xf…

SpringBoot集成Spring Security(二)注册 、密码加密、修改密码

SpringBoot集成Spring Security(一)登录注销 写在前面 上一节创建了项目并且利用Spring Security完成了登录注销功能,这里继续说一下注册、密码加密和找回密码,代码注释较清晰。 一、web层 控制 StudentController.java package …

自动驾驶需要做哪些测试?

来源:广电计量,文:李梓熙、王闻彦参考资料来源:《有问必答 | 自动驾驶汽车之道路“测试”与“考试”》by公安部交通管理科研所微发布自动驾驶已然成为汽车行业热词。在大家殷切的期盼下,近几年上市的车型,多…

大数据的应用-UserCF和ItemCF推荐算法

一.推荐系统 1.1 推荐系统是大数据在互联网领域的典型应用,它可以通过分析用户的历史记录来了解用户的喜好,从而主动的为用户推荐其感兴趣的信息,满足用户的个性化推荐需求. 1.2 推荐系统是自动联系用户和物品的一种工具&#x…

计算机网络之Web应用

1、web与HTTP world Wide Web: 网页 网页互相链接 网页包含多个对象: 对象: HTML文件、JPEG图片、视频文件、动态脚本等 基本HTML文件: 包含对其他对象引用的链接 对象的寻址: URL(Uniform Resource Locato…

HBase错误解决(启动Hbase出现错误的替换,启动hbase shell出现ERROR KeeperErrorCode=NoNode for /hbase/master)

1.问题描述 我查阅资料发现,网上很多人和我出现相同的错误,却没有一个可以解决的教程,于是我在解决了我的一个错误后就立即写了这篇文章,需要能帮到一些人,文章不一定对每个人都有效&#xff0c…

如何使用jmeter进行并发登录测试

第一种方案直接从数据库中获取账号和密码 1、设置线程数为20 ,我们的并发用户量就是20个用户同时登录 2、添加定时器 3、设置集合点,当用户数量达到20个的时候再同时请求进行登录操作 4、添加配置元件:JDBC Connection Configuration 5、添加…

云计算与分布式系统课程学习笔记(一)——云计算简介

大数据对于系统架构的需求 显式的需求 海量计算和存储快速计算 隐式的需求 数据的快速传输灵活性低成本 如何实现这些需求? 并行化(并行化的理念存在于计算机方方面面) 并行请求(分配给多个计算机)并行线程&…

DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了

来源:杉数科技作者:皇甫琦、葛冬冬、杉数科技COPT开发组Google的DeepMind团队最近官宣了一篇神经网络(Neural Networks)求解MIP论文。一石激起千层浪,在国内外的运筹优化社群引起了讨论。部分围观吃瓜群众纷纷表示:"This is …

计算机视觉-SIFT

一.SIFT(Scale Invariant Feature Transform) 算法 1.图像尺度空间 要让计算机能够对物体在不同尺度下有一个统一的认知,就要需要考虑图像在不同尺度(远近,大小,颜色区别等)下存在的特点.尺度空间的获取通常使用高斯模糊来实现&…

世界上最好的光刻机为什么来自荷兰?【物联网智商精选】

来源: 大数据实验室“是说芯语”已陪伴您439天现在微电子集成电路技术对世界的各种科技电子产品越来越应用广泛了,一个国家的发展越来越离不开高端芯片了,一个国家越是发展得越快对高端芯片需求量越大,比如我国的芯片需求占世界的50&#xff…

云计算与分布式系统课程学习笔记(二)——Linux基本命令的使用与熟悉

(1) jps 【显示当前系统的java进程情况,及其id号】 -q只显示pid,不显示class名称,jar文件名和传递给main方法的参数-m输出传递给main方法的参数-l输出主类的完整包名或者jar文件完整路径名-v输出传递给JVM的参数 编写一个JSPDemo…