IEEE1588精确网络时钟同步协议简介 I

摘要:
[首次发表于cnblogs,请注明是否转载。作者:拜年/告别年电子邮件:east3@163.com]在阅读本文之前,假设您对以太网和NTP有所了解。至少您应该大致了解以下术语或缩写:NTP、MAC、PHY、TimeStamp IEEE1588是一种主要在以太网上运行的网络时钟同步协议,其主要目标是在局域网内实现高于微秒的同步精度。与常见的时钟同步协议NTP相比,差异如下:1

[首发于cnblogs,转载请注明。作者:byeyear/告别年代    Email:east3@163.com]

在阅读本文之前,假定您对以太网和NTP有一定的了解。

至少您应该大致理解以下名词或缩写:

NTP,MAC,PHY,TimeStamp

IEEE1588是一个主要运行于以太网的网络时钟同步协议,主要目标是在局域网范围内实现高于微秒级的同步精度。与常见的时钟同步协议NTP相比,区别在于下面几点:

1. TimeStamp是在硬件级打上去的,这样相比于NTP就没有了App发起packet到硬件将packet发送出去之间的延迟,所以1588能做到很高的精度。TimeStamp可以在MAC层打,也可以在PHY层打。打在MAC层实现较方便,但精度不如打在PHY层,因为在MAC和PHY之间存在着数据抖动。一般来说,做在MAC层能实现100ns以内的同步误差,打在PHY层能实现25ns以内的同步误差。但是也正因为在硬件层打TimeStamp,所以实现1588要求修改ETH硬件,并修改底层协议栈,实现起来较复杂。顺便说下,协议本身并不强制在硬件级打TimeStamp,纯软件的实现也是存在的,但其同步精度无法保证,一般将纯软件实现作为验证协议栈的一种手段,而不用于现场环境。

2.  IEEE1588使用广播或组播传递协议包,这就限制了1588只能用在支持广播或组播的网络上。

3.  IEEE1588没有专门的时间服务器,但存在着主从层次结构。网络上运行该协议的设备通过协议包的交换确立主从层次结构,并在网络拓补发生改变时重新确立主从层次。

IEEE1588协议有两个版本,分别是早期的1588-2002和最新的1588-2008。协议包不兼容。不过现在支持该协议的设备都使用了新版协议,所以兼容性基本上不是问题。

该协议也被接纳为IEC标准:IEC-61588。

我们国家有该协议的翻译稿:

GB/T 25931-2010 网络测量和控制系统的精确时钟同步协议

在后面的介绍中,若不作特别说明,均针对1588-2008。

实际上,1588本身并不限制仅用于以太网,只要是支持广播或组播的网络(比如CAN/485等),理论上都可以运行该协议。不过目前市场上能看到的支持该协议的硬件几乎都是以太网的,所以我们的介绍也将以Ethernet为例子。

免责声明:文章转载自《IEEE1588精确网络时钟同步协议简介 I》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇wordpress学习二:源码目录结构和启动流程CORS漏洞的学习与分析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

LED时钟同步之无线传输设计方法

深圳市立显电子有限公司,专业LED时钟生产厂家!--------【点击进入】 无线同步时钟功能说明: 标准wifi同步时钟采用3/4/5英寸单红数码管、恒流驱动设计。可根据客户要求订制显示布局:年、月、日、时、分、秒、星期等时间元素。机身采用黑色铝合金边框设计,美观大方、坚固耐用。LED时钟无线联网对时符合IEEE802.11b/g/n网络规范,为实现网络...

浅析ebtables的概念和一些基本应用

一、ebtables 是什么?   ebtables和iptables类似,都是Linux系统下网络数据包过滤的配置工具。 为什么叫配置工具呢?   是因为他们只制定规则,具体的实施者是内核!也就是说过滤功能是由内核底层提供支持的,这两个工具只是负责制定过滤的rules。 二、ebtables 的用途?  ebtables就是以太网桥防火墙,以太网桥工作在...

Python 网络通信协议(互联网协议)

一. 操作系统基础 操作系统(Operatin System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行. 计算机组成: 硬件-->操作系统(OS)-->应用软件 二. 网络通信原理(参考文档) 2.1 互联网的本质就是一系列网络协议(1)概述当...

RTP协议之Header结构解析

实时传输协议 RTP,RTP 提供带有实时特性的端对端数据传输服务,传输的数据如:交互式的音频和视频。那些服务包括有效载荷类型定义,序列号,时间戳和传输监测控制。应用程序在 UDP 上运行 RTP 来使用它的多路技术和 checksum 服务。2 种协议都提供传输协议的部分功能。不过,RTP 可能被其他适当的下层网络和传输协议使用。如 果下层网络支持,R...

C# 时间戳(TimeStamp)与时间(DateTime)的互相转换

  什么是时间戳:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。   时间戳在线转换网址:https://tool.lu/timestamp,时间戳的转换网址有很多,经常用的还有站长工具。 下附代码,在控制台中粘贴在启动类即可使用,需引用(using System)命名空...

moment.js常用总结

moment常规用法(官方文档中已有详细介绍,在此做一个经常使用的总结): npm下载: npm install moment 引入到.vue文件中: import moment from "moment"; 1.将时间转换为2018-08-08格式。vm.time可以是各种时间,使用elementUI中的时间日期选择器获取到的时间均可以防在moment中...