最近被mmslite的移植弄得头大,由于之前接触的较少,把多线程的一块用POSIX的pthread搞定就看了好多的资料才完成,又发现BSD中没有获取MAC地址的接口(类似ioctl(..,SIOGIFHWADDR,..)的),弄着弄着,发现这个CLNP挺不错,像IP,这里先转个clnp的介绍,后面再补具体在BSD下实现的文章。
CLNP (ConnectionLess Network Protocol) 无连接网络协议,是一种 ISO 网络层数据报协议,它工作在开放式系统互连参考模型(ISO 7498)的网络层中.CLNP 与 TCP/IP 环境下的 IP 相类似,用来向传输层提供服务.因此,CLNP 又称之为 ISO-IP.网络层中的另一个 OSI 协议是面向连接网络协议(CONP),主要提供网络层面向连接服务.
CLNP 可以用于终端系统的网络实体之间或网络层中继系统(Network Layer relay systems)中. CLNP 主要提供无连接网络服务.CLNP 的目标是用于充当子网独立收敛协议(SNICP)的角色,其功能为在定义的一组底层服务上建立 OSI 网络服务,并支持一组相同或不同的互连子网上的 OSI 无连接模式网络服务的统一性.当子网独立收敛协议和/或子网访问协议没有提供在一个 NSAP 到另一个 NSAP 的全部或部分路径上支持无连接网络服务所需的功能时, CLNP 可以用来进行调整.除 SNICP 之外, CLNP 还可以实现其它协议的功能,也因此它也适用于