Download presentation
Presentation is loading. Please wait.
1
Review r The Internet (IP) Protocol m Datagram format m IP fragmentation m ICMP: Internet Control Message Protocol m NAT: Network Address Translation r Routing in the Internet m Intra-AS routing: RIP and OSPF m Inter-AS routing: BGP Some slides are in courtesy of J. Kurose and K. Ross
2
IP datagram format ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service “type” of data flgs fragment offset upper layer 32 bit destination IP address Options (if any) E.g. timestamp, record route taken, specify list of routers to visit. how much overhead with TCP? r 20 bytes of TCP r 20 bytes of IP r = 40 bytes + app layer overhead
3
Why different Intra- and Inter-AS routing ? Policy: r Inter-AS: admin wants control over how its traffic routed, who routes through its net. r Intra-AS: single admin, so no policy decisions needed Scale: r hierarchical routing saves table size, reduced update traffic Performance: r Intra-AS: can focus on performance r Inter-AS: policy may dominate over performance
4
Overview r Multicast Routing r Data Link Layer Services Some slides are in courtesy of J. Kurose and K. Ross
5
Multicast: one sender to many receivers r Multicast: act of sending datagram to multiple receivers with single “transmit” operation m analogy: one teacher to many students r Question: how to achieve multicast Multicast via unicast r source sends N unicast datagrams, one addressed to each of N receivers multicast receiver (red) not a multicast receiver (red) routers forward unicast datagrams
6
Multicast: one sender to many receivers r Multicast: act of sending datagram to multiple receivers with single “transmit” operation m analogy: one teacher to many students r Question: how to achieve multicast Network multicast r Router actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers Multicast routers (red) duplicate and forward multicast datagrams
7
Multicast: one sender to many receivers r Multicast: act of sending datagram to multiple receivers with single “transmit” operation m analogy: one teacher to many students r Question: how to achieve multicast Application-layer multicast r end systems involved in multicast copy and forward unicast datagrams among themselves
8
Internet Multicast Service Model multicast group concept: use of indirection m hosts addresses IP datagram to multicast group m routers forward multicast datagrams to hosts that have “joined” that multicast group 128.119.40.186 128.59.16.12 128.34.108.63 128.34.108.60 multicast group 226.17.30.197
9
Multicast groups class D Internet addresses reserved for multicast: host group semantics: oanyone can “join” (receive) multicast group oanyone can send to multicast group ono network-layer identification to hosts of members needed: infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group
10
Joining a mcast group: two-step process r local: host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol) r wide area: local router interacts with other routers to receive mcast datagram flow m many protocols (e.g., DVMRP, MOSPF, PIM) IGMP wide-area multicast routing
11
Multicast Routing: Problem Statement r Goal: find a tree (or trees) connecting routers having local mcast group members m tree: not all paths between routers used m source-based: different tree from each sender to rcvrs m shared-tree: same tree used by all group members Shared tree Source-based trees
12
Approaches for building mcast trees Approaches: r source-based tree: one tree per source m shortest path trees m reverse path forwarding r group-shared tree: group uses one tree m minimal spanning (Steiner) m center-based trees
13
Shortest Path Tree r mcast forwarding tree: tree of shortest path routes from source to all receivers m Dijkstra’s algorithm R1 R2 R3 R4 R5 R6 R7 2 1 6 3 4 5 i router with attached group member router with no attached group member link used for forwarding, i indicates order link added by algorithm LEGEND S: source
14
Reverse Path Forwarding if (mcast datagram received on incoming link on shortest path back to center) then flood datagram onto all outgoing links else ignore datagram rely on router’s knowledge of unicast shortest path from it to sender each router has simple forwarding behavior:
15
Reverse Path Forwarding: example result is a source-specific reverse SPT –may be a bad choice with asymmetric links R1 R2 R3 R4 R5 R6 R7 router with attached group member router with no attached group member datagram will be forwarded LEGEND S: source datagram will not be forwarded
16
Reverse Path Forwarding: pruning r forwarding tree contains subtrees with no mcast group members m no need to forward datagrams down subtree m “prune” msgs sent upstream by router with no downstream group members R1 R2 R3 R4 R5 R6 R7 router with attached group member router with no attached group member prune message LEGEND S: source links with multicast forwarding P P P
17
Shared-Tree: Steiner Tree r Steiner Tree: minimum cost tree connecting all routers with attached group members r problem is NP-complete r excellent heuristics exists r not used in practice: m computational complexity m information about entire network needed m monolithic: rerun whenever a router needs to join/leave
18
Center-based trees r single delivery tree shared by all r one router identified as “center” of tree r to join: m edge router sends unicast join-msg addressed to center router m join-msg “processed” by intermediate routers and forwarded towards center m join-msg either hits existing tree branch for this center, or arrives at center m path taken by join-msg becomes new branch of tree for this router
19
Center-based trees: an example Suppose R6 chosen as center: R1 R2 R3 R4 R5 R6 R7 router with attached group member router with no attached group member path order in which join messages generated LEGEND 2 1 3 1
20
Overview r Multicast Routing r Data Link Layer Services Some slides are in courtesy of J. Kurose and K. Ross
21
Link Layer: Introduction Some terminology: r hosts and routers are nodes (bridges and switches too) r communication channels that connect adjacent nodes along communication path are links m wired links m wireless links m LANs r Data unit is a frame, encapsulates datagram “link” data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
22
Protocol layering and data Each layer takes data from above r adds header information to create new data unit r passes new data unit to layer below application transport network link physical application transport network link physical source destination M M M M H t H t H n H t H n H l M M M M H t H t H n H t H n H l message segment datagram frame
23
Link layer: context r Datagram transferred by different link protocols over different links: m e.g., Ethernet on first link, frame relay on intermediate links, 802.11 on last link r Each link protocol provides different services m e.g., may or may not provide rdt over link transportation analogy r trip from New York to Lausanne m limo: New York to JFK m plane: JFK to Geneva m train: Geneva to Lausanne
24
Link Layer Services r Framing, link access: m encapsulate datagram into frame, adding header, trailer m channel access if shared medium m ‘physical addresses’ used in frame headers to identify source, dest different from IP address! r Error Detection: m errors caused by signal attenuation, noise. m receiver detects presence of errors: signals sender for retransmission or drops frame r Error Correction: m receiver identifies and corrects bit error(s) without resorting to retransmission r Half-duplex and full-duplex m with half duplex, nodes at both ends of link can transmit, but not at same time
25
Adaptors Communicating r link layer implemented in “adaptor” (aka NIC) m Ethernet card, PCMCI card, 802.11 card r sending side: m encapsulates datagram in a frame m adds error checking bits, rdt, flow control, etc. r receiving side m looks for errors, rdt, flow control, etc m extracts datagram, passes to rcving node sending node frame rcving node datagram frame adapter link layer protocol
26
Error Detection EDC= Error Detection and Correction bits (redundancy) D = Data protected by error checking, may include header fields Error detection not 100% reliable! protocol may miss some errors, but rarely larger EDC field yields better detection and correction
27
Parity Checking Single Bit Parity: Detect single bit errors Two Dimensional Bit Parity: Detect and correct single bit errors 0 0 Odd parity Even parity
28
Internet checksum Sender: r treat segment contents as sequence of 16-bit integers r checksum: addition (1’s complement sum) of segment contents r sender puts checksum value into UDP checksum field Receiver: r compute checksum of received segment r check if computed checksum equals checksum field value: m NO - error detected m YES - no error detected. But maybe errors nonetheless? More later …. Goal: detect “errors” (e.g., flipped bits) in transmitted segment (note: used at transport layer only)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.