`2-RFC:791
互联½协议
DARPA 互联½程序
协议规范
1981.9
防御高级研究计划结构
信息处理技术办公室
1400 Wilson Boulevard
Arlington, Virginia
南吉利福尼亚大学信息科研所
22209
目½
前言 ........................................................ iii
1. 介绍 .................................................... 1
1.1 出发点.................................................... 1
1.2 范围.........................................................
1
1.3 接口 .................................................... 1
1.4 操½ ..................................................... 2
2. 总览 ......................................................... 5
2.1
2.2
2.3
2.4
同其他协议的联系 ................................... 9
操½模型 ............................................ 5
功½描述 .......................................... 7
½关 ...................................................... 9
3. 规范 ................................................... 11
3.1 Internet 头部格式 ....................................... 11
3.2 讨论 .................................................. 23
3.3 接口 ................................................... 31
附½ A: 范例................................... 34
附½ B: 数据传输顺序................................ 39
词汇............................................................ 41
参考.......................................................... 45
[Page i]
前言
本文档详细说明叻½防部(DoD)的标准互联½协议.文档基于 APRA 互联½协议的
前六个早期版本.很多人对规范的概念以及正文½出过贡献.这个版本对寻址
(addressing),错误处理(error handling ),选项编码(option codes),以及互联
½的安全(security)、优先(predence),划分(compartments)、处理限制的
特性½出了修订。
Jon Postel
Editor
September
1981
1.介绍
1.1 出发点(Motivation)
Internet 协议是为了在包交换(packet-switched)计算机通讯½络的互联系统
中½用而设计的。我们称这样的系统为“catener”【1】。Internet 协议提供
从发起者(source)到目的地(destination)的块数据(数据报)的传输,发
起者和目的地½是由固定长度的地址标识的主机(host)。如果需要,Internet
协议也提供长数据报的分片(fragmentation)和重组(reassembly),以通过
“小包”(small packet)½络传输大数据报。
1.2. 范围(Scope)
internet 协议仅限于提供在互联½络系统上从发起者到目的地投递一个
internet 数据报所需的功½。不提供增强端到端(end-to-end)的可靠性,流程
控制(flow control),排序(sequencing),和其它主机到主机协议上常有的
服务。internet 协议可以支持½络提供不同类型和不同质量的服务(The
internet protocol can capitalize
on the services of its supporting networks to provide various types and
qualities of service.)。
1.3. 接口(Interfaces)
在 internet 环境中,本协议被视为主机到主机(host-to-host)的协议。本协
议调用本地½络协议来携带 internet 数据报到下一个½关或者目的主机。
比如,TCP 模块调用 internet 模块携带一个 TCP 分片(该分片包含了 TCP 头部
和用户数据)½为一个 internet 数据报的数据部分。TCP 模块会在 internet 头
部中提供地址(addresses)和其他参数½为调用 Internet 模块的参数。然后
internet 模块会创建一个 internet 数据报并且调用本地½络接口来传输
internet 数据报。
比如,对于 ARPANET,internet 模块会调用一个本地½络模块(local net
module),该模块会给 internet 数据报添加一个 1822 个字节的前导字符,创建
一条传输给 IMP 的 ARPANET 消息。
ARPANET 地址将通过本地½络接口从 internet
地址中获取,该地址是 ARPANET 中的某些主机的地址,该主机可½是个到其他½
络的½关。
1.4 操½(operation)
internet 协议执行两个基本功½:寻址(addressing)和分片(fragmentation).
internet 模块½用在 internet 头部中携带的地址来给目的地址传送 internet
数据报.传输路径的选择被称½选路(routing).
internet 模块½用 internet 头部中的域来分片和重组 internet 数据报,这在通
过"小包"½络传输的情况下是必要的.
操½模型是½于每个主机上的 internet 模块负责 internet 通信,½于每个½关
上的 internet 模块负责½络互联.这些模块½具有解析地址,分片和重组数据报
等相同的功½.另外,这些模块(特别是½关上的 internet 模块)具有选路和其他
功½对应的程序.
internet 协议将每个 internet 数据报视为同任½其他 internet 数据报无关的
独立实½.这里不存在连接或者逻辑回路(虚的或其他).
internet 协议½用 4 个主要的机制提供服务:服务类型(Type of Service),生
存时间(Time to Live),操½(Operation)和校验和(Header Checksum).
服务类型用来指示要求的服务质量.服务类型是一个½象的整套的参数,这些参
数指定了组成 internet 的½络中提供的服务选择.这个服务指示类型在选路的
时候被½关用来为某一个特定的½络,下一个½络或者下一个½关选择真实的传
输参数.
生存时间数据报生存时间的上限.它由数据报的发送者设定,在½络上每个点,½
数据报被处理的时候,逐渐递减.如果生存时间在 internet 数据报到达目的地址
前达到 0 值,internet 数据报就被销毁.生存时间可以看½一个自我销毁时间限
制.
选项(options)提供了在某些情况下需要或有用的控制功½,½是大多数情况下
是不必要的.选项包括时间戳(timestamp),安全(security)和特殊选路(special
routing)
校验和提供了处理 internet 数据报½用到的信息被正确传输的确认.数据可½
包含错误.如果校验和失败了,internet 数据报就被检测到错误的实½立即丢
弃.
Internet 协议并没有提供可靠传输机制.没有端对端或者逐跳(hop-by-hop)的
确认机制.没有数据的错误控制,只有一个头部校验和.没有重传.没有流控.
检测到的错误可以通过 Internet 控制消息协议(ICMP)来报告,该协议在
internet 协议模块中实现.
2. 总览(OVERVIEW)
2.1. 同其他协议的关系(Relation to Other Protocols)
下图展示了 internet 协议在协议层次中的地½:
+------+ +-----+ +-----+
+-----+
|Telnet| | FTP | | TFTP| ... | ... |
+------+ +-----+ +-----+
+-----+
| |
|
|
+-----+
+-----+
+-----+
| TCP |
| UDP | ... | ... |
+-----+
+-----+
+-----+
|
|
|
+--------------------------+----+
|
Internet Protocol & ICMP |
+--------------------------+----+
|
+---------------------------+
| Local Network Protocol |
+---------------------------+
Protocol Relationships
Figure 1.
Internet 协议接口往上是高级别的主机到主机的协议,向下则是局域½络协议
(local network protocol).在这里,局域½络("local network")可以是在一栋
大楼里面的一个小½络,也可以是像 ARPANET 这样的大½络.
2.2. 操½模型(Model of Operation)
从一个应用程序到其他应用程序的传输数据报操½模型可以通过如下例子展示:
假设传输包括一个中间½关.
发送程序准备½数据后,调用局域½络模块来发送那个数据(该数据½为一个
数据报),在调用接口的时候传递目的地地址和其他参数.
Internet 模块组装数据报头部,并且给他附着一个数据.Internet 模块为这
个 internet 地址确定一个局域½络地址.在这里,它就是一个½关的地址.它发
送这个数据报和局域½络地址给局域½络接口.
局域½络接口创建一个局域½络头部,并为它附着一个数据报,然后通过局域
½络传输.
到达½关主机的数据报被封装(wrapped)在局域½络头部.局域½络接口去掉
(strip off)头部,然后将数据报传送给 internet 模块.internet 模块从
internet 地址确定数据报需要被发送到第二个½络的其他主机上.internet 模
块确定目的主机的局域½地址.调用局域½接口来发送数据报.
这个局域½地址创建一个局域½头部并和数据报组装在一起,然后将组装结
果发送给目的主机.
在这个目的主机上,局域½接口去掉数据报的局域½头部,然后交给 internet
模块.
internet 模块确定数据报所要交付的应用程序.然后将数据½为一个系统调
用的响应传递给应用程序,调用时传递了源地址和其他参数.
Application
Application
Program
Program
\
/
Internet Module
Internet Module
Internet Module
\
/
\
/
LNI-1
LNI-1
LNI-2
LNI-2
\
/
\
/
Local Network 1
Local Network 2
Transmission Path
Figure 2
2.3. 功½描述(Function Description)
Internet 协议的功½和目的是通过一个互联的½络传输数据报.这是通过从一
个 internet 模块到另外一个 internet 模块传递数据报直到目的地址来实
现.Internet 模块½于主机上或者 internet 系统上的½关.数据报通过基于一个
评论