RFC791(IP协议)——引言

1.1 动机
IP协议设计的目标是为基于分组交换计算机通信网络的互联系统提供支持,这类系统曾经被称为多类型网络系统(catenet)。IP协议实现在源和目标之间传输数据块,也就是我们常说的数据报。这里的源和目标是通过固定长度地址标识的主机。对于“小包”网络上的数据传输,必要的时候,IP协议提供长数据包的分片和重组支持。

1.2 范围
IP协议有自己的专门的职责范围,它值提供网络物联系统上原地址到目标地址之间比特包(网络数据包)传输必要的功能。IP协议不提供端到端的数据可靠保证、流量控制、时序(sequencing)、或者其他端到端协议支持的其他常见服务。IP协议借助它支持的网络提供的服务,可以提供多种类型、多种质量的服务。

1.3 接口
网络环境中端到端的协议会调用IP协议,IP协议再调用本地网络协议将网络数据包传送到另一个网关或者目的主机。

比如,TCP模块调用IP网络模块的网络数据包发送功能发送TCP数据(包含TCP头和用户数据),IP网络模块将TCP数据作为网络报文数据的一部分进行发送。TCP模块调用IP网络模块的时候会将主机地址以及其他需要放到IP头里的参数作为入参传递给IP网络模块。然后,IP网络模块创建一个网络数据包,并调用本地网络接口将网络数据包发送出去。

以ARPA网为例,IP网络模块调用本地网络模块时,会把1822头添加到网络数据包,以ARPA网消息的格式传输给IMP。本地网络接口从IP地址解析出ARPA网络地址,地址是ARPA网中某个主机的地址,这个主机也可能是通向其他网络的一个网关。

1.4 操作
IP协议实现的两个基本功能是:寻址和分片。

IP网络模块使用IP网络头携带的地址来向目标地址传送网络包。网络包传送过程中路径的选择被称为路由。

在“小包”网络中传输时,必要的话IP网络模块使用IP头中的字段进行万片和重组。

运行模型是指运行在参与网络通信的每个主机和交互网络中的每个网关的一个网络模块。?这些模块使用相同的地址字段解析及网络包分片、组装规则。此外,这些模块(尤其是运行在网关上的)还具有路由决策及其他功能的处理过程。

IP网络协议把每一个网络包都当做独立的、不和其他网络包相关连的个体。不论虚拟的还是现实的,他们之间都不存在联系或者逻辑关联。

IP协议提供的服务基于如下四个关键机制:服务类型、TTL、选项、协议头校验。

服务类型用于指明期望的协议质量。服务类型是一个抽象或者泛化的参数集,用来表征网络传输中选择的服务质量。网关可以依据服务类型标记来选择特定网络上传输使用的参数、下一跳使用哪个网络、路由网络包时使用哪一个网关。

TTL用来标记网络包最大生存时间。TTL在网络包发送的时候设置,在网络节点处理包的时候不断减小。一旦在达到目的地之前TTL减小为零,网络包就会被销毁。TTL可以理解成自我销毁的时间界限。

选项是在某些场景下的控制函数需要或者使用,而在大多数通信是不需要的。选项可以为时间戳、安全、指定路由提供依据。

协议头校验和提供对网络数据包所包含信息是否正确传输的验证。网络传输的数据可能包含错误。如果协议头校验和检查失败,那么这个网络数据包就会被立刻丢弃。

IP协议不提供可信的网络传输。IP协议不区分端到端首部字段还是逐跳首部字段。IP协议没有数据错误控制,只有协议头校验和。IP不提供重传和流量控制。

检测到的错误可能会通过ICMP协议被返回,ICMP协议是IP协议中实现的一个模块。

猜你喜欢

转载自blog.csdn.net/BuquTianya/article/details/83052140