Jumat, 16 Januari 2009

Internet Protocol Suite

The Internet Protocol Suite (commonly known as TCP/IP) is the set of communications protocols used for the Internet and other similar networks. It is named from two of the most important protocols in it: the Transmission Control Protocol (TCP) and the Internet ProtocolInternet and LANs (Local Area Networks), which emerged in the mid- to late-1980s, together with the invention of the World Wide Web by Tim Berners-Lee in 1989 (and which exploded with the availability of the first popular web browser: Mosaic). (IP), which were the first two networking protocols defined in this standard. Today's IP networking represents a synthesis of several developments that began to evolve in the 1960s and 1970s, namely the

The Internet Protocol Suite, like many protocol suites, may be viewed as a set of layers. Each layer solves a set of problems involving the transmission of data, and provides a well-defined service to the upper layer protocols based on using services from some lower layers. Upper layers are logically closer to the user and deal with more abstract data, relying on lower layer protocols to translate data into forms that can eventually be physically transmitted.

The TCP/IP model consists of four layers (RFC 1122).[1][2] From lowest to highest, these are the Link Layer, the Internet Layer, the Transport Layer, and the Application Layer.

Contents

1 History

History

The Internet Protocol Suite resulted from work done by Defense Advanced Research Projects Agency (DARPA) in the early 1970s. After building the pioneering ARPANET in 1969, DARPA started work on a number of other data transmission technologies. In 1972, Robert E. Kahn was hired at the DARPA Information Processing Technology Office, where he worked on both satellite packet networks and ground-based radio packet networks, and recognized the value of being able to communicate across them. In the spring of 1973, Vinton Cerf, the developer of the existing ARPANET Network Control Program (NCP) protocol, joined Kahn to work on open-architecture interconnection models with the goal of designing the next protocol generation for the ARPANET.

By the summer of 1973, Kahn and Cerf had worked out a fundamental reformulation, where the differences between network protocols were hidden by using a common internetwork protocol, and, instead of the network being responsible for reliability, as in the ARPANET, the hosts became responsible. Cerf credits Hubert Zimmerman and Louis Pouzin, designer of the CYCLADES network, with important influences on this design.

With the role of the network reduced to the bare minimum, it became possible to join almost any networks together, no matter what their characteristics were, thereby solving Kahn's initial problem. One popular saying has it that TCP/IP, the eventual product of Cerf and Kahn's work, will run over "two tin cans and a string." There is even an implementation designed to run using homing pigeons, IP over Avian Carriers, documented in RFC 1149. [3] [4].

A computer called a router (a name changed from gateway to avoid confusion with other types of gateways) is provided with an interface to each network, and forwards packets back and forth between them. Requirements for routers are defined in (Request for Comments 1812). [5]

The idea was worked out in more detailed form by Cerf's networking research group at Stanford in the 1973–74 period, resulting in the first TCP specification (Request for Comments 675) [6] (The early networking work at Xerox PARC, which produced the PARC Universal Packet protocol suite, much of which existed around the same period of time (i.e. contemporaneous), was also a significant technical influence; people moved between the two).

DARPA then contracted with BBN Technologies, Stanford University, and the University College London to develop operational versions of the protocol on different hardware platforms. Four versions were developed: TCP v1, TCP v2, a split into TCP v3 and IP v3 in the spring of 1978, and then stability with TCP/IP v4 — the standard protocol still in use on the Internet today.

In 1975, a two-network TCP/IP communications test was performed between Stanford and University College London (UCL). In November, 1977, a three-network TCP/IP test was conducted between the U.S., UK, and Norway. Between 1978 and 1983, several other TCP/IP prototypes were developed at multiple research centers. A full switchover to TCP/IP on the ARPANET took place January 1, 1983.[7]

In March 1982, the US Department of Defense made TCP/IP the standard for all military computer networking.[8] In 1985, the Internet Architecture Board held a three day workshop on TCP/IP for the computer industry, attended by 250 vendor representatives, helping popularize the protocol and leading to its increasing commercial use.

On November 9, 2005 Kahn and Cerf were presented with the Presidential Medal of Freedom for their contribution to American culture.

Layers in the Internet Protocol Suite

The concept of layers

The TCP/IP suite uses encapsulation to provide abstraction of protocols and services. Such encapsulation usually is aligned with the division of the protocol suite into layers of general functionality. In general, an application (the highest level of the model) uses a set of protocols to send its data down the layers, being further encapsulated at each level.

This may be illustrated by an exmple network scenario, in which two Internet host computers communicate across local network boundaries constituted by their internetworking gateways (routers).

TCP/IP stack operating on two hosts connected via two routers and the corresponding layers used at each hop
Encapsulation of application data descending through the protocol stack.

The functional groups of protocols and methods are the Application Layer, the Transport Layer, the Internet Layer, and the Link Layer (RFC 1122). It should be noted that this model was not intended to be a rigid reference model into which new protocols have to fit in order to be accepted as a standard.

The following table provides some examples of the protocols grouped in their respective layers.

Application DNS, TFTP, TLS/SSL, FTP, Gopher, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP,SMPP, SNMP, SSH, Telnet, Echo, RTP, PNRP, rlogin, ENRP
Routing protocols like BGP and RIP which run over TCP/UDP, may also be considered part of the Internet Layer.
Transport TCP, UDP, DCCP, SCTP, IL, RUDP, RSVP
Internet IP (IPv4, IPv6) ICMP, IGMP, and ICMPv6
OSPF for IPv4 was initially considered IP layer protocol since it runs per IP-subnet, but has been placed on the Link since RFC 2740.
Link ARP, RARP, OSPF (IPv4/IPv6), IS-IS, NDP

Layer names and number of layers in the literature

The following table shows the layer names and the number of layers in the TCP/IP model as presented in widespread university course textbooks on computer networking used today.


Forouzan [9] Comer[10], Kozierok[11] Stallings[12] Tanenbaum[13] Kurose[14], RFC 1122 Cisco Academy[15]

Five layers Five layers Five layers Four layers Four layers Four layers
L5 Application Application Application Application Application Application
L4 Transport Transport Host-to-host or transport Transport Transport Transport
L3 Network Internet Internet Internet Internet Internetwork
L2 Data link Data link (Network interface) Network access Host-to-network Link Network interface
L1 Physical (Hardware) Physical

These textbooks are secondary sources that may contravene the intent of RFC 1122 and other IETF primary sources[16].

Different authors have interpreted the RFCs differently regarding whether the Link Layerphysical layer issues or a "hardware layer" is assumed below the link layer. Some authors have tried to use other names for the link layer, such as Network interface layer, in effort to avoid confusion with the Data link layer of the seven-layer OSI model. Others have attempted to map the Internet Protocol model onto the seven-layer OSI Model. The mapping often results in a five-layer TCP/IP model, wherein the Link Layer is split into a Data Link Layer on top of a Physical Layer. Especially in literature with a bottom-up approach to computer networking, where physical layer issues are emphasized, an evolution towards a five-layer Internet model can be observed out of pedagogical reasons. (and the four-layer TCP/IP model) covers

The Internet Layer is usually directly mapped to the OSI's Network Layer. At the top of the hierarchy, the Transport Layer is always mapped directly into OSI Layer 4 of the same name. OSIs Application Layer, Presentation Layer, and Session Layer are collapsed into TCP/IP's Application Layer. As a result, these efforts result in either a four- or five-layer scheme with a variety of layer names. This has caused considerable confusion in the application of these models. Other authors dispense with rigid pedagogy[17] focusing instead on functionality and behavior.

The Internet protocol stack has never been altered by the Internet Engineering Task Force (IETF) from the four layers defined in RFC 1122. The IETF makes no effort to follow the seven-layer OSI model and does not refer to it in standards-track protocol specifications and other architectural documents. The IETF has repeatedly stated that Internet protocol and architecture development is not intended to be OSI-compliant.

RFC 3439, addressing Internet architecture, contains a section entitled: "Layering Considered Harmful".[16]

[edit] Implementations

Today, most operating systems include and install a TCP/IP stack by default. For most users, there is no need to look for implementations. TCP/IP is included in all commercial UnixMac OS X, and all free-software Unix-like systems such as Linux distributions and BSDMicrosoft Windows operating systems. systems, systems, as well as all

Unique implementations include Lightweight TCP/IP, an open source stack designed for embedded systems and KA9Q NOS, a stack and associated protocols for amateur packet radiopersonal computers connected via serial lines. systems and

See also

References

  1. ^ RFC 1122, Requirements for Internet Hosts -- Communication Layers, R. Braden (ed.), October 1989
  2. ^ RFC 1123, Requirements for Internet Hosts -- Application and Support, R. Braden (ed.), October 1989
  3. ^ D. Weitzmann (April 1990). "[http:www.isi.edu/in-notes/rfc1149.txt A Standard for the Transmission of IP Datagrams on Avian Carriers]". Internet Engineering Task Force. Retrieved on 2007-11-20.
  4. ^ Bergen Linux User Group (April 2001). "The informal report from the RFC 1149 event".
  5. ^ F. Baker (June 1995). "Requirements for IP Routers".
  6. ^ V.Cerf et al (December 1974). "Specification of Internet Transmission Control Protocol".
  7. ^ Internet History
  8. ^ Ronda Hauben. "From the ARPANET to the Internet". TCP Digest (UUCP). Retrieved on 2007-07-05.
  9. ^ Behrouz A. Forouzan, Data Communications and Networking
  10. ^ Douglas E. Comer, Internetworking with TCP/IP: Principles, Protocols and Architecture, Pearson Prentice Hall 2005, ISBN 0131876716
  11. ^ Charles M. Kozierok, "The TCP/IP Guide", No Starch Press 2005
  12. ^ William Stallings, Data and Computer Communications, Prentice Hall 2006, ISBN 0132433109
  13. ^ Andrew S. Tanenbaum, Computer Networks, Prentice Hall 2002, ISBN 0130661023
  14. ^ James F. Kurose, Keith W. Ross, Computer Networking: A Top-Down Approach, 2007, ISBN 0321497708
  15. ^ Mark Dye, Mark A. Dye, Wendell, Network Fundamentals: CCNA Exploration Companion Guide, 2007, ISBN 1587132087
  16. ^ a b R. Bush; D. Meyer (December 2002), Some Internet Architectural Guidelines and Philosophy, Internet Engineering Task Force, http://www.isi.edu/in-notes/rfc3439.txt, retrieved on 20 November 2007
  17. ^ IP Fundamentals: What Everyone Needs to Know About Addressing and Routing, T. Maufer, Computer Networks, Prentice Hall 1999, ISBN 0130661023

Further reading

External links

Network Control Program

The ARPANET Network Control Program (NCP) provided the middle layers of the protocol stack running on an ARPANET host computer. (Sometimes the abbreviation NCP is mistakenly expanded to Network Control Protocol, but this term is not found in the contemporary documentation.)

NCP provided connections and flow control between processes running on different ARPANET host computers. Application services, like e-mail or file transfer, were built on top of NCP, using it to handle connections to other host computers.

On the ARPANET, the physical layer, the data link layer, and the network layer protocols used internally to the network were implemented on separate Interface Message Processors, called IMPs. The host usually connected to the IMP using another kind of interface, with different physical, data link and network layer specifications. The IMP's capabilities were specified by the Host/IMP Protocol in BBN Report 1822.

Since lower protocol layers were provided by the IMP-host interface, NCP essentially provided a transport layer consisting of the ARPANET Host-to-Host Protocol (AHHP) and the Initial Connection Protocol (ICP). The AHHP defined procedures to transmit a unidirectional, flow controlled data stream between two hosts. The ICP defined the procedure for establishing a bidirectional pair of such streams between a pair of host processes. Application protocols (e.g. FTP, SMTP, etc.) accessed network services through an interface to the top layer of the NCP, a forerunner to the Berkeley sockets interface.

On January 1 1983, known as flag day, NCP was rendered obsolete when the ARPANET changed its core networking protocols from NCP to the more flexible and powerful TCP/IP protocol suite, marking the start of the Internet as we know it today.

Further reading

  • S. Crocker (16 March 1970). "Protocol Notes". RFC 36. Network Working Group (now IETF). Retrieved on 2006-05-21.
  • Postel, Jon; Feinler, E. (1978). ARPANET Protocol Handbook. Menlo Park, CA: Network Information Center.
  • BBN (May 1978). "Interface Message Processor -- Specifications for the Interconnection of a Host and an IMP". BBN Report 1822. Bolt, Beranek, and Newman, Inc..

Router

A router (pronounced /'rautər/ in the USA and Canada, pronounced /'ru:tər/ in the UK and Ireland, or either pronunciation in Australia) is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers.

Routers connect two or more logical subnets, which do not necessarily map one-to-one to the physical interfaces of the router.[1] The term "layer 3 switch" often is used interchangeably with router, but switch is a general term without a rigorous technical definition. In marketing usage, it is generally optimized for Ethernet LAN interfaces and may not have other physical interface types. In comparison a network hub does not do any routing, instead every packet it receives on one network line gets forwarded to the other network lines.

Routers operate in two different planes [2]:

  • Control plane, in which the router learns the outgoing interface that is most appropriate for forwarding specific packets to specific destinations,
  • Forwarding plane, which is responsible for the actual process of sending a packet received on a logical interface to an outbound logical interface.

Contents

General information

Routers generally contain a specialized operating system (e.g. Cisco's IOS or Juniper NetworksExtreme Networks XOS), RAM, NVRAM, flash memory, and one or more processors, as well as two or more network interfaces. Except for multiple network interfaces this is typical of an embedded computer. JUNOS and JUNOSe or

High-end routers contain many processors and specialized Application-specific integrated circuits (ASICs) and do a great deal of parallel processing. Chassis based systems like the NortelMERS-8600 or ERS-8600 routing switch, (pictured right) have multiple ASICs on every module and allow for a wide variety of LAN, MAN, METRO, and WAN technology ports or other, customizable connections. Simpler routers are used where cost is more important and traffic is less, for example, in providing a home Internet service. With the appropriate software (such as Untangle, SmoothWall, XORP or Quagga), an ordinary personal computer can become a router.

Control plane

Main article: Control Plane
Routers are like intersections whereas switches are like streets.

Control plane processing leads to the construction of what is variously called a routing table or routing information base (RIB). The RIB may be used by the Forwarding Plane to look up the outbound interface for a given packet, or, depending on the router implementation, the Control Plane may populate a separate forwarding information base (FIB) with destination information. RIBs are optimized for efficient updating with control mechanisms such as routing protocols, while FIBs are optimized for the fastest possible lookup of the information needed to select the outbound interface.

The Control Plane constructs the routing table from knowledge of the up/down status of its local interfaces, from hard-coded static routes, and from exchanging routing protocol information with other routers. It is not compulsory for a router to use routing protocols to function, if for example it was configured solely with static routes. The routing table stores the best routes to certain network destinations, the "routing metrics" [ex:time delay,distance,queue length] associated with those routes, and the path to the next hop router.

Routers do maintain state on the routes in the RIB/routing table, but this is quite distinct from not maintaining state on individual packets that have been forwarded.

Forwarding plane (a.k.a. data plane)

Main article: Forwarding plane

For the pure Internet Protocol (IP) forwarding function, router design tries to minimize the state information kept on individual packets. Once a packet is forwarded, the router should no longer retain statistical information about it. It is the sending and receiving endpoints that keeps information about such things as errored or missing packets.

Forwarding decisions can involve decisions at layers other than the IP internetwork layer or OSI layer 3. Again, the marketing term switch can be applied to devices that have these capabilities. A function that forwards based on data link layer, or OSI layer 2, information, is properly called a bridge. Marketing literature may call it a layer 2 switch, but a switch has no precise definition.

Among the most important forwarding decisions is deciding what to do when congestion occurs, i.e., packets arrive at the router at a rate higher than the router can process. Three policies commonly used in the Internet are Tail drop, Random early detection, and Weighted random early detection. Tail drop is the simplest and most easily implemented; the router simply drops packets once the length of the queue exceeds the size of the buffers in the router. Random early detection (RED) probabilistically drops datagrams early when the queue exceeds a configured size. Weighted random early detection requires a weighted average queue size to exceed the configured size, so that short bursts will not trigger random drops.

Types of routers

Routers may provide connectivity inside enterprises, between enterprises and the Internet, and inside Internet Service Providers (ISP). The largest routers (for example the Cisco CRS-1 or Juniper T1600) interconnect ISPs, are used inside ISPs, or may be used in very large enterprise networks. The smallest routers provide connectivity for small and home offices.

Routers for Internet connectivity and internal use

Routers intended for ISP and major enterprise connectivity will almost invariably exchange routing information with the Border Gateway Protocol. RFC 4098[3] defines several types of BGP-speaking routers:

  • Provider Edge Router: Placed at the edge of an ISP network, it speaks external BGP (eBGP) to a BGP speaker in another provider or large enterprise Autonomous System (AS).
  • Subscriber Edge Router: Located at the edge of the subscriber's network, it speaks eBGP to its provider's AS(s). It belongs to an end user (enterprise) organization.
  • Inter-provider Border Router: Interconnecting ISPs, this is a BGP speaking router that maintains BGP sessions with other BGP speaking routers in other providers' ASes.
  • Core router: A router that resides within the middle or backbone of the LAN network rather than at its periphery.
Within an ISP: Internal to the provider's AS, such a router speaks internal BGP (iBGP) to that provider's edge routers, other intra-provider core routers, or the provider's inter-provider border routers.
"Internet backbone:" The Internet does not have a clearly identifiable backbone, as did its predecessors. See default-free zone (DFZ). Nevertheless, it is the major ISPs' routers that make up what many would consider the core. These ISPs operate all four types of the BGP-speaking routers described here. In ISP usage, a "core" router is internal to an ISP, and used to interconnect its edge and border routers. Core routers may also have specialized functions in virtual private networks based on a combination of BGP and Multi-Protocol Label Switching (MPLS)[4].

Router's are also used for port fowarding for private servers.

Small Office Home Office (SOHO) connectivity

Main article: Residential gateway

Residential gateways (often called routers) are frequently used in homes to connect to a broadband service, such as IP over cable or DSL. A home router may allow connectivity to an enterprise via a secure Virtual Private Network.

While functionally similar to routers, residential gateways use port address translation in addition to routing. Instead of connecting local computers to the remote network directly, a residential gateway makes multiple local computers appear to be a single computer.

Enterprise routers

All sizes of routers may be found inside enterprises. The most powerful routers tend to be found in ISPs but academic and research facilities, as well as large businesses, may also need large routers.

A three-layer model is in common use, not all of which need be present in smaller networks [5].

Access

Access routers,including SOHO, are located at customer sites such as branch offices that do not need hierarchical routing of their own. Typically, they are optimized for low cost.

Distribution

Distribution routers aggregate traffic from multiple access routers, either at the same site, or to collect the data streams from multiple sites to a major enterprise location. Distribution routers often are responsible for enforcing quality of service across a WAN, so they may have considerable memory, multiple WAN interfaces, and substantial processing intelligence.

They may also provide connectivity to groups of servers or to external networks. In the latter application, the router's functionality must be carefully considered as part of the overall security architecture. Separate from the router may be a Firewall or VPN concentrator, or the router may include these and other security functions.

When an enterprise is primarily on one campus, there may not be a distinct distribution tier, other than perhaps off-campus access. In such cases, the access routers, connected to LANs, interconnect via core routers.

Core

In enterprises, core router may provide a "collapsed backbone" interconnecting the distribution tier routers from multiple buildings of a campus, or large enterprise locations. They tend to be optimized for high bandwidth.

When an enterprise is widely distributed with no central location(s), the function of core routing may be subsumed by the WAN service to which the enterprise subscribes, and the distribution routers become the highest tier.

History

A Cisco ASM/2-32EM router deployed at CERN in 1987.

The very first device that had fundamentally the same functionality as a router does today, i.e a packet switch, was the Interface Message Processor (IMP); IMPs were the devices that made up the ARPANET, the first packet switching network. The idea for a router (although they were called "gateways" at the time) initially came about through an international group of computer networking researchers called the International Network Working Group (INWG). Set up in 1972 as an informal group to consider the technical issues involved in connecting different networks, later that year it became a subcommittee of the International Federation for Information Processing. [6]

These devices were different from most previous packet switches in two ways. First, they connected dissimilar kinds of networks, such as serial lines and local area networks. Second, they were connectionless devices, which had no role in assuring that traffic was delivered reliably, leaving that entirely to the hosts (although this particular idea had been previously pioneered in the CYCLADES network).

The idea was explored in more detail, with the intention to produce real prototype system, as part of two contemporaneous programs. One was the initial DARPA-initiated program, which created the TCP/IP architecture of today. [7] The other was a program at Xerox PARC to explore new networking technologies, which produced the PARC Universal Packet system, although due to corporate intellectual property concerns it received little attention outside Xerox until years later. [8]

The earliest Xerox routers came into operation sometime after early 1974. The first true IP router was developed by Virginia Strazisar at BBN, as part of that DARPA-initiated effort, during 1975-1976. By the end of 1976, three PDP-11-based routers were in service in the experimental prototype Internet. [9]

The first multiprotocol routers were independently created by staff researchers at MIT and Stanford in 1981; the Stanford router was done by William Yeager, and the MIT one by Noel Chiappa; both were also based on PDP-11s. [10] [11] [12] [13]

As virtually all networking now uses IP at the network layer, multiprotocol routers are largely obsolete, although they were important in the early stages of the growth of computer networking, when several protocols other than TCP/IP were in widespread use. Routers that handle both IPv4 and IPv6 arguably are multiprotocol, but in a far less variable sense than a router that processed AppleTalk, DECnet, IP, and Xerox protocols.

In the original era of routing (from the mid-1970s through the 1980s), general-purpose mini-computers served as routers. Although general-purpose computers can perform routing, modern high-speed routers are highly specialized computers, generally with extra hardware added to accelerate both common routing functions such as packet forwarding and specialised functions such as IPsec encryption.

Still, there is substantial use of Linux and Unix machines, running open source routing code, for routing research and selected other applications. While Cisco's operating system was independently designed, other major router operating systems, such as those from Juniper Networks and Extreme Networks, are extensively modified but still have Unix ancestry.

See also

Look up router in Wiktionary, the free dictionary.

References

  1. ^ Requirements for IPv4 Routers,RFC 1812, F. Baker,June 1995
  2. ^ Requirements for Separation of IP Control and Forwarding,RFC 3654, H. Khosravi & T. Anderson,November 2003
  3. ^ Terminology for Benchmarking BGP Device Convergence in the Control Plane,RFC 4098, H. Berkowitz et al.,June 2005
  4. ^ BGP/MPLS VPNs,RFC 2547, E. Rosen and Y. Rekhter,April 2004
  5. ^ Oppenheimer, Priscilla (2004). Top-Down Network Design. Indianapolis: Cisco Press. ISBN 1587051524.
  6. ^ Davies, Shanks, Heart, Barker, Despres, Detwiler, and Riml, "Report of Subgroup 1 on Communication System", INWG Note #1.
  7. ^ Vinton Cerf, Robert Kahn, "A Protocol for Packet Network Intercommunication", IEEE Transactions on Communications, Volume 22, Issue 5, May 1974, pp. 637 - 648.
  8. ^ David Boggs, John Shoch, Edward Taft, Robert Metcalfe, "Pup: An Internetwork Architecture", IEEE Transactions on Communications, Volume 28, Issue 4, April 1980, pp. 612- 624.
  9. ^ Craig Partridge, S. Blumenthal, "Data networking at BBN"; IEEE Annals of the History of Computing, Volume 28, Issue 1; January-March 2006.
  10. ^ Valley of the Nerds: Who Really Invented the Multiprotocol Router, and Why Should We Care?, Public Broadcasting Service, Accessed August 11, 2007.
  11. ^ Router Man, NetworkWorld, Accessed June 22, 2007.
  12. ^ David D. Clark, "M.I.T. Campus Network Implementation", CCNG-2, Campus Computer Network Group, M.I.T., Cambridge, 1982; pp. 26.
  13. ^ Pete Carey, "A Start-Up's True Tale: Often-told story of Cisco's launch leaves out the drama, intrigue", San Jose Mercury News, December 1, 2001.