当前位置: 首页 > 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

 

 

 

 

 

 

 

 

 

相关文章:

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 li…...

QT增加线程函数步骤流程

在使用线程的时候,不仅要关注线程开启的时机,同时还要关注线程安全退出,这样才能保证程序的健壮性,如果线程开启的较多,且开启关闭比较频繁,建议使用线程池来处理。开启线程有三种方式:第一种C的…...

Python基础----字符串(持续更新中)

字符串的介绍 定义:是python中常用的数据类型之一,可以使用单引号、双引号、三引号来进行创建 字符串的标识类型:str 字符串的特性 字符串属于不可变数据类型,不能直接修改字符串的本身 数字、元组也属于不可变数据类型 字符串…...

【论文阅读】DiffSpeaker: Speech-Driven 3D Facial Animation with Diffusion Transformer

DiffSpeaker: 使用扩散Transformer进行语音驱动的3D面部动画 code:GitHub - theEricMa/DiffSpeaker: This is the official repository for DiffSpeaker: Speech-Driven 3D Facial Animation with Diffusion Transformer paper:https://arxiv.org/pdf/…...

NVM使用教程

文章目录 ⭐️写在前面的话⭐️1、卸载已经安装的node2、卸载nvm3、安装nvm4、配置路径以及下载源5、使用nvm下载node6、nvm常用命令7、全局安装npm、cnpm8、使用淘宝镜像cnpm9、配置全局的node仓库🚀 先看后赞,养成习惯!🚀&#…...

mysql 学习

本文来自于《sql必知必会》 所需要的文件教程连接 本站其他的小伙伴 第一课 了解sql 数据库基础 什么是数据库 数据库(database) 保存有组织的数据的容器(通常是一个文 件或一组文件)。 表 表(table)…...

Jenkins 一个进程存在多个实例问题排查

Jenkins 一个进程存在多个实例问题排查 最近Jenkins升级到2.440.1​版本后,使用tomcat​服务部署,发现每次定时任务总会有3-4个请求到我的机器人上,导致出现奇奇怪怪的问题。 问题发现 机器人运行异常,总有好几个同时请求的服务。…...

mysql数据类型和常用函数

目录 1.整型 1.1参数signed和unsigned 1.2参数zerofill 1.3参数auto_increment 2.数字类型 2.1floor()向下取整 2.2随机函数rand() 2.3重复函数repeat() 3.字符串类型 3.1length()查看字节长度,char_length()查看字符长度 3.2字符集 3.2.1查看默认字符…...

Elastic 线下 Meetup 将于 2024 年 3 月 30 号在武汉举办

2024 Elastic Meetup 武汉站活动,由 Elastic、腾讯、新智锦绣联合举办,现诚邀广大技术爱好者及开发者参加。 活动时间 2024年3月30日 13:30-18:00 活动地点 中国武汉 武汉市江夏区腾讯大道1号腾讯武汉研发中心一楼多功能厅 13:30-14:00 入场 活动流程…...

线性代数在卷积神经网络(CNN)中的体现

案例:深度学习中的卷积神经网络(CNN) 在图像识别领域,卷积神经网络(Convolutional Neural Networks, CNN)是一个广泛应用深度学习模型,它在人脸识别、物体识别、医学图像分析等方面取得…...

服务器根据用途划分有哪几种?

随着企业需求的不同,服务器的类型也变得多种多样了,有根据机箱结构来划分的服务器类型,如机架式服务器、刀片式服务器和塔式服务器等,也有按照应用层次来划分的服务器类型,如入门级服务器和工作组服务器等。 那根据用途…...

linux 命令笔记:gpustat

1 命令介绍 gpustat是一个基于Python的命令行工具,它提供了一种快速、简洁的方式来查看GPU的状态和使用情况它是nvidia-smi工具的一个封装,旨在以更友好和易于阅读的格式显示GPU信息。gpustat不仅显示基本的GPU状态(如温度、GPU利用率和内存…...

【阅读笔记】Adaptive GPS/INS integration for relative navigation

Lee J Y, Kim H S, Choi K H, et al. Adaptive GPS/INS integration for relative navigation[J]. Gps Solutions, 2016, 20: 63-75. 用于相对导航的自适应GPS/INS集成 名词翻译 formation flying:编队飞行 摘要翻译 在编队飞行、防撞、协同定位和事故监测等许多…...

Java版直播商城免 费 搭 建:电商、小程序、三级分销及免 费 搭 建,平台规划与营销策略全掌握

随着互联网的快速发展,越来越多的企业开始注重数字化转型,以提升自身的竞争力和运营效率。在这个背景下,鸿鹄云商SAAS云产品应运而生,为企业提供了一种简单、高效、安全的数字化解决方案。 鸿鹄云商SAAS云产品是一种基于云计算的软…...

经典Bug永流传---每周一“虫”(四十五)

如果有人错过机会,多半不是机会没来,而是因为机会过来时,没有一伸手抓住它。 大写W惹的祸 前提: A账号已登录 步骤: 打开某商品链接,然后在商品的评论区任意一条评论,点击回复,回…...

蓝桥杯-礼物-二分查找

题目 思路 --刚开始想到暴力尝试的方法,但是N太大了,第一个测试点都超时。题目中说前k个石头的和还有后k个石头的和要小于s,在这里要能想到开一个数组来求前n个石头的总重,然后求前k个的直接将sum[i]-sum[i-k-1]就行了&#xff0…...

设计原则、工厂、单例模式

什么是设计模式 简单来说,设计模式就是很多程序员经过相当长的一段时间的代码实践、踩坑所总结出来的一套解决方案,这个解决方案能让我们少写一些屎山代码,能让我们写出来的代码写出来更加优雅,更加可靠。所以设计模式的好处是显而…...

笔记:Mysql 主从搭建

主库 创建用户并授权 create user slave identified with mysql_native_password by 123456 GRANT REPLICATION SLAVE ON *.* to slave%; FLUSH PRIVILEGES;主库配置文件 /etc/my.cnf #日志路径及文件名,目录要是mysql有权限写入 log-bin/var/lib/mysql/binlog …...

HTTP Error 400. The request hostname is invalid.

异常信息 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> <HTML><HEAD><TITLE>Bad Request</TITLE> <META HTTP-EQUIV"Content-Type" Content"text/html;…...

mysql日志( Redo Log 、Undo Log、Bin Log)

InnoDB是一个带有ACID事务支持的存储引擎&#xff0c;其中redo log和undo log是其实现原子性、一致性、隔离性和持久性&#xff08;ACID&#xff09;的重要机制。 Redo Log&#xff08;重做日志&#xff09; Redo log主要用于实现事务的持久性。它记录了后续可以用来恢复数据…...

如何导入带系统变量修改的SQL_确保SUPER权限并规避只读变量报错

MySQL 5.7导入SQL报ERROR 1227是因SET GLOBAL语句需SUPER权限&#xff0c;且在read_onlyON实例上必失败&#xff1b;应优先过滤global/session SET语句或改用SESSION级设置。导入SQL时提示 ERROR 1227 (42501): Access denied; you need (at least one of) the SUPER privilege…...

【全网首家】Claude Opus 4.7 vs Opus 4.6 实测对比:7 项测试跑完后,我发现升级最值的是 coding 和 debug

Claude Opus 4.7 vs Opus 4.6 实测对比&#xff1a;7 项测试跑完后&#xff0c;我发现升级最值的是 coding 和 debug 通过 Crazyrouter AI API 网关&#xff0c;对 Claude Opus 4.7 和 Opus 4.6 做了 7 组真实场景测试。不是只看发布文案&#xff0c;也不是只看官方说法&#x…...

从SAD到SGBM:双目立体视觉核心匹配算法演进与实战解析

1. 双目立体视觉的基石&#xff1a;为什么需要匹配算法&#xff1f; 第一次接触双目立体视觉时&#xff0c;我盯着左右两个摄像头拍摄的画面看了半天也没想明白&#xff1a;明明是两个普通2D图像&#xff0c;怎么就能变出深度信息&#xff1f;后来才发现&#xff0c;这个魔术的…...

实测 Claude Opus 4.6:三种接入方式、重构能力拆解与避坑总结

上周团队在做一个自动化重构工具&#xff0c;需要模型能理解大段遗留代码并给出重构方案。我先用 GPT-5 跑了一轮&#xff0c;生成的代码能跑但结构比较平庸&#xff1b;换 DeepSeek V3 试了下&#xff0c;中文理解不错但复杂逻辑偶尔会断。最后同事甩给我一句「你试试 Claude …...

LongMemEval 基准实测!Awareness 长时记忆能力登顶

长时交互记忆是 AI 智能体从 “玩具” 走向 “生产力工具” 的核心门槛。LongMemEval 作为 ICLR 2025 收录的权威基准&#xff0c;专注评估多会话、跨时序、知识更新等五大记忆能力。本文基于 LongMemEval 完整测试集&#xff0c;对 Awareness 进行全维度 Benchmark&#xff0c…...

漫画迷的离线宝库:一键构建你的私人漫画图书馆

漫画迷的离线宝库&#xff1a;一键构建你的私人漫画图书馆 【免费下载链接】comics-downloader tool to download comics and manga in pdf/epub/cbr/cbz from a website 项目地址: https://gitcode.com/gh_mirrors/co/comics-downloader 还在为网络不稳定无法畅快阅读漫…...

五分钟轻松掌握 Python 自动化测试 Selenium

一、Selenium selenium 是一个老牌的测试工具和自动化工具&#xff0c;它的用途非常多&#xff0c;掌握这么技能绝对是值得&#xff0c;并且如果有需要切换其他的技术&#xff0c;大致应该是相似的&#xff0c;也就是说从它迁移到别的工具是轻松的。 二、为什么 Selenium 需要…...

生成式AI时代的产品创新:以AI Agent为核心功能的下一代APP设计

生成式AI时代的产品创新:以AI Agent为核心功能的下一代APP设计 1. 引入与连接 1.1 一个引人入胜的未来场景 想象一下,2025年的一个普通早晨: 你的手机闹钟响起,但这不是预设好的固定时间,而是你的"私人生活助理"AI Agent根据你的睡眠质量、当天日程和天气情…...

CloudCompare实战:点云二次曲面拟合精度分析与优化策略

1. 二次曲面拟合基础与CloudCompare实现 点云数据处理中&#xff0c;曲面拟合是个绕不开的话题。我第一次接触CloudCompare的二次曲面拟合功能时&#xff0c;就被它的简洁界面吸引&#xff0c;但实际用起来发现没那么简单。二次曲面拟合的本质&#xff0c;是用数学方程来描述点…...

建议所有人前端准备到这种程度再去面试

别再裸面了&#xff0c;有些坑你根本想不到最近帮团队筛了上百份前端简历&#xff0c;也面了四十多个候选人。说实话&#xff0c;大部分人连第一轮都过不了——不是因为基础差&#xff0c;而是完全不知道面试官到底在考什么。 有人能把 三大框架的源码讲得头头是道&#xff0c…...