References
This section lists the references and related resources cited in RFC 793.
Normative References
[1] A Protocol for Packet Network Intercommunication
Authors: V. Cerf and R. Kahn
Title: "A Protocol for Packet Network Intercommunication"
Publication: IEEE Transactions on Communications
Volume: Vol. COM-22, No. 5
Pages: pp 637-648
Date: May 1974
Significance: This is the foundational paper for TCP/IP protocols, first proposing the core concepts of Internet protocols.
[2] Internet Protocol - DARPA Internet Program Protocol Specification
Editor: J. Postel
Title: "Internet Protocol - DARPA Internet Program Protocol Specification"
RFC: RFC 791
Institution: USC/Information Sciences Institute
Date: September 1981
Significance: Defines the Internet Protocol (IP), the network layer protocol on which TCP depends.
Online Access:
[3] Connection Management in Transport Protocols
Authors: Y. Dalal and C. Sunshine
Title: "Connection Management in Transport Protocols"
Publication: Computer Networks
Volume: Vol. 2, No. 6
Pages: pp. 454-473
Date: December 1978
Significance: Describes connection management mechanisms in transport protocols, including the theoretical foundation for the three-way handshake.
[4] Assigned Numbers
Author: J. Postel
Title: "Assigned Numbers"
RFC: RFC 790
Institution: USC/Information Sciences Institute
Date: September 1981
Significance: Defines protocol numbers, port numbers, and other assigned numbers.
Note: RFC 790 has been updated by subsequent RFCs, current version is RFC 9293.
Updates and Supplements
RFC 793, as the original TCP specification, has been updated and supplemented by numerous RFCs over the years:
Core Updates
| RFC | Title | Date | Description |
|---|---|---|---|
| RFC 1122 | Requirements for Internet Hosts | 1989 | Host requirements specification |
| RFC 2581 | TCP Congestion Control | 1999 | Congestion control algorithms |
| RFC 5681 | TCP Congestion Control | 2009 | Congestion control update |
| RFC 6093 | On the Implementation of TCP URG | 2011 | URG flag implementation |
| RFC 6528 | Defending Against Sequence Number Attacks | 2012 | Defense against sequence number attacks |
| RFC 7323 | TCP Extensions for High Performance | 2014 | High performance TCP extensions |
| RFC 9293 | TCP Specification | 2022 | Latest TCP specification |
Related Extensions
| RFC | Title | Description |
|---|---|---|
| RFC 1323 | TCP Extensions | Window scaling, timestamps |
| RFC 2018 | TCP Selective Acknowledgment | SACK option |
| RFC 2873 | TCP Processing of ICMP | ICMP processing |
| RFC 3168 | ECN in IP | Explicit Congestion Notification |
| RFC 3390 | Increasing TCP Initial Window | Increase initial window |
| RFC 5482 | TCP User Timeout | User timeout option |
| RFC 6824 | TCP Extensions for Multipath | Multipath TCP |
| RFC 7413 | TCP Fast Open | Fast open |
| RFC 8312 | CUBIC Congestion Control | CUBIC congestion control |
Historical Context
TCP/IP Development Timeline
1974 - Cerf & Kahn Paper: TCP/IP concept proposed
1981 - RFC 791 & 793: IP and TCP formal specifications
1983 - ARPANET Switch: Transition from NCP to TCP/IP
1989 - RFC 1122: Host requirements specification
1999 - RFC 2581: Standardized congestion control
2014 - RFC 7323: High performance extensions
2022 - RFC 9293: TCP specification modernization
Design Influences
RFC 793's design was influenced by the following research:
- ARPANET NCP Protocol: Early network control protocol
- Packet Switching Theory: Work of Paul Baran and Donald Davies
- End-to-End Principle: Paper by Saltzer, Reed, and Clark
- Flow Control Research: Sliding window protocol theory
Related Protocol Specifications
Transport Layer
- RFC 768: User Datagram Protocol (UDP) - Connectionless alternative to TCP
- RFC 4960: Stream Control Transmission Protocol (SCTP) - Modern transport protocol
- RFC 9000: QUIC - Modern UDP-based transport protocol
Network Layer
- RFC 791: Internet Protocol (IP) - Network layer TCP depends on
- RFC 792: Internet Control Message Protocol (ICMP) - Error reporting
- RFC 2460: IPv6 Specification - Next-generation IP
Application Layer
Major application protocols using TCP:
- RFC 854: Telnet Protocol
- RFC 959: File Transfer Protocol (FTP)
- RFC 2616/9110: HTTP - Web protocol
- RFC 5321: SMTP - Mail transfer
- RFC 9293: Modern TCP specification
Academic Resources
Classic Textbooks
-
"Computer Networks" - Andrew S. Tanenbaum
- Chapter 5: Transport Layer, detailed TCP coverage
-
"TCP/IP Illustrated, Volume 1" - W. Richard Stevens
- Classic TCP/IP protocol stack reference
-
"Unix Network Programming" - W. Richard Stevens
- Practical TCP programming guide
Research Papers
-
"Congestion Avoidance and Control" - Jacobson & Karels (1988)
- Laid the foundation for TCP congestion control
-
"The Synchronization of Periodic Routing Messages" - Floyd & Jacobson (1993)
- Synchronization in routing and transport protocols
-
"Improving the Start-up Behavior of a Congestion Control Scheme for TCP" - Allman, et al. (1997)
- Improving TCP startup behavior
Online Resources
Official Resources
- IETF RFC Editor: https://www.rfc-editor.org/
- IETF DataTracker: https://datatracker.ietf.org/
- IANA Port Numbers: https://www.iana.org/assignments/service-names-port-numbers/
Implementations and Tools
- Linux TCP Source: https://github.com/torvalds/linux/tree/master/net/ipv4
- FreeBSD TCP Source: https://github.com/freebsd/freebsd-src/tree/main/sys/netinet
- tcpdump: https://www.tcpdump.org/ - Network analysis tool
- Wireshark: https://www.wireshark.org/ - Graphical network analysis
Educational Resources
- TCP/IP Guide: http://www.tcpipguide.com/
- Computer Networking: A Top-Down Approach: Kurose & Ross
Standardization Process
TCP Standard Evolution
RFC 793 (1981)
↓
STD 7 (Internet Standard)
↓
Multiple updates (RFC 1122, 2581, 5681, etc.)
↓
RFC 9293 (2022) - Latest consolidated version
Working Groups
-
IETF TCP Maintenance and Minor Extensions (tcpm) WG
- Responsible for maintaining TCP specification and minor extensions
- https://datatracker.ietf.org/wg/tcpm/
-
IETF Internet Congestion Control Research Group (iccrg)
- Researches congestion control algorithms
- https://irtf.org/iccrg
Implementation References
Major TCP Implementations
-
Linux TCP
- Source:
net/ipv4/tcp*.c - Implementation: Cubic congestion control, BBR, and other modern algorithms
- Source:
-
BSD TCP
- FreeBSD, OpenBSD, NetBSD
- Classic reliable implementation
-
Windows TCP
- Windows NT kernel TCP/IP stack
- Compound TCP congestion control
-
lwIP (Lightweight IP)
- Embedded systems TCP/IP implementation
- https://savannah.nongnu.org/projects/lwip/
Testing and Verification
Conformance Testing
- TCP Test Suite: NIST TCP/IP test suite
- Packetdrill: Google's TCP testing tool
- TAHI Project: IPv6 conformance testing
Performance Benchmarks
- iperf3: Network performance testing tool
- netperf: Network benchmarking
- nuttcp: Network performance measurement
Security Considerations
Related security RFCs:
| RFC | Title | Description |
|---|---|---|
| RFC 4953 | TCP Security Review | TCP security review |
| RFC 5925 | TCP-AO | TCP Authentication Option |
| RFC 6528 | Sequence Number Attacks | Defense against sequence number attacks |
| RFC 7323 | TCP Timestamps | Timestamp security |
| RFC 8446 | TLS 1.3 | Encryption layer over TCP |
Citation
Standard Citation Format
APA Format:
Postel, J. (Ed.). (1981). Transmission Control Protocol (RFC 793).
USC/Information Sciences Institute.
BibTeX Format:
@techreport{rfc793,
author = {J. Postel},
title = {Transmission Control Protocol},
howpublished = {Internet Requests for Comments},
type = {STD},
number = {7},
year = {1981},
month = {September},
issn = {2070-1721},
publisher = {RFC Editor},
institution = {RFC Editor},
url = {https://www.rfc-editor.org/rfc/rfc793.txt}
}
Copyright and License
RFC document copyright notice:
- RFC documents typically have copyright of the IETF Trust upon publication
- Free to copy, cite, and implement specifications
- Must retain copyright notice and citation information
Return: RFC 793 Home
Related: