Skip to main content

9. Peer Process (对等体进程)

对等体进程在服务器或对等体数据包到达时被调用。它运行线上协议以确定时钟偏移和往返延迟,并计算系统和轮询进程使用的统计信息。对等体变量在关联数据结构初始化时实例化,并由到达的数据包更新。每个服务器都有一个对等体进程、轮询进程和关联进程。

9.1. Peer Process Variables (对等体进程变量)

以下是对等体进程使用的主要变量类别:

配置变量

名称 (Name)公式 (Formula)描述 (Description)
srcaddrsrcaddr源地址 (source address)
srcportsrcport源端口 (source port)
dstaddrdstaddr目标地址 (destination address)
dstportdestport目标端口 (destination port)
keyidkeyid密钥标识符 (key identifier)

数据包变量

名称 (Name)公式 (Formula)描述 (Description)
leapleap闰秒指示器 (leap indicator)
versionversion版本号 (version number)
modemode模式 (mode)
stratumstratum层级 (stratum)
ppollppoll对等体轮询指数 (peer poll exponent)
rootdelaydelta_r根延迟 (root delay)
rootdispepsilon_r根离散 (root dispersion)
refidrefid参考ID (reference ID)
reftimereftime参考时间戳 (reference timestamp)

时间戳变量

名称 (Name)公式 (Formula)描述 (Description)
orgT1起源时间戳 (origin timestamp)
recT2接收时间戳 (receive timestamp)
xmtT3传输时间戳 (transmit timestamp)
tt数据包时间 (packet time)

统计变量

名称 (Name)公式 (Formula)描述 (Description)
offsettheta时钟偏移 (clock offset)
delaydelta往返延迟 (round-trip delay)
dispepsilon离散 (dispersion)
jitterpsi抖动 (jitter)
filterfilter时钟过滤器 (clock filter)
tpt_p过滤器时间 (filter time)

9.2. Peer Process Operations (对等体进程操作)

数据包接收流程

接收例程定义了数据包到达时的处理流程。主要步骤包括:

  1. 访问控制:实施访问控制列表 (ACL) 检查
  2. 格式验证:检查字段长度、对齐、版本号和扩展字段语法
  3. 认证:如果实施认证,必须支持MD5密钥哈希算法
  4. 关联查找:在关联表中搜索匹配的源地址和端口

对等体分派表

根据关联模式和数据包模式的组合,系统将处理分派到不同的步骤:

关联模式数据包模式1数据包模式2数据包模式3数据包模式4数据包模式5
无关联0NEWPSDSCRDFXMITMANYNEWBC
对称主动1PROCPROCDSCRDDSCRDDSCRD
对称被动2PROCERRDSCRDDSCRDDSCRD
客户端3DSCRDDSCRDDSCRDPROCDSCRD
服务器4DSCRDDSCRDDSCRDDSCRDDSCRD
广播5DSCRDDSCRDDSCRDDSCRDDSCRD
广播客户端6DSCRDDSCRDDSCRDDSCRDPROC

处理动作说明:

  • DSCRD: 丢弃数据包(非致命协议违规)
  • ERR: 丢弃数据包并解除对称被动关联(致命协议违规)
  • FXMIT: 快速传输(无状态服务器响应)
  • MANY: 多播服务器响应
  • NEWBC: 新广播关联
  • NEWPS: 新对称被动关联
  • PROC: 处理匹配的关联

数据包验证

对于PROC处理,系统执行严格的时间戳检查以避免无效、重复或伪造的数据包。主要验证包括:

  1. 检查传输时间戳是否非零
  2. 验证起源时间戳与先前发送的传输时间戳匹配
  3. 检测重复数据包(传输时间戳与保存的起源时间戳匹配)
  4. 验证目的时间戳晚于起源时间戳

通过这些检查后,系统计算偏移和延迟,更新时钟过滤器,并为系统进程准备统计数据。