490 likes | 610 Views
COP 5611 Operating Systems Spring 2010. Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM. Lecture 11. Reading Assignment: Chapter 7 from the online textbook Last time: Layering Link layer Today: More about layering and broadcast channels Network layer
E N D
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM
Lecture 11 Reading Assignment: Chapter 7 from the online textbook Last time: Layering Link layer Today: More about layering and broadcast channels Network layer End-to-end-layer Next time Congestion 2 2 2 2 2
Mechanisms to be implemented by protocols of a protocol stack Error control Flow control Congestion control
The network layer • A network can be viewed as consisting of • Network core – carries out segments from one communicating entity to another • Network periphery – hosting the communicating entities at attachment points • Addressing – each communicating entity must have a unique address.
Network model • The network layer transports packets • The network core consists of routers which forward packets using routing tables • The entities at the periphery of the network use the transport service provided by the core to communicate with one another. • For a host at the periphery of the network: • the input for network layer on is a segment in a segment buffer at the transport layer. • The output is a link layer buffer.
How to construct efficient forwarding tables • Path vector exchange • Path vector a table providing a path to a destination in the network • Each node maintains in addition to the forwarding table a path vector • The algorithms consists of two steps • Path advertizing • Path selection • A node learns about optimal paths
Requirements for routing algorithms • Routing algorithms should be dynamic and deal with: • Topological changes: links go down and new links are added • Congestion • Run asynchronously • Converge rapidly • Avoid oscillatory behavior • Ensure that no packet bounces around forever: add a hop count in the network header
Flat versus hierarchical addressing schemes • The scheme we discussed so far based on flat addresses have disadvantages: • Each attachment point must have a unique address and the number of attachment points is equal to the number of systems connected to the network • The number of path vectors increases linearly with the size of the network. • Hierarchical addressing: e.g., two levels • Region • Address of the station/node within the region
Advantages and disadvantages of hierarchical addressing • Reduces the number of path vectors; a router for one region needs only to advertize a single path vector. • Assignation of network addresses is manageable: • a central authority assigns region addresses • Station addresses are assigned by a regional authority. • The table lookup more complicated: (1) extract the region (2) forward to another region or forward within own region. • The path may no longer the shortest, the information provided by the path vector is less accurate. • The network addresses are location dependent. A mobile device must get a new address when it is connected in a different location.
Physical and logical addresses All devices have a physical address of the interface Must obtain a logical address
Internet addresses • Internet provides a layered naming environment. • Internet address= Network number + host numbers • Most network numbers are global names. • Network 10 reserved for private networks • NAT (Network Address Translation) uses a NAT box located at the border between a private and a public network
Network layer errors • Messages originate at the network level and are delivered to the end-to-end layer. • Router error codes • Packets are discarded – the router has depleted its buffer space • The buffers of a router are depleted rapidly – stop sending • The region identifier is invalid • The station identifier is invalid • The end type identifier is not valid • The packet is larger than the MTU • The packet hop has been exceeded • The network layer implements a best-effort policy. It would be too complicated to provide guarantees of service. There is no message regarding packets dropped. It would only increase congestion!!
End-to-end layer • Transport protocols • TCP • UDP
Lock-step-transmission (send segment and wait for acknowledgment)
Congestion control in TCP • Slow start • Duplicate acknowledgments • Equilibrium • Additive increase • Multiplicative decrease