31.07.2015 Views

network protocols handbook.pdf

network protocols handbook.pdf

network protocols handbook.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

57Protocols GuideTCP/IP - Transport Layer ProtocolsProtocol NameRUDP: Reliable User DatagramProtocol (Reliable UDP)Protocol DescriptionReliable UDP (RUDP) is a simple packet based transport protocol,based on RFCs 908 (version 1) and 1151 (version 2), whichwas intended as a reliable transport protocol to transport telephonysignalling across IP <strong>network</strong>s. RUDP is designed to allowcharacteristics of each connection to be individually configuredso that a number of <strong>protocols</strong> with different transport requirementcan be implemented simultaneously not on the same platform.It is layered on the UDP/IP <strong>protocols</strong> and provides reliablein-order delivery (up to a maximum number of retransmissions)for virtual connections. RUDP has a very flexible design thatmakes it suitable for a variety of transport uses. One such usewould be to transport telecommunication-signalling <strong>protocols</strong>.Reliable UDP is a set of quality of service enhancements, suchas congestion control tuning improvements, retransmit, andthinning server algorithms, that improves the ability to present agood quality RTP stream to RTP clients even in the presence ofpacket loss and <strong>network</strong> congestion. Reliable UDP’s congestioncontrol mechanisms allow streams to behave in a TCP-friendlyfashion without disturbing the real-time nature of the protocol.To work well with TCP traffic on the Internet, Reliable UDP usesretransmission and congestion control algorithms similar to thealgorithms used by TCP. Additionally, these algorithms are timetestedto utilize available bandwidth optimally.Reliable UDP features include:• Client acknowledgment of packets sent by the server tothe client• Windowing and congestion control so the server doesnot exceed the currently available bandwidth• Server retransmission to the client in the event of packetloss• Faster than real-time streaming known as “overbuffering”Protocol StructureThe basic TFTP header structure:1 2 3 4 5 6 7 8 16bitSYN ACK EAK RST NUL CHK TCS 0HeaderLengthSequence numberAck numberChecksumControl bitsIndicate what is present in the packet. Details as follows:SYN The SYN bit indicates a synchronization segmentis present.ACK The ACK bit indicates the acknowledgmentnumber in the header is valid.EACK The EACK bit indicates an extended acknowledgesegment is present.RST The RST bit indicates the packet is a reset segment.NUL The NUL bit indicates the packet is a null segment.CHK The CHK bit indicates whether the Checksumfield contains the checksum of just the headeror the header and the body (data).TCS The TCS bit indicates the packet is a transferconnection state segment.0 The value of this field must be zero.Header lengthIndicates where user data begins in the packet.Sequence numberWhen a connection is first opened, each peer randomlypicks an initial sequence number. This sequence numberis used in the SYN segments to open the connection.Each transmitter increments the sequence number beforesending a data, null, or reset segment.Acknowledgement numberThis field indicates to a transmitter the last in- sequencepacket the receiver has received.ChecksumThe checksum is always calculated on the RUDP headerto ensure integrity. The checksum here is the same algorithmused in UDP and TCP headers.Related <strong>protocols</strong>UDP, RDP, IP, TCPSponsor SourceRUDP is discussed in IETF (http://www.ietf.org) as documentedin a memo.Referencehttp://www.javvin.com/protocol/reliable-UDP.<strong>pdf</strong>Reliable UDP protocolhttp://www.javvin.com/protocol/rfc908.<strong>pdf</strong>Reliable Data Protocol (RDP)http://www.javvin.com/protocol/rfc1151.<strong>pdf</strong>Version 2 of the Reliable Data Protocol (RDP)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!