FACTOID # 13: The United States spends more money on its military than the next 12 nations combined.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Transport layer

In computing and telecommunications, the transport layer is the second highest layer in the four and five layer TCP/IP reference models, where it responds to service requests from the application layer and issues service requests to the Internet layer. It is also the name of layer four of the seven layer OSI model, where it responds to service requests from the session layer and issues service requests to the network layer. The definitions of the transport layer are slightly different in these two models. This article primarily refers to the TCP/IP model. See also the OSI model definition of the transport layer. Memory (Random Access Memory) Look up computing in Wiktionary, the free dictionary. ... Telecommunication involves the transmission of signals over a distance for the purpose of communication. ... The TCP/IP reference model or TCP/IP model, sometimes called the DoD model (DoD, Department of Defense), ARPANET reference model or the Internet reference model, is a layered abstract description for communications and computer network protocol design. ... The application layer is the seventh level of the seven-layer OSI model. ... The network layer is third layer out of seven in OSI model and it is the third layer out of five in TCP/IP model. ... The Open Systems Interconnection Basic Reference Model (OSI Reference Model or OSI Model for short) is a layered, abstract description for communications and computer network protocol design, developed as part of Open Systems Interconnection (OSI) initiative. ... The session layer is level five of the seven level OSI model. ... The network layer is third layer out of seven in OSI model and it is the third layer out of five in TCP/IP model. ... The Open Systems Interconnection Basic Reference Model (OSI Reference Model or OSI Model for short) is a layered, abstract description for communications and computer network protocol design, developed as part of Open Systems Interconnection (OSI) initiative. ...

The five-layer TCP/IP model
5. Application layer

DHCPDNSFTPGopherHTTPIMAP4IRCNNTPXMPPMIMEPOP3SIPSMTPSNMPSSHTELNETRPC • RTP • RTCPTLS/SSLSDPSOAPVPN • PPTP • L2TPGTPSTUNNTP • … The TCP/IP model or Internet reference model, sometimes called the DoD model (DoD, Department of Defense), ARPANET reference model, is a layered abstract description for communications and computer network protocol design. ... The application layer is the seventh level of the seven-layer OSI model. ... (DHCP) is a set of rules used by a communications device such as a computer, router or network adapter to allow the device to request and obtain an IP address from a server which has a list of addresses available for assignment. ... It has been suggested that this article be split into multiple articles. ... “FTP” redirects here. ... Gopher is a distributed document search and retrieval network protocol designed for the Internet. ... Hypertext Transfer Protocol (HTTP) is a communications protocol used to transfer or convey information on the World Wide Web. ... The Internet Message Access Protocol (commonly known as IMAP or IMAP4, and previously called Internet Mail Access Protocol, Interactive Mail Access Protocol (RFC 1064), and Interim Mail Access Protocol [1] ) is an application layer Internet protocol operating on port 143 that allows a local client to access e-mail on... Internet Relay Chat (IRC) is a form of real-time Internet chat or synchronous conferencing. ... The Network News Transfer Protocol or NNTP is an Internet application protocol used primarily for reading and posting Usenet articles, as well as transferring news among news servers. ... Extensible Messaging and Presence Protocol, or XMPP, is an open, XML-based protocol for near real-time extensible messaging and presence events. ... Multipurpose Internet Mail Extensions (MIME) is an Internet Standard that extends the format of e-mail to support: text in character sets other than US-ASCII; non-text attachments; multi-part message bodies; and header information in non-ASCII character sets. ... In computing, local e-mail clients use the Post Office Protocol version 3 (POP3), an application-layer Internet standard protocol, to retrieve e-mail from a remote server over a TCP/IP connection. ... The Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. ... Simple Mail Transfer Protocol (SMTP) is the de facto standard for e-mail transmissions across the Internet. ... The simple network management protocol (SNMP) forms part of the internet protocol suite as defined by the Internet Engineering Task Force (IETF). ... Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. ... For the packet switched network, see Telenet. ... Remote procedure call (RPC) is a protocol that allows a computer program running on one computer to cause a subroutine on another computer to be executed without the programmer explicitly coding the details for this interaction. ... The Real-time Transport Protocol (or RTP) defines a standardized packet format for delivering audio and video over the Internet. ... RTP Control Protocol (RTCP) is a sister protocol of the Real-time Transport Protocol (RTP). ... This article or section does not adequately cite its references or sources. ... Session Description Protocol (SDP), is a format for describing streaming media initialization parameters. ... It has been suggested that Handmade soap be merged into this article or section. ... A Virtual Private Network, or VPN, is a private communications network usually used within a company, or by several different companies or organizations, communicating over a public network. ... The Point-to-Point Tunneling Protocol (PPTP) is a method for implementing virtual private networks. ... In computer networking, the Layer 2 Tunneling Protocol (L2TP) is a tunneling protocol used to support virtual private networks (VPNs). ... GPRS Tunneling Protocol (or GTP) is an IP based protocol used within GSM and UMTS networks. ... STUN is (Simple Traversal Underneath Network Address Translators (NAT)) is a network protocol allowing clients behind NAT (or multiple NATs) to find out its public address, the type of NAT it is behind and the internet side port associated by the NAT with a particular local port. ... The Network Time Protocol (NTP) is a protocol for synchronizing the clocks of computer systems over packet-switched, variable-latency data networks. ...

4. Transport layer

TCPUDPDCCPSCTP • … The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite, often simply referred to as TCP/IP. Using TCP, applications on networked hosts can create connections to one another, over which they can exchange streams of data using Stream Sockets. ... User Datagram Protocol (UDP) is one of the core protocols of the Internet protocol suite. ... The Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer protocol that is currently under development in the IETF. Applications that might make use of DCCP include those with timingconstraints on the delivery of data such that reliable in-order delivery, when combined with congestion control, is likely... In the field of computer networking, the IETF Signaling Transport (SIGTRAN) working group defined the Stream Control Transmission Protocol (SCTP) as a transport layer protocol in 2000. ...

3. Internet layer

IP (IPv4IPv6) • IGMPICMPRSVPBGPRIPOSPFISISIPsecARPRARP • … The network layer is third layer out of seven in OSI model and it is the third layer out of five in TCP/IP model. ... The Internet Protocol (IP) is a data-oriented protocol used for communicating data across a packet-switched internetwork. ... Internet Protocol version 4 is the fourth iteration of the Internet Protocol (IP) and it is the first version of the protocol to be widely deployed. ... Internet Protocol version 6 (IPv6) is a network layer protocol for packet-switched internetworks. ... The Internet Group Management Protocol is a communications protocol used to manage the membership of Internet Protocol multicast groups. ... The (ICMP) is one of the core protocols of the Internet protocol suite. ... The Resource ReSerVation Protocol (RSVP), described in RFC 2205, is a transport layer protocol designed to reserve resources across a network for an integrated services Internet. ... The Border Gateway Protocol (BGP) is the core routing protocol of the Internet. ... This article is chiefly about the Routing Information Protocol for IPv4 and IPv6. ... The Open Shortest Path First (OSPF) protocol is a hierarchical interior gateway protocol (IGP) for routing in Internet Protocol, using a link-state in the individual areas that make up the hierarchy. ... Intermediate system to intermediate system (IS-IS), is an IGP routing protocol originally designed for CLNS as part of the OSI protocol stack and described in ISO 10589 . ... IPsec (IP security) is a suite of protocols for securing Internet Protocol (IP) communications by authenticating and/or encrypting each IP packet in a data stream. ... In computer networking, the Address Resolution Protocol (ARP) is the method for finding a hosts hardware address when only its network layer address is known. ... Reverse address resolution protocol (RARP) is a protocol used to resolve an IP address from a given hardware address (such as an Ethernet address). ...

2. Data link layer

802.11ATMDTMEthernetFDDIFrame RelayGPRS • EVDO • HSPA • HDLC • PPP • … This article does not cite any references or sources. ... IEEE 802. ... Asynchronous Transfer Mode (ATM) is a cell relay, Circuit switching network and data link layer protocol which encodes data traffic into small (53 bytes; 48 bytes of data and 5 bytes of header information) fixed-sized cells. ... Dynamic synchronous Transfer Mode , or DTM for short, is a network protocol. ... Ethernet is a large, diverse family of frame-based computer networking technologies that operates at many speeds for local area networks (LANs). ... In computer networking, fiber-distributed data interface (FDDI) is a standard for data transmission in a local area network that can extend in range up to 200 km (124 miles). ... In the context of computer networking, frame relay (also found written as frame-relay) consists of an efficient data transmission technique used to send digital information quickly and cheaply in a relay of frames to one or many destinations from one or many end-points. ... General Packet Radio Service (GPRS) is a mobile data service available to users of GSM and IS-136 mobile phones. ... Evolution-Data Optimized or Evolution-Data only, abbreviated as EV-DO or EVDO and often EV, is one telecommunications standard for the wireless transmission of data through radio signals, typically for broadband Internet access. ... High-Speed Packet Access (HSPA) is a collection of mobile telephony protocols that extend and improve the performance of existing UMTS protocols. ... High-Level Data Link Control (HDLC) is a bit-oriented synchronous data link layer protocol developed by the International Organization for Standardization (ISO). ... In computing, the Point-to-Point Protocol, or PPP, is commonly used to establish a direct connection between two nodes. ...

1. Physical layer

Ethernet physical layerISDNModemsPLCSONET/SDHG.709WiMAX • … This article does not cite any references or sources. ... IEEE photograph of a diagram with the original terms for describing Ethernet drawn by Robert M. Metcalfe around 1976. ... // Integrated Services Digital Network (ISDN) is a circuit-switched telephone network system, designed to allow digital transmission of voice and data over ordinary telephone copper wires, resulting in better quality and higher speeds than that is available with the PSTN system. ... A modem (from modulate and demodulate) is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. ... For other uses, see Power band. ... It has been suggested that this article be split into articles entitled Synchronous optical networking, SONET and Synchronous digital hierarchy. ... There are very few or no other articles that link to this one. ... WiMAX is defined as Worldwide Interoperability for Microwave Access by the WiMAX Forum, formed in June 2001 to promote conformance and interoperability of the IEEE 802. ...

This box: view  talk  edit

A transport protocol is a protocol on the transport layer. The two most widely used transport protocols on the Internet are the connection oriented TCP (Transmission Control Protocol), and UDP (User Datagram Protocol). TCP is the more complicated and most common. Other options are the Datagram Congestion Control Protocol (DCCP) and Stream Control Transmission Protocol (SCTP). For other senses of this word, see protocol. ... The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite, often simply referred to as TCP/IP. Using TCP, applications on networked hosts can create connections to one another, over which they can exchange streams of data using Stream Sockets. ... User Datagram Protocol (UDP) is one of the core protocols of the Internet protocol suite. ... The Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer protocol that is currently under development in the IETF. Applications that might make use of DCCP include those with timingconstraints on the delivery of data such that reliable in-order delivery, when combined with congestion control, is likely... In the field of computer networking, the IETF Signaling Transport (SIGTRAN) working group defined the Stream Control Transmission Protocol (SCTP) as a transport layer protocol in 2000. ...


The transport layer is typically handled by processes in the host computer operational system, and not by routers and switches. The transport layer usually turns the unreliable and very basic service provided by the Network layer into a more powerful one.


In the TCP/IP model, the transport layer is responsible for delivering data to the appropriate application process on the host computers. This involves statistical multiplexing of data from different application processes, i.e. forming data packets, and adding source and destination port numbers in the header of each transport layer data packet. Together with the source and destination IP address, the port numbers constitutes a network socket, i.e. an identificiation address of the process-to-process communication. In the OSI model, this function is supported by the session layer. Statistical multiplexing is similar to time-division multiplexing (TDM), except that, rather than arbitrarily assigning a time slot to each signal, each signal is assigned a slot according to priority and need. ... An Internet socket (or commonly, a socket or network socket), is a communication end-point unique to a machine communicating on an Internet Protocol-based network, such as the Internet. ... The session layer is level five of the seven level OSI model. ...


Some transport layer protocols, for example TCP but not UDP, support virtual circuits, i.e. provide connection oriented communication over an underlying packet oriented datagram network. A byte-stream is delivered while hiding the packet mode communication for the application processes. This involves connection establishment, dividing of the data stream into packets called segments, segment numbering and reordering of out-of order data. A virtual circuit (VC) is a communications arrangement in which data from a source user may be passed to a destination user over more than one real communications circuit during a single period of communication, but the switching is hidden from the users. ... A connection-oriented networking protocol is one which identifies traffic flows by some connection identifier rather than by explicitly listing source and destination addresses. ... A packet is the fundamental unit of information carriage in all modern computer networks. ...


Finally, some transport layer protocols, for example TCP but not UDP, provides end-to-end reliable communication, i.e. error recovery by means of error detecting code and automatic repeat request (ARQ) protocol. The ARQ protocol also provides flow control, which may be combined with congestion avoidance. It has been suggested that this article or section be merged with SEC-DED. (Discuss) In mathematics, computer science, telecommunication, and information theory, error detection and correction has great practical importance in maintaining data (information) integrity across noisy channels and less-than-reliable storage media. ... Automatic Repeat-reQuest (ARQ) is an error control method for data transmission which makes use of acknowledgments and timeouts to achieve reliable data transmission. ... The flow control mechanism is used for controlling the flow of data in a network under well-defined conditions, while congestion control is used for controlling the flow of data when congestion has actually occurred . ... Network congestion avoidance is a process used in computer networks to avoid congestion. ...


UDP is a very simple service, and does not provide virtual circuits, nor reliable communication, leaving these to the application. The UDP packets are called datagrams rather than segments. This article or section does not cite any references or sources. ... A packet is the fundamental unit of information carriage in all modern computer networks. ...


TCP is used for for example HTTP web browsing and email transfer. UDP may be used for multicasting and broadcasting, since retransmissions are not possible to a large amount of hosts. UDP typically gives higher throughput and shorter latency, and is therefor often used for realtime multimedia communication where packet loss occasionally can be accepted, for example IP-TV and IP-telephony, and for online computer games. HTTP (for HyperText Transfer Protocol) is the primary method used to convey information on the World Wide Web. ... Multicast is the delivery of information to multiple destinations simultaneously using the most efficient strategy to deliver the messages over each link of the network only once and only create copies when the links to the destinations split. ... Broadcasting is the distribution of audio and/or video signals which transmit programs to an audience. ... In information technology, throughput is the rate at which a computer or network sends or receives data. ...


In many non-IP-based networks, for example X.25, Frame Relay and ATM, the connection oriented communication is implemented at network layer or data link layer rather than the transport layer. In X.25, in telephone network modems and in wireless communication systems, reliable node-to-node communication is implemented at lower protocol layers. X.25 is an ITU-T standard protocol suite for wide area networks using leased lines, the phone or ISDN system as the networking hardware. ... In the context of computer networking, frame relay (also found written as frame-relay) consists of an efficient data transmission technique used to send digital information quickly and cheaply in a relay of frames to one or many destinations from one or many end-points. ... ATM or atm could refer to: Asynchronous Transfer Mode, a telecommunications protocol Actun Tunichil Muknal, Cave in Belize Adobe Type Manager, typeface management software from Adobe Systems Advanced Traffic Management and Arterial Traffic Management, terms used in the Intelligent Transportation System industry Air Traffic Management (includes air traffic control, air...


In the OSI/X.25 protocol suite, there are five classes of the OSI transport protocol, ranging from class 0 (which is also known as TP0 and provides the least error recovery) to class 4 (which is also known as TP4 and is designed for less reliable networks, similar to the Internet). X.25 is an ITU-T standard protocol suite for wide area networks using the phone or ISDN system as the networking hardware. ... This article or section does not adequately cite its references or sources. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ...


List of transport layer services

There is a long list of services that can be optionally provided by the transport layer. None of them are compulsory, because not all applications want all the services available. Some can be wasted overhead, or even counterproductive in some cases.

Connection-oriented
This is normally easier to deal with than connection-less models, so where the Network layer only provides a connection-less service, often a connection-oriented service is built on top of that in the Transport layer.
Same Order Delivery
The Network layer doesn't generally guarantee that packets of data will arrive in the same order that they were sent, but often this is a desirable feature, so the Transport layer provides it. The simplest way of doing this is to give each packet a number, and allow the receiver to reorder the packets.
Reliable Data
Packets may be lost in routers, switches, bridges and hosts due to network congestion, when the packet queues are filled and the network nodes have to delete packets. Packets may be lost or corrupted in for example Ethernet due to interference and noise, since Ethernet does not retransmit corrupt packets. Packets may be delivered in the wrong order by an underlying network. Some transport layer protocols, for example TCP, can fix this. By means of an error detection code, for example a checksum, the transport protocol may check that the data is not corrupted, and verify that by sending an ACK message to the sender. Automatic repeat request schemes may be used to retransmit lost or corrupted data. By introducing segment numbering in the transport layer packet headers, the packets can be sorted in order. Of course, error free is impossible, but it is possible to substantially reduce the numbers of undetected errors.
Flow Control
The amount of memory on a computer is limited, and without flow control a larger computer might flood a computer with so much information that it can't hold it all before dealing with it. Nowadays, this is not a big issue, as memory is cheap while bandwidth is comparatively expensive, but in earlier times it was more important. Flow control allows the receiver to say "Whoa!" before it is overwhelmed. Sometimes this is already provided by the network, but where it is not, the Transport layer may add it on.
Congestion avoidance
Network congestion occurs when a queue buffer of a network node is full and starts to drop packets. Automatic repeat request may keep the network in a congested state. This situation can be avoided by adding congestion avoidance to the flow control, including slow-start. This keeps the bandwidth consumption at a low level in the beginning of the transmission, or after packet retransmission.
Byte orientation
Rather than dealing with things on a packet-by-packet basis, the Transport layer may add the ability to view communication just as a stream of bytes. This is nicer to deal with than random packet sizes, however, it rarely matches the communication model which will normally be a sequence of messages of user defined sizes.
Ports
(Part of the transport layer in the TCP/IP model, but of the session layer in the OSI model) Ports are essentially ways to address multiple entities in the same location. For example, the first line of a postal address is a kind of port, and distinguishes between different occupants of the same house. Computer applications will each listen for information on their own ports, which is why you can use more than one network-based application at the same time.

A connection-oriented networking protocol is one which identifies traffic flows by some connection identifier rather than by explicitly listing source and destination addresses. ... In computer networking, a reliable protocol is one that ensures data arrival via some internal method, as opposed to an unreliable protocol, which does not guarantee that all the data will arrive intact (or indeed, at all). ... In data networking and queueing theory, network congestion occurs when incremental increases in offered load lead either only to small increases in network throughput, or to an actual reduction in network throughput. ... The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite, often simply referred to as TCP/IP. Using TCP, applications on networked hosts can create connections to one another, over which they can exchange streams of data using Stream Sockets. ... It has been suggested that this article or section be merged with SEC-DED. (Discuss) In mathematics, computer science, telecommunication, and information theory, error detection and correction has great practical importance in maintaining data (information) integrity across noisy channels and less-than-reliable storage media. ... A checksum is a form of redundancy check, a very simple measure for protecting the integrity of data by detecting errors in data that is sent through space (telecommunications) or time (storage). ... In computing, an ACK (also known as an acknowledgment code) is a signal passed between communicating processes or computers to signify acknowledgement, or receipt of response, as part of a communications protocol. ... Automatic Repeat-reQuest (ARQ) is an error control method for data transmission which makes use of acknowledgments and timeouts to achieve reliable data transmission. ... The flow control mechanism is used for controlling the flow of data in a network under well-defined conditions, while congestion control is used for controlling the flow of data when congestion has actually occurred . ... Network congestion avoidance is a process used in computer networks to avoid congestion. ... In data networking and queueing theory, network congestion occurs when incremental increases in offered load lead either only to small increases in network throughput, or to an actual reduction in network throughput. ... Slow-start is part of the congestion control strategy used by TCP, the data transmission protocol used by many Internet applications, such as HTTP and Secure Shell. ... Byte orientation refers to forms of data processing in which digital data are procesed bytewise. ... It has been suggested that this article or section be merged into Computer port (software). ... The TCP/IP model or Internet reference model, sometimes called the DoD model (DoD, Department of Defense), ARPANET reference model, is a layered abstract description for communications and computer network protocol design. ... The session layer is level five of the seven level OSI model. ...

Transport protocol comparison table

UDP TCP DCCP SCTP
Packet header size 8 Bytes 20 Bytes Varies 8 Bytes + Variable Chunk Header
Transport layer packet entity Datagram Segment Datagram Datagram
Port numbering Yes Yes Yes Yes
Error detection Optional Yes Yes Yes
Reliability: Error recovery by automatic repeat request (ARQ) No Yes No Yes
Virtual circuits: Sequence numbering and reordering No Yes Yes Optional
Flow control No Yes Yes Yes
Congestion avoidance: Variable congestion window, slow start, time outs No Yes Yes Yes
Multiple streams No No No Yes

User Datagram Protocol (UDP) is one of the core protocols of the Internet protocol suite. ... The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite, often simply referred to as TCP/IP. Using TCP, applications on networked hosts can create connections to one another, over which they can exchange streams of data using Stream Sockets. ... The Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer protocol that is currently under development in the IETF. Applications that might make use of DCCP include those with timingconstraints on the delivery of data such that reliable in-order delivery, when combined with congestion control, is likely... In the field of computer networking, the IETF Signaling Transport (SIGTRAN) working group defined the Stream Control Transmission Protocol (SCTP) as a transport layer protocol in 2000. ... In the TCP and UDP protocols used in computer networking, a port is a special number present in the header of a data packet. ... In computer science and information theory, error correction consists of using methods to detect and/or correct errors in the transmission or storage of data by the use of some amount of redundant data and (in the case of transmission) the selective retransmission of incorrect segments of the data. ... Automatic Repeat-reQuest (ARQ) is an error control method for data transmission which makes use of acknowledgments and timeouts to achieve reliable data transmission. ... A virtual circuit (VC) is a communications arrangement in which data from a source user may be passed to a destination user over more than one real communications circuit during a single period of communication, but the switching is hidden from the users. ... The flow control mechanism is used for controlling the flow of data in a network under well-defined conditions, while congestion control is used for controlling the flow of data when congestion has actually occurred . ... Network congestion avoidance is a process used in computer networks to avoid congestion. ...

Examples


  Results from FactBites:
 
OSI model - Wikipedia, the free encyclopedia (1224 words)
Usually, the implementation of a protocol is layered in a similar way to the protocol design, with the possible exception of a 'fast path' where the most common transaction allowed by the system may be implemented as a single component encompassing aspects of several layers.
The data link layer provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the Physical layer.
The network layer provides the functional and procedural means of transferring variable length data sequences from a source to a destination via one or more networks while maintaining the quality of service requested by the Transport layer.
Transport layer - Wikipedia, the free encyclopedia (707 words)
In computing and telecommunications, the transport layer is layer four of the seven layer OSI model.
(The datagram-type transport, User Datagram Protocol (UDP), provides neither error recovery, nor flow control, leaving these to the application.) The purpose of the Transport layer is to provide transparent transfer of data between end users, thus relieving the upper layers from any concern with providing reliable and cost-effective data transfer.
The Network layer doesn't generally guarantee that packets of data will arrive in the same order that they were sent, but often this is a desirable feature, so the Transport layer provides it.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.