RFC_791阅读笔记(1,2部分)

   关于RFC文档,个人认为还是要看英文版,毕竟很多东西是翻译不过来的,只有读原文才能很好的理解,而实际英语也不是我们想的那么难,只要静下心来,其实很简单!而且读后对你的英语能力提高不是一般的快。

   下边是我的RFC_791(IP)的阅读笔记,暂时还没读完,欢迎大家一起来交流。“//”后的都是自己写的注释

RFC: 791
INTERNET PROTOCOL                                        //IP:internet协议,它的设计在于基于分组交换的异构网的互联
DARPA INTERNET PROGRAM
PROTOCOL SPECIFICATION
September 1981
prepared for
Defense Advanced Research Projects Agency
Information Processing Techniques Office
1400 Wilson Boulevard
Arlington, Virginia 22209
by
Information Sciences Institute
University of Southern California
4676 Admiralty Way
Marina del Rey, California 90291
September 1981 
Internet Protocol
TABLE OF CONTENTS
PREFACE ........................................................ iii
1. INTRODUCTION ..................................................... 1
1.1 Motivation .................................................... 1
1.2 Scope ......................................................... 1
1.3 Interfaces .................................................... 1
1.4 Operation ..................................................... 2
2. OVERVIEW ......................................................... 5
2.1 Relation to Other Protocols ................................... 9
2.2 Model of Operation ............................................ 5
2.3 Function Description .......................................... 7
2.4 Gateways ...................................................... 9
3. SPECIFICATION ................................................... 11
3.1 Internet Header Format ....................................... 11
3.2 Discussion ................................................... 23
3.3 Interfaces ................................................... 31
APPENDIX A: Examples & Scenarios ................................... 34
APPENDIX B: Data Transmission Order ................................ 39
GLOSSARY ............................................................ 41
REFERENCES .......................................................... 45
[Page i]
September 1981
Internet Protocol
[Page ii] 
September 1981 
Internet Protocol
PREFACE
This document specifies the DoD Standard Internet Protocol. This
document is based on six earlier editions of the ARPA Internet Protocol
Specification, and the present text draws heavily from them. There have
been many contributors to this work both in terms of concepts and in
terms of text. This edition revises aspects of addressing, error
handling, option codes, and the security, precedence, compartments, and
handling restriction features of the internet protocol.
Jon Postel
Editor
September 1981
RFC: 791
Replaces: RFC760
IENs 128, 123, 111,
80, 54, 44, 41, 28, 26
INTERNET PROTOCOL
DARPA INTERNET PROGRAM
PROTOCOL SPECIFICATION
1. INTRODUCTION
1.1. Motivation                                                          //动机
The Internet Protocol is designed for use in interconnected systems of  //为分组网络设计,其名为CATENET
been called a "catenet" [1]. The internet protocol provides for
transmitting blocks of data called datagrams from sources to
destinations, where sources and destinations are hosts identified by
fixed length addresses. The internet protocol also provides for        
fragmentation and reassembly of long datagrams, if necessary, for     //可以重装 fragmentation and reassembly
transmission through "small packet" networks.
1.2. Scope                                                         //范围
The internet protocol is specifically limited in scope to provide the//提供“最必要”的数据“流”传输功能
functions necessary to deliver a package of bits (an internet
datagram) from a source to a destination over an interconnected system
of networks. There are no mechanisms to augment end-to-end data      //不专门提高通信相关性能
reliability, flow control, sequencing, or other services commonly
found in host-to-host protocols. The internet protocol can capitalize
on the services of its supporting networks to provide various types
and qualities of service.
1.3. Interfaces                                                         //接口
This protocol is called on by host-to-host protocols in an internet   //主机到主机的协议
environment. This protocol calls on local network protocols to carry
the internet datagram to the next gateway or destination host.
For example, a TCP module would call on the internet module to take a
TCP segment (including the TCP header and user data) as the data
portion of an internet datagram. The TCP module would provide the
addresses and other parameters in the internet header to the internet
module as arguments of the call. The internet module would then
create an internet datagram and call on the local network interface to
transmit the internet datagram.
In the ARPANET case, for example, the internet module would call on a
[Page 1]
September 1981
Internet Protocol
Introduction
local net module which would add the 1822 leader [2] to the internet //增加前导符
datagram creating an ARPANET message to transmit to the IMP. The
ARPANET address would be derived from the internet address by the
local network interface and would be the address of some host in the
ARPANET, that host might be a gateway to other networks.
1.4. Operation                                                         //操作
The internet protocol implements two basic functions: addressing and  //两个基本操作:寻址和分裂
fragmentation.
The internet modules use the addresses carried in the internet header  
to transmit internet datagrams toward their destinations. The
selection of a path for transmission is called routing.                 //selection of a path 路由
The internet modules use fields in the internet header to fragment and  //使用专门的域控制分裂和重装
reassemble internet datagrams when necessary for transmission through
"small packet" networks.
The model of operation is that an internet module resides in each host //主机负责通信,网关负责互联,他们使用统一规则解析地址
engaged in internet communication and in each gateway that
interconnects networks. These modules share common rules for
interpreting address fields and for fragmenting and assembling
internet datagrams. In addition, these modules (especially in
gateways) have procedures for making routing decisions and other
functions.
The internet protocol treats each internet datagram as an independent //数据报独立
entity unrelated to any other internet datagram. There are no
connections or logical circuits (virtual or otherwise).
The internet protocol uses four key mechanisms in providing its      //四个关键服务机制
service: Type of Service, Time to Live, Options, and Header Checksum.
The Type of Service is used to indicate the quality of the service   //Type of Service,与服务质量有关
desired. The type of service is an abstract or generalized set of
parameters which characterize the service choices provided in the
networks that make up the internet. This type of service indication
is to be used by gateways to select the actual transmission parameters
for a particular network, the network to be used for the next hop, or
the next gateway when routing an internet datagram.
The Time to Live is an indication of an upper bound on the lifetime of //Time to Live,生存时间
an internet datagram. It is set by the sender of the datagram and
reduced at the points along the route where it is processed. If the
time to live reaches zero before the internet datagram reaches its
destination, the internet datagram is destroyed. The time to live can
be thought of as a self destruct time limit.
[Page 2] 
September 1981 
Internet Protocol
Introduction
The Options provide for control functions needed or useful in some //The Options:时间戳,安全,路由的规则
situations but unnecessary for the most common communications. The
options include provisions for timestamps, security, and special
routing.
The Header Checksum provides a verification that the information used //The Header Checksum:纠错
in processing internet datagram has been transmitted correctly. The
data may contain errors. If the header checksum fails, the internet
datagram is discarded at once by the entity which detects the error.
The internet protocol does not provide a reliable communication     //协议不能做的
facility. There are no acknowledgments either end-to-end or
hop-by-hop. There is no error control for data, only a header
checksum. There are no retransmissions. There is no flow control.
Errors detected may be reported via the Internet Control Message
Protocol (ICMP) [3] which is implemented in the internet protocol
module.
[Page 3]
September 1981
Internet Protocol
[Page 4] 
September 1981 
Internet Protocol
2. OVERVIEW                                                         //概述
2.1. Relation to Other Protocols                                    //协议地位
The following diagram illustrates the place of the internet protocol
in the protocol hierarchy:
+------+ +-----+ +-----+ +-----+ 
|Telnet| | FTP | | TFTP| ... | ... |                              //IP协议的位置
+------+ +-----+ +-----+ +-----+ 
| | | | 
+-----+ +-----+ +-----+ 
| TCP | | UDP | ... | ... | 
+-----+ +-----+ +-----+ 
| | | 
+--------------------------+----+
| Internet Protocol & ICMP |
+--------------------------+----+
| 
+---------------------------+ 
| Local Network Protocol | 
+---------------------------+ 
Protocol Relationships
Figure 1.
Internet protocol interfaces on one side to the higher level
host-to-host protocols and on the other side to the local network  //host to host protocols?
protocol. In this context a "local network" may be a small network in
a building or a large network such as the ARPANET.
2.2. Model of Operation
The model of operation for transmitting a datagram from one
application program to another is illustrated by the following
scenario:
We suppose that this transmission will involve one intermediate  //包含一个中介网关
gateway.
The sending application program prepares its data and calls on its  //应用程序负责提供数据和相关信息(地址等)
local internet module to send that data as a datagram and passes the
destination address and other parameters as arguments of the call.
The internet module prepares a datagram header and attaches the data //网络模块负责提供“头部”和其解析并装载数据
to it. The internet module determines a local network address for
this internet address, in this case it is the address of a gateway.
[Page 5]
September 1981
Internet Protocol
Overview
It sends this datagram and the local network address to the local  
network interface.
The local network interface creates a local network header, and
attaches the datagram to it, then sends the result via the local
network.
The datagram arrives at a gateway host wrapped in the local network  //“下一跳”策略,中间传输过程
header, the local network interface strips off this header, and
turns the datagram over to the internet module. The internet module
determines from the internet address that the datagram is to be
forwarded to another host in a second network. The internet module //注意local net header的概念,是Local Network Protocol的
determines a local net address for the destination host. It calls
on the local network interface for that network to send the
datagram.
This local network interface creates a local network header and
attaches the datagram sending the result to the destination host.
At this destination host the datagram is stripped of the local net  //终点处理过程,stripped of the local net header
header by the local network interface and handed to the internet
module.
The internet module determines that the datagram is for an     
application program in this host. It passes the data to the
application program in response to a system call, passing the source
address and other parameters as results of the call.
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
[Page 6] 
September 1981 
Internet Protocol
Overview
2.3. Function Description
The function or purpose of Internet Protocol is to move datagrams  //function:move datagrams 
through an interconnected set of networks. This is done by passing
the datagrams from one internet module to another until the
destination is reached. The internet modules reside in hosts and  //internet modules reside in every "point"
gateways in the internet system. The datagrams are routed from one
internet module to another through individual networks based on the
interpretation of an internet address. Thus, one important mechanism
of the internet protocol is the internet address.
In the routing of messages from one internet module to another,    // the reason of fragmentation
datagrams may need to traverse a network whose maximum packet size is  
smaller than the size of the datagram. To overcome this difficulty, a
fragmentation mechanism is provided in the internet protocol.
Addressing
A distinction is made between names, addresses, and routes [4]. A //address's function:what,where,how! 
name indicates what we seek. An address indicates where it is. A
route indicates how to get there. The internet protocol deals
primarily with addresses. It is the task of higher level (i.e.,
host-to-host or application) protocols to make the mapping from  //the higher level:name~addresse(ex:DNS)
names to addresses. The internet module maps internet addresses to  //the internet module:internet address~local net address(ex:ARP)
local net addresses. It is the task of lower level (i.e., local net //the lower level:local net address~route(ways of routing)
or gateways) procedures to make the mapping from local net addresses
to routes.
Addresses are fixed length of four octets (32 bits). An address  //length:32 bits.1 octet=8 bytes
begins with a network number, followed by local address (called the //made up of networks and local
"rest" field). There are three formats or classes of internet
addresses: in class a, the high order bit is zero, the next 7 bits
are the network, and the last 24 bits are the local address; in
class b, the high order two bits are one-zero, the next 14 bits are
the network and the last 16 bits are the local address; in class c,
the high order three bits are one-one-zero, the next 21 bits are the
network and the last 8 bits are the local address.
Care must be taken in mapping internet addresses to local net  //the host is able to own several internet address and physical interfaces
addresses; a single physical host must be able to act as if it were
several distinct hosts to the extent of using several distinct
internet addresses. Some hosts will also have several physical
interfaces (multi-homing).
That is, provision must be made for a host to have several physical
interfaces to the network with each having several logical internet
addresses.
[Page 7]
September 1981
Internet Protocol
Overview
Examples of address mappings may be found in "Address Mappings" [5].
Fragmentation
Fragmentation of an internet datagram is necessary when it       //overview of fragmentation
originates in a local net that allows a large packet size and must
traverse a local net that limits packets to a smaller size to reach
its destination.
An internet datagram can be marked "don't fragment." Any internet
datagram so marked is not to be internet fragmented under any
circumstances. If internet datagram marked don't fragment cannot be
delivered to its destination without fragmenting it, it is to be  //"don't fragment" will be discarded if necessary
discarded instead.
Fragmentation, transmission and reassembly across a local network  //reassembly(重装,n)
which is invisible to the internet protocol module is called
intranet fragmentation and may be used [6].                      //fragment in intranet?
The internet fragmentation and reassembly procedure needs to be able  //some machanisms to enable fragment
to break a datagram into an almost arbitrary number of pieces that
can be later reassembled. The receiver of the fragments uses the
identification field to ensure that fragments of different datagrams
are not mixed. The fragment offset field tells the receiver the
position of a fragment in the original datagram. The fragment
offset and length determine the portion of the original datagram
covered by this fragment. The more-fragments flag indicates (by
being reset) the last fragment. These fields provide sufficient
information to reassemble datagrams.
The identification field is used to distinguish the fragments of one
datagram from those of another. The originating protocol module of   //originating protocol module:source module
an internet datagram sets the identification field to a value that
must be unique for that source-destination pair and protocol for the
time the datagram will be active in the internet system. The
originating protocol module of a complete datagram sets the
more-fragments flag to zero and the fragment offset to zero.
To fragment a long internet datagram, an internet protocol module  //process of fragmentation
(for example, in a gateway), creates two new internet datagrams and //copy header
copies the contents of the internet header fields from the long     
datagram into both new internet headers. The data of the long       //fragment,8*n octets
datagram is divided into two portions on a 8 octet (64 bit) boundary
(the second portion might not be an integral multiple of 8 octets,
but the first must be). Call the number of 8 octet blocks in the
first portion NFB (for Number of Fragment Blocks). The first
portion of the data is placed in the first new internet datagram,
and the total length field is set to the length of the first        
[Page 8] 
September 1981 
Internet Protocol
Overview
datagram. The more-fragments flag is set to one. The second          //more_fragments flag
portion of the data is placed in the second new internet datagram,
and the total length field is set to the length of the second
datagram. The more-fragments flag carries the same value as the
long datagram. The fragment offset field of the second new internet
datagram is set to the value of that field in the long datagram plus
NFB.
This procedure can be generalized for an n-way split, rather than
the two-way split described.
To assemble the fragments of an internet datagram, an internet    //when to assemble
protocol module (for example at a destination host) combines
internet datagrams that all have the same value for the four fields:
identification, source, destination, and protocol. The combination
is done by placing the data portion of each fragment in the relative
position indicated by the fragment offset in that fragment's
internet header. The first fragment will have the fragment offset
zero, and the last fragment will have the more-fragments flag reset
to zero.
2.4. Gateways
Gateways implement internet protocol to forward datagrams between  //the function of gateways,GGP protocol
networks. Gateways also implement the Gateway to Gateway Protocol
(GGP) [7] to coordinate routing and other internet control
information.
In a gateway the higher level protocols need not be implemented and
the GGP functions are added to the IP module.
+-------------------------------+ 
| Internet Protocol & ICMP & GGP| 
+-------------------------------+ 
| | 
+---------------+ +---------------+ 
| Local Net | | Local Net | 
+---------------+ +---------------+ 
Gateway Protocols
Figure 3.
[Page 9]
September 1981
Internet Protocol
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值