TCPIP by ewghwehws


									         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:


                       Multiple broadcast network
        Protocol and protocol architecture
Means of connection of communicating systems:

                     Switched network

• 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.
• For two entities to communicate successfully, they must
  follow some mutually acceptable conventions between
• 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
 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
• 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).
• 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
• 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
• 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                            Protocol
  entity                              entity


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
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
• 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
• 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
• 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
               Communications functions
• 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
• 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
• Security => Security mechanism, restricting access, may be
• 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.
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
• 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
 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

 This type of communication is known as "end-to-end" or

• Two types of transport protocols at this level:

    TCP ( Transport Control Protocol )
    UDP ( User Datagram Protocol )
• 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
• 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 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, connection-
  oriented" 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
                     UDP protocol
• UDP, the other Transport layer protocol, provides datagram
  delivery service.
• UDP is an unreliable (no ACK), connectionless datagram
• 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

Example: decimal (89 CF C0 37) hex
                        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 ====> 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 X-
   terminal) by allowing workstations to learn their IP addresses.
• A diskless station has no disk to read its IP address from TCP/IP configuration
• 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 X-
  terminal'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
   Redirection: Which tells a sending host to use another
    Checking remote hosts: ping server ===> server is
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 RS-
  232, the specification for standard pin connector for PPP
  communication link.

To top