RFC791中文文档docx.docx
《RFC791中文文档docx.docx》由会员分享,可在线阅读,更多相关《RFC791中文文档docx.docx(31页珍藏版)》请在冰豆网上搜索。
RFC791中文文档docx
'2-RFC:
791
互联网协议
DARP/互联网程序
协议规范
1981.9
防御高级研究计划结构
信息处理技术办公室
1400WilsonBoulevard
Arlington,Virginia22209
南吉利福尼亚大学信息科研所
、>•、-
刖言
iii
1.介绍
1
1.1出发点
1
1.2范围
1
1.3接口
1
1.4操作
2
2.总览
5
2.1同其他协议的联系
9
2.2操作模型
5
2.3功能描述
7
2.4网关
9
3.规范
11
3.1Internet头部格式
11
3.2讨论
23
3.3
接口
....31
附录A:
范例
34
附录B:
数据传输顺序
...39
词汇41
参考45
[Pagei]
.、八、-
刖言
本文档详细说明叻国防部(DoD)的标准互联网协议.文档基于APRA互联网协议的前六个早期版本•很多人对规范的概念以及正文作出过贡献•这个版本对寻址
(addressing),错误处理(errorhandling),选项编码(optioncodes),以及互联网的安全(security)、优先(predenee),戈9分(compartments)、处理限制的特性作出了修订。
JonPostel
Editor
September
1981
1.介绍
1.1出发点(Motivation)
Internet协议是为了在包交换(packet-switched)计算机通讯网络的互联系统中使用而设计的。
我们称这样的系统为“catener”【1】。
Internet协议提供
从发起者(source)到目的地(destination)的块数据(数据报)的传输,发起者和目的地都是由固定长度的地址标识的主机(host)。
如果需要,Internet协议也提供长数据报的分片(fragmentation)和重组(reassembly),以通过“小包”(smallpacket)网络传输大数据报。
1.2.范围(Scope
internet协议仅限于提供在互联网络系统上从发起者到目的地投递一个
internet数据报所需的功能。
不提供增强端到端(end-to-end)的可靠性,流程控制(flowcontrol),排序(sequencing),和其它主机到主机协议上常有的服务。
internet协议可以支持网络提供不同类型和不同质量的服务(The
internetprotocolcancapitalize
ontheservicesofitssupportingnetworkstoprovidevarioustypesandqualitiesofservice.)。
1.3.接口(Interfaces)
在internet环境中,本协议被视为主机到主机(host-to-host)的协议。
本协议调用本地网络协议来携带internet数据报到下一个网关或者目的主机。
比如,TCP模块调用internet模块携带一个TCP分片(该分片包含了TCP头部和用户数据)作为一个internet数据报的数据部分。
TCP模块会在internet头部中提供地址(addresses)和其他参数作为调用Internet模块的参数。
然后internet模块会创建一个internet数据报并且调用本地网络接口来传输internet数据报。
比如,对于ARPANETinternet模块会调用一个本地网络模块(localnetmodule),该模块会给internet数据报添加一个1822个字节的前导字符,仓U建一条传输给IMP的ARPANE消息。
ARPANE地址将通过本地网络接口从internet地址中获取,该地址是ARPANE中的某些主机的地址,该主机可能是个到其他网络的网关。
1.4操作(operation)
internet协议执行两个基本功能:
寻址(addressing)和分片(fragmentation).
internet模块使用在internet头部中携带的地址来给目的地址传送internet
数据报•传输路径的选择被称作选路(routing).
internet模块使用internet头部中的域来分片和重组internet数据报,这在通过"小包"网络传输的情况下是必要的.
操作模型是位于每个主机上的internet模块负责internet通信,位于每个网关上的internet模块负责网络互联.这些模块都具有解析地址,分片和重组数据报等相同的功能.另外,这些模块(特别是网关上的internet模块)具有选路和其他功能对应的程序.
internet协议将每个internet数据报视为同任何其他internet数据报无关的独立实体.这里不存在连接或者逻辑回路(虚的或其他).
internet协议使用4个主要的机制提供服务:
服务类型(TypeofService),生
存时间(TimetoLive),操作(Operation)和校验和(HeaderChecksum).
服务类型用来指示要求的服务质量.服务类型是一个抽象的整套的参数,这些参数指定了组成internet的网络中提供的服务选择.这个服务指示类型在选路的时候被网关用来为某一个特定的网络,下一个网络或者下一个网关选择真实的传输参数.
生存时间数据报生存时间的上限.它由数据报的发送者设定,在网络上每个点,当数据报被处理的时候,逐渐递减.如果生存时间在internet数据报到达目的地址
前达到0值,internet数据报就被销毁.生存时间可以看作一个自我销毁时间限
制•
选项(options)提供了在某些情况下需要或有用的控制功能,但是大多数情况下是不必要的.选项包括时间戳(timestamp),安全(security)和特殊选路(specialrouting)
校验和提供了处理internet数据报使用到的信息被正确传输的确认•数据可能包含错误.如果校验和失败了,internet数据报就被检测到错误的实体立即丢
弃•
Internet协议并没有提供可靠传输机制.没有端对端或者逐跳(hop-by-hop)的确认机制.没有数据的错误控制,只有一个头部校验和.没有重传.没有流控.检测到的错误可以通过Internet控制消息协议(ICMP)来报告,该协议在
internet协议模块中实现.
2.总览(OVERVIEW)
2.1.同其他协议的关系(RelationtoOtherProtocols)
下图展示了internet协议在协议层次中的地位:
++++++++
一++
||
++
|TCP|++
|
+
|+
|TeInet||FTP||TFTP|...|...|
++++++++
||
++++
|UDP|...|...|
++++
||
+——+
InternetProtocol&ICMP
+——+
++
|LocalNetworkProtocol
++
ProtocolRelationships
Figure1.
Internet协议接口往上是高级别的主机到主机的协议,向下则是局域网络协议
(localnetworkprotocol).在这里,局域网络("localnetwork")可以是在一栋
大楼里面的一个小网络,也可以是像ARPANE这样的大网络.
2.2.操作模型(ModelofOperation)
从一个应用程序到其他应用程序的传输数据报操作模型可以通过如下例子展示假设传输包括一个中间网关.
发送程序准备好数据后,调用局域网络模块来发送那个数据(该数据作为一个数据报),在调用接口的时候传递目的地地址和其他参数•
Internet模块组装数据报头部,并且给他附着一个数据.Internet模块为这个internet地址确定一个局域网络地址.在这里,它就是一个网关的地址.它发送这个数据报和局域网络地址给局域网络接口•
局域网络接口创建一个局域网络头部,并为它附着一个数据报,然后通过局域网络传输•
到达网关主机的数据报被封装(wrapped)在局域网络头部•局域网络接口去掉(stripoff)头部,然后将数据报传送给internet模块.internet模块从internet地址确定数据报需要被发送到第二个网络的其他主机上.internet模
块确定目的主机的局域网地址.调用局域网接口来发送数据报.
这个局域网地址创建一个局域网头部并和数据报组装在一起,然后将组装结果发送给目的主机.
在这个目的主机上,局域网接口去掉数据报的局域网头部,然后交给internet模块.
internet模块确定数据报所要交付的应用程序.然后将数据作为一个系统调用的响应传递给应用程序,调用时传递了源地址和其他参数.
Application
Application
Program
Program
/
InternetModule
InternetModule
InternetModule
/
/
LNI-1
LNI-1
LNI-2
LNI-2
/
/
LocalNetwork1LocalNetwork2
TransmissionPath
Figure2
2.3.功能描述(FunctionDescription)
Internet协议的功能和目的是通过一个互联的网络传输数据报.这是通过从一
个internet模块到另外一个internet模块传递数据报直到目的地址来实现.Internet模块位于主机上或者internet系统上的网关.数据报通过基于一个
internet地址的解析从一个internet模块选路到另一个internet模块.因此,internet协议的一个重要功能就是internet寻址.
在从一个internet模块到另外一个internet模块的信息寻址中,数据报可能需要在一个最大包大小小于数据报大小的网络上传输.为了客服这个困难,在
internet协议中提供了分片机希9(fragmentationmechanism).
寻址(Addressing)
名字(names),地址(addresses)和路由(routes)是有区别的.名字指示了我们所要寻找的.地址告诉我们它在哪里.路由告诉我们如何到达哪里.internet协议
主要处理地址.从域名到地址的映射是高级别的协议(如主机到主机或者应用程序)的任务.Internet模块将Internet地址映射为局域网络地址.将局域网络地
址映射到路由是底层程序(如局域网络或者网关)的任务.
地址固定为4段8位的地址(32位).以网络号码开始,接下来是本地地址(称为"其他"部分).有3种形式或者类型的internet地址:
A类地址,第一段的最高