Packet Switching - Chap 5

5.1 Bridges and Extended LANS

bridges accept and forward at the link layer; switches route at the net layer

        .1 Learning bridges
                listening to source addresses to build forwarding tables
                        how long to age?
                        if not in table?
                use spanning trees to break loops (put in out of ignorance
or planning for redundancy)
        .2 Spanning tree algorithms
        .3 Broadcast and multicast
                broadcast - forward packets out ports (not incoming port)
                multicast - like broadcast - an optimalization can be made
to not forward if you have no group members on the lan.
        .4 Limitations of bridges
                don't scale - broadcast doesn't scale, spanning tree
doesn't scale
                don't handle heterogenity well - need same mac level
addresses (ether and fddi ok, atm not).
                transparency good and bad - easy, but can produce
unexpected gaps in performance compared to single lan.
                bridges happen

5.2 IP

        .1 What is a internetwork - runs IP
        .2 Service Model
                deliberately made unassuming which was good since it has
been put over lots of transport
                two components - addressing and best-effort delivery of packets.
                Datagram delivery - best effort, out-of-order, duplicate
                Packet format -
                        version field at head  (v4)
                        TOS
                        TTL (initially secs, reduced to hops due to clock
synch problems, to eliminate loops, 64 default)
                        Upper protocol field
                        Source addr, dest addr - helps frag/reass
                Fragmentation and Reassembly
                        three approaches possible - atomic particles,
frag/reass per net and ongoing frag/reassem at dest
                        +,- of each
                        MTU (largest IP packet that can be carried in a MAC
frame), must fit within payload) (for atm, cs-pdu not cells is the MTU)
                        initial IP packet size is set at local MTU
                        each frag is itself a self-contained IP dg that is

transmitted over a seq of phys nets, independent of other frags. each ip dg is reencapsulated for each phys net over which it travels.

works because of offset field, regardless of delivery order

Bridges, Switches and Routers - note ether switches using spanning tree so are bridges on steriods. gives security.

switches and routers route and learn large network topo rather than jsut spanning tree.

.3 Global Addresses - associate IP addresses with interface rather than host

                class a,b,c,d
                flexible but wrong partitioning
        .4 Data forwarding in IP
                forwarding tables and /etc/hosts and default.
                two level hierarchy - nets and nodes (AS as third level)
                aggregate info at topological levels - routers worry only
about net
        .5 ARP
        .6 ICMP
                redirect, unreachable, reassem problem, ttl
        scaling with hierarchy, heterogenity with common and simple format

(and frag/reassem)
5.3 Global Internet

        .1 Subnetting
                taking a IP net address and allocating addresses to several
physical nets in a routable way. called subnets
                must be topologically close - will be routed across the
itnernet commonly.
                subnet mask creates a subnet number - all hosts on phys
subnet have the same subnet number.
                hosts use mask to determine if dest addr is on the same
subnet; if not send out the default router
                router has (netnum, next hop) and (subnet num, subnet mask,
next hop)
                notes - subnet mask doesn't have to be contingous ones, but

it helps; several subnets on the same phys sub (to force traffic through a router to filter); note different level of routing info in a local router versus a backbone.

                aggregates info and using a class B efficiently
        .2 Route Propagation
                AS, intra and interdomain, border routers and defaults
                RIP - max count 15, distance vector, used in IPX, v2
supports subnetting
                OSPF - link-state, authentication (8byte password, stops

misconfig not malice), additional hierarchy via areas, load balancing (multiple equally weighted routes to same destination allowed and shared)

                BGP - started as EGP (which only permitted a treelike structure)
                        local vs transit traffic vs point-point
                        types of AS - stub, multihomed, transit
                        AS admin picks a BGP speaker and border routers
(not necessarily the same)
                Intradomain - eg RIP, OSPF - can be multiprot, find a path
to the border or stay inside
                Interdomain - more concerned with reachability and policy,
works on AS (though BGP carries info on all nets, unfortunately)
        .3 CIDR
                two issues - depletion of addresses and growth of core
routing table size
                depletion - function of 3 fixed classes - subnetting only
helps within having a B
                so can we pool class C - hand out blocks of C's rather than

B's - creates routing table problems - solution is to make C's contiguous and a subnet mask so that routers can store all addresses with a single routing (and subnet) entry - collapses mutiple address blocks for a single AS into one address - supernetting, again aggregating info. called CIDR. good, but holes develop as folks change ISP. 5.4 IPv6

.1 Historical perspective -patches like CIDR, subnetting not enough for address depletion; do only this or more? IPng also looked at QOS, security support, autoconfig, enhanced routing, including mobility. also no flag day.
trauma and then SIPP plus... Questions about role of IESG.

.2 Addressing and Routing - 128bit address, enough for 1500/sqft, uses prefixes not as classes but as uses. eg Novell, ISO, geographic schema, link local use, site local use, etc.

Provider-based Unicast address - O10 prefix (1/8 of addr space) for the existing base.

within reserved - first byte is 0, can have IPV4compatible ipv6 by 0 extending 32 bit into....

                can have IPV4mapped IPv6 by 2bytes of all 1's, then extending...
        address notation is x:x:x:x:x:x:x:x:c where x is hexdec, shorthand
:: is all 0 in between, ipv4 mapped is ::00FF:128.138....
        terms subscriber (AS), a direct provider (regional transit) and an

indirect provider (national backbone), then have direct providers provide address to subscribers, may do 8+8, or registry ID (for continental issues)

what to use if an AS has more than one direct provider (can direct providers have some union address space)

        .3 Features
                Packet format
                        simpler but bigger header - fewer options; always
40 bytes
                        vers number, then QOS info, then payloadlen (length
of packet - hdr in bytes)
                        next header - points to options at front of data
area, or upper level protocol (indicating end of options)
                        ttl
                note frag info (offset, ident, etc) in options area
                real improvement in options - now extension hdrs, instead

of in primary area, so routers don't have to look at the end of the hdr first to see if there are any, also are now in specific order if present, so routers can fast scan. and can be of arbitrary length.

                eg fragment extension pg 260
                Autoconfiguration - getting ip addr, subnet mask, name of

dns server. can do auto by either stateful (config server) or stateless (get prefix from server and add local interface ID. stateless would look like 1111 1110 10 subnet info, ::MAC)

Advanced routing - another v6 extension header - can specify routes or backbones to take. has a concept called anycast - send to any of a set of addresses - eg a backbone provider could have all border routers with a common anycast to allow client packets to find it.

.4 Transition - no flag day, permit v4, permit v6 to v6 across v4 as well as direct. can do with dual stack or with tunnelling. tunnelling can be auto if the v6 address is a v4mapped one (just pull it out of the encapsulated part) or manually configed 5.5. Multicast - send to a group of hosts that are dynamically changing groups. build on top of hardware broadcast and routers.

.1 Link state multicast - since routers broadcast to all others, they can include groups that have members on a link to the braodcast info. they need to find what groups hosts on a link belong to, which it can do by listening to braodcasts from hosts. then each router computes shortest-path multicast tree from any source to any group. very expensive to store, so routers only do active groups.

.2 Distance vector Multicast - harder, since info is only exchanged locally. two needs - to broadcast to the net, and then to prune back subnets without hosts belonginging to the multicast group.

first, broadcast done by reverse path broadcast - if a multicast packet from S comes in to R on what R thinks is the shortest path to S, then R floods out all other links. doesn't overwhelm S, but does fan out broadcast. problems arise if other routers connected to the same LAN, since each router may be receive packet from its shortest path to S - solution is to designate one such router per lan, likely by who has the shortest path among them to S.

Reverse-path multicast - prune in stages. remove leaf nets without any members of G from G broadcasts. then upstream routers propogate that "no members here" upstream

mbone tunnels
5.6 DNS

        .1 Hierarchy
        .2 Name services
                zones - DNS server space. each zoneis implemented by two or
more name servers.  can have a dns server implement multiple zones.
                name server keeps zone info as resource records
        (name,value,type,class,ttl) - type tells how to interpret value (eg

type=a means value is ip addr, type=ns says value is a dnsserver that can answer, type=cname syas value is giving an alias, mx says value is a domain name for a host receiving mail

often have NS and A records in pairs - here's the name server for the domain and here's its ip addr

.3 Name resolution -client queries local server first, who then acts as proxy and does the rest of the queries (first to root and then downwards).

                + only local server has to know roots
                + local server can cache which may help other clients as well