SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
4/4/2011




                                                                                                                                                        Overview
                                                                                                                                   • Network layer services
                                                                                                                                   • IP, the Internet Protocol
           Networks and Operating Systems                                                                                             – Model
                                                                                                                                      – Message format
              Chapter 8: Network Layer                                                                                                – Fragmentation and reassembly
                                                                                                                                   • IP Addressing
                                                           (252‐0062‐00)                                                           • Additional Protocols
                                                                                                                                   • Routing
                             Gustavo Alonso & Timothy Roscoe                                                                          – Basics
                                                                                                                                      – Interior Gateway Protocols (IGP)
                                 Frühjahrssemester 2011                                                                                   • distance vector protocols: RIP
                                                                                                                                          • Link state protocols: OSPF
                                                                                                                                      – Interdomain Routing (BGP)
                                                                                                                                          • Path vector protocol
                                                                                                                                   • Routers
                                                                                                                                   • IPv6
                                                                                                                               2

© Systems Group | Department of Computer Science | ETH Zürich




                                                                                                                                   Network Layer

    Network Layer Services




3                                                                                                                              4




              Network layer functions                                                                                                    Network service model
•     Transport packet from 
      sending to receiving hosts                                                                                               The service model defines the “channel” transporting packets 
•     Network layer protocols                                                                                                    from sender to receiver:
      in every host, router                                                                                                    • guaranteed bandwidth?
Three important functions:                                                                                                     • preservation of inter‐packet timing (no jitter)?
• path determination: route taken by 
   packets from source to destination.                                                                                         • loss‐free delivery?
   Established by a routing algorithm                                                                                          • in‐order delivery?
• switching: move packets from 
   router’s input to appropriate router                                                                                        • congestion feedback to sender?
   output                                                                                                                      The network layer can work under two service models:
• call setup: some network 
   architectures require router call                                                                                           • Virtual circuit
   setup along path before data flows                                                                                          • Datagrams

5                                                                      Source:http://en.wikipedia.org/wiki/Internet_Protocol   6




                                                                                                                                                                                                     1
4/4/2011




                         Virtual circuits                                                      Virtual circuits: signaling protocols
 • The source‐to‐destination path tries to behave like a physical                                  • used to setup, maintain, and teardown VC
   circuit                                                                                         • used in ATM (Asynchronous Transfer Mode), frame‐
                                                                                                     relay, X.25
 • The network layer  maintains the illusion of a circuit:
                                                                                                   • not used in today’s Internet
    – call setup for each call before data can flow (teardown 
       after)
    – each packet carries VC identifier (instead of the destination                            application
       host ID)                                                                                                5. Data flow begins            6. Receive data              application
                                                                                                transport
                                                                                                               4. Call connected                                            transport
    – every router on source‐destination path maintains “state”                                  network                                      3. Accept call
                                                                                                               1. Initiate call                                              network
                                                                                                data link                                     2. incoming call
       for each passing connection                                                               physical
                                                                                                                                                                            data link
    – link, router resources (bandwidth, buffers) may be                                                                                                                     physical
       allocated to VC
 7                                                                                            8




     Datagram networks: The Internet 
                                                                                                        Routing in a datagram model
                 model
  • no call setup at network layer
  • routers: no state about end‐to‐end connections                                                • Moving packets to their destination is done as a series of 
  • packets typically routed using destination host ID                                              local routing decisions at each switch
     – packets between same source‐dest pair may take different                                   • Each switch maintains a forwarding or routing table that says 
       paths!
                                                                                                    which way packets have to go to reach a particular 
                                                                                                    destination
                                                                                                  • The information in the routing table is gathered using a 
     application                                                                                    routing protocol
                                                                               application
      transport
                                                                                transport
       network                                                                                Dest    Port
      data link      1. Send data                              2. Receive data   network                              1
                                                                                data link          A     2
       physical
                                                                                 physical                                    2
                                                                                                   B     3            3
                                                                                                   C     1
 9                                                                                            10




      Network layer service models                                                                     Datagram vs. VC network
                                                  Guarantees ?
   Network         Service                                                    Congestion                  Internet (IP)                                         ATM
Architecture       Model            Bandwidth Loss        Order Timing        feedback
                                                                                             • data exchange among computers             • evolved from telephony
      Internet     best effort none               no      no       no         no (inferred      – “elastic” service, no strict timing    • human conversation 
                                                                              via loss)            req.                                      – strict timing, reliability 
          ATM      CBR              constant      yes     yes      yes        no             • “smart” end systems (computers)                 requirements
                                    rate                                      congestion        – can adapt, perform control,                – need for guaranteed service
          ATM      VBR              guaranteed    yes     yes      yes        no                   error recovery                        • “dumb” end systems
                                    rate                                      congestion                                                     – telephones
                                                                                                – simple inside network, 
          ATM      ABR              guaranteed    no      yes      no         yes                                                            – complexity inside network
                                                                                                   complexity at “edge”
                                    minimum                                                                                              • Today not really used and being 
          ATM      UBR              none          no      yes      no         no             • many link types 
                                                                                                                                            phased out 
                                                                                                – different characteristics
                                                                                                                                         Recommended reading:
     CBR = Constant Bit Rate         VBR = Variable Bit Rate      ABR = Average Bit Rate        – uniform service difficult              http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode

     UBR = Unspecified Bit Rate     
     Recommended reading => http://en.wikipedia.org/wiki/Traffic_contract
 11                                                                                           12




                                                                                                                                                                                                         2
4/4/2011




                                                                                                    Internetworking (IP)




 Internet Protocol (IP)




                                                                                  Source:http://en.wikipedia.org/wiki/Internet_Protocol
13                                                                      14




                 Internetworking (IP)                                                                      Packet format
                                                                    0                4                    8                      16              19                  31
                                                                                                              Type of 
• The Internet Protocol                                                 Version      Hdr length               service                                 Length

   – Datagram based                                                                   Identifier                                  Flags                  Offset

       • Best effort, unreliable                                                                           Upper Layer
                                                                              Time To Live                                                       Header Checksum
                                                                                                            Protocol
       • Simple routers                                                                                          Source Address
       • Packet fragmentation and reassembly
                                                                                                              Destination Address

                                                                                                                Options (optional)
     – Addressing schema
        • IP Addresses
                                                                                                                           DATA
     – Routing protocols

15                                                                      16                                            http://en.wikipedia.org/wiki/IPv4#Packet_structure




           Fragmentation and reassembly                                  IP Fragmentation and Reassembly
                                                                                               length ID           fragflag        offset
• IP needs to work over many different physical networks                                       =4000 =x               =0            =0
   – Networks have different maximum packet sizes
                                                                                           One large datagram becomes
   – IP needs to fragment and reassemble packets to make                                   several smaller datagrams
      them fit in the frames of the next layer
• Every network has a Maximum Transmission Unit: the largest                                            length ID           fragflag        offset
                                                                                                        =1500 =x               =1            =0
  IP datagram it can carry in the payload of a frame
                                                                                                        length ID
• Fragment when needed, reassemble only at destination                                                                      fragflag      offset
                                                                                                        =1500 =x               =1         =1480
• The fields “identifier”, “flag”, and “offset” are used to mark 
  the fragments and reassemble them as needed.                                                          length ID           fragflag      offset
                                                                                                        =1040 =x               =0         =2960



17                                                                      18




                                                                                                                                                                                 3
4/4/2011




                                                                                                                                     IP addressing

                                                                                                        • The Internet Protocol is meant as a protocol to communicate 
                                                                                                          across networks: Internetworking
                                                                                                           – There is not a single network but a hierarchy of networks
                                                                                                           – Routing happens within networks and across networks
   IP Addresses                                                                                            – Addresses are designed to reflect the hierarchical 
                                                                                                             organization of the networks comprising the Internet




  19                                                                                                    20




                           IP Addresses                                                                                          Initial Internet design

                                                                                                                                                  Up to 126 class A (wide area) networks
  “class‐full” addressing: 3 types of networks plus some 
  reserved addresses (http://en.wikipedia.org/wiki/IP_address)
                                                                                                                  Class A                    Class A                               Class A
       class
                                                                           1.0.0.0 to
        A      0 network                      host                         127.255.255.255
                                                                                                                                                          class B (campus area) networks (64x256)
        B                 network                                          128.0.0.0 to
               10                                    host
                                                                           191.255.255.255
                                                                                                         Class B        Class B        Class B         Class B        Class B             Class B
                                                                           192.0.0.0 to
        C      110          network                         host
                                                                           223.255.255.255
                                                                           224.0.0.0 to
        D      1110           multicast address
                                                                           239.255.255.255                                                             class C (local area) networks (32x256x256)

                                    32 bits
                                                                                                             Class C   Class C     Class C   Class C      Class C     Class C       Class C
                 8 bits
  21                                                          http://en.wikipedia.org/wiki/IP_address   22




                          IP Addressing                                                                                          IP Addressing
                                                                                                                                                          223.1.1.1
                                                       223.1.1.1
                                                                                                                                                                                    223.1.2.1
• IP address: 32‐bit identifier for                                                                     • IP address                                      223.1.1.2
                                                                                  223.1.2.1
  host or router interface                             223.1.1.2                                           – network part (high order                             223.1.1.4   223.1.2.9
                                                               223.1.1.4     223.1.2.9                        bits)
• Interface: connection to a                                                                                                                                                         223.1.2.2
  physical link                                                                   223.1.2.2                – host part (low order bits)                  223.1.1.3    223.1.3.27
                                                      223.1.1.3     223.1.3.27
   – routers typically have                                                                             • What’s a (local) network? (from 
                                                                                                                                                                                LAN
      multiple interfaces                                                                                 IP address perspective)
   – host may have multiple                                                                                – device interfaces with same                  223.1.3.1                  223.1.3.2
      interfaces                                        223.1.3.1                 223.1.3.2                   network part of IP address
   – IP addresses associated with                                                                          – can physically reach each 
      interface, not host or router                                                                           other without intervening 
                                                                                                                                                       network consisting of 3 IP networks
                                                                                                              router                                   (for IP addresses starting with 223, 
                                         223.1.1.1 = 11011111 00000001 00000001 00000001                                                               the first 24 bits are network address)

                                                            223        1          1           1
  23                                                                                                    24




                                                                                                                                                                                                          4
4/4/2011




                           IP addressing: CIDR                                                                   IP addresses: how to get one?
    • class‐full addressing: 
       – inefficient use of address space, address space exhaustion                                          How do hosts get one? (host portion)
       – e.g., class B net allocated enough addresses for 65K hosts, even if                                 • Either hard‐coded by system admin in a file
          only 2K hosts in that network
    • CIDR: Classless InterDomain Routing                                                                       – Wintel: control‐panelnetworkconfiguration
       – An improvement over basic IP addressing for more efficient use of                                         tcp/ipproperties
          addresses                                                                                             – UNIX: /etc/rc.config
       – network portion of address of arbitrary length                                                      • Or DHCP: Dynamic Host Configuration Protocol
       – address format: a.b.c.d/x, where x is number of bits defining the                                      – dynamically get address: “plug‐and‐play”
          network portion of address
                                                                                                                – host broadcasts “DHCP discover” message
                                         network                                     host                       – DHCP server responds with “DHCP offer” message
                                           part                                      part                       – host requests IP address: “DHCP request” message
                    11001000  00010111 00010000  00000000                                                       – DHCP server sends address: “DHCP ack” message

                                             200.23.16.0/23
     25                             http://en.wikipedia.org/wiki/Classless_Inter‐Domain_Routing             26




                                                                                                            Hierarchical addressing: route 
          IP addresses: how to get one?                                                                     aggregation
      Network (network portion)                                                                             Hierarchical addressing allows efficient advertisement of 
      • get allocated portion of ISP’s address space                                                        routing information:
                                                                                                                 Organization 0
ISP's block          11001000  00010111  00010000  00000000    200.23.16.0/20                                        200.23.16.0/23
                                                                                                                 Organization 1
                                                                                                                                                              “Send me anything
Organization 0    11001000  00010111  00010000  00000000    200.23.16.0/23                                            200.23.18.0/23                          with addresses 
                                                                                                                 Organization 2                               beginning 
Organization 1    11001000  00010111  00010010  00000000    200.23.18.0/23                                            200.23.20.0/23   .   Fly‐By‐Night‐ISP   200.23.16.0/20”
                                                                                                                                       .
                                                                                                                                  .    .                                           Internet
                                                                                                                                  .
Organization 2    11001000  00010111  00010100  00000000    200.23.20.0/23 
                                                                                                                 Organization 7   .
                                                                                                                    200.23.30.0/23
  ...                                          …..                                   ….                ….
                                                                                                                                                               “Send me anything
                                                                                                                                             ISPs‐R‐Us
                                                                                                                                                               with addresses 
Organization 7    11001000  00010111  00011110  00000000    200.23.30.0/23                                                                                     beginning 
                                                                                                                                                               199.31.0.0/16”




     27                                                                                                     28




            Hierarchical addressing: more 
                                                                                                                 IP addressing: the last word...
                   specific routes
                                 What if Organization 1 wants to change the provider?
                                 ISPs‐R‐Us has a more specific route to Organization 1                      • How does an ISP get a block of addresses?
          Organization 0
                                                                                                               – from another (bigger) ISP or 
              200.23.16.0/23
                                                                                                               – with ICANN: Internet Corporation for Assigned 
                                                                      “Send me anything                          Names and Numbers
                                                                      with addresses 
          Organization 2                                              beginning                                    • allocates addresses
               200.23.20.0/23            .    Fly‐By‐Night‐ISP        200.23.16.0/20”
                                                                                                                   • manages DNS
                                         .
                             .           .                                                       Internet
                             .                                                                                     • assigns domain names, resolves disputes
          Organization 7     .
             200.23.30.0/23

                                                 ISPs‐R‐Us
                                                                       “Send me anything                    • Will there be enough IP addresses, ever?
                                                                       with addresses 
            Organization 1                                             beginning 199.31.0.0/16                – No, there are some hacks around the corner (later)
                                                                       or 200.23.18.0/23”
                 200.23.18.0/23


     29                                                                                                     30




                                                                                                                                                                                                    5
4/4/2011




Getting a datagram from source to 
            destination                                                                          Getting a datagram from source to destination
                                                       routing table in A
                                                Dest. Net.  next router  #hops
                                                                                                   misc                                                Dest. Net.   next router  #hops
                                                                                                                             data
 Known as “forwarding”                           223.1.1                             1            fields 223.1.1.1 223.1.1.3
                                                                                                                                                       223.1.1                        1
                                                 223.1.2      223.1.1.4        2
                                                                                                 Starting at A, given IP datagram                     223.1.2       223.1.1.4        2
                                                 223.1.3      223.1.1.4        2
  misc source           dest                                                                          addressed to B:                                  223.1.3       223.1.1.4        2
 IP datagram:                      data
 fields IP addr       IP addr
                                            A                                                    look up net. address of B
  datagram remains unchanged, as 
                                                 223.1.1.1                                                                                        A    223.1.1.1
                                                                                                 find B is on same net. as A
      it travels from source to                                               223.1.2.1
      destination                                223.1.1.2                                       link layer will send datagram directly to                                          223.1.2.1
                                                                                                                                                       223.1.1.2
                                                         223.1.1.4       223.1.2.9                    B inside link‐layer frame
  addr fields of interest here             B                                                           A and B are directly connected
                                                                                                                                                               223.1.1.4       223.1.2.9
                                                                                223.1.2.2                                                         B
                                                223.1.1.3      223.1.3.27                   E                                                                                          223.1.2.2
                                                                                                                                                                                                   E
                                                                                                                                                      223.1.1.3        223.1.3.27

                                                 223.1.3.1                     223.1.3.2
                                                                                                                                                       223.1.3.1                      223.1.3.2

31                                                                                               32




Getting a datagram from source to destination                                                    Getting a datagram from source to destination
                                                                                                                                                    Dest.       next
  misc                                          Dest. Net.   next router  #hops                    misc                                            network  router   #hops  interface
                                                                                                                                     data
 fields 223.1.1.1 223.1.2.2
                                   data                                                           fields 223.1.1.1 223.1.2.2
                                                 223.1.1                             1                                                             223.1.1         ‐                1       223.1.1.4
 Starting at A with destination E               223.1.2       223.1.1.4        2                Arriving at 223.1.1.4, destined for              223.1.2         ‐                1       223.1.2.9
                                                 223.1.3       223.1.1.4        2                     223.1.2.2                                    223.1.3         ‐                1       223.1.3.27
 look up network address of E
                                                                                                 look up network address of E
 E on different network                                                                                                                          A
                                            A    223.1.1.1                                       E on same network as router’s                        223.1.1.1
         A, E not directly attached
                                                                                                      interface 223.1.2.9                                                            223.1.2.1
 routing table: next hop router to E is                                      223.1.2.1
                                                 223.1.1.2                                               router, E directly attached                  223.1.1.2
     223.1.1.4                                                           223.1.2.9                                                                             223.1.1.4       223.1.2.9
                                                         223.1.1.4
                                                                                                 link layer sends datagram to 223.1.2.2 
 link layer sends datagram to router       B                                                                                                     B
                                                                                                      inside link‐layer frame via interface                                            223.1.2.2
     223.1.1.4 inside link‐layer frame
                                                223.1.1.3      223.1.3.27
                                                                                223.1.2.2
                                                                                            E         223.1.2.9                                       223.1.1.3        223.1.3.27                  E
 datagram arrives at 223.1.1.4 
                                                                                                 datagram arrives at 223.1.2.2                        223.1.3.1                      223.1.3.2
                                                                               223.1.3.2
 …                                              223.1.3.1


33                                                                                               34




                                                                                                      ICMP: Internet Control Message 
                                                                                                                 Protocol
                                                                                                • used by hosts, routers, gateways             Some typical types/codes
                                                                                                  to communication network‐level               Type Code description
                                                                                                  information                                  0        0         echo reply (ping)
                                                                                                    – error reporting: unreachable             3        0         dest. network unreachable
                                                                                                                                               3        1         dest host unreachable
 Additional protocols dealing with                                                                     host, network, port, protocol
                                                                                                    – echo request/reply (used by 
                                                                                                                                               3        2         dest protocol unreachable
                                                                                                                                               3        3         dest port unreachable
 Network Layer information                                                                             ping)
                                                                                                • network‐layer “above” IP:
                                                                                                                                               3        6         dest network unknown
                                                                                                                                               3        7         dest host unknown
                                                                                                    – ICMP msgs carried in IP                  4        0         source quench (congestion
                                                                                                       datagrams                                                  control ‐ not used)
                                                                                                • ICMP message: type, code plus                8        0         echo request (ping)
                                                                                                  first 8 bytes of IP datagram                 9        0         route advertisement
                                                                                                  causing error                                10      0         router discovery
                                                                                                                                               11      0         TTL expired
35                                                                                               36                                            12      0         bad IP header




                                                                                                                                                                                                               6
4/4/2011




             DHCP: Dynamic Host 
                                                                                                DHCP client‐server scenario
            Configuration Protocol
Goals
• allow host to dynamically obtain its IP address from network server                                   A    223.1.1.1           DHCP                 223.1.2.1
  when it joins network                                                                                                          server
• Can renew its lease on address in use                                                                       223.1.1.2
• Allows reuse of addresses                                                                                          223.1.1.4     223.1.2.9
  (only hold address while connected and “on”)                                                          B
                                                                                                                                           223.1.2.2              arriving DHCP 
• Support for mobile users who want to join network (more shortly)                                          223.1.1.3    223.1.3.27                     E         client needs
DHCP review                                                                                                                                                       address in this
                                                                                                             223.1.3.1                    223.1.3.2
                                                                                                                                                                  network
• host broadcasts “DHCP discover” message
• DHCP server responds with “DHCP offer” message
• host requests IP address: “DHCP request” message
• DHCP server sends address: “DHCP ack” message

37                                                                                         38




          DHCP client‐server scenario
          DHCP server: 223.1.2.5                                             arriving
                                                                                            NAT: Network Address Translation
                                            DHCP discover
                                                                              client
                                              src : 0.0.0.0, 68     
                                              dest.: 255.255.255.255,67                                rest of                                   local network
                                              yiaddr:    0.0.0.0                                      Internet                               (e.g., home network)
                                              transaction ID: 654                                                                                                                   10.0.0.1
                                                                                                                                                    10.0.0/24
                                               DHCP offer
                                                src: 223.1.2.5, 67                                                                    10.0.0.4
                                                dest:  255.255.255.255, 68                                                                                                           10.0.0.2
                                                yiaddr: 223.1.2.4
                                                transaction ID: 654                                           138.76.29.7
                                                Lifetime: 3600 secs
                       DHCP request
                        src:  0.0.0.0, 68     
                                                                                                                                                                                     10.0.0.3
                        dest::  255.255.255.255, 67
                        yiaddr: 223.1.2.4
                        transaction ID: 655                                                   All datagrams leaving local                    Datagrams with source or 
                        Lifetime: 3600 secs
             time
                                                                                        network have same single source NAT IP               destination in this network
                                              DHCP ACK                                           address: 138.76.29.7,                       have 10.0.0/24 address for 
                                                src: 223.1.2.5, 67                          different source port numbers                   source, destination (as usual)
                                                dest:  255.255.255.255, 68
                                                yiaddr: 223.1.2.4
                                                transaction ID: 655
                                                Lifetime: 3600 secs

39                                                                                         40




 NAT: Network Address Translation                                                           NAT: Network Address Translation
                                                                                        Implementation: NAT router must
• Motivation
   – local network uses just one IP address as far as outside                           • outgoing datagrams: replace (source IP address, port #) of every outgoing 
     world is concerned                                                                   datagram to (NAT IP address, new port #)
                                                                                           – remote clients/servers will respond using 
   – no need to be allocated range of addresses from ISP                                      (NAT IP address, new port #) as destination addr.
   – just one IP address is used for all devices
   – can change addresses of devices in local network without                           • remember (in NAT translation table) every (source IP address, port #)  to (NAT 
                                                                                          IP address, new port #) translation pair
     notifying outside world
   – can change ISP without changing addresses of devices in local                      • incoming datagrams: replace (NAT IP address, new port #) in dest fields of 
     network                                                                              every incoming datagram with corresponding (source IP address, port #) 
                                                                                          stored in NAT table
   – devices inside local net not explicitly addressable, visible by 
     outside world (a security plus).
   – BUT: machines cannot be servers! 

41                                                                                         42




                                                                                                                                                                                                      7
4/4/2011




     NAT: Network Address Translation                                                                                    NAT: Network Address Translation
                                     NAT translation table
2: NAT router                                                                                  1: host 10.0.0.1 
                                WAN side addr        LAN side addr
changes datagram                                                                               sends datagram to 
source addr from
                                138.76.29.7, 5001   10.0.0.1, 3345                             128.119.40, 80           • 16‐bit port‐number field
                                  ……                                         ……
10.0.0.1, 3345 to                                                                                                          – 60,000 simultaneous connections with a single LAN‐side address!
138.76.29.7, 5001,                                                           S: 10.0.0.1, 3345
updates table                                                                D: 128.119.40.186, 80
                                                                                                            10.0.0.1    • NAT is controversial
                                                                                           1
                         S: 138.76.29.7, 5001                                                                              – routers should only process up to layer 3
                     2   D: 128.119.40.186, 80               10.0.0.4
                                                                                                             10.0.0.2      – violates end‐to‐end argument
                                  138.76.29.7                     S: 128.119.40.186, 80                                        • NAT possibility must be taken into account 
                                                                                               4
                S: 128.119.40.186, 80 
                                                                  D: 10.0.0.1, 3345                                               by app designers, e.g., P2P applications
                                           3                                                        10.0.0.3
                D: 138.76.29.7, 5001
                                                                4: NAT router                                              – address shortage should instead be solved by IPv6
             3: Reply arrives                                   changes datagram
             dest. address:                                                                                                    • delays deployment of IPv6
                                                                dest addr from
             138.76.29.7, 5001                                  138.76.29.7, 5001 to 10.0.0.1, 3345

    43                                                                                                                  44




                                                                                                                                                   Routing
                                                                                                                                                                               5
                                                                                                                             Routing protocol
                                                                                                                                                                               B     3       C
                                                                                                                              Goal: determine “good” path                 2                      5
                                                                                                                             (sequence of routers) through        A             2            1       F
                                                                                                                              network from source to dest.                               3
                                                                                                                                                                      1                          2
                                                                                                                                                                               D             E
                                                                                                                                                                                     1
     Routing
                                                                                                                         Graph abstraction for routing
                                                                                                                                                                      “good” path:
                                                                                                                         • graph nodes are routers
                                                                                                                         • graph edges are physical links              typically means 
                                                                                                                                                                              minimum cost path
                                                                                                                             – link cost: delay, $ cost, or 
                                                                                                                               congestion level                        other definitions 
                                                                                                                                                                              possible


    45                                                                                                                  46




                           Routing protocol classes                                                                            Important properties of routing protocols

    • Distance vector protocols                                                                                         • Information needed
       – Nodes know only distance (cost) to neighbors                                                                      – Messages involved
       – Exchange distance to all nodes with neighbors                                                                     – Storage necessary to keep the information
       – Update local information based on received information                                                         • Convergence
                                                                                                                           – How fast until it stabilizes
    • Link state protocols                                                                                                 – How fast it reacts to changes
       – All nodes know network topology and cost of each link 
         (propagated through the network by flooding)
       – Run protocol to find shortest path to each destination


    47                                                                                                                  48




                                                                                                                                                                                                               8
4/4/2011




                                                                               Distance Vector Routing: Intuition
                                                                                                                  Geneva             Zurich


                                                                                                             a                  b                c
 Distance Vector Protocols
 RIP (Routing Information Protocol)                                                                                   Routing Table of b


                                                                                                                      Destination       Dir
                                                                                                                      Geneva            a
                                                                                                                      Zurich            c


49
                                                                                                                                                                              50




                       Distance Vector Routing                                 Distance Vector Routing Algorithm
                                                                               Algorithm is iterative
Distance Zurich: 7                Zurich?            Distance Zurich: 3
                                                                               • continues until no nodes                      Routing Table with distance info 
                                                                                   exchange info                               • each node has one
                          a          b               c                         • self‐terminating: no “signal”                 • a node x has for each neighbor z an entry 
                                                                                   to stop                                        for each destination y (as in example 
                                                                               asynchronous                                       before); Dx(y,z) = distance from x to y 
                                                                               • nodes need not to iterate in                     through z
                               Distance Zurich: 4                                  lock‐step                                   • the best route for a given destination is 
                                                                               distributed                                        marked
                                                                               • each node communicates 
                                            Destination     Dir    Dst             only with direct neighbors
         Distance Zurich: 5!
                                            Geneva          a      10
                                            Zurich          c      4

                                                                               52
                                                                          51




         Distance Vector Algorithm                                              Distance table gives routing table
                                                                                            cost to destination via
                                                                                    E                                                Outgoing link 
                                                                                D  ()         A        B      D                      to use, cost
           Y
     2         1                                                                        A      1     14       5                 A      A, 1
X                  Z
           7                                                                                                                                                          1
                                                                                        B      7       8      5                 B      D, 5                       B       C
                                                                                                                                                              7
                                                                                                                                                      A           8           2
                                                                                        C      6       9      4                 C      D, 4               1
                                                                                                                                                                  E       D
                                                                                                                                                                      2
                                                                                        D      4     11       2                 D      D, 2

                                                                                            Distance table                      Routing table

53                                                                             54




                                                                                                                                                                                         9
4/4/2011




                                                                                                Count to Infinity Problem when 
             Distance Vector Routing
                                                                                                          links break
                                                 Each node executes a loop:                                            c: 2                    c: 1
     Local iteration caused by 
     • local link cost change                    wait for (change in local link                                              a                b                 c
     • Neighbor sends a message saying           cost or msg from neighbor)
        that (at least) one of its least cost 
        paths changed
     Algorithm is distributed
                                                                                                                                                        c: 3
                                                 recompute distance table
     • each node notifies neighbors only                                                             c: 4
        when its least cost path to any                                                                                                              c: 5
        destination changes
                                                 if least cost path to any dest has                        c: 6
          – neighbors then notify their 
              neighbors if necessary, etc.       changed, notify all neighbors                                                                c: 7
                                                                                                                  c: 8

 55                                                                                       56




  Distance Vector: link cost changes                                                          Distance Vector: link cost changes
  Link cost changes
                                                            1                             •     What if the cost of a link grows?                               60
   node detects local link cost change 
                                                                    Y                     •     Compare with the count to infinity problem                              Y
   updates distance table                                      4        1                                                                                          4           1

   if cost change in least cost path, notify              X                 Z                  (More on this later)                                            X                   Z
                                                                    50                                                                                                  50
        neighbors

                                                                             algorithm
                                                                                                                                                                                        algorithm
                                                                             terminates
“good                                                                                                                                                                                   continues
                                                                                                                                                                                               on!
news 
travel
fast”



 57                                                                                       58




 RIP (Routing Information Protocol)                                                       RIP (Routing Information Protocol) 
                                                                                                                                                                                                 z
 • Distance vector algorithm
 • Included in BSD‐UNIX Distribution in 1982                                                   w                         x                                          y           …
 • Distance metric: number of hops (max = 15 hops)                                                          A                       D                       B
 • Distance vectors: exchanged every 30 sec via 
   Response Message (also called “advertisement”)                                                                                  C
 • Each advertisement: route to up to 25 destination  networks                                Routing table in D
                                                                                          Destination Network                    Next  Router           Num. of hops to dest.
                                                                                                      w                                  A                               2
                                                                                                      y                                  B                               2
                                                                                                      z                                  B                               7
                                                                                                      x                                  ‐‐                              1
                                                                                                      ….                                 ….                              ....

 59                                                                                       60




                                                                                                                                                                                                          10
4/4/2011




     RIP: Link Failure and Recovery                                         Distance Vector: poisoned reverse
If no advertisement heard after 180 sec then neighbor/link declared dead    If Z routes through Y to get to X :
                                                                                                                                     60
     – routes via neighbor invalidated                                       Z tells Y its (Z’s) distance to X is infinite (so Y            Y
                                                                                 won’t route to X via Z)                                 4        1
     – new advertisements sent to neighbors
                                                                                                                                     X                Z
     – neighbors in turn send out new advertisements (if tables changed)     Avoids the loop between 2 nodes                                50
     – link failure info quickly propagates to entire net                                                                                             algorithm
                                                                                                                                                      terminates
     – poison reverse (next slide) used to prevent ping‐pong loops 
        (infinite distance = 16 hops)




61                                                                          62




                                                                                   [E]IGRP: [Enhanced] Interior 
            RIP Table processing
                                                                                    Gateway Routing Protocol
• RIP routing tables managed by application‐level process called route‐d 
  (daemon)                                                                  •    CISCO proprietary; successor of RIP (mid 80s)
• advertisements sent in UDP packets, periodically repeated                 •    Distance Vector, like RIP
                                                                            •    several cost metrics (delay, bandwidth, reliability, load etc)
                                                                            •    uses TCP to exchange routing updates
                                                                            •    Loop‐free routing via Distributed Updating Algorithm (DUAL)  
                                                                                 based on diffused computation




63                                                                          64




                                                                                            Link state routing (intuition)

                                                                            • Every node knows the topology and cost of every link
                                                                               – Achieved through flooding
                                                                                   • Nodes send the information on their links and neighbors to all 
                                                                                     neighbors
 Link state routing protocols                                                      • Nodes forward information about other nodes to their neighbors
                                                                                   • ACKs used to prevent message loss
 OSPF (Open Shortest Path First)                                                   • Sequence numbers used to compare versions
                                                                            • With the information on topology and cost
                                                                               – Calculate the shortest path to every possible destination
                                                                                   • Dijkstra’s algorithm




65                                                                          66




                                                                                                                                                                        11
4/4/2011




                                                                                                                         Link state routing algorithm: 
                            Algorithm idea
                                                                                                                                    Dijkstra
•       There are 3 groups of nodes in the network
         – To the green nodes we know the shortest path                                                                                                              Notation
         – The blue nodes are directly reachable from the green nodes                                              Dijkstra’s algorithm                              • c(i,j): link cost from node i to j. 
         – All other nodes are black                                                                                                                                    Can be infinite if not direct 
                                                                                                                   • net topology, link costs known to 
                                                                                                                                                                        neighbors, costs define 
                                                                                                                       all nodes                                        adjacency matrix.
•       Basic algorithm:                                   v
                                                                                                                        – accomplished via “link state 
                                                                   w                                                                                                 • v.distance: current value of cost 
         – Start with                                                                                                       broadcast” 
            source s as the                                                                                                                                             of path from source s to 
            only green node                         u                                                                   – all nodes have same info                      destination v.
                                                                                                             x                                                       • v.visited: boolean variable that 
         – Color the                                                                                               • computes single‐source shortest 
            best* blue                                                                                                 path tree                                        determines if optimal path to v 
                                      s                                                                                                                                 was found.
            node green,
                                                                                                                        – gives routing table for source
            one after another,                                                                                                                                       • v.pred: the predecessor node of 
            until all nodes are green                                                                                                                                   v in the routing tree.
            (*best = minimum distance from source s of all blue nodes)                                                                                               • B: the set of blue nodes.

67                                                                                                                68




     Dijkstra’s Algorithm (for source s 
                                                                                                                       Dijkstra’s algorithm: example
             and edge costs c)
                                                                                                                 Step               visited               Set of blue nodes B (with distance)
      s.visited := true; s.distance := 0; s.pred := s; // init source s                                             0                     A               D (1), B (2), C (5)
      for all nodes v in V except s do // init all other nodes                                                      1              A, D (1)               E (2), B (2), C (4)
          v.visited := false; v.distance := 1; v.pred := undefined;
                                                                                                                    2             AD, E (2)               B (2), C (3), F(4)
      B := {} // B is the set of blue nodes, initially all neighbors of s                                           3            ADE, B (2)               C (3), F(4)
      for all nodes v in V that are direct neighbors of s                                                           4           ADEB, C (3)               F(4)
          B := B + {v}; v.distance := c(s,v); v.pred := s;                                                          5          ADEBC, F (4)               ‐
      while B not empty do // always choose the best blue node v
         v := node in B with minimum v.distance;                                                                                                      5
         B := B – {v};                                                                                                                                       3
         v.visited := true;  // turns the node green                                                                                                  B              C      5
         for all neighbors w of v with w.visited = false; // update neighbors of v
                                                                                                                                                  2
             if w not in B then                                                                                                          A            2               1         F
                                                                                                                                                                 3
                 B := B + {w}; w.distance := v.distance+c(v,w); w.pred := v;                                                                  1                             2
             if w in B then                                                                                                                           D              E
                 if (v.distance+c(v,w) < w.distance) then                                                                                                     1
                      w.distance := v.distance+c(v,w); w.pred := v;
69    endwhile                                                                                                    70




     Dijkstra’s algorithm, correctness                                                                                  OSPF (Open Shortest Path First)
                                                                                                                  • “open”: publicly available
    Oscillations possible
                                                                                                                  • Uses Link State algorithm 
    • For example if link costs depend on the amount of carried traffic. 
                                                                                                                     – LS packet dissemination
       Example: three flows to node A, with traffic 1, 1, and e (<1)
                                                                                                                     – Topology map at each node
               A                                                                                                     – Route computation using Dijkstra’s algorithm
        1           1+e          2+e
                                          A                           A                        A
                                                 0             0            2+e      2+e             0
    D        0 0        B        D                   B        D               B      D                   B
                                         1+e 1                        0 0                    1+e 1                • OSPF advertisement carries one entry per neighbor router
        0           e                0           0                1         1+e          0           e
1
               C                           C                          C                        C                  • Advertisements disseminated via flooding
                        1
              e
                                   B and C have                 D, C, B have                  etc.
            initially
                                   better routes               better routes
    • Dijkstra’s algorithm is optimal for constant (and positive!) link costs


71                                                                                                                72




                                                                                                                                                                                                                   12
4/4/2011




        OSPF “advanced” features 
                                                                                                 Hierarchical OSPF
               (not in RIP)
• Security
   – all OSPF messages authenticated 
   – therefore no malicious intrusion
   – TCP connections used
• Multiple same‐cost paths allowed (only one path in RIP)
• For each link, multiple cost metrics for different TOS (Type of Service)
   – e.g., satellite link cost set “low” for best effort; high for real time
• Integrated uni‐ and multicast support: 
   – Multicast OSPF (MOSPF) uses same topology data base as OSPF
• Hierarchical OSPF in large domains




73                                                                             74




               Hierarchical OSPF
• Two‐level hierarchy: local area or backbone
   – Link‐state advertisements only in area 
   – each node has detailed area topology but only knows direction 
     (shortest path) to networks in other areas.
• Area border routers
   – “summarize” distances to networks in own area                              Comparing routing algorithms
   – advertise to other area border routers.
• Backbone routers
   – run OSPF routing limited to backbone.
• Boundary routers
   – connect to other autonomous systems.



75                                                                             76




                                                                                       Link‐State vs. Distance‐Vector 
               Distance vector vs link state
                                                                                                  Routing
• Distance vector:                                                                  Message complexity                  Robustness
                                                                                    • LS: with n nodes, m links,        • what happens if router 
   Each node talks only to its directly connected neighbors but                       network flooded with O(nm)            malfunctions?
     tells them all it has learned (distance to all nodes)                            messages                          LS:
                                                                                    • DV: exchange between neighbors         – node can advertise incorrect 
                                                                                      only                                     link cost
                                                                                       – convergence time varies             – each node computes only its 
• Link state                                                                                                                   own table
                                                                                    Speed of Convergence
   Each node talks to all other nodes but tells them only about                                                         DV:
                                                                                    • LS: O(m + n log n)
     the state of its directly connected links                                                                               – DV node can advertise 
                                                                                        – may have oscillations
                                                                                                                               incorrect path cost
                                                                                    • DV: convergence time varies
                                                                                                                             – each node’s table used by 
                                                                                        – count‐to‐infinity problem
                                                                                                                               others: errors propagate 
                                                                                                                               through the network
77                                                                             78




                                                                                                                                                                    13
Chapter8 6up
Chapter8 6up
Chapter8 6up
Chapter8 6up
Chapter8 6up
Chapter8 6up
Chapter8 6up
Chapter8 6up
Chapter8 6up
Chapter8 6up

Contenu connexe

Tendances

Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Online
 
MPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingMPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingPeter R. Egli
 
MPLS Traffic Engineering
MPLS Traffic EngineeringMPLS Traffic Engineering
MPLS Traffic EngineeringAPNIC
 
MPLS (Multi-Protocol Label Switching)
MPLS  (Multi-Protocol Label Switching)MPLS  (Multi-Protocol Label Switching)
MPLS (Multi-Protocol Label Switching)NetProtocol Xpert
 
Networing basics
Networing basicsNetworing basics
Networing basicsMohd Arif
 
Mpls basics introduction
Mpls basics introductionMpls basics introduction
Mpls basics introductionPhilip Agu Bah
 
Multiprotocol label switching
Multiprotocol label switchingMultiprotocol label switching
Multiprotocol label switchingSumita Das
 
Deploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringDeploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringAPNIC
 
Ccna(routing &and switching)
Ccna(routing &and switching)Ccna(routing &and switching)
Ccna(routing &and switching)Shweta Kumari
 
Mpls-Multi Protocol label Switching
Mpls-Multi Protocol label Switching Mpls-Multi Protocol label Switching
Mpls-Multi Protocol label Switching Sumit Pathak
 
MPLS Traffic Engineering
MPLS Traffic EngineeringMPLS Traffic Engineering
MPLS Traffic EngineeringAPNIC
 

Tendances (20)

Mpls te
Mpls teMpls te
Mpls te
 
Mpls
MplsMpls
Mpls
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)
 
MPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingMPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label Switching
 
MPLS Traffic Engineering
MPLS Traffic EngineeringMPLS Traffic Engineering
MPLS Traffic Engineering
 
MPLS (Multi-Protocol Label Switching)
MPLS  (Multi-Protocol Label Switching)MPLS  (Multi-Protocol Label Switching)
MPLS (Multi-Protocol Label Switching)
 
Mpls
MplsMpls
Mpls
 
Networing basics
Networing basicsNetworing basics
Networing basics
 
Mpls
MplsMpls
Mpls
 
Mpls basics introduction
Mpls basics introductionMpls basics introduction
Mpls basics introduction
 
Multiprotocol label switching
Multiprotocol label switchingMultiprotocol label switching
Multiprotocol label switching
 
MPLS Tutorial
MPLS TutorialMPLS Tutorial
MPLS Tutorial
 
Deploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringDeploy MPLS Traffic Engineering
Deploy MPLS Traffic Engineering
 
Implementing cisco mpls
Implementing cisco mplsImplementing cisco mpls
Implementing cisco mpls
 
Mpls
MplsMpls
Mpls
 
Mpls technology
Mpls technologyMpls technology
Mpls technology
 
Ccna(routing &and switching)
Ccna(routing &and switching)Ccna(routing &and switching)
Ccna(routing &and switching)
 
Mpls-Multi Protocol label Switching
Mpls-Multi Protocol label Switching Mpls-Multi Protocol label Switching
Mpls-Multi Protocol label Switching
 
MPLS VPN
MPLS VPNMPLS VPN
MPLS VPN
 
MPLS Traffic Engineering
MPLS Traffic EngineeringMPLS Traffic Engineering
MPLS Traffic Engineering
 

En vedette

En vedette (7)

Materi pokok 5
Materi pokok 5Materi pokok 5
Materi pokok 5
 
Akuntansi persediaan - PEMDA
Akuntansi persediaan - PEMDAAkuntansi persediaan - PEMDA
Akuntansi persediaan - PEMDA
 
HUKUM PERIKATAN & PERJANJIAN
HUKUM PERIKATAN & PERJANJIANHUKUM PERIKATAN & PERJANJIAN
HUKUM PERIKATAN & PERJANJIAN
 
Makalah aspk hukum
Makalah aspk hukumMakalah aspk hukum
Makalah aspk hukum
 
Ch08 penilaian persediaan 2
Ch08 penilaian persediaan 2Ch08 penilaian persediaan 2
Ch08 penilaian persediaan 2
 
Akuntansi keuangan menengah 1
Akuntansi keuangan menengah 1Akuntansi keuangan menengah 1
Akuntansi keuangan menengah 1
 
Hukum Perikatan
Hukum PerikatanHukum Perikatan
Hukum Perikatan
 

Similaire à Chapter8 6up

The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...
The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...
The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...scarisbrick
 
Network architecure (3).pptx
Network architecure (3).pptxNetwork architecure (3).pptx
Network architecure (3).pptxKaythry P
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IPPiero Fraternali
 
Final_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptxFinal_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptxjainam bhavsar
 
Logical design of io t
Logical design of io tLogical design of io t
Logical design of io tKunal Bangar
 
Analyzing and optimizing mpls technology at Reliance Jio
Analyzing and optimizing mpls technology at Reliance JioAnalyzing and optimizing mpls technology at Reliance Jio
Analyzing and optimizing mpls technology at Reliance JioTusharSaxena53
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocolsOnline
 
RouteFlow & IXPs
RouteFlow & IXPsRouteFlow & IXPs
RouteFlow & IXPsnvirters
 
Implementation of intelligent wide area network(wan)
Implementation of intelligent wide area network(wan)Implementation of intelligent wide area network(wan)
Implementation of intelligent wide area network(wan)Jatin Singh
 
Chapter 4 internetworking [compatibility mode]
Chapter 4   internetworking [compatibility mode]Chapter 4   internetworking [compatibility mode]
Chapter 4 internetworking [compatibility mode]Sĩ Anh Nguyễn
 
02 protocols and tcp-ip
02 protocols and tcp-ip02 protocols and tcp-ip
02 protocols and tcp-ipmyl_1116
 
computer-networks-class-xii-part-2-eng.pdf
computer-networks-class-xii-part-2-eng.pdfcomputer-networks-class-xii-part-2-eng.pdf
computer-networks-class-xii-part-2-eng.pdfSangeethManojKumar
 
WPAN According To ZIGBEE
WPAN According To ZIGBEEWPAN According To ZIGBEE
WPAN According To ZIGBEEAfaq Siddiqui
 
Panduit Signature Core Fiber Optic Cabling System
Panduit Signature Core Fiber Optic Cabling SystemPanduit Signature Core Fiber Optic Cabling System
Panduit Signature Core Fiber Optic Cabling SystemPanduit
 
Mobile Ad Hoc Network of Simulation Framework Based on OPNET
Mobile Ad Hoc Network of Simulation Framework Based on OPNETMobile Ad Hoc Network of Simulation Framework Based on OPNET
Mobile Ad Hoc Network of Simulation Framework Based on OPNETateeq ateeq
 
Hacia el Data Center virtualizado- Fabian Domínguez
Hacia el Data Center virtualizado- Fabian DomínguezHacia el Data Center virtualizado- Fabian Domínguez
Hacia el Data Center virtualizado- Fabian DomínguezEventos_PrinceCooke
 
Communication Technologies in IOT.pptx
Communication Technologies in IOT.pptxCommunication Technologies in IOT.pptx
Communication Technologies in IOT.pptx20CE112YASHPATEL
 

Similaire à Chapter8 6up (20)

Chapter03
Chapter03Chapter03
Chapter03
 
The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...
The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...
The Network\'s IN the (virtualised) Server: Virtualized Io In Heterogeneous M...
 
Network architecure (3).pptx
Network architecure (3).pptxNetwork architecure (3).pptx
Network architecure (3).pptx
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IP
 
Final_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptxFinal_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptx
 
Logical design of io t
Logical design of io tLogical design of io t
Logical design of io t
 
Ip ran v1.1
Ip ran v1.1Ip ran v1.1
Ip ran v1.1
 
Analyzing and optimizing mpls technology at Reliance Jio
Analyzing and optimizing mpls technology at Reliance JioAnalyzing and optimizing mpls technology at Reliance Jio
Analyzing and optimizing mpls technology at Reliance Jio
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocols
 
RouteFlow & IXPs
RouteFlow & IXPsRouteFlow & IXPs
RouteFlow & IXPs
 
Implementation of intelligent wide area network(wan)
Implementation of intelligent wide area network(wan)Implementation of intelligent wide area network(wan)
Implementation of intelligent wide area network(wan)
 
Chapter 4 internetworking [compatibility mode]
Chapter 4   internetworking [compatibility mode]Chapter 4   internetworking [compatibility mode]
Chapter 4 internetworking [compatibility mode]
 
02 protocols and tcp-ip
02 protocols and tcp-ip02 protocols and tcp-ip
02 protocols and tcp-ip
 
computer-networks-class-xii-part-2-eng.pdf
computer-networks-class-xii-part-2-eng.pdfcomputer-networks-class-xii-part-2-eng.pdf
computer-networks-class-xii-part-2-eng.pdf
 
UNIT2_PPT.ppt
UNIT2_PPT.pptUNIT2_PPT.ppt
UNIT2_PPT.ppt
 
WPAN According To ZIGBEE
WPAN According To ZIGBEEWPAN According To ZIGBEE
WPAN According To ZIGBEE
 
Panduit Signature Core Fiber Optic Cabling System
Panduit Signature Core Fiber Optic Cabling SystemPanduit Signature Core Fiber Optic Cabling System
Panduit Signature Core Fiber Optic Cabling System
 
Mobile Ad Hoc Network of Simulation Framework Based on OPNET
Mobile Ad Hoc Network of Simulation Framework Based on OPNETMobile Ad Hoc Network of Simulation Framework Based on OPNET
Mobile Ad Hoc Network of Simulation Framework Based on OPNET
 
Hacia el Data Center virtualizado- Fabian Domínguez
Hacia el Data Center virtualizado- Fabian DomínguezHacia el Data Center virtualizado- Fabian Domínguez
Hacia el Data Center virtualizado- Fabian Domínguez
 
Communication Technologies in IOT.pptx
Communication Technologies in IOT.pptxCommunication Technologies in IOT.pptx
Communication Technologies in IOT.pptx
 

Plus de rumoorthyit

Plus de rumoorthyit (6)

M211 c
M211 cM211 c
M211 c
 
Installation
InstallationInstallation
Installation
 
G111 b
G111 bG111 b
G111 b
 
Quality circles
Quality circlesQuality circles
Quality circles
 
Network
NetworkNetwork
Network
 
05 network
05 network05 network
05 network
 

Dernier

How to Solve Singleton Error in the Odoo 17
How to Solve Singleton Error in the  Odoo 17How to Solve Singleton Error in the  Odoo 17
How to Solve Singleton Error in the Odoo 17Celine George
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptxraviapr7
 
Over the counter (OTC)- Sale, rational use.pptx
Over the counter (OTC)- Sale, rational use.pptxOver the counter (OTC)- Sale, rational use.pptx
Over the counter (OTC)- Sale, rational use.pptxraviapr7
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...raviapr7
 
Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.raviapr7
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfMohonDas
 
Prescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxPrescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxraviapr7
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17Celine George
 
How to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using CodeHow to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using CodeCeline George
 
SOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptx
SOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptxSOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptx
SOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptxSyedNadeemGillANi
 
EBUS5423 Data Analytics and Reporting Bl
EBUS5423 Data Analytics and Reporting BlEBUS5423 Data Analytics and Reporting Bl
EBUS5423 Data Analytics and Reporting BlDr. Bruce A. Johnson
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfMohonDas
 
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptxSandy Millin
 
The basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptxThe basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptxheathfieldcps1
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICESayali Powar
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...Nguyen Thanh Tu Collection
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxDr. Asif Anas
 
Vani Magazine - Quarterly Magazine of Seshadripuram Educational Trust
Vani Magazine - Quarterly Magazine of Seshadripuram Educational TrustVani Magazine - Quarterly Magazine of Seshadripuram Educational Trust
Vani Magazine - Quarterly Magazine of Seshadripuram Educational TrustSavipriya Raghavendra
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxAditiChauhan701637
 

Dernier (20)

How to Solve Singleton Error in the Odoo 17
How to Solve Singleton Error in the  Odoo 17How to Solve Singleton Error in the  Odoo 17
How to Solve Singleton Error in the Odoo 17
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
 
Over the counter (OTC)- Sale, rational use.pptx
Over the counter (OTC)- Sale, rational use.pptxOver the counter (OTC)- Sale, rational use.pptx
Over the counter (OTC)- Sale, rational use.pptx
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...
 
Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdf
 
Prescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxPrescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptx
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17
 
How to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using CodeHow to Send Emails From Odoo 17 Using Code
How to Send Emails From Odoo 17 Using Code
 
SOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptx
SOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptxSOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptx
SOLIDE WASTE in Cameroon,,,,,,,,,,,,,,,,,,,,,,,,,,,.pptx
 
March 2024 Directors Meeting, Division of Student Affairs and Academic Support
March 2024 Directors Meeting, Division of Student Affairs and Academic SupportMarch 2024 Directors Meeting, Division of Student Affairs and Academic Support
March 2024 Directors Meeting, Division of Student Affairs and Academic Support
 
EBUS5423 Data Analytics and Reporting Bl
EBUS5423 Data Analytics and Reporting BlEBUS5423 Data Analytics and Reporting Bl
EBUS5423 Data Analytics and Reporting Bl
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdf
 
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
 
The basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptxThe basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptx
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICE
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptx
 
Vani Magazine - Quarterly Magazine of Seshadripuram Educational Trust
Vani Magazine - Quarterly Magazine of Seshadripuram Educational TrustVani Magazine - Quarterly Magazine of Seshadripuram Educational Trust
Vani Magazine - Quarterly Magazine of Seshadripuram Educational Trust
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptx
 

Chapter8 6up

  • 1. 4/4/2011 Overview • Network layer services • IP, the Internet Protocol Networks and Operating Systems – Model – Message format Chapter 8: Network Layer – Fragmentation and reassembly • IP Addressing (252‐0062‐00) • Additional Protocols • Routing Gustavo Alonso & Timothy Roscoe – Basics – Interior Gateway Protocols (IGP) Frühjahrssemester 2011 • distance vector protocols: RIP • Link state protocols: OSPF – Interdomain Routing (BGP) • Path vector protocol • Routers • IPv6 2 © Systems Group | Department of Computer Science | ETH Zürich Network Layer Network Layer Services 3 4 Network layer functions Network service model • Transport packet from  sending to receiving hosts  The service model defines the “channel” transporting packets  • Network layer protocols  from sender to receiver: in every host, router • guaranteed bandwidth? Three important functions: • preservation of inter‐packet timing (no jitter)? • path determination: route taken by  packets from source to destination.  • loss‐free delivery? Established by a routing algorithm • in‐order delivery? • switching: move packets from  router’s input to appropriate router  • congestion feedback to sender? output The network layer can work under two service models: • call setup: some network  architectures require router call  • Virtual circuit setup along path before data flows • Datagrams 5 Source:http://en.wikipedia.org/wiki/Internet_Protocol 6 1
  • 2. 4/4/2011 Virtual circuits Virtual circuits: signaling protocols • The source‐to‐destination path tries to behave like a physical  • used to setup, maintain, and teardown VC circuit • used in ATM (Asynchronous Transfer Mode), frame‐ relay, X.25 • The network layer  maintains the illusion of a circuit: • not used in today’s Internet – call setup for each call before data can flow (teardown  after) – each packet carries VC identifier (instead of the destination  application host ID) 5. Data flow begins 6. Receive data application transport 4. Call connected transport – every router on source‐destination path maintains “state”  network 3. Accept call 1. Initiate call network data link 2. incoming call for each passing connection physical data link – link, router resources (bandwidth, buffers) may be  physical allocated to VC 7 8 Datagram networks: The Internet  Routing in a datagram model model • no call setup at network layer • routers: no state about end‐to‐end connections • Moving packets to their destination is done as a series of  • packets typically routed using destination host ID local routing decisions at each switch – packets between same source‐dest pair may take different  • Each switch maintains a forwarding or routing table that says  paths! which way packets have to go to reach a particular  destination • The information in the routing table is gathered using a  application routing protocol application transport transport network Dest    Port data link 1. Send data 2. Receive data network 1 data link A 2 physical physical 2 B 3 3 C 1 9 10 Network layer service models Datagram vs. VC network Guarantees ? Network Service Congestion Internet (IP) ATM Architecture Model Bandwidth Loss Order Timing feedback • data exchange among computers • evolved from telephony Internet best effort none no no no no (inferred – “elastic” service, no strict timing  • human conversation  via loss) req.  – strict timing, reliability  ATM CBR constant yes yes yes no • “smart” end systems (computers) requirements rate congestion – can adapt, perform control,  – need for guaranteed service ATM VBR guaranteed yes yes yes no error recovery • “dumb” end systems rate congestion – telephones – simple inside network,  ATM ABR guaranteed  no yes no yes – complexity inside network complexity at “edge” minimum • Today not really used and being  ATM UBR none no yes no no • many link types  phased out  – different characteristics Recommended reading: CBR = Constant Bit Rate VBR = Variable Bit Rate ABR = Average Bit Rate – uniform service difficult http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode UBR = Unspecified Bit Rate      Recommended reading => http://en.wikipedia.org/wiki/Traffic_contract 11 12 2
  • 3. 4/4/2011 Internetworking (IP) Internet Protocol (IP) Source:http://en.wikipedia.org/wiki/Internet_Protocol 13 14 Internetworking (IP) Packet format 0 4 8 16 19 31 Type of  • The Internet Protocol Version Hdr length service Length – Datagram based Identifier Flags Offset • Best effort, unreliable Upper Layer Time To Live Header Checksum Protocol • Simple routers Source Address • Packet fragmentation and reassembly Destination Address Options (optional) – Addressing schema • IP Addresses DATA – Routing protocols 15 16 http://en.wikipedia.org/wiki/IPv4#Packet_structure Fragmentation and reassembly IP Fragmentation and Reassembly length ID fragflag offset • IP needs to work over many different physical networks =4000 =x =0 =0 – Networks have different maximum packet sizes One large datagram becomes – IP needs to fragment and reassemble packets to make  several smaller datagrams them fit in the frames of the next layer • Every network has a Maximum Transmission Unit: the largest  length ID fragflag offset =1500 =x =1 =0 IP datagram it can carry in the payload of a frame length ID • Fragment when needed, reassemble only at destination fragflag offset =1500 =x =1 =1480 • The fields “identifier”, “flag”, and “offset” are used to mark  the fragments and reassemble them as needed. length ID fragflag offset =1040 =x =0 =2960 17 18 3
  • 4. 4/4/2011 IP addressing • The Internet Protocol is meant as a protocol to communicate  across networks: Internetworking – There is not a single network but a hierarchy of networks – Routing happens within networks and across networks IP Addresses – Addresses are designed to reflect the hierarchical  organization of the networks comprising the Internet 19 20 IP Addresses Initial Internet design Up to 126 class A (wide area) networks “class‐full” addressing: 3 types of networks plus some  reserved addresses (http://en.wikipedia.org/wiki/IP_address) Class A Class A Class A class 1.0.0.0 to A 0 network host 127.255.255.255 class B (campus area) networks (64x256) B network 128.0.0.0 to 10 host 191.255.255.255 Class B Class B Class B Class B Class B Class B 192.0.0.0 to C 110 network host 223.255.255.255 224.0.0.0 to D 1110 multicast address 239.255.255.255 class C (local area) networks (32x256x256) 32 bits Class C Class C Class C Class C Class C Class C Class C 8 bits 21 http://en.wikipedia.org/wiki/IP_address 22 IP Addressing IP Addressing 223.1.1.1 223.1.1.1 223.1.2.1 • IP address: 32‐bit identifier for  • IP address 223.1.1.2 223.1.2.1 host or router interface 223.1.1.2 – network part (high order  223.1.1.4 223.1.2.9 223.1.1.4 223.1.2.9 bits) • Interface: connection to a  223.1.2.2 physical link 223.1.2.2 – host part (low order bits)  223.1.1.3 223.1.3.27 223.1.1.3 223.1.3.27 – routers typically have  • What’s a (local) network? (from  LAN multiple interfaces IP address perspective) – host may have multiple  – device interfaces with same  223.1.3.1 223.1.3.2 interfaces 223.1.3.1 223.1.3.2 network part of IP address – IP addresses associated with  – can physically reach each  interface, not host or router other without intervening  network consisting of 3 IP networks router (for IP addresses starting with 223,  223.1.1.1 = 11011111 00000001 00000001 00000001 the first 24 bits are network address) 223 1 1 1 23 24 4
  • 5. 4/4/2011 IP addressing: CIDR IP addresses: how to get one? • class‐full addressing:  – inefficient use of address space, address space exhaustion How do hosts get one? (host portion) – e.g., class B net allocated enough addresses for 65K hosts, even if  • Either hard‐coded by system admin in a file only 2K hosts in that network • CIDR: Classless InterDomain Routing – Wintel: control‐panelnetworkconfiguration – An improvement over basic IP addressing for more efficient use of  tcp/ipproperties addresses – UNIX: /etc/rc.config – network portion of address of arbitrary length • Or DHCP: Dynamic Host Configuration Protocol – address format: a.b.c.d/x, where x is number of bits defining the  – dynamically get address: “plug‐and‐play” network portion of address – host broadcasts “DHCP discover” message network host – DHCP server responds with “DHCP offer” message part part – host requests IP address: “DHCP request” message 11001000  00010111 00010000  00000000 – DHCP server sends address: “DHCP ack” message 200.23.16.0/23 25 http://en.wikipedia.org/wiki/Classless_Inter‐Domain_Routing 26 Hierarchical addressing: route  IP addresses: how to get one? aggregation Network (network portion) Hierarchical addressing allows efficient advertisement of  • get allocated portion of ISP’s address space routing information: Organization 0 ISP's block          11001000  00010111  00010000  00000000    200.23.16.0/20  200.23.16.0/23 Organization 1 “Send me anything Organization 0    11001000  00010111  00010000  00000000    200.23.16.0/23  200.23.18.0/23 with addresses  Organization 2 beginning  Organization 1    11001000  00010111  00010010  00000000    200.23.18.0/23  200.23.20.0/23 . Fly‐By‐Night‐ISP 200.23.16.0/20” . . . Internet . Organization 2    11001000  00010111  00010100  00000000    200.23.20.0/23  Organization 7 . 200.23.30.0/23 ...                                          …..                                   ….                …. “Send me anything ISPs‐R‐Us with addresses  Organization 7    11001000  00010111  00011110  00000000    200.23.30.0/23 beginning  199.31.0.0/16” 27 28 Hierarchical addressing: more  IP addressing: the last word... specific routes What if Organization 1 wants to change the provider? ISPs‐R‐Us has a more specific route to Organization 1 • How does an ISP get a block of addresses? Organization 0 – from another (bigger) ISP or  200.23.16.0/23 – with ICANN: Internet Corporation for Assigned  “Send me anything Names and Numbers with addresses  Organization 2 beginning  • allocates addresses 200.23.20.0/23 . Fly‐By‐Night‐ISP 200.23.16.0/20” • manages DNS . . . Internet . • assigns domain names, resolves disputes Organization 7 . 200.23.30.0/23 ISPs‐R‐Us “Send me anything • Will there be enough IP addresses, ever? with addresses  Organization 1 beginning 199.31.0.0/16 – No, there are some hacks around the corner (later) or 200.23.18.0/23” 200.23.18.0/23 29 30 5
  • 6. 4/4/2011 Getting a datagram from source to  destination Getting a datagram from source to destination routing table in A Dest. Net.  next router  #hops misc Dest. Net.   next router  #hops data Known as “forwarding” 223.1.1                             1 fields 223.1.1.1 223.1.1.3 223.1.1                  1 223.1.2      223.1.1.4        2  Starting at A, given IP datagram  223.1.2       223.1.1.4        2 223.1.3      223.1.1.4        2 misc source dest addressed to B: 223.1.3       223.1.1.4        2 IP datagram:  data fields IP addr IP addr A  look up net. address of B  datagram remains unchanged, as  223.1.1.1 A 223.1.1.1  find B is on same net. as A it travels from source to  223.1.2.1 destination 223.1.1.2  link layer will send datagram directly to  223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 B inside link‐layer frame  addr fields of interest here B  A and B are directly connected 223.1.1.4 223.1.2.9 223.1.2.2 B 223.1.1.3 223.1.3.27 E 223.1.2.2 E 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.3.1 223.1.3.2 31 32 Getting a datagram from source to destination Getting a datagram from source to destination Dest.       next misc Dest. Net.   next router  #hops misc network  router   #hops  interface data fields 223.1.1.1 223.1.2.2 data fields 223.1.1.1 223.1.2.2 223.1.1                             1 223.1.1         ‐ 1       223.1.1.4  Starting at A with destination E 223.1.2       223.1.1.4        2  Arriving at 223.1.1.4, destined for  223.1.2         ‐ 1       223.1.2.9 223.1.3       223.1.1.4        2 223.1.2.2 223.1.3         ‐ 1       223.1.3.27  look up network address of E  look up network address of E  E on different network A A 223.1.1.1  E on same network as router’s  223.1.1.1  A, E not directly attached interface 223.1.2.9  223.1.2.1  routing table: next hop router to E is  223.1.2.1 223.1.1.2  router, E directly attached 223.1.1.2 223.1.1.4  223.1.2.9 223.1.1.4 223.1.2.9 223.1.1.4  link layer sends datagram to 223.1.2.2   link layer sends datagram to router  B B inside link‐layer frame via interface  223.1.2.2 223.1.1.4 inside link‐layer frame 223.1.1.3 223.1.3.27 223.1.2.2 E 223.1.2.9  223.1.1.3 223.1.3.27 E  datagram arrives at 223.1.1.4   datagram arrives at 223.1.2.2 223.1.3.1 223.1.3.2 223.1.3.2  …  223.1.3.1 33 34 ICMP: Internet Control Message  Protocol • used by hosts, routers, gateways  Some typical types/codes to communication network‐level  Type Code description information 0        0         echo reply (ping) – error reporting: unreachable  3        0         dest. network unreachable 3        1         dest host unreachable Additional protocols dealing with  host, network, port, protocol – echo request/reply (used by  3        2         dest protocol unreachable 3        3         dest port unreachable Network Layer information ping) • network‐layer “above” IP: 3        6         dest network unknown 3        7         dest host unknown – ICMP msgs carried in IP  4        0         source quench (congestion datagrams control ‐ not used) • ICMP message: type, code plus  8        0         echo request (ping) first 8 bytes of IP datagram  9        0         route advertisement causing error 10      0         router discovery 11      0         TTL expired 35 36 12      0         bad IP header 6
  • 7. 4/4/2011 DHCP: Dynamic Host  DHCP client‐server scenario Configuration Protocol Goals • allow host to dynamically obtain its IP address from network server  A 223.1.1.1 DHCP  223.1.2.1 when it joins network server • Can renew its lease on address in use 223.1.1.2 • Allows reuse of addresses  223.1.1.4 223.1.2.9 (only hold address while connected and “on”) B 223.1.2.2 arriving DHCP  • Support for mobile users who want to join network (more shortly) 223.1.1.3 223.1.3.27 E client needs DHCP review address in this 223.1.3.1 223.1.3.2 network • host broadcasts “DHCP discover” message • DHCP server responds with “DHCP offer” message • host requests IP address: “DHCP request” message • DHCP server sends address: “DHCP ack” message 37 38 DHCP client‐server scenario DHCP server: 223.1.2.5 arriving NAT: Network Address Translation DHCP discover client src : 0.0.0.0, 68      dest.: 255.255.255.255,67 rest of local network yiaddr:    0.0.0.0 Internet (e.g., home network) transaction ID: 654 10.0.0.1 10.0.0/24 DHCP offer src: 223.1.2.5, 67       10.0.0.4 dest:  255.255.255.255, 68 10.0.0.2 yiaddr: 223.1.2.4 transaction ID: 654 138.76.29.7 Lifetime: 3600 secs DHCP request src:  0.0.0.0, 68      10.0.0.3 dest::  255.255.255.255, 67 yiaddr: 223.1.2.4 transaction ID: 655 All datagrams leaving local Datagrams with source or  Lifetime: 3600 secs time network have same single source NAT IP  destination in this network DHCP ACK address: 138.76.29.7, have 10.0.0/24 address for  src: 223.1.2.5, 67       different source port numbers source, destination (as usual) dest:  255.255.255.255, 68 yiaddr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs 39 40 NAT: Network Address Translation NAT: Network Address Translation Implementation: NAT router must • Motivation – local network uses just one IP address as far as outside  • outgoing datagrams: replace (source IP address, port #) of every outgoing  world is concerned datagram to (NAT IP address, new port #) – remote clients/servers will respond using  – no need to be allocated range of addresses from ISP (NAT IP address, new port #) as destination addr. – just one IP address is used for all devices – can change addresses of devices in local network without  • remember (in NAT translation table) every (source IP address, port #)  to (NAT  IP address, new port #) translation pair notifying outside world – can change ISP without changing addresses of devices in local  • incoming datagrams: replace (NAT IP address, new port #) in dest fields of  network every incoming datagram with corresponding (source IP address, port #)  stored in NAT table – devices inside local net not explicitly addressable, visible by  outside world (a security plus). – BUT: machines cannot be servers!  41 42 7
  • 8. 4/4/2011 NAT: Network Address Translation NAT: Network Address Translation NAT translation table 2: NAT router 1: host 10.0.0.1  WAN side addr        LAN side addr changes datagram sends datagram to  source addr from 138.76.29.7, 5001   10.0.0.1, 3345 128.119.40, 80 • 16‐bit port‐number field ……                                         …… 10.0.0.1, 3345 to – 60,000 simultaneous connections with a single LAN‐side address! 138.76.29.7, 5001, S: 10.0.0.1, 3345 updates table D: 128.119.40.186, 80 10.0.0.1 • NAT is controversial 1 S: 138.76.29.7, 5001 – routers should only process up to layer 3 2 D: 128.119.40.186, 80 10.0.0.4 10.0.0.2 – violates end‐to‐end argument 138.76.29.7 S: 128.119.40.186, 80  • NAT possibility must be taken into account  4 S: 128.119.40.186, 80  D: 10.0.0.1, 3345 by app designers, e.g., P2P applications 3 10.0.0.3 D: 138.76.29.7, 5001 4: NAT router – address shortage should instead be solved by IPv6 3: Reply arrives changes datagram dest. address: • delays deployment of IPv6 dest addr from 138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345 43 44 Routing 5 Routing protocol B 3 C Goal: determine “good” path 2 5 (sequence of routers) through  A 2 1 F network from source to dest. 3 1 2 D E 1 Routing Graph abstraction for routing “good” path: • graph nodes are routers • graph edges are physical links  typically means  minimum cost path – link cost: delay, $ cost, or  congestion level  other definitions  possible 45 46 Routing protocol classes Important properties of routing protocols • Distance vector protocols • Information needed – Nodes know only distance (cost) to neighbors – Messages involved – Exchange distance to all nodes with neighbors – Storage necessary to keep the information – Update local information based on received information • Convergence – How fast until it stabilizes • Link state protocols – How fast it reacts to changes – All nodes know network topology and cost of each link  (propagated through the network by flooding) – Run protocol to find shortest path to each destination 47 48 8
  • 9. 4/4/2011 Distance Vector Routing: Intuition Geneva Zurich a b c Distance Vector Protocols RIP (Routing Information Protocol) Routing Table of b Destination Dir Geneva a Zurich c 49 50 Distance Vector Routing Distance Vector Routing Algorithm Algorithm is iterative Distance Zurich: 7 Zurich? Distance Zurich: 3 • continues until no nodes  Routing Table with distance info  exchange info • each node has one a b c • self‐terminating: no “signal”  • a node x has for each neighbor z an entry  to stop for each destination y (as in example  asynchronous before); Dx(y,z) = distance from x to y  • nodes need not to iterate in  through z Distance Zurich: 4 lock‐step • the best route for a given destination is  distributed marked • each node communicates  Destination Dir Dst only with direct neighbors Distance Zurich: 5! Geneva a 10 Zurich c 4 52 51 Distance Vector Algorithm Distance table gives routing table cost to destination via E Outgoing link  D  () A B D to use, cost Y 2 1 A 1 14 5 A A, 1 X Z 7 1 B 7 8 5 B D, 5 B C 7 A 8 2 C 6 9 4 C D, 4 1 E D 2 D 4 11 2 D D, 2 Distance table Routing table 53 54 9
  • 10. 4/4/2011 Count to Infinity Problem when  Distance Vector Routing links break Each node executes a loop: c: 2 c: 1 Local iteration caused by  • local link cost change  wait for (change in local link  a b c • Neighbor sends a message saying  cost or msg from neighbor) that (at least) one of its least cost  paths changed Algorithm is distributed c: 3 recompute distance table • each node notifies neighbors only c: 4 when its least cost path to any  c: 5 destination changes if least cost path to any dest has  c: 6 – neighbors then notify their  neighbors if necessary, etc. changed, notify all neighbors  c: 7 c: 8 55 56 Distance Vector: link cost changes Distance Vector: link cost changes Link cost changes 1 • What if the cost of a link grows? 60  node detects local link cost change  Y • Compare with the count to infinity problem Y  updates distance table 4 1 4 1  if cost change in least cost path, notify  X Z (More on this later) X Z 50 50 neighbors algorithm algorithm terminates “good continues on! news  travel fast” 57 58 RIP (Routing Information Protocol) RIP (Routing Information Protocol)  z • Distance vector algorithm • Included in BSD‐UNIX Distribution in 1982 w x y … • Distance metric: number of hops (max = 15 hops) A D B • Distance vectors: exchanged every 30 sec via  Response Message (also called “advertisement”) C • Each advertisement: route to up to 25 destination  networks Routing table in D Destination Network Next  Router           Num. of hops to dest. w A 2 y B 2 z B 7 x ‐‐ 1 …. …. .... 59 60 10
  • 11. 4/4/2011 RIP: Link Failure and Recovery  Distance Vector: poisoned reverse If no advertisement heard after 180 sec then neighbor/link declared dead If Z routes through Y to get to X : 60 – routes via neighbor invalidated  Z tells Y its (Z’s) distance to X is infinite (so Y  Y won’t route to X via Z) 4 1 – new advertisements sent to neighbors X Z – neighbors in turn send out new advertisements (if tables changed)  Avoids the loop between 2 nodes 50 – link failure info quickly propagates to entire net algorithm terminates – poison reverse (next slide) used to prevent ping‐pong loops  (infinite distance = 16 hops) 61 62 [E]IGRP: [Enhanced] Interior  RIP Table processing Gateway Routing Protocol • RIP routing tables managed by application‐level process called route‐d  (daemon) • CISCO proprietary; successor of RIP (mid 80s) • advertisements sent in UDP packets, periodically repeated • Distance Vector, like RIP • several cost metrics (delay, bandwidth, reliability, load etc) • uses TCP to exchange routing updates • Loop‐free routing via Distributed Updating Algorithm (DUAL)   based on diffused computation 63 64 Link state routing (intuition) • Every node knows the topology and cost of every link – Achieved through flooding • Nodes send the information on their links and neighbors to all  neighbors Link state routing protocols • Nodes forward information about other nodes to their neighbors • ACKs used to prevent message loss OSPF (Open Shortest Path First) • Sequence numbers used to compare versions • With the information on topology and cost – Calculate the shortest path to every possible destination • Dijkstra’s algorithm 65 66 11
  • 12. 4/4/2011 Link state routing algorithm:  Algorithm idea Dijkstra • There are 3 groups of nodes in the network – To the green nodes we know the shortest path Notation – The blue nodes are directly reachable from the green nodes Dijkstra’s algorithm • c(i,j): link cost from node i to j.  – All other nodes are black Can be infinite if not direct  • net topology, link costs known to  neighbors, costs define  all nodes adjacency matrix. • Basic algorithm: v – accomplished via “link state  w • v.distance: current value of cost  – Start with broadcast”  source s as the of path from source s to  only green node u – all nodes have same info destination v. x • v.visited: boolean variable that  – Color the • computes single‐source shortest  best* blue path tree  determines if optimal path to v  s was found. node green, – gives routing table for source one after another, • v.pred: the predecessor node of  until all nodes are green v in the routing tree. (*best = minimum distance from source s of all blue nodes) • B: the set of blue nodes. 67 68 Dijkstra’s Algorithm (for source s  Dijkstra’s algorithm: example and edge costs c) Step visited Set of blue nodes B (with distance) s.visited := true; s.distance := 0; s.pred := s; // init source s 0 A D (1), B (2), C (5) for all nodes v in V except s do // init all other nodes 1 A, D (1) E (2), B (2), C (4) v.visited := false; v.distance := 1; v.pred := undefined; 2 AD, E (2) B (2), C (3), F(4) B := {} // B is the set of blue nodes, initially all neighbors of s 3 ADE, B (2) C (3), F(4) for all nodes v in V that are direct neighbors of s 4 ADEB, C (3) F(4) B := B + {v}; v.distance := c(s,v); v.pred := s; 5 ADEBC, F (4) ‐ while B not empty do // always choose the best blue node v v := node in B with minimum v.distance; 5 B := B – {v}; 3 v.visited := true;  // turns the node green B C 5 for all neighbors w of v with w.visited = false; // update neighbors of v 2 if w not in B then A 2 1 F 3 B := B + {w}; w.distance := v.distance+c(v,w); w.pred := v; 1 2 if w in B then D E if (v.distance+c(v,w) < w.distance) then 1 w.distance := v.distance+c(v,w); w.pred := v; 69 endwhile 70 Dijkstra’s algorithm, correctness OSPF (Open Shortest Path First) • “open”: publicly available Oscillations possible • Uses Link State algorithm  • For example if link costs depend on the amount of carried traffic.  – LS packet dissemination Example: three flows to node A, with traffic 1, 1, and e (<1) – Topology map at each node A – Route computation using Dijkstra’s algorithm 1 1+e 2+e A A A 0 0 2+e 2+e 0 D 0 0 B D B D B D B 1+e 1 0 0 1+e 1 • OSPF advertisement carries one entry per neighbor router 0 e 0 0 1 1+e 0 e 1 C C C C • Advertisements disseminated via flooding 1 e B and C have D, C, B have etc. initially better routes better routes • Dijkstra’s algorithm is optimal for constant (and positive!) link costs 71 72 12
  • 13. 4/4/2011 OSPF “advanced” features  Hierarchical OSPF (not in RIP) • Security – all OSPF messages authenticated  – therefore no malicious intrusion – TCP connections used • Multiple same‐cost paths allowed (only one path in RIP) • For each link, multiple cost metrics for different TOS (Type of Service) – e.g., satellite link cost set “low” for best effort; high for real time • Integrated uni‐ and multicast support:  – Multicast OSPF (MOSPF) uses same topology data base as OSPF • Hierarchical OSPF in large domains 73 74 Hierarchical OSPF • Two‐level hierarchy: local area or backbone – Link‐state advertisements only in area  – each node has detailed area topology but only knows direction  (shortest path) to networks in other areas. • Area border routers – “summarize” distances to networks in own area Comparing routing algorithms – advertise to other area border routers. • Backbone routers – run OSPF routing limited to backbone. • Boundary routers – connect to other autonomous systems. 75 76 Link‐State vs. Distance‐Vector  Distance vector vs link state Routing • Distance vector: Message complexity Robustness • LS: with n nodes, m links,  • what happens if router  Each node talks only to its directly connected neighbors but  network flooded with O(nm)  malfunctions? tells them all it has learned (distance to all nodes) messages  LS: • DV: exchange between neighbors  – node can advertise incorrect  only link cost – convergence time varies – each node computes only its  • Link state own table Speed of Convergence Each node talks to all other nodes but tells them only about  DV: • LS: O(m + n log n) the state of its directly connected links – DV node can advertise  – may have oscillations incorrect path cost • DV: convergence time varies – each node’s table used by  – count‐to‐infinity problem others: errors propagate  through the network 77 78 13