自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【无标题】

(2)通过struct oonf_packet_managed_config结构体来配置所有四个套接字的行为,如访问控制列表、多播地址、端口号等。2、struct oonf_packet_managed它是一个管理型的双栈(IPv4 和 IPv6)UDP 套接字,可同时处理单播和多播通信。1、 struct oonf_packet_socket表示一个基本的数据包套接字,它可以处理单个的网络数据包的接收和发送。(1)表示一个单一的UDP或原始IP套接字,可用于处理单个网络连接的数据包。

2025-05-23 15:55:03 453

原创 OLSRv2之_rfc5444_protocol对象的初始化内容

6)writer中的缓存指向的是该对象实例的地址,也就是说若writer发生写入时候,实际上操作的是该协议对象的缓存。2)fixed_local_port:表示是否使用固定的端口号,若为true则表示为固定的,否则为随机顿端口号。4)reader:使用如下_reader_template的内容赋值,即给reader中用到的函数赋值。5)writer:使用如下_writer_template的内容赋值,即给writer中用到的函数赋值。的类型为struct oonf_rfc5444_protocol。

2025-05-23 14:41:01 529

原创 OLSRv2之socket定义、管理和用法

该实例在用户层表现为一个文件描述符(类似普通文件或套接字的句柄),但实际对应内核中的一个数据结构,用于跟踪和管理注册到该实例上的所有文件描述符及其关注的事件。epoll 实例通过红黑树(存储注册的文件描述符)和就绪链表(存储触发事件的文件描述符)的组合,实现了对大规模文件描述符的高效监控。(2)epfd是epoll对象实例的文件描述符,fd是注册epoll实例的带监控的文件描述符号,event指定关注的事件类型及用户数据,如EPOLLIN是可读事件,EPOLLOUT是可写事件。

2025-05-22 17:03:22 248

原创 OLSRv2之RFC5444报文生成器说明

如果 MANET 中某个地方的接口具有较小的最大消息大小(可能是由于链路的 MTU 较小或该链路的数据包 TLV 数量较多),则整个 MANET 中的所有消息都必须足够小,以通过这个瓶颈。注册到 RFC 5444 写入器的每种消息类型都有一个单一的消息创建者,并且可能有多个内容提供者。如果没有注册的消息创建者,即使有多个内容提供者也将无用,因为写入器将不会创建这种类型的消息。数据包没有不同的类型,并且数据包不能包含地址,因此注册回调的选项比消息的回调选项更简单。写入器将开始调用与该消息类型关联的所有回调。

2025-04-18 12:30:08 648

原创 OLSRv2之RFC5444的阅读器说明

每一个消费者在它的上下文(数据包、消息、地址)开始处调用start_callback,在一个TLC内部上下文调用tlv_callback,在上下文结束处调用end_callback。此结构描述单个TLV的数据,包括类型、扩展类型、原始标志字段、值的长度、指向二进制值的指针(长度为0时则为NULL)、地址块TLC的索引字段。两种回调函数接收两个数据结构作为参数,一个是rfc5444_reader_tlvblock_context ,另一个是 rfc5444_reader_tlvblock_entry。

2025-04-18 12:15:26 600

原创 OLSRv2之NHDP消息体中定义的TLV类型

1、RFC6130_ADDRTLV_LOCAL_IF = 2,用于用于指出某个地址是和发送 HELLO 消息的本地接口相关,还是和其他接口相关。1、RFC5497_MSGTLV_VALIDITY_TIME = 1,用于消息的有效时间,即消息在多长时间内是有效的。2、RFC5497_MSGTLV_INTERVAL_TIME = 0,用于消息的间隔时间,即发送消息的频率。2、RFC6130_ADDRTLV_LINK_STATUS = 3,用于用于指示特定地址所关联的链路的状态。

2025-04-14 16:49:06 292

原创 OLSRv2之RFC5444协议中获取默认协议实例的函数调用流程

一、RFC5444协议中获取默认协议实例的函数调用流程。二、 RFC5444实例对象的类型struct oonf_rfc5444_protocol定义如下所示/***//*!/*!/***/// 指示本地端口是否必须使用协议指定的端口。若为 true,则本地端口固定为 port;若为 false,则本地端口可以随机分配。/*!// P 协议号,用于进行原始 IP 通信,指定了该协议在 IP 层使用的具体协议。/*!// 存储当前正在解析的传入数据包的参数,

2025-04-14 16:05:05 579

原创 OLSRv2之RFC5444定义的Packet组成

RFC 5444 旨在为 MANET 路由协议(如 OLSR、AODV 等)提供一种统一的、高效的二进制数据包格式,解决传统协议中消息格式冗余的问题,同时支持多协议消息的聚合传输。1、扩展性:支持通过 TLV(Type-Length-Value)字段灵活扩展消息内容。结构压缩地址,例如共享相同前缀(Head)和后缀(Tail)的地址仅存储差异部分(Mid)。2、多消息聚合:单个数据包可携带多个协议的消息,降低协议开销。:可选字段,用于附加信息(如时间戳、地理位置等)。:协议类型、消息类型、跳数限制等。

2025-04-14 14:43:54 338

原创 OLSRv2之定时器使用流程样例

1、使用struct oonf_timer_class 创建定时器处理类类型,用于定于定时器到达后回调函数。6、调用oonf_timer_remove函数将定时器类型从timer子系统移除。2、使用oonf_timer_add函数将定时器类型注册到timer子系统。3、定义定时器instance,并将定时器类型与instance关联。4、调用oonf_timer_start函数激活定时器。5、调用oonf_timer_stop函数停止定时器。

2025-04-11 11:08:52 216

原创 OLSRv2之信息库定义RFC7181

发起者地址对此路由器必须是唯一的。发起者地址可以是该路由器的I_local_iface_addr_列表中的任何一个网络地址;但是发起者地址不能是任何其他路由器的任何I_local_iface_addr_列表中的任何网络地址。发起者地址可以包含在该路由器或者其他路由器的本地连接元组中,但不得等于该元组中的AL_net_addr。3)AL_metric:是从该路由器连接到地址为AL_net_addr的连接网络的链路的度量。2)AL_dist:是从该路由器到网络地址为AL_net_addr的网络的跳数。

2025-04-03 18:07:23 298

原创 OLSRv2之NHDP子系统的全局变量以及全局变量的用途

2025-04-01 12:01:52 112

原创 OLSRv2之NHDP子系统的功能模块

2025-04-01 11:13:58 104

原创 OLSRv2之NHDP域相关数据结构定义和解释

结构体提供了一个通用的接口,使得不同的 MPR 算法可以通过实现相应的回调函数来集成到 NHDP 系统中。它包含了 MPR 处理程序的基本信息、回调函数、引用计数和树节点,为 NHDP 系统的 MPR 处理提供了灵活和可扩展的机制。一、struct nhdp_domain结构体定义一个NHDP域,一个NHDP域就是一个mesh上的拓扑,每一个NHDP域有自己的度量和路由MPR集合。2、mpr_name是路由MPR算法名称,算法名称的长度最长为NHDP_DOMAIN_METRIC_MAXLEN = 16。

2025-04-01 10:17:23 504 1

原创 OLSRV2子系统的功能说明图

2025-03-31 21:13:20 127

原创 OLSRv2适应场景

3、支持每个路由器都有一个或多个参与OLSRv2接口的路由器,该接口将使用[RFC6130]由其部分或全部MANET接口组成。与经典的链路状态算法[MPR]相比,网络越大、越密集,使用MPR可以实现的优化就越多。5、持续维护到网络中所有目的地的路由,即路由立即可用,并且数据流量不会因路由发现而延迟。6、支持具有非OLSRv2接口的路由器,这些接口可能是路由器的本地接口,也可以用作通向其他网络的网关。4、启用逐跳路由,即每个路由器可以使用此协议提供的本地信息路由数据包。2、用于具有动态拓扑结构的网络中。

2025-03-31 20:37:25 220

原创 OLSRv2 术语

路由器必须选择发起者地址,发起者地址可选择其中一个接口地址作为发起人地址,也可以选择可路由或不可路由的地址,但不得将广播、多播或选播地址选作发端地址。如果路由器选择一个可路由的地址,那么它必须是路由器将接受作为目的地的地址。6、多点中继(MPR):路由器X是路由器Y的MPR,如果路由器Y在最近的HELLO消息中已将其选择的路由器X表示为MPR。如果指示路由器X参与从路由器Y接收的消息的泛洪过程,则它可以是Y的泛洪MPR,或者如果指示它声明从X到Y的链路的链路状态信息,则它可以是Y的路由MPR。

2025-03-31 20:33:51 260

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除