Internet DRAFT - draft-eromenko-ipff-udp

draft-eromenko-ipff-udp



INTERNET-DRAFT
"Internet Protocol Five Fields - User Datagram Protocol", 
Alexey Eromenko, 2016-09-29, 
<draft-eromenko-ipff-udp-03.txt>
expiration date: 2017-03-29


Intended status: Standards Track
                                                              A.Eromenko
                                                          September 2016



                         User Datagram Protocol
                         ----------------------
                 for Internet Protocol "Five Fields" (IP-FF)
                          Specification draft

Abstract

Minor modification of the UDP protocol to reduce overhead by 2 bytes.
Intended to be used with Internet Protocol "Five Fields".


Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Introduction
------------

This User Datagram  Protocol  (UDP)  is  defined  to  make  available  a
datagram   mode  of  packet-switched   computer   communication  in  the
environment  of  an  interconnected  set  of  computer  networks.   This
protocol  assumes  that the Internet  Protocol  (IP)  [1] is used as the
underlying protocol.

This protocol  provides  a procedure  for application  programs  to send
messages  to other programs  with a minimum  of protocol mechanism.  The
protocol  is transaction oriented, and delivery and duplicate protection
are not guaranteed.  Applications requiring ordered reliable delivery of
streams of data should use the Transmission Control Protocol (TCP) [2].

Format
------
                      User Datagram Header Format


                  0      7 8     15 16    23 24    31 
                 +--------+--------+--------+--------+
                 |                                   |
                 |           CRC32c Checksum         |
                 +--------+--------+--------+--------+
                 |                                   .
                 |             data octets ...       .
                 +---------------- ...                


Fields
------

Ports, while logically belong to Transport Layer, have moved to the IP 
layer in IP-FF, and this is to speed-up certain routing decisions.

Source Port is an optional field, when meaningful, it indicates the port
of the sending  process,  and may be assumed  to be the port  to which a
reply should  be addressed  in the absence of any other information.  If
not used, a value of zero is inserted.

Destination  Port has a meaning  within  the  context  of  a  particular
internet destination address.

Length of the data is taken from upper level IPFF protocol.

CRC32c Checksum consists of parts of the IP header, the UDP header, 
and the data,  padded  with zero bytes  at the end (if  necessary)
  to  make  a multiple of two bytes.
This checksum procedure is similar to what is used in TCP.64.

The pseudo  header  conceptually prefixed to the UDP header contains the
source  address,  the destination  address,  the protocol,  and the  UDP
length.   This information gives protection against misrouted datagrams.

The header structure must be taken from [IPFF] document RFC.

If the computed  checksum  is zero,  it is transmitted  as all ones.
   An all zero  transmitted
checksum  value means that the transmitter  generated  no checksum  (for
debugging or for higher level protocols that don't care).

User Interface
--------------

A user interface should allow the creation of new receive ports,
receive  operations  on the receive  ports that return the data bytes
and an indication of source port and source address,
and an operation  that allows  a datagram  to be sent,  specifying the
data, source and destination ports and addresses to be sent.


IP Interface
-------------

The UDP module  must be able to determine  the  source  and  destination
internet addresses and the protocol field from the internet header.  One
possible  UDP/IP  interface  would return  the whole  internet  datagram
including all of the internet header in response to a receive operation.
Such an interface  would  also allow  the UDP to pass  a  full  internet
datagram  complete  with header  to the IP to send. 

Protocol Application
--------------------

The major uses of this protocol is the Internet Domain Name Server 
(DNS), the Trivial File Transfer Protocol (TFTP) and the Dynamic Host
 Configuration Protocol (DHCP).

Protocol Number
---------------

This is protocol 17 when used in the Internet Protocol.

Acknowledgement
---------------

Originally written by J.Postel as RFC-768, modified by Alexey Eromenko
for the purposes of Internet Protocol "Five Fields".


Author Contacts

   Alexey Eromenko
   Israel

   Skype: Fenix_NBK_
   EMail: al4321@gmail.com
   Facebook: https://www.facebook.com/technologov


INTERNET-DRAFT
Alexey

expiration date: 2017-03-29