490 likes | 620 Vues
This lecture covers essential topics in network layer protocols, focusing on layering, encapsulation, and the interactions between network, transport, and application layers. We explore the unique addressing scheme requirements for network entities and discuss efficient routing algorithms, including path vector exchange and the advantages of hierarchical addressing schemes. Additionally, we delve into error control and congestion mechanisms fundamental to communication protocols. By the end of this session, students will grasp the intricacies of protocol stacks and how they ensure reliable data transmission.
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