当前位置: 首页 > news >正文

命名数据网络 | 数据包(Data Packet)

命名数据网络 | 数据包(Data Packet)

  • 命名数据网络 | 数据包(Data Packet)
    • Name
    • MetaInfo
      • ContentType
      • FreshnessPeriod
      • FinalBlockId
    • Content
    • DataSignature

命名数据网络 | 数据包(Data Packet)

参考文档:https://docs.named-data.net/NDN-packet-spec/current/interest.html

NDN 数据包是 TLV,定义如下:

Data = DATA-TYPE TLV-LENGTHName[MetaInfo][Content]DataSignature

数据包表示一些任意的二进制数据(保存在可选的 Content 元素中)以及它的Name、一些附加的可选信息位(MetaInfo)和一个数字签名(DataSignature)。

根据 TLV 可演化性指南 的建议,数据包中可能出现无法识别的非关键 TLV 元素。但是,它们不能出现在 Name 元素之前。

Name

有关详细信息,请参见:Name。

MetaInfo

MetaInfo = META-INFO-TYPE TLV-LENGTH[ContentType][FreshnessPeriod][FinalBlockId]

ContentType

ContentType = CONTENT-TYPE-TYPE TLV-LENGTH NonNegativeInteger

目前定义的内容类型(ContentType)如下:

ContentTypeAssigned numberDescription of the content
BLOB0由数据名称标识的有效载荷,这是默认的 ContentType
LINK1委托列表(见于 Link Object)
KEY2公钥(见于 Certificate)
NACK3应用程序级别的 NACK

其他内容类型编号在 NDN 包规范 Wiki 中分配和维护。

在这里插入图片描述

FreshnessPeriod

FreshnessPeriod = FRESHNESS-PERIOD-TYPE TLV-LENGTH NonNegativeInteger

可选的 FreshnessPeriod 元素指示节点在此数据到达后应该等待多长时间才能将其标记为“非新鲜”(non-fresh)。编码值是毫秒数。请注意,“非新鲜”数据仍然是有效数据,FreshnessPeriod 的过期只意味着生产者可能产生了较新的数据。

如果数据包携带的 FreshnessPeriod 值大于 0,则节点最初认为该数据包是新鲜的。当数据在节点中驻留了 FreshnessPeriod 毫秒后,它将被标记为“非新鲜”。如果数据没有 FreshnessPeriod 元素,或者它的 FreshnessPeriod 等于 0,那么在处理完任何挂起的数据包后,必须立即将其标记为“非新鲜”。

FinalBlockId

FinalBlockId = FINAL-BLOCK-ID-TYPE TLV-LENGTH NameComponent

可选的 FinalBlockId 元素标识片段序列中的最后一个块。

它应该出现在最终块本身中,也可以出现在其他片段中,以便向消费者提供结束的提前警告。

这里的值应该等于最后一个块的最后一个显式名称组件。

Content

Content = CONTENT-TYPE TLV-LENGTH *OCTET

Content 元素可以携带任意字节序列。

DataSignature

有关详细信息,请参见:Data Signature。

http://www.lryc.cn/news/575386.html

相关文章:

  • chili3d笔记23 正交投影3d重建笔记4 点到线2
  • 【NLP】使用 LangGraph 构建 RAG 的Research Multi-Agent
  • house of apple2
  • Linux系统(信号篇):信号的产生
  • 【Pandas】pandas DataFrame shift
  • Ubuntu下布署mediasoup-demo
  • 黑马JVM解析笔记(四):Javap图解指令流程,深入理解Java字节码执行机制
  • Redis 为什么选用跳跃表,而不是红黑树
  • 《聊一聊ZXDoc》之汽车标定、台架标定、三高标定
  • 【STM32】外部中断
  • 【C++11】右值引用和移动语义
  • gRPC 使用(python 版本)
  • 2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(五)
  • Axure版TDesign 组件库-免费版
  • MQTT 和 HTTP 有什么本质区别?
  • 如何将 Memfault 固件 SDK 集成到使用 Nordic 的 nRF Connect SDK(NCS)的项目中
  • 数据结构进阶 - 第四,五章 串、数组和广义表
  • Docker 入门教程(一):从概念到第一个容器
  • 水质指数预测模型R²偏低的原因分析与优化策略
  • 2-深度学习挖短线股-1-股票范围选择
  • uniapp微信小程序:editor组件placeholder字体样式修改
  • vue3 + elementPlus 封装hook,检测form表单数据修改变更;示例用 script setup 语法使用
  • SpringBoot项目快速开发框架JeecgBoot——Web处理!
  • 一次开发,多端适配!全面掌握Dioxus跨平台开发框架!
  • 远程玩3A大作要多少帧?ToDesk、向日葵、UU远程性能对决
  • 面试破局:告别流水账,用“故事思维”重塑自我介绍
  • rocketmq中broker和namesrv的区别和联系?
  • 川翔云电脑全新上线:三维行业高效云端算力新选择
  • 智能化监管:微算法科技(NASDAQ:MLGO)比特币社区分类器助力加密货币市场规范发展
  • CRON表达式编辑器与定时任务实现技术文档