Download TCP/IP

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Protocol and protocol architecture
• When computers, terminals, and/or other data processing devices
exchange data, there must be a data path between the two
computers (terminals/processing devices), either directly or via a
communication network.
• Means of connection of communicating systems:
Point-to-point
Multiple broadcast network
Protocol and protocol architecture
Means of connection of communicating systems:
Switched network
Internet
Protocol
• If you want to transfer a file from one computer to another, in
addition to data path, you need to perform the following tasks:
• The source system must activate the direct data communication
path or inform the communication network of the identity of the
desired destination system.
• The source system must ascertain that the destination system is
prepared to received data.
• The file transfer application on the source system must ascertain
that the file management program on the destination system is
prepared to accept and store the file for this particular user.
• If the file formats used on the two systems are incompatible, one
or the other system must perform a format translation function.
Protocol
• For two entities to communicate successfully, they must
follow some mutually acceptable conventions between
them.
• These conventions are referred to as a protocol.
• Protocol may be defined as a set of rules governing the
exchange of data between two entities.
• The key elements of a protocol:
 Syntax: format and signal levels
 Semantics: control information for coordination and error
handling.
 Timing: Speed matching and sequencing.
Protocol architecture
• It is clear that there must be a high degree of cooperation
between two computers if you want to transfer data from
one computer to another.
• Instead of implementing the logic for this as a single
module, the task is broken up into subtasks, each of which
is implemented separately.
• There are many advantages associated with the structured
set of modules to implement the communications function.
• This structure is referred to as a protocol architecture.
Principle used for protocol architecture
• The communications functions are partitioned into a
hierarchical set of layers.
• Each layer performs a related subset of the functions required to
communicate with another system.
• It relies on the next lower layer to perform more primitive
functions and to conceal the details of those functions.
• Ideally, the layers should be defined so that changes in one layer
do not require changes in the other layers.
• Thus, we have decomposed one problem into a a number of
more manageable subproblems.
• This partitioning should group functions logically and should
have enough layers to make each layer manageably small.
However, the number of layer should not be too many because
of increased processing overhead.
TCP/IP and OSI RM
• Two protocol architectures have served as the basis for the
development of interoperable communications standards:
the TCP/IP protocol suite and the OSI reference model.
• TCP/IP is the most widely used interoperable architecture.
• OSI RM has become the standard model for classifying
communications functions.
TCP/IP Protocol Architecture
Communications functions
• A small set of functions that form the basis of all protocols.
• Not all protocols have all functions because it would involve a
significant duplication of effort.
• We can group protocol functions into the following categories:
 Encapsulation
 Segmentation & reassembly
 Connection control
 Ordered delivery
 Flow control
 Error control
 Addressing
 Multiplexing
 Transmission services
Communications functions
Encapsulation
• Each protocol data unit (PDU) contains not only data but also
control information. Some PDU contains only control
information and no data. The control information can be the
address of the sender and/or receiver, error-detecting code, or
protocol control (how to implement the protocol functions).
Segmentation
• Whether the application entity sends data in messages or in a
continuous stream, lower-level protocols may need to break the
data up into blocks of some smaller bounded size. This process is
called segmentation.
• An ATM network is limited to blocks of 53 octets, Ethernet has a
maximum size of 1526 octets. Without a maximum block size,
one station could monopolize a multipoint medium. Error control
may be more efficient with smaller PDU size.
Communications functions
Reassemble
• The counterpart of segmentation is reassembly.
• Eventually, the segmented data must be reassembled into
messages appropriate to the application level.
• If PDUs arrive out of order, the task will be more complicated.
Connection control
• Data transfer can be of two types: connectionless (e.g. datagram)
and connection-oriented (virtual circuit).
• Connection-oriented data transfer is preferred if stations
anticipate a lengthy exchange of data and/or certain details of
their protocol must be worked out dynamically.
Communications functions
Connection control
• A logical connection is established between two entities.
• Three phases are: Connection establishment, data transfer,
connection termination.
• During the connection establishment one station will issue a
connection request to the other. The receiving entity accepts or
rejects the request and, the connection is considered to be
established. A central authority may or may not be involved.
• Both entities must be using the same protocol.
• Following connection establishment, the data transfer phase is
entered. During this phase, both data and control information are
exchanged. Data and acknowledgement can be exchanged in both
direction.
• Finally, one side or both sides can terminate the connection by
sending a termination request. Central authority also can forcibly
terminate a connection.
Communications functions
Protocol
entity
Protocol
entity
Multiple
exchanges
The phase of a connection-oriented data transfer
Communications functions
Ordered Delivery
• If two communicating entities are in different hosts connected by a
network, there is a risk that PDUs will not arrive in the order in
which they were sent, because they may traverse different paths
through the network.
• In connection-oriented protocols, it is required that PDU order be
maintained.
Flow control
• Flow control is a function performed by a receiving entity to limit
rate of data that is sent by a transmitting entity. It must be
performed at various layers of the protocols.
• The simplest form of flow control is a stop-and –wait procedure,
in which each PDU must be acknowledged before the next can be
sent.
• More efficient protocols involve some form of credit provided to
the transmitter, which is the amount of data that can be sent
without an acknowledgement.
Communications functions
Error control
• Error control is needed to guard against loss and damage of data
and control information.
• Error control is implemented as two separate functions: error
detection and retransmission.
• To detect error, the sender insert an error-detecting code in the
transmitted PDU, which is a function of the other bits in the PDU.
• The receiver checks the value of the code on the incoming PDU.
• If an error is detected, the receiver discards the PDU. If the sender
does not get the acknowledgement from the receiver in a
reasonable amount of time, the sender retransmits the PDU.
• Some protocols employ an error-correction code. In this case, the
receiver not only detect the error, but also correct it.
• Error control must be performed at various layers of protocols.
Communications functions
Error control
• A unique address is associated with each end system (e.g.,
workstation or server) and each intermediate system (e.g., router)
in a configuration.Such an address is, in general, a network-level
address.
• In the case of TCP/IP architecture, this is referred to as an IP
address, or an internet address. In the case of OSI RM
architecture, this is referred to as network service access point
(NSAP).
• The network-level address is used to route a PDU through a
network or networks to a system.
• Once data arrive at a destination system, they must be routed to
some process or application in the system. A system supports
multiple applications and an application may support multiple
users.Each application and each concurrent user of an application,
is assigned a unique identifier, referred to as a port in the TCP/IP
architecture and as a service access point (SAP) in the OSI RM
architecture.
Communications functions
Multiplexing
• One form of multiplexing is supported by means of multiple
connections into a single system. For example, with X.25, there
can be multiple virtual circuits terminating in a single end system.
• We will discuss in detail later.
Transmission services
• A protocol may provide a variety of additional services to the
entities.
• Priority => We need to send some messages to the destination
entity with minimum delay. For example, close connection
request.Priority can be assigned on a message basis or connection
basis.
• Security => Security mechanism, restricting access, may be
invoked.
TCP/IP
• TCP/IP is a result of protocol research and development
conducted on the experimental packet-switched network,
ARPANET, funded by the Defense Advanced Research
Projects Agency (DARPA), and generally referred to as the
TCP/IP suite.
• This protocol suite consists of a large collection of protocols
that have been issued as Internet standards.
• There is no official TCP/IP protocol model as there is in the
case of OSI.
TCP/IP
We can organize the communication task for TCP/IP into five
relatively independent layers:





Application Layer
Transport Layer
Network Layer (Internet Layer)
Network Access Layer (Data Link Layer)
Physical Layer
Note that the physical and network access layers provide
interaction between the end system and the network, where as
the transport and application layers are known as end-to-end
protocols because they support interaction between two end
systems. The Internet layer has the flavor of both.
TCP/IP Layered protocol
• The TCP/IP protocol suite predates the OSI Reference Model by
about a decade.
• Despite this, the TCP/IP protocol suite can be mapped to the model.
• TCP/IP has fewer layers (4/5 layers) than the seven layers used in the
OSI RM.
• In the OSI RM, data is passed down the stack when it is being
sent to the net and data is passed up the stack when it is being received
from the network.
• Each layer in the stack adds control information (header) to ensure
proper delivery.
• Each layer treats all the information as data that it receives from the
upper layer and encapsulates it with its own header.
• When data is received, the opposite happens. Each layer strips off
its header before passing the data on to the layer above.
TCP/IP’s application layer
• TCP/IP ‘s application layer corresponds to layers 5,6,7
(Application, Presentation, and session layers ) of the
OSI RM.
 TELNET ( a terminal emulation protocol)
 FTP ( a file transfer protocol)
 TFTP (Trivial File Transfer Protocol )
 SMTP ( simple mail transfer protocol)
 NSP (Name server protocol)
 SNMP (Simple network management protocol)
 UNIX "r" commands, such as rlogin, rsh, rcp (remote Copy),
 rdate (checking date from other host)
Transport layer
• The TCP/IP Transport layer protocols ensure that packets
arrive in sequence and without error, by exchanging
acknowledgments of data reception, and re-transmitting lost
packets.
This type of communication is known as "end-to-end" or
"host-to-host".
• Two types of transport protocols at this level:
 TCP ( Transport Control Protocol )
 UDP ( User Datagram Protocol )
TCP
• In the TCP/IP suite, the connection-oriented transport
protocol is the transmission control protocol (TCP).
• To achieve a reliable service, the TCP transmits all data in
units known as segments.
• Generally, TCP decides when a new segment is
transmitted.
• At the destination side, the receiving TCP buffers the data
received in a segment in a memory buffer associated with
the application and delivers it when the buffer is full.
• This transmission consists of a starting point to open the
connection and an ending point to close the connection.
• TCP attaches a header onto the transmitted data.
• This header contains a number of parameters that help
processes on the sending machine get connected to peer
processes on the receiving machine.
TCP
• TCP confirms that a packet has been reached its
destination by establishing an end-to-end connection
between sending and receiving hosts.
• TCP is therefore considered a "reliable, connectionoriented" protocol.
• In most open distributed applications we need a reliable
message transport service. Example: the transfer of the
contents of a file containing a customer’s bank record. In
this application, even the corruption of a single bit is very
important.
UDP protocol
• UDP, the other Transport layer protocol, provides datagram
delivery service.
• UDP is an unreliable (no ACK), connectionless datagram
protocol.
• It does not provide any means of verifying that connection was
ever achieved between receiving and sending hosts.
• As UDP eliminates the processes of establishing and verifying
connections, applications that send small amounts of data use
UDP rather than TCP.
• UDP is used when error correction is not needed.
• UDP is used for a single short request/response message
exchange between two application protocols
• Simplex broadcast messages uses UDP.
Network layer
• Also known as the Internet Layer.
• Accepts and delivers packets for the network.
• It includes the powerful



Internet protocol (IP),
the ARP protocol, and
the ICMP protocol.
IP protocol
IP protocol and its associated routing protocols are possibly the
most significant of the entire TCP/IP suite.
IP is responsible for:
•
IP addressing: The IP addressing conventions are part of
the IP protocol.
•
Host-to-host communication: IP determines the path a
packet must take, based on the receiving host's IP address.
•
Packet formatting: IP assembles packets into units known
as IP datagrams.
•
Fragmentation: If a packet is too large for transmission
over the network media, IP on the sending hosts breaks the
packet into smaller fragments. IP on the receiving host
reconstructs the fragments into the original packet.
ARP Protocol
The Address Resolution Protocol (ARP) assists IP in directing
datagrams to the appropriate receiving host by mapping the IP
address (32 bits long) to unique physical Ethernet address (48 bits
long).
Example: 137.207.192.55 decimal (89 CF C0 37) hex
====>00:00:at:10:fc:15
RARP Protocol
• RARP translates addresses, but in the opposite direction.
• It converts physical Ethernet addresses to IP addresses.
Example: 00:00:a7:10:fc:15 ====> 137.207.192.55 decimal (89 CF C0 37) hex
• The RARP protocol really has nothing to do with routing data from one system
to another.
• It helps configure diskless systems (workstation with no local disk, or an Xterminal) by allowing workstations to learn their IP addresses.
• A diskless station has no disk to read its IP address from TCP/IP configuration
file.
• However, every system knows its physical address because it is encoded in the
Ethernet interface card (LAN adapter).
• The diskless Xterminal uses the Ethernet broadcast facility to ask which IP
address maps to its physical Ethernet address.
• When a server on the network sees the request, it looks up the Ethernet address
in the ether file (table) and if it finds a match, the server replies with the Xterminal's (or the workstation's) IP address.
ICMP Protocol
• Internet Control Message Protocol (ICMP) is the protocol
responsible for detecting network error conditions and
reporting on them.
• ICMP reports on:
Flow control: When datagrams arrive too fast for
processing, the receiver sends message to the sender to
stop sending.
Connectivity failure: When a destination host can't be
reached.
Redirection: Which tells a sending host to use another
router.
 Checking remote hosts: ping server ===> server is
alive.
Network Access Layer ( Data Link Layer)
• It provides error control and framing of the datagram.
• It ensures the reliable delivery of data across the underlying
physical network.
• It encompasses the function of the physical layer by specifying the
characteristics of the hardware to be used for the network.
• In this layer TCP/IP describes hardware standards such as
IEEE802.3, the specification for Ethernet network media, and RS232, the specification for standard pin connector for PPP
communication link.