Sunday, January 25, 2009

Week Three of Computer Coms Discussion Question.

I thought I'd post it here too; because I liked it a bit.

Computer Communications and Networking

Week 3 Discussion Question 2

The discussion question for this week asks; what is “TCP-Friendly?” what makes an application’s use of TCP more “Friendly” than another? This question is actually a few questions posed as one:

Transmission Control Protocol is defined by RFC 793; (Postel et al.)[i] TCP forms the basis for packet based communications at the application layer of the OSI model for the suite of protocols within TCP/IP. TCP allows the encapsulation of data from a given application to be utilized by another remote application in a similar fashion via the encapsulation and un-encapsulation of said data.

Transmission control and the study of “wait times” has a lot to do with packet based switched networks; Queuing Theory is the study of storage and wait times and is defined as a subset of math and part of operations research; however the underlying math is often used to define switching methodologies for telecommunications, since TCP/IP based networks are based upon functional packet switched networks than Queuing Theory must be integrated to outline how network congestion occurs. (Deitel et al.)[ii] Essentially the buffers of packets within routers and switches that form the infrastructure of an Ethernet, ATM, SONNET or other type of packet based data network operate according to Queuing Theory, and must implement mathematical models of wait state and availability for packet transmission as needed by their respective infrastructure. These implementations give rise to the potential for congestion due to finite limits on the amount of given memory a switch or router may have to buffer packet’s in transit.

In both “Data Networking” and “Queuing Theory” network congestion is defined as a state where a node within the network carries so much data as to have its quality of service degrade.(Nagle)[iii] Real world examples of this theory occur when gridlock happens on a Highway or at a given intersection within any urban area; on a network congestion may cause a degradation of traffic; denial of service attacks are based upon the principal of congesting a given node or service to the point of degradation as a means to deny said service to others. (Boyle)[iv]; for network infrastructure this is the primary limitation of switches and routers having a fixed amount of memory and not understanding the content of each packet. Floyd states that this state is often called “Congestion Collapse” and is described in RFC 2914 (Floyd)[v] it was also a major architectural consideration for failure of the internet during the 1980’s.

Since the nature of TCP is connectionless; congestion control has become a center point of network and communications research for the purposes of security, service quality and overall functionality of the internet. TCP-Friendliness is described as a method to implement congestion control for a given application based upon bandwidth availability and adaptation as well as best effort guarantees for service availability including Quality of Service tagging (Allman et al.)[vi] within the application that utilizes said TCP Connections.(Floyd et al.)[vii] The following RFC’s and methodologies are available to network application developers as a means to ensure that their applications are more TCP-Friendly; these implementations and methodologies include admission control (Ming et al.)[viii] ; TCP Friendly Rate Control Protocol (Handley et al.)[ix]; Explicit Rate Adjustment (Azmuddin et al.)[x]; dynamic, transient and equation based congestion control algorithms.(Bansal et al.)[xi],(Yang et al.)[xii],(Floyd et al.)[xiii] Although implementing all of these methodologies and protocols may make said application “TCP-Friendly” they are all best effort scenarios dependent upon all nodes between the application and its server or peers supporting the methods and protocols; existing examples of good implementations of TCP-Friendly applications include modern peer to peer network protocols such as Bittorrent, where the applications are aware of the available connection bandwidth and may be dynamically throttled to not interfere with other network application functionality.

References




[i] Postel, Jon (DARPA, ISI, 1981) TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION [Online] World Wide Web, Available from: http://www.faqs.org/rfcs/rfc793.html

(Accessed on January 25th 2009)

[ii] Deitel et al (Addison-Wesley Longman Publishing Co. Inc., 1990) An introduction to Operating Systems [Online] PDF Document available from: http://portal.acm.org/citation.cfm?id=79046&dl=GUIDE&coll=GUIDE

(Accessed on January 25th 2009)

[iii] Nagle, John (Ford Aerospace Communications, Network Working Group, January 6th 1984) Congestion Control in TCP/IP Networks – RFC 896 [Online] World Wide Web, Available from: http://tools.ietf.org/html/rfc896

(Accessed on January 25th 2009)

[iv] Boyle, Phillip (SANS, 2000) Intrusion Detection FAQ: Distributed Denial of Service Attack Tools: trinoo and wintrinoo, [Online] World Wide Web, Available from: http://www.sans.org/resources/idfaq/trinoo.php

(Accessed on January 25th 2009)

[v] Floyd, S. (Network Working Group, ACIRI, September 2000) Congestion Control Principals – RFC 2914 [Online] World Wide Web, Available from: http://tools.ietf.org/html/rfc2914

(Accessed on January 25th 2009)

[vi] Allman, M; Paxon, V.; Stevens, W. (Network Working Group, NASA, ACIRI/ICSI, April 1999) RFC2581 - TCP Congestion Control [Online] World Wide Web, Available from:

http://www.faqs.org/rfcs/rfc2581.html

(Accessed on January 25th 2009)

[vii] Floyd, Sally; Mahdavi, Jamshid (Jamshid Resarch, Novell, June 1999) TCP-Friendly [Online] World Wide Web, Available from: http://www.psc.edu/networking/projects/tcpfriendly/

(Accessed on January 25th 2009)

[viii] Tam, A.S.; Dah-Ming, Chiu; Lui, J.C.S.; Tay, Y.C. (IEEE, June 23rd 2006) A Case for TCP-Friendly Admission Control – IWQoS Proceedings, Pages 229-238 [Online] World Wide Web, Available From: http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/4015718/4015719/04015756.pdf?isnumber=4015719&prod=CNF&arnumber=4015756&arSt=229&ared=238&arAuthor=Tam%2C+A.S.-W.%3B+Dah-Ming+Chiu%3B+Lui%2C+J.C.S.%3B+Tay%2C+Y.C.

(Accessed on January 25th 2009)

[ix] Handley, M.; Floyd, S.; Padhye, J.; Widmer, J.; (Network Working Group, ICIR, Microsoft, University of Mannheim, January 2003) RFC3448 - TCP Friendly Rate Control (TFRC): Protocol Specification [Online] World Wide Web, Available from:

http://www.faqs.org/rfcs/rfc3448.html

(Accessed on January 25th 2009)

[x] Azmuddin, Ab. Rahman; Ghazali, Osman (University of Utara, November 2008) TCP-Friendliness of Modified Explicit Rate Adjustment [Online] PDF Document, Available from: http://www.internetworks.my/NetApps2008/Proceedings/accepted%20paper/TCP-Friendliness%20of%20Modified%20Explicit%20Rate%20Adjustments.pdf

(Accessed on January 25th 2009)

[xi] Bansal, Deepak; Balakrishnan, Hari; Floyd, Sally; Shenker, Scott (MIT Laboratory of Computer Science, AT&T Center for Internet Resarch, ACM, 2001) Dynamic behavior of slowly-responsive congestion control algorithms [Online] PDF Document, Available from: http://portal.acm.org/citation.cfm?id=383080

(Accessed on January 25th 2009)

[xii] Yang, Richard Y.; Kim, Min Sik; Lam, Simon S. (Unviersity of Texas, ACM, 2003)

Transient behaviors of TCP-friendly congestion control protocols [Online] PDF Document, Available from: http://portal.acm.org/citation.cfm?id=639199

(Accessed on January 25th 2009)

[xiii] Floyd, Sally; Handley, Mark; Padhye, Jitendra; Widmer, Jorg (ACM, October 2000) Equation-based congestion control for unicast applications [Online] PDF Document, Available from: http://portal.acm.org/citation.cfm?id=347397

(Accessed on January 25th 2009)