现在位置: 首页 > 网络协议
2019-06-03 10:47 工业·编程 ⁄ 共 612字 暂无评论
protoBuf是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。与Protoful类似的序列化技术还有XML、JSON、Thrift等。 优点 与同类型的数据交换格式相比(诸如json,xml),由于protobuf是基于二进制数据传输格式,因此它具有高效的解析速度和更小...
阅读全文
2019-05-06 22:04 工业·编程 ⁄ 共 3010字 暂无评论
为什么使用消息队列 先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。 解耦 看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃...... 在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统要...
阅读全文
2018-12-25 19:59 工业·编程 ⁄ 共 1295字 暂无评论
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段。 它们的含义是: SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置。 其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应, 如果只是单个的一个SYN,它表示的只是建立连接。 TCP的几次握手就是...
阅读全文
2018-12-06 19:17 工业·编程 ⁄ 共 15455字 暂无评论
FreeModbus协议栈作为从机,等待主机传送的数据,当从机接收到一帧完整的报文后,对报文进行解析,然后响应主机,发送报文给主机,实现主机和从机之间的通信。 1、初始化协议栈---eMBInit函数(mb.c中),以RTU为例 eMBErrorCode  eMBInit( eMBMode eMode, UCHAR ucSlaveAddress, UCHAR ucPort, ULONG ulBaudRate, eMBParity eParity ) { 1 /*函数功能:*1:实现RTU模式和ASCALL模式的协议栈初始化;*2:完成协议栈核心函数...
阅读全文
2018-06-02 05:40 工业·编程 ⁄ 共 1500字 暂无评论
1.招聘的顺口溜而已。其实大多数需要的是熟悉socket编程。 tcp/ip是协议族,协议定义的东西包括报文格式,流控,控制块fsm之类。 socket是个编程界面,不用管什么syn/ack/rst/sequence number之类。 (以前还有所谓传输界面编程,另一组api,淘汰了)socket编程并不太关心协议是什么样,stream可以不是tcp,dgram可以不是udp的。当然现在基本没有别的协议在用了。当然如果实现socket库(估计没人重新发明轮子), 或开发路由器...
阅读全文
2018-05-26 05:35 工业·编程 ⁄ 共 1235字 暂无评论
  三次握手,所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发。 第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器端,客户端进入SYN_SENT状态,等待服务器端确认。 第二次握手:服务器端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器端将标志位SYN和ACK都置为1,ack=J+1...
阅读全文
2013-06-06 04:48 工业·编程 ⁄ 共 552字 暂无评论
•  ::/128  即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口。 •  ::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于IPv4中的localhost(127.0.0.1),ping locahost可得到此地址。 •  2001::/16  全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址,属于单播地址。 •  2002::/16  6 to 4 地址,用于6to4自动构造隧道...
阅读全文
2013-01-08 06:53 工业·编程 ⁄ 共 2236字 暂无评论
多播路由是一个很好的技术,在Internet上实现了对数据的“广播”,不同于广播的是,由于广播风暴的问题,路由器是禁止广播数据跨路由传送的。而多播则很好的解决了这个问题。现在M$软件如:Netmeeting,WMS就广泛运用了多播这种技术。这里讨论的是怎么样把你的Linux架设成一个多播路由器 (一般的网关、路由器是不支持多播数据包通过的)。   1、传输协议      网络摄像机提供很多基于IP网络的传...
阅读全文
2012-11-08 10:32 工业·编程 ⁄ 共 2433字 暂无评论
Port模式的FTP步骤如下: 1、 客户端发送一个TCP SYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口; 2、 服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口; 3、 客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答; 4、 当用户请求一个列表(List)请求或者发起一个要求发送或...
阅读全文
    简单文件传输协议是一 种用来传输文件的简单协议,运行在 UDP(用户数据报协议)上。TFTP 的被设计为小而简单容易的运行,因此,它缺乏标准 FTP 协议的许多特征。TFTP 只能从远程服务器上读、写文件(邮件)或者读、写文件传送给远程服务器。它不能列出目录并且当前不提供用户认证。 当前 TFTP 有 3 种传输模式:netASC11 模式即 8 位 ASC11;八位组模式(替代了以前版本的二进制模式),如原始八位字节;邮...
阅读全文