您的位置:首页 > 理论基础 > 计算机网络

CLNP-无连接网络协议的基本概念

2011-07-19 21:03 351 查看
最近被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 还可以实现其它协议的功能,也因此它也适用于其它子网互连方式下的环境.
CLNP 使用 NSAP 地址和标题来识别网络设备,其中源地址和目标地址参数是网络服务访问点地址 (NSAP 地址),网络实体标题作为终端系统或中间系统(intermediate system)中的网络实体的标识符.网络实体标题与 NSAP 地址被分配在同一名称空间.至于地址到底是 NSAP 地址,还是网络实体标题,这取决于地址的解析环境.
CLNP 具有与 IP 相同大小的最大数据报大小,并且当数据报需要穿过最大数据报值小于 CLNP无连接网络协议的网络时,CLNP 提供了分组(fragmentation)机制(数据单元识别、分组 / 总长和偏移).就象 IP 一样,CLNP 协议头的校验和(checksum)提供了一种认证,该认证用于处理 CLNP 数据报是否已正确传输,以及提供了生命周期("Time to Live")控制机制 ,该机制限制了数据报停留在在英特网系统中的时间.
协议结构
CLNP 中 PDU 结构如下:
Header Part Address Part Segmentation Part Option Part Data
CLNP无连接网络协议PDU头结构如下:
8 16 24 32 35 40 56 72 bit
NLP ID Length ID Version Lifetime Flags Type Seg. Length Checksum
NLP ID ― 网络层协议标识符.当该字段设置为二进制值1000 0001时,用以识别网络层协议中支持无连接模式网络服务的 ISO 8473协议.当该字段设置为二进制值0000 0000 时,用以识别交互式网络层子协议.
Length ID ― 长度指示器表示头大小(octet).
Version ― Version/Protocol ID Extension 识别标准 ISO 8473版本.
Lifetime ― PDU Lifetime 表示 PDU 的剩余生存时间,以500毫秒为单元.
Flags ― 三个标记:许可分割(Segmentation Permitted)、更多分段(More Segments)、差错报告(Error Report).
Type ― Type 代码字段用以标识协议数据单元类型,可能为:数据 PDU 或差错报告 PDU.
Seg. Length ― Segment Length 字段用以规定整个 PDU 长度(octet),包括头和数据部分.
Checksum ― Checksum 字段用以计算整个 PDU 头部分.
Address Part ― 包括目标地址和源地址等信息,可变长,定义在 OSI 8348/AD2 中.
Segmentation Part ― 如果 PDU 固定头部分的 egmentation Permitted Flag 字段值为1,那么头结构中必须包括 Segmentation Part;如果 Segmentation Permitted Flag 值为0,那么说明当前没有使用分割子协议.
Option Part ― Options Part 字段用以传送可选参数.
Data Part ― PDU 中的 Data Part 字段是一组规则的八位位组.
相关协议:IS-IS、CLNP、IDRP、CONP、ES-IS、ISO-TP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: