Sei sulla pagina 1di 17

What Is TCP/IP?

The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols that gives this collection its name These protocols deserve an initial introduction: Transmission Control Protocol, or TCP, handles reliable delivery for messages of arbitrary size, and defines a robust delivery mechanism for all kinds of data across a network The Internet Protocol, or IP, manages the routing of network transmissions from sender to receiver, along with issues related to network and computer addresses, and much more

OSI Network Reference Model Overview

This model is a network reference model, but is formally known as the International Standards Organization Open Systems Interconnection network reference model, sometimes called the ISO/OSI network reference model Governed by ISO standard 7498, the ISO/OSI network reference model, or reference model was developed as part of an international standards initiative in the 1980s that was supposed to usher in a new and improved suite of protocols specifically designed to replace TCP/IP

Models Break Networking into Layers

The reference models value lies in its ability to break a big technical problem into a series of interconnected and interrelated sub-problems, and then solve each sub-problem individually Computer scientists call this approach divide and conquer A divide and conquer approach permits concerns related to networking hardware to be completely separated from those related to networking software

The ISO/OSI Network Reference Model

The reference model described in OSI Standard 7498 breaks network communication into seven layers, as follows (named from the top down, as illustrated in Figure 1-1

Howthis stack-like structure so accurately depicts how Protocol Layers Behave Because

many networking protocol suites are implemented including TCP/IPit is common to talk about the components of hardware and software that map into this model as a protocol stack when implemented on a specific computer On a Windows computer, the network interface card (NIC), the driver that permits the operating system to talk to the NIC, and the various software components that make up TCP/IPs other layers, may be called a protocol stack, or more accurately, the TCP/IP protocol stack for that machine

IPv4: Internet Protocol, version 4. We often denote just as IP. It has been the workhorse protocol of the internet protocol suite since the early 1980s It uses 32-bit addresses IPv4 provides the packet delivery service ftp, TCP, UDP, ICMP and IGMP

IPv6: Internet protocol, version 6 Designed in the mid-1990s as replacement for Ipv4 Major change is a larger address to deal with the explosive growth of the internet in the 1990s. Provides packet delivery service for TCP, UDP, and ICMPv6

Socket structure
IPv4 sockaddr_in
length AF_INET 16 bit port #
32-bit IPv4 address

IPv6

sockaddr_in6 length AF_INET 16 bit port #


32-bit Flow label

unused

128-bit IPv6 address

Port numbers

At any given time, multiple processes can use either UDP or TCP. Both TCP and UDP use 16-bit integer port numbers to differentiate between these processes. When client want to contact a server, the client must identify the server with which it wants to communicate.

Well-known ports

0 through 1023 These port numbers are controlled and assigned by the INAN(Internet assigned Numbers Authority) For example, port 80 is assigned for web server, 21 is assigned for ftp server

Registered ports:

1024 through 49151 These are not controlled by IANA, but IANA registeres and lists the uses of these ports as a convenience to the community For example 6000 through 6063 are assigned for an X window server

Dynamic or private

49152 through 65535 IANA say nothing about these ports We call these ports ephemeral ports That is short lived port. These port numbers are normally assigned automatically by TCP or UDP to the client Clients normally do not care about the value It just need to be unique that YCP and UDP codes guarantee this uniqueness

Client Server Model and Software Design


TCP/IP allows a programmer to establish communication between two application and to pass data back and forth. Application can execute on the same machine or on different machines. One organizational method dominates the use of TCP/IP is known as the client-server paradigm.

Terminology and concept


Client: an application that initiates peer-topeer communication is called client Each time a client application executes, it contacts a server, sends a request, and awaits a response. Clients are often easier to build than servers, and usually require no special system privileges to operate

Server: is any program that waits for incoming communication requests from a client. The server receives a clients request, performs the necessary computation, and returns the result to the client. Privilege and complexity Servers must contain code that handles the issues of: Authentication, Authorization, data security, privacy and protection

Parameterization of Clients

Some client software provides more generality than others. In particular, some client software allows the user to specify both remote machine on which a server operates and the protocol port number at which the server is listening.

Connectionless vs. connection-oriented servers

When programmers design client-server software, they must choose between two types of interaction: a connectionless or a connection-oriented style. TCP connection-oriented. It provides all the reliability needed to communicate across an internet.

Verifies data arrives, automatically retransmits Compute checksum over data. Automatically delete duplicated package

UDP User datagram protocol.connectionless. No guarantees about reliable delivery.

Potrebbero piacerti anche