⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1705.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   transport and network layer dependence on one another.3.2  User Applications   In addition to TCP and UDP, there are a large number of firmly   entrenched higher level applications that use the IP network layer   address embedded internally, and would therefore require modification   for use with the proposed IPng network layer schemes. These   applications include, but are not limited to Network File System   (NFS), Remote Procedure Call (RPC), and File Transfer Protocol (FTP).   All of these applications should be modified to use the Internet   Domain name to identify the remote node, and not an embedded,   protocol dependent IP address.3.3  The Entrenched Masses   Will users voluntarily give up their IPv4 systems to move to IPng?   It seems likely that many users will resist the change.  They will   perceive no benefit and will not install the new software.  Making   the local Internet contact responsible may not be feasible or   practical in all cases. Another issue is backward compatibility   issues.  If a host needs to run IPng and IPv4 to support old hosts,   then 1) where is the address savings IPng promised.  2) Why change if   the host you are talking to has IPv4 anyway?   On the other hand, replacing the existing TCP (TCPv6) with this new   version (TCPng) will benefit users in several ways.  1) Users will be   able to connect to unmodified TCPv6 hosts.  2) As nodes upgrade to   TCPng, new features will be enabled allowing TCP to communicate   effectively over high bandwidth*delay network links.  3) SystemCarlson & Ficarella                                             [Page 6]RFC 1705     Six Virtual Inches to the Left: IPng Problems  October 1994   administrators will be able to incrementally upgrade nodes as needed   or as local conditions demand.  4) Upgraded nodes may return their   IPv4 address and use an IPng address and TCP transporter function,   described later, to communicate with IPv4 hosts.4.  Making TCP & UDP Protocol Independent   The OSI 7 layer model specifies that each layer be independent of the   adjacent layers. What is specified is the interface between layers.   This allows layers to be replaced and/or modified without making   changes to the other layers.  As was pointed out previously, the TCP   and UDP transport layers violate this precept.  In the following   discussion, when we refer to TCP we mean both the TCP and UDP   protocols.  The generic term transport layer and TCP will be used   interchangeably.   Overcoming TCP's dependence on IP will require changes to the   structure of the TCP header.  The developers and implementors will   also have to change the way they think about TCP and IP.  End users   will also have to change the way they view the Internet.  Gone will   be the days when Internet node names and IP addresses can be used   interchangeably.  The goal of this change is to allow end users to   migrate from the current IPv4 network layer to an IPng layer.  What   this IPng protocol is will be left to the Internet Architecture   Board/Internet Engineering Steering Group/Internet Engineering Task   Force (IAB/IESG/IETF) to decide.  By adopting this proposal, the   migration will be greatly enhanced.   One of the stated goals of the IAB is to promote a single Internet   protocol suite [Leiner, Rekhter, 1993].  While this is a laudable   goal, we should not be blinded by it. The addition of a Transport   layer address (TA) does not invalidate the IAB's stated goals.  It   merely brings the implementation into compliance with standard   networking practices.  The historical reasons for concatenating TCP   port numbers to IP numbers has long since passed. The increasing   throughput of transmission lines and the negligible effect of packet   overhead (see appendix A) prove this.  The details of assigning and   using TA's are discussed in the next few sections.4.1  Transport Addressing   A Transport Address (TA) will be assigned to the TCP transport layer   on each Internet node.  The purpose of this address is to allow a TCP   on one node to communicate with a TCP on a remote node.  Some of the   goals defined in developing this address are:        1.  Fixed size -- A fixed size will make parsing easier for            decoding stations.Carlson & Ficarella                                             [Page 7]RFC 1705     Six Virtual Inches to the Left: IPng Problems  October 1994        2.  Minimum impact on TCP packet size -- This information            will need to be carried each TCP packet.        3.  Global Uniqueness -- It is desirable (required) to have a            globally unique Transport Address.        4.  Automatic Registration -- To reduce implementation            problems, an automatic registration of the TA is            desirable.   The TA will be used when an Internet node attempts to communicate   with another Internet node.  Conceptually you can view the TA as   replacing the IP number in every instance it now appears in the   transport layer (i.e., a socket would change from IP#.Port# to   TA#.Port#).  A connection setup would thus be:        1.  A user starts an application on Node-A and requests            service from Node-B.  The user identifies Node-B by            referencing it's Internet Domain Name.        2.  The TCP on Node-A makes a Domain Name Service (DNS) call            to determine the TA of Node-B.        3.  Node-A constructs a TCP packet using the header Src = TA-            A.port and Dest = TA-B.port and passes this packet down to            the network layer.        4.  The IP on Node-A makes a DNS call to determine the IP            address of Node-B.  The IP will cache this TA/IP pair for            later use.        5.  Node-A constructs an IP packet using the header Src = IP-A            and Dest = IP-B and passes this packet down to the Media            Access layer.        6.  Delivery of the packet is identical to the delivery of an            existing Internet IP packet.        7.  The IP on Node-B examines the IP Dest address and if it            matches it's own, strips off the header and passes the            data portion up to the TCP.  (Note: the packet may have            passed through several IP routers between the source and            destination hosts.)        8.  The TCP on Node-B examines the header to determine if the            Dest TA is it's own, if so it passes the data to the            application specified by the port address.  If not it            determines if it should perform the transporter function.Carlson & Ficarella                                             [Page 8]RFC 1705     Six Virtual Inches to the Left: IPng Problems  October 1994            The packet will be forwarded toward the destination or an            error message will be returned.   The above steps represent a quick synopsis of how user applications   may pass data between different Internet nodes.  The exact structure   of the network is hidden from the application, allowing the network   to be modified and improved as needed.  Using the transporter   function, several different network layers may be traversed when   moving from source to destination (several examples are provided in   appendix D).   One of the underlying assumptions is that the user application must   refrain from making assumptions about the network structure.  As   pointed out in section 3, this is not the case for the current   Internet network.  User applications that are deployed with this new   TCP must be capable of making this assumption.  This means that the   user application should store the Internet Domain Name in it's   internal structure instead of the IPng network number.  The domain   name is globally unique and provides enough information to the system   to find the transport and network layer addresses.  The user   application must pass the following parameters down to TCP:      1.  Destination domain name  (Text string)      2.  Pointer to data buffer      3.  Quality of service indicators      4.  Options   When the user application writes data to the network, TCP will return   a nonzero integer to indicate an error condition, or a zero integer   to indicate success. When the user application reads data from the   network, TCP will deliver a pointer to a data buffer back to the   application.   TCP will receive the users request and it will make a DNS call to   determine the destination nodes TA.  If DNS returns a TA, TCP will   build a Transmission Control Block (TCB) (see the paragraph below)   and call the network layer.   Otherwise, TCP will make a DNS call   looking for the destination nodes IPv4 address.  If an address is   returned, TCP will takes the steps listed below in building a TCB,   and call the proper network layer.  If DNS returns a host unknown   indication, exit back to the user with a "host unknown" error.  TCP   should maintain a cache of domain names and addresses in lieu of   making repeated DNS calls.  This feature is highly recommended, but   not required.   The state information needed to keep track of a TCP connection is   kept in the Transmission Control Block (TCB).  Currently this   structure has fields for the TCP parameters, source port, destinationCarlson & Ficarella                                             [Page 9]RFC 1705     Six Virtual Inches to the Left: IPng Problems  October 1994   port, window size, sequence number, acknowledgment number, and any   TCP options.  The network layer source and destination IP numbers are   also stored here.  Finally, the status of the connection (LISTEN,   ESTABLISHED, CLOSING, of the TCP parameters and include the new   source and destination Transport addresses.  The existing space for   the IPv4 addresses will be left in place to allow for backward   compatibility.  The IPv4 fields will be used if the source is   communicating directly with an unmodified TCP/IP host.   The existing status indicators will remain with their meaning   unchanged.  Connection setup will retain the current 3-way handshake.   When performing transporter functions, TCP will NOT build a TCB,   unless the destination is an unmodified IPv4 host (see appendix D).   The TCP connection remains an end-to-end reliable transport service,   regardless of the number of intermediate transporter nodes.   TCP will build an old or new header (defined below) placing the user   application data in the data field.  If TCP is communicating directly   with an unmodified IPv4 host, the existing TCP header (STD 7, RFC   793) will be used for comparability reasons.  If the destination host   is an unmodified host, and an intermediate transporter node is being   used, this new TCP header must be used with the 'C' bit set to 1.   The destination TA will be set to the IPv4 address, and the packet   will be delivered to the transporter node.  If the destination host   is modified with this new TCP, the destination address will be set to   the TA and the packet will be delivered, possibly through a   transporter, to the remote host.   TCP will communicate with it's underlying network layer(s) to deliver   packets to remote hosts.  The Internet Assigned Number Authority   (IANA) will assign unique identifiers to each network layer TCP will   support.  TCP will maintain a cache of TA's and IANA network layers   numbers, to allow support of multiple network layers.  When TCP   wishes to send data, it will consult this cache to determine which   network to send the packet to.  If the destination TA is not in this   cache, TCP will send a request to each of it's network layer(s)   asking if they know how to deliver data to this TA.  All of the   network layers supported by the sending host will be probed, in an   order defined by the system administrator, until one responds 'yes'   or they all have said 'no'.  The first layer to say 'yes' will be   used.  If no path exists, an error message will be returned to the   user application.  Once a network layer is identified, TCP will   communicate with it by passing the following parameters:          1)  Destination address (TA or IPv4).          2)  A pointer to the data buffer.          3)  Options.Carlson & Ficarella                                            [Page 10]RFC 1705     Six Virtual Inches to the Left: IPng Problems  October 1994   The network layer will use the destination address as an index into a   cache to determine the network address to send to.  In the entry is   not in the cache, it will make a DNS call to determine the network   address and a cache entry will be build (see appendix D).  It is   mandatory that a cache be maintained.  If a host is attached to   several different networks (i.e., a transporter) each layer will   maintain it's own cache.   When IP receives a data packet from a remote node, it will strip off   the IP header and pass a pointer to the data buffer up to TCP.  IP   will also supply TCP with it's IANA network layer number.  TCP may   use the source TA and the IANA number to update it's cache.   The structure of a TA is to concatenate a unique manufacture code   with a manufacturer defined variable to form a unique 64 bit number.   The unique manufacture code will be a 24 bit number, possibly the   same code as the IEEE 802.3 MAC address code.  The remaining 40 bits   will be supplied by the manufacture to uniquely identify the TCP.  It   is recommended that this field be built by encoding the   manufacturer's serial number.  An integer serial number will be   viewed as an integer number and converted into it's hexadecimal   equivalent, left padded with 00 octets if necessary.  If a serial   number contains Alpha characters, these alpha characters will be   converted into octets using the international standard ASCII code.   The integer values will then be converted to their hexadecimal   equivalent and the 2 values will be concatenated to form the unique   identifier.  These structure will allow 2^24 (16,777,216)   manufactures to build 2^40 (1,099,511,627,776) transport addressable   entities. Each of these entities may have 1 or more network   interfaces using IPv4, IPng, or any other network layer protocol.   The current growth of the Internet may indicate that this amount of   address space is inadequate.  A larger fixed space (i.e., 96 or 128   bits) or a variable length field may be required.  The disadvantage   is that this address must be transmitted in every packet.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -