网络传输

《RocketMq》一、网络传输篇

时光毁灭记忆、已成空白 提交于 2019-11-26 21:56:42
你是否想知道一个分布式系统的网络传输解决方案,那你可以学习下RocketMQ的网络传输原理,从RocketMQ的Remoting网络处理部分,可以学习到如何进行高效的网络传输,这些思想可以应用到不同的业务中。 一、要解决的问题 其实大部分应用的网络处理都要解决如下图所示的问题: 那么就以RocketMQ的源码入手,看看它是如何架构如上的结构的。 二、RocketMQ-remoting详解 2.1首先给出其整体的结构图 2.2 编码解码 在RocketMQ中,所有的通讯都是使用RemotingCommand这个结构,这个结构的内容如下: [java] view plain copy private static final int RPC_TYPE = 0; // 0, REQUEST_COMMAND // 1, RESPONSE_COMMAND private static final int RPC_ONEWAY = 1; // 0, RPC // 1, Oneway /** * Header 部分 */ private int code; // 用于标示请求类型,参见RequestCode,ResponseCode private LanguageCode language = LanguageCode.JAVA; private int version = 0;

Modbus教程| Modbus协议,ASCII和RTU帧,Modbus工作

我与影子孤独终老i 提交于 2019-11-26 20:53:13
转载自:https://www.rfwireless-world.com/Tutorials/Modbus-Protocol-tutorial.html 这个 Modbus教程 涵盖了modbus协议基础,ASCII和RTU帧结构,Modbus协议工作。 Modbus协议教程还描述了应用示例。 什么是Modbus? 简介 : “Modbus”术语是Modicon Inc.的商标,维护该标准。 它是一种应用层协议,它基于连接在不同类型总线或网络上的设备之间的客户端/服务器架构。 该Modbus协议用于SCADA风格的设备之间的网络通信。 Modbus协议 运行在RS232,RS422和RS485之上。 对于Modbus帧,为基于IP的链路层定义了Modbus / TCP规范。 有许多工业自动化和计量协议。 Modbus协议基于查询/响应模型。 “查询消息”和“响应消息”及其字段(即内容)的放大视图如下图所示。 •如图所示,查询和响应消息都包含start(0x3A)和end(0x0D0A)分隔符。 •查询消息由包括设备地址,功能代码,查询数据和错误检查的字段组成。 •响应消息由包括设备地址,功能代码,响应数据和错误检查的字段组成。 Modbus协议工作 •Modbus协议通常遵循基于主从架构。 主设备向从设备发送请求消息并等待响应消息。 该架构为主站提供了完整的信息流控制。

计算机网络

◇◆丶佛笑我妖孽 提交于 2019-11-26 20:16:53
  本部分内容从计算机网络体系结构、物理层、数据链路层、网络层、传输层和应用层分别来讲述。 第一章: 计算机网络体系结构   本章内容为基本概念,这是计算机网络的基础。 重点掌握网络的分层结构,尤其是ISO/OSI参考模型各层的功能和协议、接口、服务的概念。 1. 计算机网络的概念 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 2. 计算机网络的组成 从物理构成上看,一个完整的计算机网络由软件、硬件和协议三大部分组成。 从工作方式上看,计算机网络可以分为边缘部分和核心部分。 边缘部分是指用户直接使用的、连接在因特网上的主机, 而核心部分是指大量的网络和连接这些网络的路由器,它为边缘部分提供了连通性和交换服务。 从功能上看,计算机网络由通信子网和资源子网组成。 3. 计算机网络的功能 数据通信。 比如文件传输、电子邮件等应用。 资源共享。指用户能够部分或全部的使用计算机网络资源。 分布式处理。当计算机网络中的某个计算机系统负荷过重时,就可以将其处理的任务传送到网络的其他计算机系统中,利用空闲计算机资源以提高整个系统的运行效率。 4. 计算机网络的分类 按照分布范围分类 广域网(WAN - Wide Area Network) 作用范围往往是在数十千米以上的区域。其任务是提供长距离的通信

TCP/IP

不想你离开。 提交于 2019-11-26 19:23:05
一 计算机网络体系结构分层 OSI七层模型 TCP/IP概念层模型 功能 TCP/IP协议族 应用层 应用层 文件传输、电子邮件、文件服务、虚拟终端 TFTP、HTTP、SNMP、FTP、SMTP、DNS、TELNET 表示层 数据格式化、代码转换、数据加密 没有协议 会话层 解除或建立与别的节点的联系 没有协议 传输层 传输层 提供端对端的接口 TCP、UDP 网络层 网络层 为数据包选择路由 IP、ICMP、RIP、OSPF、BGP、IGMP 数据链路层 数据链路层 传输有地址的帧以及错误检测功能 PPP、ARP、MTU 物理层 物理层 以二进制数据形式在物理媒体上传输数据 IEEE802、IEEE802.2 二 TCP/IP 1.TCP/IP的具体含义 从字面意义上讲,有人可能会认为TCP/IP是指的TCP和IP两种协议。实际生活中有时确实是指这两种协议。然而很多情况下,它只是利用IP进行通信时所必须用到的协议群的统称。具体来说,IP或者ICMP、TCP或者UDP、TELNET或FTP以及HTTP等都属于TCP/IP协议。他们与TCP或者IP的关系紧密,是互联网比不可少的组成部分。TCP/IP一词泛指这些协议,因此,有时也称TCP/IP为网际协议群。 互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发定制的协议族。因此,互联网的协议就是TCP/IP。

2 计算机网络的物理层

杀马特。学长 韩版系。学妹 提交于 2019-11-26 17:53:55
2.1 研究物理层的必要性 一:计算机网络物理层指的是什么? 在连接各种计算机的传输媒体上传输数据比特流 二:研究物理层的作用? 尽可能地屏蔽掉不同传输媒体和通信手段的差异。 三:物理层规程:用于物理层的协议 四:研究物理层的主要任务——确定与传输媒体的接口的一些特性。 机械特性,电气特性,过程特性,功能特性 2.2 有关于通信方面的一些知识 数据 (data) —— 运送消息的实体。 信号 (signal) —— 数据的电气的或电磁的表现。 模拟信号 (analogous signal) —— 代表消息的参数的取值是连续的。 数字信号 (digital signal) —— 代表消息的参数的取值是离散的。 码元 (code) —— 在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。 信道 —— 一般用来表示向某一个方向传送信息的媒体。 单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。 双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。 双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。 基带信号(即基本频带信号)—— 来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号往往包含有较多的低频成分,甚至有直流成分

计算机网络学习之运输层

瘦欲@ 提交于 2019-11-26 17:08:29
谢希仁老师的计算机网络学习(第六版),主要是记录下TCP/UDP。 首先记录一些需要复习的概念: (1)运输层是应用层下面的一个层,它提供的是应用进程之间的逻辑通信,和下面几个层是主机间逻辑通信不同,同理,运输层也并不是在两个运输层之间直接传送数据。运输层也是对应用层屏蔽了下面的网络细节的,使得应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 (2)运输层有两个主要的协议:TCP/UDP(传输控制协议/用户数据报协议)。它们都具有复用和分用,以及检错的功能,运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的,只提供最大努力服务,但是这种逻辑通信信道就相当于一条全双工通信的可靠信道,但是采用面向报文的无连接的UDP协议时,这种逻辑通信信道依然是不可靠的信道。 (3)运输层用一个16位的端口号来标志一个端口。端口号只是具有本地意义,它只是为了标志本计算机应用层中的各个进程和运输层进行交互时的层间接口,在不同的计算机中,相同的端口号无关联。 (4)两个主机要进行通信,不仅要知道对方的IP地址,而且还要知道对方的端口号,分别对应的就是对方的主机和对方主机内的应用进程。 (5)UDP的主要特点是:a、无连接。b、尽最大努力交付。c、面向报文。d、无拥塞控制。e、支持一对一、一对多、多对一和多对多交互通信。f、首部开销小,只有四个字段:源端口、目的端口、长度

网络传输数据的序列化和反序列化(Json)

人盡茶涼 提交于 2019-11-26 17:07:11
C#菜鸟学习笔记 网络数据传输时,数据的序列化和反序列化(以Json为例) 对象转Json字符串 实验环境:Unity客户端 使用工具:LitJson.dll 步骤: 下载Litjson.dll,下载地址: https://dl.pconline.com.cn/download/1017689-1.html; 在Unity工程下创建Plusin文件夹,放入 Litjson.dll 文件 脚本添加 Litjson 引用,在命名空间 using 即可 使用: //最简单的用法(以用户信息为例) JsonData userInfo = new JsonData(); //创建一个json对象,并添加键值对 userInfo["UserName"] = strUserName; userInfo["PassWord"] = strPassWord; string strJson = userInfo.ToJson();//将json转换成字符串 //转化为字节数组,这样就生成能传输的数据了 byte[] _sendData = Encoding.UTF8.GetBytes(strJson); Json字符串转Dictionary<string, string>类型 服务端最快捷的方法:引用 Newtonsoft.Json 使用**JsonConvert.DeserializeObject(

RTP/RTSP编程

本秂侑毒 提交于 2019-11-26 13:05:32
https://blog.csdn.net/pu1030/article/details/7619908 http://blog.chinaunix.net/uid-27875-id-5017161.html 流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。 一、流媒体简介 随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继续从流媒体服务器下载。 流(Streaming)是近年在Internet上出现的新概念,其定义非常广泛

计算机网络英文简称名词解释

前提是你 提交于 2019-11-26 11:37:34
只是列举了常见的常考的: 计算机网络:是把地理位置不同且具有独立功能的若干台计算机,通过通信线路和设备 相互连接起来,存在一个能为用户自动管理资源的网络操作系统,按照网络通信协议信息传输和资源共享的信息系统; 2. 通信子网:是指所有转接结点以及连接这些结点的链路的集合体,提供网络通信功能, 负责完成网络数据的传输、控制、变换、转发等通信任务; 3. 数据通信:是指按照一定的通信协议,将数据以某种信号的方式,通过数据通信系统来 完成数据信息的传输、交换、存储和处理的过程; 4. 模拟信号:拟信号是指信息参数在给定范围内表现为连续的信号; 5. 数字信号:数字信号指自变量是离散的、因变量也是离散的信号; 6. DCE:即数据电路终接设备,是数据终端设备进入通信网的媒介,如果网络传输的是模 拟信号,它可以将数字信号进行转换,使之适合于模拟信道传输,DCE的主要功能是信号转换; 7. 曼彻斯特编码(规则) :在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变 既作时钟信号,又作数据信号;从低到高跳变表示“0”,从高到低跳变表示“1”; 8. MODEM: 调制解调器是一种计算机硬件,它能把计算机的数字信号翻译成可沿普通电话 线传送的模拟信号,而这些模拟信号又可被线路另一端的另一个调制解调器接收, 并译成计算机可懂的语言; 9. 串行传输(:数据在一个信道上按位的次序传输的方式; 10.

网络编程

匆匆过客 提交于 2019-11-26 09:27:26
网络编程 1.0 引子 假如有两个脚本, foo.py ,, bar.py ,分别运行,都可以正常运行。但是现在想从两个程序之间传递一个数据 同一台电脑 创建一个文件。将foo.py的数据读入文件中,bar.py从文件中读取数据。 不同电脑间 2.0 软件的开发架构 2.1 c/s架构 c/s 即Client和Server ---->客户端和服务器端架构 2.2 B/s架构 B/S 即Browser和Server---->浏览器端和服务器端架构 3.0 什么是网络 网络就是一种辅助双方或者多方能够连接在一起的工具。 伴随着网络发展,人们使用了很多通信方法,有些已不再使用,现在使用最广泛的是------ TCP/IP 协议 (Transmission Control Protocol/Internet Protocol) TCP/IP是标准协议,它可以使世界范围内的计算机通过Internet或本地网络通信。 TCP/IP事实上是一些协议(protocols)的合集。当前大多数使用中的通信都使用TCP协议。 Internet是在一些共享的线路上发送数据的。例如:在您的计算机上也许同时运行着几个应用程序,如Web浏览器、通讯软件等程序,而您只须通过一条单一的线路来连接互联网。上面所有的程序都共享这个连接,简单地说,用户往往不会觉察到这个共享的发生。 3.1 目的 使用网络把多方连在一起