当前位置: 首页 > news >正文

principles of network applications网络应用原理

Creating a network app write programs that: ▪ run on (different) end systems ▪ communicate over network ▪ e.g., web server software communicates with browser software application transport network data link physical application transport network data link physical application transport network data link physical no need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development, propagation 创建一个网络应用程序  在不同的终端运行 通过网络通信 不需要为网络内核设备编写软件 它不运行用户应用程序 终端系统上的应用程序可以快速开发传播

Application architectures possible structure of applications: • client-server • peer-to-peer (P2P) 应用程序结构

Client-server architecture server: • always-on host • permanent IP address • data centers for scaling client/server clients: • communicate with server • may be intermittently connected • may have dynamic IP addresses • do not communicate directly with each other服务器 1永远在线的主机 2永久ip地址 3用于扩展的数据中心 用户端 1与服务器通信 2可能间歇性连接 3可能动态ip地址 4彼此不直接通信0f5dc28546cf46dc817c821e1eaa714f.png

P2P architecture ▪ no always-on server ▪ arbitrary end systems directly communicate ▪ peers request service from other peers, provide service in return to other peers • self scalability – new peers bring new service capacity, as well as new service demands 新方向带来新服务能力和需求 ▪ peers are intermittently connected and change IP addresses • complex management P2P架构 1没有始终在线的服务器 2任意终端系统直接通信 3peers双方互相请求服务提供服务 4peers间歇性连接并更改ip地址 5复杂的管理

Processes communicating process: program running within a host在主机内运行的程序 ▪ within same host, two processes communicate using inter-process communication (defined by OS) ▪ processes in different hosts communicate by exchanging messages client process: process that initiates communication 客户端进程 发起通信的进程 server process: process that waits to be contacted 服务器进程 等待联系的进程▪ aside: applications with P2P architectures have client processes & server processes采用P2P架构的应用程序有客户端进程和服务器进程 在同一主机内,两个进程通过进程间通信进行通信(由操作系统定义) 不同主机内的进程通过交换消息进行通信 

Sockets ▪ process sends/receives messages to/from its socket ▪ socket analogous to door • sending process shoves message out door • sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process进程从socket收发信息发送 发送进程依靠收信一侧的传输基础设施,将信息传送到接受进程的socket

Addressing processes ▪ to receive messages, process must have identifier ▪ host device has unique 32- bit IP address 为接收信息,进程必须有标识符 主机设备有唯一的32位ip地址

运行进程的主机的ip地址不足以识别进程 因为同一主机能运行多进程

▪ identifier includes both IP address and port numbers associated with process on host标识符包括与主机进程相关的ip地址和端口号. ▪ example port numbers: • HTTP server: 80 • mail server: 25 ▪ to send HTTP message to gaia.cs.umass.edu web server: • IP address: 128.119.245.12 • port number: 80 ▪ more shortly…

App-layer protocol defines  应用层协议定义▪ types of messages exchanged交换信息类型,  • e.g., request, response 请求 响应

协议三要素▪ message syntax消息语法:  • what fields in messages &   how fields are delineated信息中的字段和如何划分  ▪ message semantics消息语义  • meaning of information in   fields在字段的信息的含义 ▪ rules for when and how   processes send & respond to   messages何时如何发送和响应信息的规则  open protocols开放协议:  ▪ defined in RFCs  ▪ allows for interoperability被RFCs定义 允许互操作  ▪ e.g., HTTP, SMTP  proprietary protocols专有协议:  ▪ e.g., Skype

 

 

 

 

 

 

 

 

 

http://www.lryc.cn/news/322326.html

相关文章:

  • QT增加线程函数步骤流程
  • Python基础----字符串(持续更新中)
  • 【论文阅读】DiffSpeaker: Speech-Driven 3D Facial Animation with Diffusion Transformer
  • NVM使用教程
  • mysql 学习
  • Jenkins 一个进程存在多个实例问题排查
  • mysql数据类型和常用函数
  • Elastic 线下 Meetup 将于 2024 年 3 月 30 号在武汉举办
  • 线性代数在卷积神经网络(CNN)中的体现
  • 服务器根据用途划分有哪几种?
  • linux 命令笔记:gpustat
  • 【阅读笔记】Adaptive GPS/INS integration for relative navigation
  • Java版直播商城免 费 搭 建:电商、小程序、三级分销及免 费 搭 建,平台规划与营销策略全掌握
  • 经典Bug永流传---每周一“虫”(四十五)
  • 蓝桥杯-礼物-二分查找
  • 设计原则、工厂、单例模式
  • 笔记:Mysql 主从搭建
  • HTTP Error 400. The request hostname is invalid.
  • mysql日志( Redo Log 、Undo Log、Bin Log)
  • HarmonyOS如何创建及调用三方库
  • 我手写的轮子开源了
  • 第十九章 linux部署scrapyd
  • 微信打卡小程序怎么做_用户的每日习惯培养神器
  • C语言数据在内存中的存储
  • 管理公司员工上网行为的软件都有哪些?
  • 手撕C语言题典——逆序输出
  • 如果保障服务器的安全
  • 【SQL】1280. 学生们参加各科测试的次数 (笛卡尔积)
  • 高企认定中科技成果转化是什么呢?
  • 第十二届蓝桥杯省赛CC++ 研究生组-货物摆放