Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 确切的时间戳设置在哪里?_Networking_Timestamp_Unix Timestamp_Nic_Timestamping - Fatal编程技术网

Networking 确切的时间戳设置在哪里?

Networking 确切的时间戳设置在哪里?,networking,timestamp,unix-timestamp,nic,timestamping,Networking,Timestamp,Unix Timestamp,Nic,Timestamping,我需要知道NIC上接收或发送帧的时间戳设置在什么准确点。我已经找了很多,但我什么也找不到,这对我真的很有帮助。 对于发送案例,例如: 当第一位离开网络电缆时 当最后一位离开网络电缆时 当帧数据写入缓冲区时 我使用的是Intel 82541PI网卡。我最近对此做了一些研究,但Linux驱动程序编写人员可能会添加更多详细信息,或者在我出错时纠正我的错误。简短摘要:获取时间戳的时间取决于设备 例如,在Intel I210 NIC上,当使用PTP一步时间戳时(即,尚未通用的PTP模式,即在UDP有效

我需要知道NIC上接收或发送帧的时间戳设置在什么准确点。我已经找了很多,但我什么也找不到,这对我真的很有帮助。 对于发送案例,例如:

  • 当第一位离开网络电缆时
  • 当最后一位离开网络电缆时
  • 当帧数据写入缓冲区时

我使用的是Intel 82541PI网卡。

我最近对此做了一些研究,但Linux驱动程序编写人员可能会添加更多详细信息,或者在我出错时纠正我的错误。简短摘要:获取时间戳的时间取决于设备

例如,在Intel I210 NIC上,当使用PTP一步时间戳时(即,尚未通用的PTP模式,即在UDP有效负载中指定偏移量,其中发送方PTP时间戳由NIC hw写入),则在帧从MAC发送到PHY之前获取hw时间戳。在1 Gbit的速度下,需要大约178 ns,直到以太网前导码后的第一位被PHY放到导线上。有关更多信息,请查看NIC数据表中的NIC,或查看Linux驱动程序源代码。对于I210,数据表可公开下载,名称为“英特尔以太网控制器I210” “数据表”。还要注意的是,目前还不清楚I210 Linux驱动程序(igb)是否支持一步时间戳。“经典”的方法是发送数据包,在套接字错误队列上接收hw时间戳,然后在后续数据包中发送hw时间戳,这称为2步hw tx时间戳,并且受到更多NIC的支持。还请注意,驱动程序会补偿178 ns MAC到PHY的延迟