1. Trang chủ
  2. » Công Nghệ Thông Tin

Advanced Computer Networks: Lecture 25 - Dr. Amir Qayyum

264 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Slide 1

  • Slide 2

  • Slide 3

  • Switched Networks

  • Slide 5

  • Switching Strategies

  • Multiplexing

  • Statistical Multiplexing

  • Inter-Process Communication

  • Abstract Channel Functionality

  • Performance Metrics

  • Slide 12

  • Delay x Bandwidth Product

  • Network Architecture

  • Layering

  • Protocols

  • Protocol Interfaces

  • Protocol Graph – Network Architecture

  • Protocol Machinery

  • Encapsulation

  • Standard Architectures

  • OSI Architecture

  • Internet Architecture

  • Slide 24

  • Slide 25

  • Networking in the Internet Age

  • Network Application Programming Interface (API)

  • Protocols and API

  • Socket API

  • Protocol-to-Protocol Interface

  • Protocol-to-Protocol Interface Issues

  • Process Model

  • Buffer Model

  • Network Programming

  • Socket Programming

  • Client-Server Model

  • Slide 37

  • TCP Connections

  • Slide 39

  • UDP - Aspects of Services

  • Addresses and Data

  • Endianness

  • Socket Address Structures

  • Address Conversion

  • Slide 45

  • Slide 46

  • Sockets (cont)

  • Slide 48

  • Point-to-Point Links

  • Direct Link Issues in the OSI and Hardware/Software Contexts

  • Hardware Building Blocks

  • Links

  • Signals Over a Link

  • Bits Over a Link

  • Encoding

  • Slide 56

  • RS-232(-C)

  • Binary Voltage Encoding

  • Non-Return to Zero (NRZ)

  • Problem: Consecutive 1s or 0s

  • Alternative Encodings

  • Slide 62

  • 4B/5B Encoding

  • Slide 64

  • Phase Modulation Algorithm

  • Constellation Pattern for V.32 QAM

  • Bit Rate and Baud Rate

  • What Limits Baud Rate ?

  • Summary of Encoding

  • Framing

  • Advantages of Framing

  • Approaches

  • Slide 73

  • Framing with Sentinels

  • Sentinel Based Approach

  • Length-based Framing

  • Clock-based Framing

  • SONET Frame Format (STS-1)

  • Slide 79

  • Slide 80

  • Error Detection

  • Error Detection and Correction

  • Error Detection: How ?

  • Slide 84

  • Hamming Distance (1950 Paper)

  • Slide 86

  • Digital Error Detection Techniques

  • Two-Dimensional Parity

  • Internet Checksum Algorithm

  • Cyclic Redundancy Check

  • Slide 91

  • Slide 92

  • Reliable Transmission

  • Slide 94

  • Slide 95

  • Automatic Repeat reQuest

  • Slide 97

  • Stop-and-Wait

  • Slide 99

  • Concurrent Logical Channels

  • Slide 101

  • Sliding Window

  • Sliding Window Concepts

  • Sliding Window - Sender

  • Sliding Window - Receiver

  • Sliding Window Issues

  • Sliding Window Classification

  • Sequence Number Space

  • Required Sequence Number Space ?

  • Shared Media: Problems

  • Shared Media: Solutions

  • History of Ethernet

  • Ethernet – Alternative Technologies

  • Ethernet – Multiple Segments

  • Ethernet Packet Frame

  • Ethernet MAC – CSMA/CD

  • CSMA/CD MAC Algorithm

  • Slide 118

  • Constraints on Collision Detection

  • Ethernet Min. Frame Size

  • Retry After the Collision

  • Ethernet Frame Reception

  • Experience With Ethernet

  • Token Ring Overview

  • IBM Token Ring – IEEE 802.5

  • Token in a Token Ring

  • Slide 127

  • Physical Properties

  • Token Ring MAC

  • Slide 130

  • Frame Format

  • Timed Token Algorithm

  • Reliable Delivery

  • Token Ring Packet Priorities

  • Token Maintenance

  • Slide 136

  • Fiber Distributed Data Interface

  • FDDI – Physical Properties

  • Slide 139

  • Slide 140

  • Slide 141

  • MAC Algorithm

  • FDDI Traffic Classes

  • Bounded Priority Traffic

  • Slide 145

  • Slide 146

  • Wireless LANs

  • 802.11 MAC: CSMA/CA

  • Hidden and Exposed Nodes

  • Multiple Access with Collision Avoidance (MACA)

  • MACA for Wireless (MACAW)

  • 802.11 - Distribution System

  • Managing Connectivity/Roaming

  • Managing Connectivity

  • Slide 155

  • Overview

  • Typical Workstation Architecture

  • Components of a Network Adaptor

  • Host Perspective

  • Data Motion Options for Network Adaptor Use

  • Slide 161

  • Data Motion

  • Network Adaptor: Event Notification

  • Slide 164

  • Device Drivers

  • Performance Bottlenecks

  • Slide 167

  • Packet Switches

  • Forwarding

  • Routing

  • Contention and Congestion

  • Network Layers and Switches

  • Packet Switching / Forwarding

  • Datagram Switching / Forwarding

  • Datagram Switching

  • Datagram Model

  • Virtual Circuit Switching

  • VC Tables in VC Switching

  • Signaling in VC Switching

  • Virtual Circuit Model

  • Source Routing

  • Data Transfer in Source Routing

  • Source Routing Model

  • Implementation and Performance

  • Building Extended LANs

  • Bridges

  • Learning Bridges

  • Slide 188

  • Spanning Tree

  • Spanning Tree Algorithm

  • Distributed Spanning Tree Algorithm

  • Limitations of Bridges

  • ATM (Asynchronous Transfer Mode)

  • ATM Signaling

  • Cell Switching (ATM)

  • Slide 196

  • ATM Cell Format

  • Segmentation and Reassembly

  • ATM Layers

  • AAL 3/4

  • ATM Cell Format for AAL 3/4

  • Encapsulation and Segmentation for AAL3/4

  • AAL 5 CS-PDU

  • Encapsulation and Segmentation for AAL 5

  • Virtual Paths with ATM

  • ATM as a LAN Backbone

  • Shared Ethernet Emulation with LANE

  • ATM / LANE Protocol Layers

  • Clients and Servers in LANE

  • Slide 210

  • Slide 211

  • LANE Registration

  • LANE Circuit Setup

  • Contention in Switches

  • Output Buffering

  • Input Buffering: Head-of-line Blocking

  • Backpressure

  • Switching Fabric

  • Switch: Fabric and Ports

  • Ports and Fabric

  • Design Goals - Throughput

  • Design Goals - Scalability

  • Switch Performance

  • Crossbar (“Perfect”) Switch

  • Knockout Switch: Pick L from N

  • Shared Memory Switch

  • Self-Routing Fabrics

  • Banyan Network

  • Batcher (Merge Sort) Network

  • Batcher-Banyan Network

  • Sunshine Switch

  • What we understand …

  • We also understand …

  • Internetworking

  • Slide 235

  • Internet Protocol (IP)

  • IP Service Model

  • Internetwork

  • IP Addresses

  • Datagram Format

  • Slide 241

  • Fragmentation and Reassembly Example

  • Datagram Forwarding

  • ARP Packet Format

  • Internet Control Message Protocol (ICMP)

  • ICMP Message

  • Dynamic Host Configuration Protocol- DHCP

  • Virtual Private Networks - VPN

  • IP Tunnel in VPNs

  • IP Tunneling for Multicast

  • What is Routing ?

  • Routing Overview

  • Routing Outline

  • Bellman-Ford Algorithm

  • Dijkstra’s Algorithm

  • Distance Vector Routing

  • Distance Vector Routing Example

  • Distance Vector Routing: Link Failure

  • Count to Infinity Problem

  • Split Horizon

  • Split Horizon with Poison Reverse

  • Link State Routing

  • Slide 263

  • Route Calculation

Nội dung

Advanced Computer Networks: Lecture 25. This lecture will cover the following: switched networks; switching strategies; statistical multiplexing; inter-process communication; performance metrics; network architecture; protocol graph – network architecture; protocol machinery;...

CS716 Advanced Computer Networks By Dr. Amir Qayyum Lecture No. 25 Review Lecture Switched Networks • A network can be defined recursively as – Two or more nodes  connected by a link – Circular nodes  (switches) implement  the network – Squared nodes (hosts)  use the network Switched Networks • A network can be defined recursively as – Two or more networks  connected by one or more  nodes: internetworks – Circular nodes (router or  gateway) interconnects the  networks – A cloud denotes “any type of  independent network” Switching Strategies • • Packet switching:       Store­and­forward  a establishes a dedicated  messages Circuit switching:    Carry bit streams circuit b links reserved for use  by communication  channel c send/receive bit stream  at constant rate d example: original  telephone network a operates on discrete  blocks of data b utilizes resources  dynamically according  to traffic demand c send/receive messages  at variable rate d example: Internet Multiplexing • Physical links/switches must be shared among users – (Synchronous) Time­Division Multiplexing (TDM) – Frequency­Division Multiplexing (FDM) L1 R1 Multiple flows  on a single link L2 L3 R2 Switch Switch R3 Do you see any problem with TDM / FDM ? Statistical Multiplexing • • • • On­demand time­division, possibly synchronous (ATM) Schedule link on a per­packet basis Buffer packets in switches that are contending for the link Packets from different sources interleaved on link … Do you see any problem ? Inter­Process Communication • Turn host­to­host connectivity into process­to­process  communication, making the communication meaningful • Fill gap between what applications expect and what the  underlying technology provides Host Host Host Application Abstraction for  application­level  communication Channel Application Host Host Abstract Channel Functionality • What functionality does a channel provide ? – Smallest set of abstract channel types adequate  for largest number of applications • Where the functionality is implemented ? – Network as a simple bit­pipe with all high­level  communication semantics at the hosts – More intelligent switches allowing hosts to be  “dumb” devices (telephone network) 10 IP Tunneling for Multicast • Set up a tunnel between each pair of  universities • Multicast packets – Received by tunnel entry node – Encapsulated (another IP header added for tunnel  exit) – Travel through the Internet (the tunnel) – Received by tunnel exit node – Unwrapped and delivered to another  250    multicast­capable university campus What is Routing ? • Definition: task of constructing and  maintaining forwarding information (in  hosts or in switches) • Goals for routing – – – – Capture notion of “best” routes Propagate changes effectively Require limited information exchange Admit efficient implementation • Important notion: graph representation of  network 251 Routing Overview • Hierarchical routing infrastructure defines  routing domains  – Where all routers are under same administrative  control A • Network as a Graph – Nodes are routers – Edges are links – Each link has a cost C 1 B E F D • Problem: Find lowest cost path between two  nodes – Maintain information about each link – Static: topology changes are not incorporated – Dynamic (or distributed): complex algorithms 252 Routing Outline • Algorithms – Static shortest path algorithms • Bellman­Ford: all pairs shortest paths to  destination • Dijkstra’s algorithm: single source shortest path – Distributed, dynamic routing algorithms • Distance Vector routing (based on Bellman­Ford) • Link State routing (Dijkstra’s algorithm at each  node) • Metrics (from ArpaNet, with informative names) – Original – New – Revised 253 Bellman­Ford Algorithm • • • • • Static, centralized algorithm, (local iterations/destination) Requires: directed graph with edge weights (cost) Calculates: shortest paths for all directed pairs Check use of each node as successor in all paths For every node N – for each directed pair (B,C) • is the path B  N  …C better than BC ? • is cost BNdestination smaller than previously  known? • For N nodes – Uses an NxN matrix of (distance, successor) values 254 Dijkstra’s Algorithm • Static, centralized algorithm, build tree from  source • Requires directed graph with edge weights  (distance) • Calculates: shortest paths from 1 node to all other • Greedily grow set S of known minimum paths • From node N – Start with S = {N} and one­hop paths from N – Loop n­1 times • add closest outside node M to S • for each node P not in S – is the path N  MP better than NP ? 255 Distance Vector Routing • Distributed, dynamic version of Bellman­Ford • Each node maintains distance vector: set of triples  – (Destination, Cost, NextHop) – Edge weights starting at a node assumed known by  that node • Exchange updates of distance vector (Destination,  Cost) with directly connected neighbors (known as  advertising the routes) – Periodically (on the order of several seconds to  minutes) – Whenever vector changes (called triggered update) 256 Distance Vector Routing Example  Information in routing table of each node: Iteration 3  At              distance to reach node node     A     B     C     D     E     F     G    A        0      1      1      2     1     1      2   B        1      0      1      2      2     2     3   C        1      1      0      1      2     2     2   D        2      2      1      0      3     2     1   E        1      2       2      3      0     2     3   F        1      2       2      2      2     0     1   G        2      3       2     1      3     1     0 B C A D E F G 257 Distance Vector Routing: Link Failure • F detects that link to G has failed • F sets distance to G to infinity and  sends update to A • A sets distance to G to infinity since  it uses F to reach G • A receives periodic update from C  with 2­hop path to G • A sets distance to G to 3 and sends  update to F • F decides it can reach G in 4 hops  via A B C A D E F G 258 Count to Infinity Problem • Link from A to E fails • A advertises distance of infinity to E, but  B and C advertise a distance of 2 to E ! B • B decides it can reach E in 3 hops;  A advertises this to all E • A decides it can read E in 4 hops;  F advertises this to all • C decides that it can reach E in 5 hops… • We are counting to infinity … C D G 259 Split Horizon • Avoid counting to infinity by solving “mutual  deception” problem • When sending an update to node X, do not include  destinations that you would route through X – If X thinks route is not through you, no effect – If X thinks route is through you, X will timeout route C : 2 : B AA C : 2 : B DD Loop of  > 2 nodes fails split horizon !!! BB CC C : 1 : C C : ∞ : ­ 260 Split Horizon with Poison Reverse • When sending update to node X,  include destinations that you would  route through X with distance set to  infinity • Don’t need to wait for X to timeout 261 Link State Routing • Distributed, dynamic form of Dijkstra’s algorithm • Strategy – Send to all nodes (not just neighbors) information  about directly connected nodes (not entire route  table) in LSP • Basic data structure: Link State Packet (LSP) – ID of the node that created the LSP – Cost of link to each directly connected neighbor:  vector of (distance, successor) values – Sequence number (SEQNO) 262 – Time­to­live (TTL) for this packet Link State Routing • Each node maintains a list of (ideally all) LSP’s – Runs Dijkstra’s algorithm on list – May discover its neighbors by “Hello” messages • Information acquisition via reliable flooding – Create new LSP periodically; send to 1­hop neighbors • Increment SEQNO (start SEQNO at 0 when reboot) – Store most recent (higher SEQNO) LSP from each  node – Forward new LSP to all nodes but the one that sent it • Decrement TTL of each LSP; discard when TTL=0 263 – Try to minimize routing traffic “overhead”  Route Calculation At node D Confirmed list Tentative list (D,0,­) (D,0,­) (C,2,C), (B,11,B) (D,0,­), (C,2,C) (B,11,B) (D,0,­), (C,2,C) (B,5,C), (A,12,C) (D,0,­), (C,2,C), (B,5,C) (A,12,C) (D,0,­), (C,2,C), (B,5,C) (A,10,C) A (D,0,­), (C,2,C), (B,5,C), (A,10,C) B 10 11 C D 264 ... Peer modules are interoperable if both accurately  follow the specifications 16 Protocol Interfaces Host High-level object Protocol Host Service interface Peer-to-peer interface High-level object Protocol 17 Protocol Graph – Network Architecture... translate dotted­decimal notation to IP address; returns ­1  on failure, thus cannot handle broadcast value  ? ?255 .255 .255 .255 ” int inet_aton (const char* strptr, struct in_addr inaddr); translate dotted­decimal notation to IP address; returns 1 on .. .Lecture? ?No.? ?25 Review? ?Lecture Switched Networks • A network can be defined recursively as – Two or more nodes 

Ngày đăng: 05/07/2022, 12:11