The Network Layer

The Network layer has the responsibility for dealing with routing packets to the correct destination.

Services provided to the Transport layer

The network layer provides both packet oriented and connection oriented services for the transport layer.
Issue          Connection          Packet
-------------------------------------------
Initial          Required         Not possible
Setup 
----------------------------------------------
Destination      Only during      Needed on      
Address          setup            every packet      
  --------------------------------------------------  
Packet           Guaranteed       not guaranteed      
Sequencing       
  -----------------------------------------------  
Error            Done by          Done by      
Control          Network          Transport      
  -------------------------------------------------  
Flow             Provided by      Not provided      
Control          Network          Network      
  -------------------------------------------------  
Option           Yes              No      
Negotiation      
  -------------------------------------------------  
Connection        Yes             No      
Identifiers      
  
The services are provided by the network layer primitives.

Internal organization

  1. Virtual Circuits: Connection oriented protocol. Analogous to the phone service.
  2. Datagrams: Packet oriented protocol. Analogous to the postal service.
-------------------------------------------
Issue               Datagram         Circuit    
-------------------------------------------
Circuit Setup    Not Possible        Required    
-------------------------------------------
Addressing       Each packet         Only VC no required   
                 has full address      
-------------------------------------------
State Info       None in Subnet      VC requires table space   
-------------------------------------------
Routing          Each packet         Only at VC setup   
-------------------------------------------
Node failure     Only on packets     All VC's at node gone    
                 at node                
-------------------------------------------
Congestion        Difficult          Easy if buffers    
Control                              Preallocated for VC   
-------------------------------------------
Complexity    In transport layer    In network layer    
-------------------------------------------
Suited for    Connection            Connection oriented service    
              and Connectionless    
-------------------------------------------

Routing

Routing can be based upon either adaptive algorithms or non adaptive ones.
  1. Shortest path routing: Dikjstra's algorithm
  2. Multipath Routing
  3. Centralized Routing.
  4. Isolated Routing:
    1. Hot potato
    2. Backward Learning
    3. Flooding
  5. Distributed routing: Periodic Exchange of routing information between IMP's
  6. Optimal Routing
  7. Flow Based Routing
  8. Hierachical Routing
  9. BroadCast Routing

Congestion

  1. Preallocation of Buffers.
  2. Packet discarding
  3. Isarithmic Congestion Control. (Tokens again).
  4. Flow Control
  5. Choke packets
  6. Deadlocks: This is real. It happened.

Internetworking