1. Need For Protocol Architecture

• E.g. File transfer

—Source must activate comms. Path or inform network of destination.

—Source must check destination is prepared to receive

—File transfer application on source must check destination file management system will accept and store file for his user.

—May need file format translation

• Task broken into subtasks

• Implemented separately in layers in stack

• Functions needed in both systems

• Peer layers communicate

Key Elements of a Protocol

• Syntax

—Data formats

—Signal levels

• Semantics

—Control information

—Error handling

• Timing

—Speed matching

—Sequencing

2. Protocol Architecture

• Task of communication broken up into modules

• For example file transfer could use three modules

—File transfer application

—Communication service module

—Network access module

i)Discuss the significance of each layer of this model:

Network Access Layer

• Exchange of data between the computer and

the network

• Sending computer provides address of

destination

• May invoke levels of service

• Dependent on type of network used (LAN,

packet switched etc.)

IP, Ethernet, Frame Relay

Transport Layer

• Reliable data exchange

• Independent of network being used

• Independent of application, TCP, UDP.

Application Layer

• Support for different user applications

• e.g. e-mail, file transfer, HTTP, POP3, SMTP.

ii)Also compare it with the TCP/IP architecture:

3. Discuss the factors that could be considered when defining layers of a protocol architecture.

  • Encapsulation: Encapsulates packets with Control Information such as
  • Address – The address of the sender &/or receiver maybe indicated.
  • Error-detecting code – Some sort frame check sequence is often included for error detection.
  • Protocol control: Additional information is included to implement the protocol functions listed in the remainder of this section.
  • Segmentation & Reassembly:
  • Lower level protocols may break the data up into blocks of smaller bounded size. (aka PDUs) – why? Some network may accept blocks of data up to certain size or more efficient control/manageable or receiving entities just need to allocate smaller buffers or etc.
  • Receiving end will have to re-assemble the small blocks (PDUs) back together again to form the right message.
  • Connection Control:
  • 3 phases occur – 1) Connection establishment 2) Data transfer 3) Connection termination.
  • Ordered Delivery:
  • Each PDU may traverse a different path through the network.
  • Each PDU is given a unique number and the numbers are assigned sequentially.
  • Thus, the Receiving Entity will be able re-order / re-arrange the PDUs according to the sequential numbers.
  • Flow Control:
  • To limit the amount or rate of data sent by the transmitting entity.
  • Simplest form is the Stop-And-Wait procedure.
  • Thus, PDUs sent to the Receiving Entity must wait for Reply Acknowledgement before sending the next PDU.
  • Error Control:
  • Implemented as 2 separate functions – Error Detection and Re-transmission.
  • To achieve error detection, Sending Entity inserts an error-detecting code in the transmitted PDU.
  • Receiving Entity checked the value of the code of the PDU and if it finds and error, it will then discard the PDU.
  • When Sending Entity receives NO REPLY for a stipulated amount of time, it assumes PDU error/corrupted PDU, the will re-transmit again.
  • Addressing:
  • Covers:
  • Addressing Level: Unique address that is associated with each end system (PC, Terminal, Workstation) and intermediate system (Router).
  • Addressing Scope: Key characteristics of a global address – Global nonambiguity, where a global address identifies a unique system.

Global applicability, possible for any global address to identify each other.

  • Connection Identifiers: Consider connection-oriented (E.g. Virtual Circuit) rather than connectionless (E.g. Datagram/UDP). Advantages – Reduced overhead when connection established PDUs contain just 12-bit virtual circuit number & more reliability/not much of lost packets. – Routing where a fixed route maybe defined. – Mutiplexing and – Usage of state information using flow control and error control.
  • Addressing Modes: Unicast, Multicast and Broadcast.
  • Transmission Services:
  • Priority: Certain PDUs/packets have higher priority (1-7)
  • Quality of Service (QoS): Some data require minimum throughput or a maximum delay threshold.
  • Security: Security mechanisms maybe invoked, to restrict access to authorized personnel.

4. i) Discuss how data transmission takes place from one computer to the other.

According to Stallings, Typical tasks include:

  1. The SOURCE system must either activate the direct data communications path or inform the communication network of the identity of the desired destination system.
  2. The SOURCE system must ascertain that the destination system is prepared to receive data.
  3. 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.
  4. If the file formats used on the two systems are incompatible, one or the other system must perform a format translation function.
  • Task 3 & 4 is performed by a File Transfer module.(Takes care of transmitting passwords, file commands and file records).
  • Then the Communications Service module is responsible for making sure that the FT commands & data are reliably exchanged between systems.
  • The CS module can perform Task 2 also.
  • However, the exchange of data/commands between systems is independent of the network that connects them. (Because the module only cares that it has done its job of transmitting the data/commands to the destination system. So it needs a intermediary to take care of the routings to route the data/commands over a network to the destination system).
  • A THIRD module is needed which is the NETWORK ACCESS module that performs Task 1 by interacting with the network.

ii) Also discuss the differences when data transmission takes place between two computers attached to the same network.

iii) When data are transmitted between two computers, control information is also exchanged between them, in addition to data. How does this happen in this example?

Control Information embraces:

From Transport Layer to Network Layer: Transport Header is added to the PDU.

  • Destination SAP: Destination transport layer receives the transport PDU, it must know to whom the data are to be delivered to.
  • Sequence Number: The transport protocol is sending a sequence of PDUs, its numbers them sequentially so that if they arrive out of order, the destination transport entity may re-order them.
  • Error Detection: The sending transport entity may include a code that is a function of the contents of the remainder of the PDU. The receiving transport protocol performs the same calculation and compares the result with the incoming code. A discrepancy results if there has been some error in transmission. Thus, the receiver can discard the PDU and take corrective action.

Then Network Layer appends its own Network Header to the PDU:

  • Destination computer address: The network must know to whom (which computer on the network) the data are to be delivered to.
  • Facilities requests: The network access protocol might want the network to make sure of certain facilities such as priorities (in other words convergence, E.g. 802.1p under the 802.1Q tags).