OSI Model 7 layers Physical Data Link Network Transport Session Presentation Application Presentation and Session layers Application e g HTTP FTP o Application Provides network services to end user applications o Presentation Formats and encrypts data e g JPEG SSL TLS o Session Manages connections between applications Data Link and Network Layer Ethernet Layer Encapsulation Violations of End to End Principle End to End Principle intermediate nodes Data Link Provides node to node data transfer error detection e g Network Handles routing and addressing e g IP Each layer adds its own header to the data from the layer above Allows independent operation of each layer Application specific functions should reside in end hosts not in Keeps the network core simple and flexible Examples NAT firewalls content delivery networks Often done for practical reasons security performance Narrow waist IP protocol Many protocols at application and link layers few in the middle Uses routers switches and gateways to connect different networks Operate at Data Link layer Build and maintain MAC address tables Involves protocols like BGP for inter network routing Looping Problems in Bridges and Spanning Tree Algorithm Forward or filter frames based on destination MAC Loops can cause broadcast storms and duplicate frame delivery topology Spanning Tree Algorithm prevents loops by creating a loop free logical Hourglass Shape of Internet Architecture Interconnecting Hosts and Networks Learning Bridges Transport Layer and Relationship with Network Layer Connection Oriented vs Connectionless Transport End to end communication e g TCP UDP Network Routing between networks e g IP Transport relies on Network for logical addressing and routing Connection Oriented e g TCP Establishes connection before data Connectionless e g UDP Sends data without establishing connection Multiplexing Multiple applications use network simultaneously Multiplexing and Demultiplexing transfer Flow Control Congestion Control TCP Three Way Handshake Congestion Control Flavors Demultiplexing Delivering received data to correct application SYN SYN ACK ACK Establishes connection and synchronizes sequence numbers Reliable Transmission Ensures data is delivered correctly and in order Uses acknowledgments sequence numbers and retransmissions Prevents sender from overwhelming receiver Uses sliding window mechanism Prevents overwhelming the network Goals Avoid congestion collapse maintain efficiency ensure fairness End to End E2E Based on end system observations Network Assisted Uses feedback from network devices Packet loss increased delay explicit congestion notification Uses congestion window cwnd Adjusts cwnd based on network conditions Additive Increase Increase cwnd linearly Multiplicative Decrease Halve cwnd on congestion Begins with small cwnd doubles each RTT until threshold Multiple TCP connections should share bandwidth equally Perfect fairness not always achieved due to RTT differences non TCP Slow Start TCP TCP Fairness Caution About Fairness Signs of Congestion How TCP Sender Limits Sending Rate Congestion Control in TCP AIMD Congestion Control in Modern Networks TCP CUBIC TCP Throughput Designed for high bandwidth long distance networks Window growth independent of RTT Affected by RTT packet loss rate and window size Approximated by MSS RTT sqrt 3 2p where p is packet loss Routing Algorithms probability Link State LS Uses Dijkstra s algorithm complete network topology knowledge with neighbors LS Example OSPF DV Example RIP Distance Vector DV Uses Bellman Ford algorithm exchanges info Link State Routing Algorithms Routers have complete network topology traffic Distance Vector Routing Use Dijkstra s algorithm to compute shortest paths Computational complexity O n 2 for n nodes Routers exchange distance estimates with neighbors Prone to count to infinity problem Uses poison reverse to prevent routing loops OSPF Open Shortest Path First Link state protocol Limited to 15 hops to prevent count to infinity Uses areas to improve scalability Routers process OSPF messages to maintain link state database RIP Routing Information Protocol Distance vector protocol Hot Potato Routing Choosing the closest exit point in inter domain routing Autonomous Systems AS and Internet Interconnection AS Independently managed networks that make up the Internet AS relationships Customer Provider Peer to Peer Sibling Path vector protocol for inter AS routing eBGP External BGP between ASes BGP decision process for selecting routes Challenges Scalability and misconfiguration BGP Border Gateway Protocol iBGP Internal BGP within an AS Internet Exchange Points IXPs Facilities where ISPs connect and exchange traffic Route servers simplify BGP peering arrangements Application Presentation Session Transport Network Data Link OSI Model Layers Physical TCP Features Internet Network IP ICMP IGMP Link Ethernet Wi Fi ARP TCP IP Model Layers Application Transport Internet Link Key Protocols by Layer Application HTTP FTP SMTP DNS SSH DHCP Transport TCP UDP Connection oriented reliable flow control congestion control Three way handshake SYN SYN ACK ACK Connectionless unreliable no flow congestion control Slow Start Congestion Avoidance Fast Retransmit Fast Recovery TCP CUBIC for high speed networks Goals Avoid congestion collapse maintain efficiency ensure fairness UDP Features Congestion Control Flow Control IP Addressing Prevents sender from overwhelming receiver Uses sliding window mechanism IPv4 32 bit and IPv6 128 bit Subnetting and CIDR notation NAT Network Address Translation Allows multiple devices to share a single public IP Violates the End to End principle DNS Domain Name System Translates domain names to IP addresses DHCP Dynamic Host Configuration Protocol Automatically assigns IP addresses to devices Switching and VLANs Operates at Layer 2 uses MAC addresses VLANs segment a single physical network into multiple logical networks Spanning Tree Protocol STP Network Security Prevents loops in switched networks Firewalls Intrusion Detection Prevention Systems Encryption protocols SSL TLS Quality of Service QoS Prioritizes certain types of traffic SDN Software Defined Networking Separates control plane from data plane Cloud Networking Virtual networks Network as a Service NaaS Wireless Networking Wi Fi standards 802 11 cellular networks Internet of Things IoT End to End Principle Low power protocols massive device connectivity Application specific functions should
View Full Document