查看: 5510|回复: 1

IP Identification的三种用法

[复制链接]
发表于 2015-3-13 10:27:51 | 显示全部楼层 |阅读模式
IP Identification   The Identification field (IP ID) of the IPv4 header identifies which   fragments constitute a datagram, when fragmented datagrams are   reassembled.  The IPv4 specification does not specify exactly how   this field is to be assigned values, only that each packet should get   an IP ID that is unique for the source-destination pair and protocol   for the time during which the datagram (or any of its fragments)   could be alive in the network.  This means that assignment of IP ID   values can be done in various ways, which we have separated into   three classes:West & McCann                Informational                     [Page 20] RFC 4413                 TCP/IP Field Behavior                March 2006   o  Sequential jump      This is the most common assignment policy in today's IP stacks.  A      single IP ID counter is used for all packet streams.  When the      sender is running more than one packet stream simultaneously, the      IP ID can increase by more than one between packets in a stream.      The IP ID values will be much more predictable and will require      fewer bits to transfer than random values, and the packet-to-      packet increment (determined by the number of active outgoing      packet streams and sending frequencies) will usually be limited.   o  Random      Some IP stacks assign IP ID values by using a pseudo-random number      generator.  There is thus no correlation between the ID values of      subsequent datagrams.  Therefore, there is no way to predict the      IP ID value for the next datagram.  For header compression      purposes, this means that the IP ID field needs to be sent      uncompressed with each datagram, resulting in two extra octets of      header.  IP stacks in cellular terminals that need optimum header      compression efficiency should not use this IP ID assignment      policy.   o  Sequential      This assignment policy keeps a separate counter for each outgoing      packet stream, and thus the IP ID value will increment by one for      each packet in the stream, except at wrap around.  Therefore, the      delta value of the field is constant and well known a priori.      This assignment policy is the most desirable for header      compression purposes.  However, its usage is not as common as it      perhaps should be.      In order to avoid violating RFC 791 [1], packets sharing the same      IP address pair and IP protocol number cannot use the same IP ID      values.  Therefore, implementations of sequential policies must      make the ID number spaces disjoint for packet streams of the same      IP protocol going between the same pair of nodes.  This can be      done in a number of ways, all of which introduce occasional jumps      and thus make the policy less than perfectly sequential.  For      header compression purposes, less frequent jumps are preferred.   Note that the ID is an IPv4 mechanism and is therefore not a problem   for IPv6.  For IPv4, the ID could be handled in three different ways.   First, we have the inefficient but reliable solution where the ID   field is sent as-is in all packets, increasing the compressed headers   by two octets.  This is the best way to handle the ID field if the   sender uses random assignment of the ID field.  Second, there can beWest & McCann                Informational                     [Page 21] RFC 4413                 TCP/IP Field Behavior                March 2006   solutions with more flexible mechanisms that require fewer bits for   the ID handling as long as sequential jump assignment is used.  Such   solutions will probably require even more bits if random assignment   is used by the sender.  Knowledge about the sender's assignment   policy could therefore be useful when choosing between the two   solutions above.  Finally, even for IPv4, header compression could be   designed without any additional information for the ID field included   in compressed headers.  To use such schemes, it must be known which   assignment policy for the ID field is being used by the sender.  That   might not be possible to know, which implies that the applicability   of such solutions is very uncertain.  However, designers of IPv4   stacks for cellular terminals should use an assignment policy close   to sequential.   With regard to TCP compression, the behavior of the IP ID field is   essentially the same.  However, in RFC 3095 [31], the IP ID is   generally inferred from the RTP Sequence Number.  There is no obvious   candidate in the TCP case for a field to offer this 'master sequence   number' role.   Clearly, from a busy server, the observed behavior may well be quite   erratic.  This is a case where the ability to share the IP   compression context between a number of flows (between the same end-   points) could offer potential benefits.  However, this would only   have any real impact where there is a large number of flows between   one machine and the server.  If context sharing is being considered,   then it is preferable to share the IP part of the context.
回复

使用道具 举报

发表于 2015-3-13 12:27:35 | 显示全部楼层
复制鸟文?????
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表