TCP's & IP's

Home ] Play Scripts ] ESL English Resources ] ESL Business Resources ] PC Resources ]

Professional Foreign Language, Computer Science & Business Training Institute.
Home ] Up ]

 

Skype the following for Online Tutor / English Classes. (Leave a message if busy and we will get back to you. ezderek - ezannie1 - ezeileen1  Skype me here  

Derek

GI Certificate

Home
Up
Contents
News
About Us
ESL Downloads
Feedback
Monthly Topic
Live Chat Room
Live Interview Room
Search
University Surf
Students Organisation

Welcome Number

Hit Counter

Transmission Control Protocol / Internet Protocol (TCP/IP)

Introduction

TCP/IP is a system of protocols for packet switching networks that operates on the OSI model Network Control Layer 3 (IP) and the Transport Control Layer 4 (TCP).  TCP/IP is designed to connect a wide variety of network architectures and is the foundation of what we call the Internet. It is arguable that it is the ability of TCP/IP to increase communication systems' equipment utilization that has been a major factor in the reduction of communication costs; which has in-turn increased the demand for Internet related services.

IP is a network protocol that is ubiquitous.  This situation has fundamentally changed the landscape for computing in that:
bulletthere is now enhanced competition in the network world -- the rate of innovation has increased and the cost of devices has decreased 
bulletcompanies can mix and integrate software, allows for cooperation that moves a company forward
bulletcustomers can get access to their own information which provides for a more efficient business operation by allowing customers to be able to provide their own customer service

Alsop, Stewart (March 12, 1998) Spring Internet World Conference:
Keynote Speech. Los Angles, California

IP is a connectionless-oriented protocol that performs the task of routing and addressing each message or packet between nodes on a network.  TCP is a connection-oriented protocol than ensures that data is delivered error-free.    As a unit,  TCP/IP takes a message to be transmitted to a remote computer, breaks the information into chunks called packets, and sends the packets to the remote computer where they are re-assembled into the original message. Each packet contains a piece of the information (or document, sound, or image) plus an ID tag, such as the addresses of the sending and receiving computers, and where the packet fits in the total message.

ppp.gif (11555 bytes)

Since each packet has its own addressing information, it can travel independently in a network. Because the Internet is a network of interconnected computers (not hierarchical), the packets may each travel different paths to reach their destination. The packets may arrive out of order, or may be damaged and require resending. The sequencing information allows the receiving computer to reconstruct the message.

A variation of this model currently under development is called IP Multicast where a single packet may be sent to multiple addresses. Once developed, the application of Multimedia on the Internet will change. The proposed IPv6 standard will have packet headers to accommodate twice the current number of IP addresses, priority, routing, and packet size information.

TCP/IP Model

The architecture of the TCP/IP model contains four layers, with each layer performing different tasks. When a layer receives a datapacket, it performs its task and sends the packet onto the next level.

 

Network Level
establishes virtual paths between nodes in a network. The specifics of this layer are usually determined by the network equipment and software used by a specific network. Examples include X.25, Ethernet, Asynchronous Transfer Mode (ATM) and Frame-Relay.
Internet Level - IP (Internet Protocol)
IP is a connectionless datagram protocol that describes how to find the one computer out of millions of interconnected computers, and defines standards to transmit messages from one computer to another. The IP hierarchically handles the naming, addressing, and routing of packets. Data is organized in IP packets with destination addresses. The use of the packet addresses allows for the responsibility of error free transmission to be shifted from communication links to computers on an equal peer-to-peer basis. Different networks operating on different protocols can use the Internet Protocol as a basis for communicating via gateways (a gateway designed to interface dissimilar networks.)
Transmission Level
responsible for transporting packets between network nodes. May also control the flow of data, adjusting the speed to minimize data corruption. (For more information on the Transmission level, see the Academic Background: Multimedia on the Internet
bulletTCP (Transaction Control Protocol) - is a connection-oriented protocol that establishes a connection between the client and server before data is transmitted. 
                             
Feature

Description

Flow Control Both client and server control the rate at which packets are transmitted, eliminating potential problems due to packet overflow
Acknowledgement Computer sending data packets receives an acknowledgement from the receiving computer verifying that the packet was successfully received at the destination
Retransmission If the sending computer does not receive an Acknowledgement within a specified period of time, it assumes the packet is lost or damaged and retransmits the packet
Sequencing All packets are numbered and sent in order.  If packets are received out of order, or some packets need retransmitting, the receiving computer can correctly reassemble the data.
Checksum All packets contain a checksum number to help ensure the integrity of the data.   If the data is damaged during transmission (i.e. bits are added or changed) the checksum may be used to indicate that the data received is not the same data that was sent.

 

bulletUDP (User Datagram Protocol) - is a connectionless transport protocol that does not contain an error recovery attribute. Used for transmitting IP address information. Also used for many multi-media applications where loss of data may result in a temporary reduction in the quality of the image or sound (static).
 
Application Level
client/server application protocols designed for file transfer, database queries, etc. Examples include
bulletHyperText Transport Protocol (HTTP) which is used in what is called the World Wide Web
bulletSimple Mail Transport Protocol (SMTP) which is used to deliver e-mail on the Internet
bulletFile Transfer Protocol (FTP) which is used for file transfer and directory management of remote computers
bulletTelnet which is used to establish virtual terminals that connect you to any authorized computer connected to the Internet.

Data is organized in IP packets with destination addresses. The use of the packet addresses allows for the responsibility of error free transmission to be shifted from communication links to computers on an equal peer-to-peer basis using routers. Different networks operating on different protocols can use the Internet Protocol as a basis for communicating via gateways ( a gateway designed to interface dissimilar networks.). IP Multicast, where a single packet may be sent to multiple addresses, will change the way Multimedia on the Internet is delivered.

See also:
bullet RFC 1789 INETPhone: Telephone Services and Servers on Internet
bullet RFC 1911 Voice Profile for Internet Mail

Tunnelling

Tunnelling is a technique of packaging one network packet (tunnelled packet) inside another packet (transport packet).    encrypting all information at the lowest level - the IP or link level of the OSI model.  Since most VPNs use are designed to use the Internet, TCP/IP is usually often as the transport protocol used to carry other protocols such as Novel's IPX/SPX or Microsoft's Net BEUI.

Compulsory Tunnels

initiated by the ISP when a user connects.  Easiest to maintain because it requires no special software on the end-users computer.

Voluntary Tunnels

initiated by using special software in origination and destination computers, but can be used over any Internet connection.

At the network level, a Virtual Private Network (VPN) allows IP traffic to travel securely over a public TCP/IP network by encrypting all traffic from one network to another.  This tunnelling encryption may be a function of the
bulletrouter with both Cisco Systems Inc. and Ascend Communications Inc. offering encryption as options for their IP routers
bulletclient computer by using a client side VPN device driver to encrypt data that is decrypted by a remote-office firewall, a router, an NT server, etc. The client VPN device driver is useful in situations where remote computing is used (on the road, home-office, etc.)
bullet Point-to-Point Tunnelling Protocol (PPTP) is a network protocol that enables the secure transfer of data from a remote client to a private enterprise server by creating a virtual private network across TCP/IP-based data networks. PPTP supports on-demand, multi-protocol, virtual private networking over public networks, such as the Internet. Microsoft provides Point-to-Point Tunnelling Protocol Windows NT server and Workstation 4.0 and as an upgrade to Windows 95

In 1997, the problem is that standards for tunnelling are not set.

For product information, see the discussion on Firewalls and Proxy Servers

IP Addressing Issues

The IP addresses used on the Internet help define the paths that packets take to their destination.  This means that if you have an address through an ISP, and if you change ISPs, then you will need to obtain a new IP address -- changing providers implies that you are also changing the path packets must take.   (For more information see the web page on Domain Name System and IP Addresses.)

Proxy Firewalls or Network Address Translation (NAT) firewalls allow different internal and external IP addresses.  When one uses a Proxy Firewall, the internal network is separated from the public Internet with a single public IP address shared by several internal devices.  With a NAT firewall, there are several different internal and external IP addresses, with the NAT server keeping track of the translated.  (see the discussion on Private Addressing in this document)

The following describes the historical IPv4 addresses (32 bits long) and its evolution to Classless Inter Domain Routing (CIDR).

IPv4

IP addresses are 32 bits in length divided into two parts - a network prefix address and a host computer address within that network. Each IP addresses consist of four numbers separated by decimals (for example, 204.251.122.127). Each number is called an octet because they represent an eight bit binary number that may be arranged in 256 unique ways. Each octet may therefore be a number from 0 to 255. The first octet determines the class of the address. Class A addresses range from 1 to 127; class B from 128 to 191; class C from 192 to 223. Class A, B, and C addresses are unicast, meaning that individual packets are sent from one host to one destination. Class D addresses are multicast (packets send from one host to multiple destinations). Class E addresses are experimental. Each class determines network addresses and host computer addresses within the network in different ways.

Class A addresses
use the first octet (8 bits) only to identify the network (127 of them). The remaining three octets (24 bits) are used to identify host computers (up to 16,581,375 of them) that are part of one of the Class A network.
Class B addresses
use the first two octets (16 bits) to identify the network (16,065 of them), with the remaining two octets used to identify host computers (65,025 of them).
Class C addresses
use the first three octets (24 bits) to identify the network (2,666,025 of them) with the remaining octet (8 bits) used to identify host computers (255 of them.)
Class D addresses
use the first 28 bits to identify the network with four bits to identify host computers

Subnet

To accommodate multiple physical networks that may be operated by the same organization, the concept of a subnet was developed. The interconnected physical networks within an organization use the same network prefix but the host address now has two parts, a subnet prefix and a host address. The use of subnets effectively reduces the number of host addresses associated with each network address. A subnet mask (or prefix length number) is used to identify the number of bits used to identify the subnet. The prefix length is the number of bits used to identify the network and its subnetworks. For example, the subnet mask associated with the Class C IP address for a network with no subnets would be an IP address with all the network bits set to 1 and all the hosts bits set to 0 (255.255.255.0).

Classless Inter Domain Routing (CIDR)

Because of the explosive growth of the Internet, the traditional uses of general purpose (Class A, B, and C) networks have been modified to achieve better use of IP's 32-bit address space. Classless Inter Domain Routing (CIDR) is a method currently being deployed in the Internet backbones. While the use of networks and subnets is historic, the language used to describe the concepts remain in common use.

For more information, see the web page Requirements for IP version 4 Routers. Also see RFC 1518 An Architecture for IP Address Allocation with CIDR and RFC 1519 Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy.

IPv6

IPv6 contains addresses that are 128 bits long, provides for tunnelling, multimedia support and other advanced features. The protocol is under review, and is expected to be finalized in 1998. (drafts at IPv6 Addressing (RFC 1884)).

At this time it appears that IPv4 and IPv6 systems will not be totally compatible. Changes will need to be made in applications, routing protocols, Dynamic Host Configuration Protocols, and Domain Name Systems. (See suggestions for IPv4 to IPv6 Migration at http://ds.internic.net/rfc/rfc1933.txt). The migration methods suggested by IETF include dual stacks and tunnelling.

IP Version 6 (proposed for implementation in 1998) The changes from IPv4 to IPv6 fall primarily into the following categories:
bulletExpanded Addressing Capabilities -- IPv6 increases the IP address size from 32 bits to 128 bits
bulletImproved Support for Extensions and Options -- Changes in the way IP header options are encoded allows for more efficient forwarding, less stringent limits on the length of options, and greater flexibility for introducing new options in the future.
bulletFlow Labelling Capability -- A new capability is added to enable the labelling of packets belonging to particular traffic "flows" for which the sender requests special handling, such as non-default quality of service or "real-time" service. (IP Multicast, Resource Reservation Protocol, etc.)
bulletAuthentication and Privacy Capabilities Extensions to support authentication, data integrity, and (optional) data confidentiality (Tunnelling, Virtual Private Networks, Electronic Commerce, etc.)
bullet Addressing that supports three types of distributions:
bulletUnicast -- an identifier representing a single address
bulletMulticast -- an identifier for a set of addresses typically belonging to different nodes. A single packet sent to a multicast address is delivered to all unicast addresses identified by that multicast address.
bulletAnycast -- an identifier for a set of addresses typically belonging to different nodes. A single packet sent to an anycast address is delivered to one of the interfaces identified by that address (the "nearest" one, according to the routing protocols' measure of distance).

Private Addressing

It is expected that the Network Information Centres, in addition to charging for domain names, will also start charging for IP addresses. When this happens, dynamic IP address allocation may become attractive, whereby private addresses are assigned to local computers, and external IP address are assigned when external resources are needed. The following blocks of address space have been reserved for private networks:
bulletClass A: 10.0.0.0 to 10.255.255.255
bulletClass B: 172.16.0.0 to 172.31.255.255
bulletClass C: 192.168.0.0 to 192.168.255.255

Also see RFC 1918 Address Allocation for Private Internets

Dynamic Host Configuration Protocol (DHCP)

In a large organization, the manual allocation of IP addresses to hundreds of computers is problematic and time-consuming. The extensive use of lap-top computers that are frequently moved from office to office and location to location also makes the allocation of static IP addresses problematic and an inefficient use of scarce resources. An IETF standard, DHCP, simplifies the task of configuring the TCP/IP stacks on network client computers. In DHCP installations, the server manages a set of IP addresses. When a client computer requests an IP address from the server, the server looks up the appropriate configuration for that client and responds with a message containing the necessary information.

In situations where there are a limited number of IP addresses available for a much larger client computer pool, the dynamically allocated IP addresses can be used for a finite time period, called the lease. When the lease time expires, the client must either release the IP address so it may be reallocated to another computer or apply for an extension.

Organizations using DHCP may also manually allocate static IP addresses to server computers and other network devices. Manually allocated addresses are simply omitted from a server's address pool.

Additional information may be found at:
bullet RFC 1971 IPv6 Stateless Address Autoconfiguration)
bullet RFC 1541 Dynamic Host Configuration Protocol
bullet IPv4 to IPv6 Migration

Network Address Translation (NAT)

NAT is similar to Dynamic Host Configuration Protocol (DHCP). The difference is that where DHCP allocates IP addresses when a computer logs onto the network, NAT uses private addresses to logon to the network and assigns public IP addresses only to active Internet users. NAT serves at the boundary between private Intranet and the public Internet.

IP Communication Stack Software

Shareware TCP/IP Connectivity in the form of communication stack software is available from several sources:

Macintosh
Apple Computer Corporation's System 7.5 operating system comes installed with TCP/IP capabilities that were previously only available through add-on.
Microsoft
The Windows95 operating system has TCP/IP capabilities as a part of the operating system. DOS operating systems need to add "socket" software from a third party.
OS/2
IBM's currently available WARP version of its OS/2 operating system comes with TCP/IP capabilities. IBM also has financial connections to a Internet Provider (with 800 dial-in SLIP access) through which upgrades for software may be directly obtained.
Add-In "Socket" Software
There are several stand alone TCP/IP "socket" software packages that may be purchased or downloaded. The term "socket" refers to communication routines used in the Berkeley BSD Unix version 4.3 and above. The WinSock 2.0 specification describes how the Berkeley Socket-style routines for network support are implemented in a DOS-Windows environment. The specification also includes an API that supports multimedia using Asynchronous Transfer Mode (ATM) and Integrated Services Digital Network (ISDN) lines, as well as wireless networks. More information may be found at: Stardust Technologies.

HTTP Sessions may be monitored by using the netstat TCP/IP utility (at the DOS prompt on Windows computers). 

Example Syntax Result
netstat Displays protocol (TCP or UDP), addresses by their friendly names, port numbers, and the state of the connection
netstat -n Displays protocol (TCP or UDP), addresses, socket addresses, and the state of the connection
netstat -s -p tcp Displays active opens, passive opens, failed connection attempts, reset connection, current connection, segments received, segments sent, and segments retransmitted

tracert (or traceroute on UNIX systems) may be used to trace the path of packets from source to destination.

Shareware FTP sites for Internet Software

Winsock FTP Sites

Winsock TCP/IP Windows compatible programs are available at:
Indiana University FTP
University of Tasmania

Gopher

University of Minnesota Boombox FTP site

E-Mail (Eudora)

Share ware version of the Commercial product

Sources and Additional Resources

The following documents contain additional information which may expand on concepts presented herein:
bulletTips on: Connecting to the Internet discusses how one may obtain access to the Internet and its World Wide Web.
bulletFor an overview of the relationship between TCP/IP (the Internet) and the Telecommunications industry, see the paper describing A Model Describing the Structure of the Internet Industry.
bulletFor a short discussion on IP Multicasting, see the Multimedia: Academic Information page.
bulletA discussion of Client / Server and other distributed processing architectures including tools (such as ActiveX and JAVA) that are used to implement these architectures on the Internet.
bulletInternet Domain Survey attempts to discover every host on the Internet by doing a complete search of the Domain Name System.
bulletA discussion of Intranets and Extranets and how they are created with Firewalls and Virtual Private Network
bulletInternet Engineering Taskforce Documents
bullet RFC 2212 Specification of Guaranteed Quality of Service
bullet RFC 2208  Resource ReSerVation Protocol (RSVP) Version 1 Applicability Statement Some Guidelines on Deployment
bullet RFC 2205 Resource ReSerVation Protocol (RSVP)
bullet RFC 2200  INTERNET OFFICIAL PROTOCOL STANDARDS
bullet RFC 2151 A Primer On Internet and TCP/IP Tools and Utilities
bullet RFC 2131 Dynamic Host Configuration Protocol
bullet RFC 2101  IPv4 Address Behaviour Today (February 1997)
bullet RFC 2050 INTERNET REGISTRY IP ALLOCATION GUIDELINES
bullet RFC 1825 Security Architecture for the Internet Protocol discusses several technical tools that may be used to assure secured communication on the Internet
bullet RFC 1789 INETPhone: Telephone Services and Servers on Internet
bullet RFC 1911 Voice Profile for Internet Mail
bulletRegistration Services for IP addresses and domain names may be found from either InterNIC or the US Domain Registration Service.
bulletRFC 1918 Address Allocation for Private Internets
bullet IP Version 6 (proposed for implementation in 1998)
bullet RFC 1853 IP in IP Tunnelling
 

Re-visit. More to follow..

Our latest brochure is HERE!!

PPT BROCHURE HERE

Pub A3 DOWNLOAD HERE

Pub A4 DOWNLOAD HERE

WRD BROCHURE HERE

Korean Brochure

Private Tuition

ESL Courses

Pre-University

Courses

 

Homestays (Learning with native teachers)

PC Software Courses

PC Design & Build

International

Business Courses

Van Hire  (CDO)

 

Home ] Up ]

Payment by electronic transfer ( Asian Courses) for: course payment, disaster relief, the education for the poor program, and the new Christchurch College building for CDO should be electronic transferred to:- account name: Derek Roy Allen. Metro Bank account Number 426 3 42613012 3  Divisoria Branch Cagayan de Oro. Philippines

Payment by electronic transfer (UK Courses) for: course payment, disaster relief, the education for the poor program and the new Christchurch College building for CDO should be electronic transferred to:-Lloyds Bank UK Colchester Branch  Sort Code Number:- 30-92-16. Account Derek R. Number 1101455-02) 27 High Street, Colchester, Essex, CO1 1DU United Kingdom.

Send mail to comp_spec24@hotmail.com with questions or comments about this web site.
Copyright © 1992 Global Impact Professional Foreign Language, Computer Science and Business Training Institute.
Last modified: May 31, 2008.   Galas Highway, Dipolog / Cagayan de Oro     (63) 0921 499 0971