written 8.3 years ago by |
Protocol layering is a common technique to simplify networking designs by dividing them into functional layers, and assigning protocols to perform each layer's task.
i. Some services are independent but others depend on each other.
ii. Protocol A may use protocol B as a step in its execution, for example, packet transfer is one step in the execution of the reliable file transfer protocol. This form of dependency is called layering.
iii. Reliable file transfer is layered above packet transfer protocol like a subroutine.
Importance of being layered:
i. Breaks up a complex problem into smaller manageable pieces can compose simple service to provide complex ones. For example, WWW (HTTP) is Java layered over TCP over IP (and uses DNS, ARP, DHCP, RIP, OSPF, BGP, PPP, ICMP)
ii. Abstraction of implementation details, separation of implementation and specification can change implementation as long as service interface is maintained.
iii. Can reuse functionality.
iv. Upper layers can share lower layer functionality.
Example: WinSock on Microsoft Windows
Service type:
i. In the original design of IP header, this field was referred to as type of service (TOS), which defined how the datagram should be handled.
ii. Part of the field was used to define the precedence of the datagram; the rest defined the type of service (low delay, high throughput, and so on). IETF has changed the interpretation of this 8-bit field.
iii. This field now defines a set of differentiated services. In this interpretation, the first 6 bits make up the code point subfield and the last 2 bits are not used.
The code point subfield can be used in two different ways.
I. When the 3 right-most bits are 0s, the 3 left-most bits are interpreted the same as the precedence bits in the service type interpretation.
a. In other words, it is compatible with the old interpretation.
b. The precedence defines the eight-level priority of the datagram (0 to 7) in issues such as congestion.
c. If a router is congested and needs to discard some datagrams, those datagrams with lowest precedence are discarded first.
d. Some datagrams in the Internet are more important than the others. For example, a datagram used for network management is much more urgent and important than a datagram containing optional information fora group.
II. When the 3 right-most bits are not all 0s, the 6 bits define 56 (64-8) services based on the priority assignment by the Internet or local authorities
a. According to Table, the first category contains 24 service types; the second and the third each contain 16.
b. The first category is assigned by the Internet authorities (IETF).
c. The second category can be used by local authorities (organizations). The third category is temporary and can be used for experimental purposes.