Network Routing - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Network Routing

Description:

IP address: 32-bit identifier for host, router interface ... Banyan networks, other interconnection nets initially developed to connect ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 50
Provided by: yang85
Category:

less

Transcript and Presenter's Notes

Title: Network Routing


1
The Network Layer
Transport layer
Control Routing, signaling, error reporting
Network layer
Link layer
Physical layer
2
The Internet Network layer
  • Host, router network layer functions

Transport layer TCP, UDP
Network layer
Link layer
physical layer
3
IP Datagram Format
IP protocol version
total datagram length (bytes) header data
type of service
head. len
header length 4 bits in unit of 4 bytes
ver
total length
fragment offset
Frag/AssemblyFlags Dont Fragment (DF) More
Fragments (MF) Offset in unit of 8 bytes
differentiated Service 6 bits ECN (Early
Congestion Notification) 2 bits
flgs
16-bit identifier
time to live
Internet checksum
protocol
max number remaining hops (decremented at each
router)
32 bit source IP address
32 bit destination IP address
upper layer protocol to deliver payload to
E.g. timestamp, record route taken, specify list
of routers to visit.
Options (if any)
data (variable length, typically a TCP or UDP
segment)
4
IP Address An IP Address Identifies an Interface
223.1.1.1
  • IP address 32-bit identifier for host, router
    interface
  • interface connection between host, router and
    physical link
  • routers typically have multiple interfaces
  • host may have multiple interfaces
  • IP addresses associated with interface, not host,
    router
  • /sbin/ifconfig -a

223.1.2.9
223.1.1.4
223.1.1.3
223.1.3.2 11011111 00000001 00000011 00000010
223
1
2
3
5
IP Addressing
223.1.1.2
  • IP address
  • network part (high order bits)
  • host part (low order bits)
  • Whats a network ? (from IP address perspective)
  • device interfaces with same network part of IP
    address
  • can physically reach each other without
    intervening router

223.1.1.1
223.1.1.4
223.1.1.3
223.1.7.0
223.1.9.2
223.1.9.1
223.1.7.1
223.1.8.0
223.1.8.1
223.1.2.6
223.1.3.27
223.1.2.1
223.1.2.2
223.1.3.2
223.1.3.1
6
Getting a datagram from source to dest.
forwarding table in A
  • IP datagram
  • datagram remains unchanged, as it travels source
    to destination
  • addr fields of interest here

7
Getting a datagram from source to dest.
forwarding table in router
misc fields
data
223.1.1.1
223.1.2.3
  • Arriving at 223.1.4, destined for 223.1.2.2
  • look up network address of E in routers
    forwarding table
  • E on same network as routers interface 223.1.2.9
  • router, E directly attached
  • link layer sends datagram to 223.1.2.2 inside
    link-layer frame via interface 223.1.2.9
  • datagram arrives at 223.1.2.2!!! (hooray!)

8
Router Architecture Overview
  • Two key router functions
  • run routing algorithms/protocol (RIP, OSPF, BGP)
  • switching datagrams from incoming to outgoing link

9
Input Port Functions
Physical layer bit-level reception
  • Decentralized switching
  • given datagram dest., lookup output port using
    routing table in input port memory
  • goal complete input port processing at line
    speed
  • queuing if datagrams arrive faster than
    forwarding rate into switch fabric

Data link layer e.g., Ethernet see chapter 5
10
Input Port Queuing
  • Fabric slower that input ports combined -gt
    queueing may occur at input queues
  • Head-of-the-Line (HOL) blocking queued datagram
    at front of queue prevents others in queue from
    moving forward
  • queueing delay and loss due to input buffer
    overflow!

11
Three types of switching fabrics
12
Switching Via Memory
  • First generation routers
  • packet copied by systems (single) CPU
  • speed limited by memory bandwidth (2 bus
    crossings per datagram)
  • Modern routers
  • input port processor performs lookup, copy into
    memory
  • Cisco Catalyst 8500

13
Switching Via a Bus
  • datagram from input port memory
  • to output port memory via a shared bus
  • bus contention switching speed limited by bus
    bandwidth
  • 1 Gbps bus, Cisco 1900 sufficient speed for
    access and enterprise routers (not regional or
    backbone)

14
Switching Via An Interconnection Network
  • overcome bus bandwidth limitations
  • Banyan networks, other interconnection nets
    initially developed to connect processors in
    multiprocessor
  • Advanced design fragmenting datagram into fixed
    length cells, switch cells through the fabric.
  • Cisco 12000 switches Gbps through the
    interconnection network

15
Output Ports
  • Buffering required when datagrams arrive from
    fabric faster than the transmission rate
  • Scheduling discipline chooses among queued
    datagrams for transmission

16
Output port queueing
  • buffering when arrival rate via switch exceeds
    output line speed
  • queueing (delay) and loss due to output port
    buffer overflow!

17
NAT Network Address Translation
rest of Internet
local network (e.g., home network) 10.0.0/24
10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
Datagrams with source or destination in this
network have 10.0.0/24 address for source,
destination (as usual)
All datagrams leaving local network have same
single source NAT IP address 138.76.29.7, differe
nt source port numbers
18
NAT Network Address Translation
  • Motivation local network uses just one IP
    address as far as outside word is concerned
  • no need to be allocated range of addresses from
    ISP - just one IP address is used for all
    devices
  • can change addresses of devices in local network
    without notifying outside world
  • can change ISP without changing addresses of
    devices in local network
  • devices inside local net not explicitly
    addressable, visible by outside world (a security
    plus).

19
NAT Network Address Translation
  • Implementation NAT router must
  • outgoing datagrams replace (source IP address,
    port ) of every outgoing datagram to (NAT IP
    address, new port )
  • . . . remote clients/servers will respond using
    (NAT IP address, new port ) as destination
    addr.
  • remember (in NAT translation table) every (source
    IP address, port ) to (NAT IP address, new port
    ) translation pair
  • incoming datagrams replace (NAT IP address, new
    port ) in dest fields of every incoming datagram
    with corresponding (source IP address, port )
    stored in NAT table

20
NAT Network Address Translation
NAT translation table WAN side addr LAN
side addr
138.76.29.7, 5001 10.0.0.1, 3345

10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
4 NAT router changes datagram dest addr
from 138.76.29.7, 5001 to 10.0.0.1, 3345
3 Reply arrives dest. address 138.76.29.7,
5001
21
NAT Network Address Translation
  • 16-bit port-number field
  • 60,000 simultaneous connections with a single
    LAN-side address!
  • NAT is controversial
  • routers should only process up to layer 3
  • violates end-to-end argument
  • NAT possibility must be taken into account by app
    designers, e.g., P2P applications
  • address shortage should instead be solved by IPv6

22
IPv6
  • Initial motivation 32-bit address space
    completely allocated by 2008.
  • Additional motivation
  • header format helps speed processing/forwarding
  • header changes to facilitate QoS
  • new anycast address route to best of several
    replicated servers
  • IPv6 datagram format
  • fixed-length 40 byte header
  • no fragmentation allowed

23
IPv6 Header (Cont)
Priority identify priority among datagrams in
flow Flow Label identify datagrams in same
flow. (concept offlow
not well defined). Next header identify upper
layer protocol for data
24
IPv4 vs. IPv6
type of service
head. len
ver
total length
fragment offset
16-bit identifier
flgs
time to live
Internet checksum
protocol
32 bit source IP address
32 bit destination IP address
Options (if any)
data (variable length, typically a TCP or UDP
segment)
25
Other Changes from IPv4
  • Checksum removed entirely to reduce processing
    time at each hop
  • Options allowed, but outside of header,
    indicated by Next Header field
  • ICMPv6 new version of ICMP
  • additional message types, e.g. Packet Too Big
  • multicast group management functions

26
Transition From IPv4 To IPv6
  • Not all routers can be upgraded simultaneous
  • no flag days
  • How will the network operate with mixed IPv4 and
    IPv6 routers?
  • Two proposed approaches
  • Dual Stack some routers with dual stack (v6, v4)
    can translate between formats
  • Tunneling IPv6 carried as payload in IPv4
    datagram among IPv4 routers

27
Dual Stack Approach
IPv6
IPv6
IPv6
IPv6
IPv4
IPv4
A-to-B IPv6
B-to-C IPv4
B-to-C IPv6
B-to-C IPv4
28
Tunneling
tunnel
Logical view
IPv6
IPv6
IPv6
IPv6
Physical view
IPv6
IPv6
IPv6
IPv6
IPv4
IPv4
A-to-B IPv6
E-to-F IPv6
B-to-C IPv6 inside IPv4
B-to-C IPv6 inside IPv4
29
Multicasting viaTunneling
  • Q How to connect islands of multicast routers
    in a sea of unicast routers?

logical topology
physical topology
  • mcast datagram encapsulated inside normal
    (non-multicast-addressed) datagram
  • normal IP datagram sent thru tunnel via regular
    IP unicast to receiving mcast router
  • receiving mcast router unencapsulates to get
    mcast datagram

30
What is mobility?
  • spectrum of mobility, from the network
    perspective

mobile user, using same access point
mobile user, passing through multiple access
point while maintaining ongoing connections (like
cell phone)
mobile user, connecting/ disconnecting from
network using DHCP.
31
How do you contact a mobile friend
I wonder where Alice moved to?
Consider friend frequently changing addresses,
how do you find her?
  • search all phone books?
  • call her parents?
  • expect her to let you know where he/she is?

32
Mobility approaches
  • Let routing handle it routers advertise
    permanent address of mobile-nodes-in-residence
    via usual routing table exchange.
  • routing tables indicate where each mobile located
  • no changes to end-systems
  • Let end-systems handle it
  • indirect routing communication from
    correspondent to mobile goes through home agent,
    then forwarded to remote
  • direct routing correspondent gets foreign
    address of mobile, sends directly to mobile

33
Mobility approaches
  • Let routing handle it routers advertise
    permanent address of mobile-nodes-in-residence
    via usual routing table exchange.
  • routing tables indicate where each mobile located
  • no changes to end-systems
  • let end-systems handle it
  • indirect routing communication from
    correspondent to mobile goes through home agent,
    then forwarded to remote
  • direct routing correspondent gets foreign
    address of mobile, sends directly to mobile

not scalable to millions of mobiles
34
Mobility Vocabulary
home network permanent home of mobile (e.g.,
128.119.40/24)
home agent entity that will perform mobility
functions on behalf of mobile, when mobile is
remote
wide area network
Permanent address address in home network, can
always be used to reach mobile e.g.,
128.119.40.186
correspondent
35
Mobility more vocabulary
visited network network in which mobile
currently resides (e.g., 79.129.13/24)
Permanent address remains constant (e.g.,
128.119.40.186)
Care-of-address address in visited
network. (e.g., 79,129.13.2)
wide area network
home agent entity in visited network that
performs mobility functions on behalf of mobile.
correspondent wants to communicate with mobile
36
Mobility registration
visited network
home network
wide area network
  • End result
  • Foreign agent knows about mobile
  • Home agent knows location of mobile

37
Mobility via Indirect Routing
visited network
home network
wide area network
38
Indirect Routing comments
  • Mobile uses two addresses
  • permanent address used by correspondent (hence
    mobile location is transparent to correspondent)
  • care-of-address used by home agent to forward
    datagrams to mobile
  • foreign agent functions may be done by mobile
    itself
  • triangle routing correspondent-home-network-mobil
    e
  • inefficient when
  • correspondent, mobile
  • are in same network

39
Forwarding datagrams to remote mobile
packet sent by home agent to foreign agent a
packet within a packet (encapsulated)
Permanent address 128.119.40.186
Care-of address 79.129.13.2
40
Indirect Routing moving between networks
  • suppose mobile user moves to another network
  • registers with new foreign agent
  • new foreign agent registers with home agent
  • home agent update care-of-address for mobile
  • packets continue to be forwarded to mobile (but
    with new care-of-address)
  • Mobility, changing foreign networks transparent
    on going connections can be maintained!

41
Mobility via Direct Routing
correspondent forwards to foreign agent
visited network
home network
wide area network
correspondent requests, receives foreign address
of mobile
42
Mobility via Direct Routing comments
  • overcome triangle routing problem
  • non-transparent to correspondent correspondent
    must get care-of-address from home agent
  • What happens if mobile changes networks?

43
Mobile IP
  • RFC 3220
  • has many features weve seen
  • home agents, foreign agents, foreign-agent
    registration, care-of-addresses, encapsulation
    (packet-within-a-packet)
  • three components to standard
  • agent discovery
  • registration with home agent
  • indirect routing of datagrams

44
Mobile IP agent discovery
  • agent advertisement foreign/home agents
    advertise service by broadcasting ICMP messages
    (typefield 9)

H,F bits home and/or foreign agent
R bit registration required
45
Mobile IP registration example
46
ICMP Internet Control Message Protocol
  • Used by hosts, routers, gateways to communication
    network-level information
  • error reporting unreachable host, network, port,
    protocol
  • echo request/reply (used by ping)
  • network-layer above IP
  • ICMP msgs carried in IP datagrams
  • ICMP message type, code plus first 8 bytes of IP
    datagram causing error

Type Code description 0 0 echo
reply (ping) 3 0 dest. network
unreachable 3 1 dest host
unreachable 3 2 dest protocol
unreachable 3 3 dest port
unreachable 3 6 dest network
unknown 3 7 dest host unknown 4
0 source quench (congestion
control - not used) 8 0
echo request (ping) 9 0 route
advertisement 10 0 router
discovery 11 0 TTL expired 12 0
bad IP header
47
Assignment
  • What is tunneling? And what is its applications?
  • How to route multicast packet within a network
    composed by unicast routers and multicast
    routers?

48
Solution
  • What is tunneling? And what is its applications?
  • The use of encapsulation technique as to hide
    information from non-recognized medium.
  • Applications
  • Communication of one pair of hosts with network
    protocol A pass through a network that runs
    network protocol B
  • Passing multicast packet between multicast router
    through unicast network
  • Support mobile IP, by encapsulate the received
    packet (from corresponding node) with the foreign
    agent address (COA) that the mobile node has
    registered with

49
Solution
  • How to route multicast packet within a network
    composed by unicast routers and multicast
    routers?
  • Multicast routers form a multicast tree and
    maintain next multicast routers address
  • Multicast packet will be flooded to the multicast
    tree by encapsulating each copied packets with
    all next multicast routers IP address.
Write a Comment
User Comments (0)
About PowerShow.com