文章目录

  • 简介
  • GVCP Transport Protocol Considerations
    • UDP
      • Fragmentation
      • Packet Size Requirements
      • Reliability and Error Recovery
      • Flow Control

简介

​ GVCP是基于UDP传输协议的应用层协议。它基本上允许应用程序配置设备(通常是摄像机),并实例化设备上的流通道,以及在特定事件发生时通知应用程序。

目标

​ 1、允许GigE 视觉设备和GigE应用程序之间进行交换命令和确认消息;
​ 2、为应用程序提供一种方法,以便在适用时实例化来自设备的流通道;
​ 3、为GigE Vision设备定义一种机制,用于向GigE Vision应用程序发送异步事件消息(使用事件生成器);
​ 4、提供唯一性访问方案,以便只有一个应用程序可以控制设备;
​ 5、最小化GigE视觉设备的IP堆栈复杂度。

GVCP Transport Protocol Considerations

​ GVCP必须使用UDP和IPV4作为传输协议;设备和应用程序不能在GVCP的IP数据报中使用任何IP选项。这样IP头的大小固定在20字节。

UDP

​ GVCP头提供一个8位字段,其中包含16进制键值0x42,用于设备与应用程序识别GVCP包,设备的第一个GVCP端口号必须为3956。

​ GVCP端口(3956)已经在IANA中注册,应用程序可以使用任何可用的动态端口号。当应用程序发送GVCP包时,它使用设备GVCP端口(3956)作为目标,并动态分配UDP端口号作为源。该设备以应用程序动态UDP端口为目标,GVCP端口(3956)为源,响应GVCP请求。出于兼容性的原因,设备必须始终使用标准的GVCP端口号来表示它的第一个实例。这允许支持非mdns的应用程序使用GVCP DISCOVERY命令枚举设备。

Fragmentation

​ 分段定义了将大消息分割成适合通过IP协议传输的小段的方式。对于IP,避免IP碎片的最大传输单元(MTU)是576字节(即所有主机需要接受或从碎片重新组装的最大数据报为576字节)。576字节包括IP头、UDP头、GVCP头以及数据负载部分(以太网报头不属于576字节的一部分)。字段如下表:

Packet Size Requirements

​ GVCP有效载荷必须是32位(4字节)的倍数。GVCP头本身也是32位的倍数。

Reliability and Error Recovery

​ 可靠性由应用程序有选择性的请求来自每个命令消息的确认来实现的,如下图所示:

​ 当请求确认时,如果在用户可配置超时之后应用程序没有收到确认,则应再次发送该命令,当重新发送命令时,应用程序必须保持req_id字段不变。消息重试次数可以由用户设定,默认值为3。req_d 初始值不能为0,在控制通道关闭后,其值会被初始化。此外,还启用了端到端连接,通过设置心跳计数来侦听链路是否断开。同理,其值是可以自定义的。一般来说,应用程序端的心跳频率应略低于设备端的1/3,这样可以在UDP包发送丢失时排除心跳因素的干扰。


​ 另一方面,如果设备接收到与此应用程序先前接收到的命令具有相同req_id字段的命令,则它知道已经接收了两次相同的命令。如果两次运行该命令对设备状态没有影响,则允许这样做。否则,该命令只执行一次。并且在所有请求确认的情况下,设备必须为它接收到的每个命令(原始命令和重复命令)返回一个确认。如下图:

Flow Control

​ 流控制确保接收的消息不会过流,方案如下:
​ 程序发送第一个数据包时,会在请求确认时必须等待确认消息。在收到第一个确认消息之前,不可以发送第二个数据包,除非传输超时或应用程序本身没有请求确认。
​ 流管理控制可使用IEEE802.3暂停机制。如果设备支持暂停机制,那么暂停配置必须在设备重置期间保持。

GigE——GVCP传输协议相关推荐

  1. 实时传输协议(RTP)

    RTP简介 RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由RTCP协议来监视和控制. RTP定义在RFC 使用RTP协议的应 ...

  2. 简单文件传输协议TFTP分析还原

    " 介绍TFTP协议及传输内容的还原." TFTP,全称为Trivial File Transfer Protocol,即简单文件传输协议,是一个用来在客户端与服务器之间进行简单文 ...

  3. JavaMail学习笔记(一)、理解邮件传输协议(SMTP、POP3、IMAP、MIME)

    电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行传递,就必须遵循一定的规则,这些规则就是邮件传输协议.SMTP协议定了邮件客户端与SMTP服务之间,以及两台SMTP服务器之间发送邮 ...

  4. 知名文件传输协议 SCP 被曝存在 35 年历史的安全漏洞

    基于 SSH 的文件传输协议 SCP(Secure Copy Protocol)被曝存在安全漏洞. 安全研究人员公布了 SCP 存在的多个漏洞,这些漏洞可以结合起来利用,分别为 CVE-2018-20 ...

  5. [转]文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1

    转自:http://blog.csdn.net/soarheaven/archive/2008/12/08/3474152.aspx 最近项目需要对FTP服务器进行操作,现把实现总结如下: 打算分2篇 ...

  6. JMS规范、ActiveMQ Broker和ActiveMQ传输协议

    Java实现ActiveMQ通讯(构建过程) 编写pom.xml配置文件 <!-- https://mvnrepository.com/artifact/org.apache.activemq/ ...

  7. FTP 服务搭建及常用的命令脚本及传输协议基础普及

    1.首先我们日常的日常工作会常遇到各种各样的传输问题,比如需要将更新的补丁上传到服务器,或者从服务器上下载一些资料,但是经常用到的协议就大致的归纳一下(资料来自百度百科): 首先是FTP ftp的语义 ...

  8. 流控制传输协议 SCTP

    流控制传输协议(SCTP,Stream Control Transmission Protocol)是一种在网络连接两端之间同时传输多个数据流的协议.SCTP提供的服务于UDP和TCP类似 SCTP在 ...

  9. Servlet - HTTP超文本传输协议

    HTTP (超文本传输协议) 超文本传输协议(HTTP)是用于协作.分布式.超媒体信息系统的应用级协议.它是用于建立客户端和服务器之间通信的数据通信协议.   HTTP协议是基于TCP/IP的通信协议 ...

最新文章

  1. 无线传感器网络协议与体系结构 思维导图 (book) Protocols and Architectures for Wireless Sensor Networks, Holger Karl
  2. 必读!TOP10生成对抗网络GAN论文(附链接)
  3. DAS、NAS、SAN区别
  4. c++异常的层次结构(继承在异常中的应用)
  5. 【Python3】POP3协议收邮件
  6. 经典面试题(43):以下代码将输出的结果是什么?
  7. lora网关软件设计_SX1301网关设计 LoRaWAN网关 评估开发套件sx1278双向测试云平台LPKT001...
  8. Nginx原子操作及自旋锁实现
  9. Pandas创建DataFrame对象的几种常用方法
  10. React Native悬浮效果组件
  11. 金融数据分析之财务分析表要填数据怎么办?(学习理财课程后开发的助手工具)
  12. 解决nginx反向代理缓存不起作用的问题
  13. 基于C语言的内存池的设计与实现
  14. 成功解决 failing shard [AccessControlException[access denied (“java.io.FilePermission“
  15. 工大校园邮箱申请流程
  16. PseudoSeg: Designing Pseudo Labels for Semantic Segmentation阅读笔记
  17. mc网站服务器设置家怎么圈地,我的世界怎么圈地 教你设置自己的领地
  18. 【Dubbo】序列化异常—— com.esotericsoftware.kryo.KryoException: Buffer underflow
  19. 深度学习和神经网络的介绍(一)
  20. H5浙里办对接流程和问题记录

热门文章

  1. 第一篇:java调用公共数据接口:QQ在线状态查询(java调用http接口)
  2. 乔布斯给中国CEO的三堂必修课
  3. python分析微博数据中心_数据挖掘与数据分析
  4. 2022-2027年中国教辅出版行业市场调研及未来发展趋势预测报告
  5. anybody 运行出现文档注释错误,寻求大神解答??
  6. Scratch教程:暗道效果
  7. 完成新一轮融资估值220亿美元,Citadel证券为何这么会吸金?
  8. FS4060A单节3.7V电流2.5A锂电池4.2V充电IC
  9. C# 生成彩色二维码
  10. Python知识点以及相关练习题(四万余字总结)期末Python知识点总结