TCP/IP Reference Guide

The Defense Advance Research Projects Agency (DARPA) originally developed Transmission Control Protocol/Internet Protocol (TCP/IP) to interconnect various defense department computer networks. The Internet, an international Wide Area Network, uses TCP/IP to connect government and educational institutions across the world. TCP/IP is also in widespread use on commercial and private networks. The TCP/IP suite includes the following protocols

 

 

Data Link Layer  

 

ARP/RARP

Address Resolution Protocol/Reverse Address

DCAP

Data Link Switching Client Access Protocol

 

 

Network Layer  

DHCP

Dynamic Host Configuration Protocol

DVMRP

Distance Vector Multicast Routing Protocol  

ICMP/ICMPv6

Internet Control Message Protocol

IGMP

Internet Group Management Protocol

IP

Internet Protocol version 4

IPv6

Internet Protocol version 6

MARS

Multicast Address Resolution Server

PIM

Protocol Independent Multicast-Sparse Mode (PIM-SM)

RIP2

Routing Information Protocol

RIPng

for IPv6 Routing Information Protocol for IPv6

RSVP

Resource ReSerVation setup Protocol

VRRP

Virtual Router Redundancy Protocol

 

 

Transport Layer  

ISTP   

 

Mobile IP

Mobile IP Protocol

RUDP

Reliable UDP

TALI

Transport Adapter Layer Interface

TCP

Transmission Control Protocol

UDP

User Datagram Protocol

Van

Jacobson compressed TCP

XOT

X.25 over TCP

 

 

Session Layer  

BGMP

Border Gateway Multicast Protocol

Diameter   

 

DIS

Distributed Interactive Simulation

DNS

Domain Name Service

ISAKMP/IKE

Internet Security Association and Key Management Protocol and Internet Key Exchange Protocol

iSCSI

Small Computer Systems Interface

LDAP

Lightweight Directory Access Protocol

MZAP

Multicast-Scope Zone Announcement Protocol

NetBIOS/IP

NetBIOS/IP for TCP/IP Environment

 

 

Application Layer  

COPS

Common Open Policy Service

FANP

Flow Attribute Notification Protocol

Finger

User Information Protocol

FTP

File Transfer Protocol

HTTP

Hypertext Transfer Protocol

IMAP4

Internet Message Access Protocol rev 4

IMPPpre/IMPPmes

Instant Messaging and Presence Protocols

IPDC

IP Device Control

IRC

Internet Relay Chat Protocol

ISAKMP

Internet Message Access Protocol version 4rev1

ISP   

 

NTP

Network Time Protocol

POP3

Post Office Protocol version 3

Radius

Remote Authentication Dial In User Service

RLOGIN

Remote Login

RTSP

Real-time Streaming Protocol

SCTP

Stream Control Transmision Protocol

S-HTTP

Secure Hypertext Transfer Protocol

SLP

Service Location Protocol

SMTP

Simple Mail Transfer Protocol

SNMP

Simple Network Management Protocol

SOCKS

Socket Secure (Server)

TACACS+

Terminal Access Controller Access Control System

TELNET

TCP/IP Terminal Emulation Protocol

TFTP

Trivial File Transfer Protocol

WCCP

Web Cache Coordination Protocol

X-Window

X Window

 

 

Routing

BGP-4

Border Gateway Protocol

The Border Gateway Protocol (BGP) is an inter-Autonomous System routing protocol. The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. BGP-4 provides a new set of mechanisms for supporting classes interdomain routing.

EGP

Exterior Gateway Protocol
The Exterior Gateway Protocol (EGP) exists in order to convey net-reachability information between neighboring gateways, possibly in different autonomous systems. The protocol includes mechanisms to acquire neighbors, monitor neighbor reachability and exchange net-reachability information in the form of Update messages. The protocol is based on periodic polling using Hello/I-Heard-You (I-H-U) message exchanges to monitor neighbor reachability and Poll commands to solicit Update responses.

EIGRP

Enhanced Interior Gateway Routing Protocol
EIGRP Enhanced Interior Gateway Routing Protocol (EIGRP) is an enhanced version of IGRP. IGRP is Cisco's Interior Gateway Routing Protocol used in TCP/IP and OSI internets. It is regarded as an interior gateway protocol (IGP) but has also been used extensively as an exterior gateway protocol for inter-domain routing. IGRP uses distance vector routing technology. The same distance vector technology found in IGRP is also used in EIGRP, and the underlying distance information remains unchanged. The convergence properties and the operating efficiency of this protocol have improved significantly.

HSRP

Cisco Hot Standby Router Protocol - UDP Port 1985

The Cisco Hot Standby Router Protocol (HSRP) provides a mechanism which is designed to support non-disruptive failover of IP traffic in certain circumstances. In particular, the protocol protects against the failure of the first hop router when the source host cannot learn the IP address of the first hop router dynamically. The protocol is designed for use over multi-access, multicast or broadcast capable LANs (e.g., Ethernet). A large class of legacy host implementations that do not support dynamic discovery are capable of configuring a default router. HSRP provides failover services to those hosts.

IGRP

Interior Gateway Routing

The Interior Gateway Routing Protocol (IGRP) was developed by the Cisco company. It is used to transfer routing information between routers.

IGRP is sent using IP datagrams with IP 9 (IGP). The packet begins with a header which starts immediately after the IP header.

NARP

NBMA Address Resolution Protocol

The NBMA Address Resolution Protocol (NARP) allows a source terminal (a host or router), wishing to communicate over a Non-Broadcast, Multi-Access (NBMA) link layer network, to find out the NBMA addresses of a destination terminal if the destination terminal is connected to the same NBMA network as the source.

NHRP

Next Hop Resolution Protocol

The NBMA Next Hop Resolution Protocol (NHRP) allows a source station (a host or router), wishing to communicate over a Non-Broadcast, Multi-Access (NBMA) subnetwork, to determine the internetworking layer addresses and NBMA addresses of suitable NBMA next hops toward a destination station.

OSPF

Open Shortest Path First
IETF RFC1583 defines the OSPF (Open Shortest Path First) protocol as a link-state routing protocol used for routing IP.

OSPF is an interior gateway protocol which is used for routing within a group of routers. It uses link-state technology in which routers send each other information about the direct connections and links which they have to other routers.

TRIP

Telephony Routing over IP

The function of TRIP (Telephony Routing over IP) is to advertise the reachability of telephony destinations, attributes associated with the destinations, as well as the attributes of the path towards those destinations.

TRIP can be used to manage routing tables for multiple protocols (SIP, H323, etc.). In TRIP, a destination is the combination of (a) a set of addresses (given by an address family and address prefix), and (b) an application protocol (SIP, H323, etc).

 

 

Tunneling

ATMP

Ascend Tunnel Management Protocol

The Ascend Tunnel Management Protocol (ATMP) is a protocol currently being used in Ascend Communication products to allow dial-in client software to obtain virtual presence on a user's home network from remote locations. A user calls into a remote NAS but instead of using an address belonging to a network directly supported by the NAS, the client software uses an address belonging to the user's "Home Network". This address can be either provided by the client software or assigned from a pool of addresses from the Home Network address space. In either case, this address belongs to the Home Network and therefore special routing considerations are required in order to route packets to and from these clients. A tunnel between the NAS and a special ”Home Agent” (HA) located on the Home Network is used to carry data to and from the client.

L2F

The Layer 2 Forwarding Protocol
The Layer 2 Forwarding protocol (L2F) permits the tunneling of the link layer of higher layer protocols. Using such tunnels it is possible to divorce the location of the initial dial-up server from the location at which the dial-up protocol connection is terminated and access to the network provided.

L2TP

Layer 2 Tunneling Protocol
The L2TP Protocol is used for integrating multi-protocol dial-up services into existing Internet Service Providers Point of Presence (hereafter referred to as ISP and POP, respectively). This protocol may also be used to solve the "multilink hunt-group splitting" problem. Multilink PPP, often used to aggregate ISDN B channels, requires that all channels composing a multilink bundle be grouped at a single Network Access Server (NAS). Because L2TP makes a PPP session appear at a location other than the physical point at which the session was physically received, it can be used to make all channels appear at a single NAS, allowing for a multilink operation even when the physical calls are spread across distinct physical NASs.

PPTP

Point to Point Tunneling Protocol

PPTP (Point to Point Tunneling Protocol) allows PPP to be channeled through an IP network. It uses a client-server architecture to decouple functions which exist in current Network Access Servers and support Virtual Private Networks. It specifies a call-control and management protocol which allows the server to control access for dial-in circuit switched calls originating from a PSTN or ISDN, or to initiate outbound circuit switched connections. PPTP uses a GRE-like (Generic Routing Encapsulation) mechanism to provide a flow- and congestion-controlled encapsulated datagram service for carrying PPP packets.

 

 

Security

AH

Authentication Header

The IP Authentication Header seeks to provide security by adding authentication information to an IP datagram. This authentication information is calculated using all of the fields in the IP datagram (including not only the IP Header but also other headers and the user data) which do not change in transit. Fields or options which need to change in transit (e.g., hop count, time to live, ident, fragment offset, or routing pointer, such as audio and video. Sources of data can include both live data feeds and stored clips. This protocol is intended to control multiple data delivery sessions, provide a means for choosing delivery channels such as UDP, multicast UDP and TCP, and provide a means for choosing delivery mechanisms bases upon RTP. ) are considered to be zero for the calculation of the authentication data. This provides significantly more security than is currently present in IPv4 and might be sufficient for the needs of many users. When used with IPv6, the Authentication Header normally appears after the IPv6 Hop-by-Hop Header and before the IPv6 Destination Options. When used with IPv4, the Authentication Header normally follows the main IPv4 header.

ESP

Encapsulating Security Payload

The IP Encapsulating Security Payload (ESP) seeks to provide confidentiality and integrity by encrypting data to be protected and placing the encrypted data in the data portion of the IP ESP. Depending on the user's security requirements, this mechanism may be used to encrypt either a transport-layer segment (e.g., TCP, UDP, ICMP, IGMP) or an entire IP datagram. Encapsulating the protected data is necessary to provide confidentiality for the entire original datagram.
 

ESP may appear anywhere after the IP header and before the final transport-layer protocol. The Internet Assigned Numbers Authority has assigned Protocol Number 50 to ESP. The header immediately preceding an ESP header will always contain the value 50 in its Next Header (IPv6) or Protocol (IPv4) field. ESP consists of an unencrypted header followed by encrypted data. The encrypted data includes both the protected ESP header fields and the protected user data, which is either an entire IP datagram or an upper-layer protocol frame (e.g., TCP or UDP).

TLS

Transport Layer Security Protocol

The primary goal of the TLS (Transport Layer Security) Protocol is to provide privacy and data integrity between two communicating applications. The protocol is composed of two layers: the TLS Record Protocol and the TLS Handshake Protocol. At the lowest level, layered on top of some reliable transport protocol (e.g., TCP[TCP]), is the TLS Record Protocol. The TLS Record Protocol provides connection security that has two basic properties:

  • Privacy - symmetric cryptography is used for data encryption (e.g., DES [DES], RC4 [RC4], etc.) The keys for this symmetric encryption are generated uniquely for each connection and are based on a secret negotiated by another protocol (such as the TLS Handshake Protocol). The Record Protocol can also be used without encryption.
     
  • Reliability - message transport includes a message integrity check using a keyed MAC. Secure hash functions (e.g., SHA, MD5, etc.) are used for MAC computations. The Record Protocol can operate without a MAC, but is generally only used in this mode while another protocol is using the Record Protocol as a transport for negotiating security parameters.