Computer Networking Review 2023 PDF
Document Details
Uploaded by AffirmativeJasper2611
Fenerbahçe Üniversitesi
2023
Tags
Summary
This document is a review of computer networking concepts and provides an overview of fundamental computer networking principles, including reasons for using networks, exchanging information, and the philosophy behind network design. The document also contains an overview of network structures and functions, and discusses issues such as packet switching.
Full Transcript
Computer Networking: Review Why do we need computer networking? • We want to exchange information between/among remote locations (not at the same physical location). • Run distributed applications with different needs on different network devices 3/17/2023 2 Exchanging information • Internet:...
Computer Networking: Review Why do we need computer networking? • We want to exchange information between/among remote locations (not at the same physical location). • Run distributed applications with different needs on different network devices 3/17/2023 2 Exchanging information • Internet: Between different geographical locations Web Browsing (no loss, limited delay) E-mail (no loss, delay is ok) Multimedia streaming (Internet radio) (some loss is ok, limited delay) Server Telephone, Mobile phone (some loss is ok, limited delay) Chat (no loss, limited delay) P2P file transfer (no loss) 3/17/2023 3 Philosophy • Applications do not need to know how the network operates Server The computer network should be transparent to the application 3/17/2023 4 What does a Computer Network look like A How does A and B exchange information? 3/17/2023 B 5 Basic Principles • Packet Switching – Packets – Switching • Layered Architecture • Addressing 3/17/2023 6 Packets Header: control information 3/17/2023 7 Packets: Statistical Multiplexing Packets Link Queue Device 1: • 3 sources that generate data (sometimes at the same time) • single network interface • Enables efficient, on demand use of physical serial communication links • Packets are transmitted one by one using the full link bandwidth • If multiple packets should access the link at the same time. one is transmitted, others are buffered • No strict timing pattern among the packets 3/17/2023 8 Switching: Why do we need a network to exchange information? • If you have two computers on two desks in the same room how would you make them communicate? • Just use a cross cable: Point to point communication 3/17/2023 • How many cables do you need for three computers (all three want to talk to each other)? • How about 1000 computers? • N2 problem! 9 Switching: The N 2 Problem • • • • For N users to be fully connected directly Requires N(N – 1)/2 connections Requires too many cables, too complicated Inefficient & costly since connections not always on 1 N = 1000 N(N – 1)/2 = 499500 2 N .. . 4 3/17/2023 3 10 Switching: Switches and routers • Use special network devices (router/switch) • Connect users on demand • Only N connections • N2 problem is moved inside the router/switch 1 N Router/ switch N–1 3 3/17/2023 2 11 Switching: Switches and routers • On demand N to N I/O connection: – Switch fabric: Special interconnection hardware in the switch/router – Switches packets from inputs to outputs Inside: Crossbar switch fabric A 1 Router/ switch B 2 3 3/17/2023 C 12 Packet Switching Packets arrive on different ports Statistical multiplexing on router output ports If more packet arrival rate to an output port temporarily exceeds output link capacity ❖packets queue, wait for turn packet being transmitted (delay) A B 3/17/2023 packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers 13 Challenges: Sending packets endto-end Routers send packet towards destination H R R R H H R R H: Hosts R: Routers R H R R H • Naming and addressing of nodes • Routing of packets to send to destination 3/17/2023 Ece GURAN SCHMIDT EE542 14 Challenges: Data Corruption Problem: Data Corruption GET index.html GET windex.html Internet Solution: Add a checksum 0,9 3/17/2023 9 6,7,8 21 X 4,5 7 1,2,3 6 15 15 Challenges: Network overload Problem: Network Overload Solution: Buffering and Congestion Control • Short bursts: buffer • What if buffer overflows? – Packets dropped – Sender adjusts rate until load = resources → “congestion control” 3/17/2023 16 16 Challenges: Lost Data Problem: Lost Data GET index.html Internet Solution: Timeout and Retransmit GET index.html Internet GET index.html GET index.html 3/17/2023 17 17 Challenges: Different data and packet sizes Problem: Packet size • On Ethernet, max IP packet is 1.5kbytes • Typical web page is 10kbytes Solution: Fragment data across packets ml x.ht inde GET GET index.html 3/17/2023 18 18 Challenges: Data can be Out of Order Problem: Out of Order ml inde x.ht GET GET x.htindeml Solution: Add Sequence Numbers ml 4 inde 2 x.ht 3 GET 1 GET index.html 3/17/2023 19 Lots of Functions Needed • • • • • • • • Link access Multiplexing on the link Routing Addressing/naming (locating peers) Reliability Flow control Fragmentation Etc…. 3/17/2023 20 Layering User A User B Application Transport Network Link Host Host • Technique to simplify complex systems • Modular approach to network functionality 3/17/2023 21 Network layers ❖A module that has software and hardware components ❖Responsible for a certain task ▪ communicates with its peer on the other side to fulfill its task ▪ Requires that some other tasks are correctly carried out to fulfill its own purpose➔ Uses the services of lower layers ▪ Provides service to upper layers such that they can fulfill their tasks 3/17/2023 Ece GURAN SCHMIDT EE542 22 Layering Characteristics • Each layer relies on services from layer below and exports services to layer above • Interface defines interaction • Hides implementation - layers can change without disturbing other layers (black box) 3/17/2023 23 Why layering? Dealing with complex systems: ❖ explicit structure allows identification, relationship of complex system’s pieces ▪ layered reference model for discussion ❖ Modularization eases maintenance, updating of system ▪ change of implementation of layer’s service transparent to rest of system ▪ e.g., change in a procedure doesn’t affect rest of system 3/17/2023 24 Why layering? • Change Network layer • Application Layer is not affected • Transport layer is not affected if the interface is kept the same User A User B User A Application Application Transport Transport Network Layer 1 Network Layer 2 Link Link Host Host 3/17/2023 User B Host Host 25 Is Layering Harmful? • Sometimes.. – Layer N may duplicate lower level functionality (e.g., error recovery) – Layers may need same info (timestamp, MTU) – Strict adherence to layering may hurt performance 3/17/2023 26 Addressing • Addressing of the device and/or application at each layer to identify the destination – Application address: Sender and receiverTCP port+IP address (only used by the hosts) – Network address: IP address (used by all network devices) – Device address: MAC address (unique address known to neighbor devices only) 3/17/2023 Ece GURAN SCHMIDT EE542 27 What’s the Internet? Billions of connected computing devices: ▪ hosts = end systems ▪ running network apps at Internet’s “edge” Packet switches: forward packets (chunks of data) ▪ routers, switches Communication links ▪ fiber, copper, radio, satellite ▪ transmission rate: bandwidth Networks ▪ collection of devices, routers, links: managed by an organization 3/17/2023 28 What’s the Internet? • Internet: “network of networks” – Interconnected ISPs ▪ protocols are everywhere control sending, receiving of messages • e.g., HTTP (Web), streaming video, Skype, TCP, IP, WiFi, 4G, Ethernet • ▪ Internet standards • RFC: Request for Comments • IETF: Internet Engineering Task Force 3/17/2023 29 What’s the Internet? • Infrastructure that provides services to applications: – Web, streaming video, multimedia teleconferencing, email, games, ecommerce, social media, interconnected appliances, … ▪ provides programming interface to distributed applications: • “hooks” allowing sending/receiving apps to “connect” to, use Internet transport service • provides service options, analogous to postal service 3/17/2023 30 Current Internet • Topology and Components • Layers 3/17/2023 31 Hosts 3/17/2023 32 Applications MOBILE RESIDENTIAL http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/VNI_Hyperconnectivity_WP.html Location-based services (LBS) are information services that are accessible with mobile devices through the mobile network 3/17/2023 33 Protocols ❖ Communications between computers require very specific unambiguous rules ❖ protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt ❖ e.g., TCP, IP, HTTP, Skype, Ethernet 3/17/2023 Mobile network Global ISP Home network Regional ISP Institutional network 34 Protocols in Layered Architecture Context • Module in layered structure • Protocols define: – Interface to higher layers (API) – Interface to peer • Format and order of messages • Actions taken on receipt of a message 3/17/2023 35 35 Routers routing: determines sourcedestination route taken by packets ▪ routing algorithms forwarding: move packets from router’s input to appropriate router output routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 dest address in arriving packet’s header 3/17/2023 1 3 2 Network Layer 36 A closer look at network structure ❖ network edge: ▪ ▪ Low-speed applications and hosts ❖ network core: ▪ High-speed ▪ interconnected routers ▪ network of networks ❖ access networks, physical media: ▪ ▪ 3/17/2023 ▪ Connection between edge and core Edge routers wired, wireless 37 communication links Access Networks • Connecting the users at the edge to the core • Connection of the host to first network layer (Layer 3) device (router) • Examples: – DSL – Ethernet – Wireless Access 3/17/2023 38 The Network Core ❖ mesh of interconnected routers ❖ the fundamental question: how is data transferred through net? ▪ packet-switching: data sent thru net in discrete “chunks” ▪ virtual circuit switching ▪ datagram switching ▪ circuit switching: dedicated circuit per call: telephone net 3/17/2023 39 Packet-switching: store-andforward❖ end-end delay = 2L/R (assuming zero propagation delay) L bits per packet source • • 3 2 1 R bps takes L/R seconds to transmit (push out) L-bit packet into link at R bps store and forward: entire packet must arrive at router before it can be transmitted on next link 3/17/2023 R bps destination one-hop numerical example: ▪ L = 7.5 Mbits ▪ R = 1.5 Mbps ▪ one-hop transmission delay = 5 sec 40 Packet Switching: queueing delay, loss A C R = 100 Mb/s R = 1.5 Mb/s B D E queue of packets waiting for output link queuing and loss: ❖ If arrival rate (in bits) to link exceeds transmission rate of link for a period of time: ▪ packets will queue, wait to be transmitted on link ▪ packets can be dropped (lost) if memory (buffer) fills up 3/17/2023 41 Four sources of packet delay transmission A propagation B nodal processing queueing dnodal = dproc + dqueue + dtrans + dprop dproc: nodal processing ▪ check bit errors ▪ determine output link ▪ typically < msec 3/17/2023 dqueue: queueing delay ▪ time waiting at output link for transmission ▪ depends on congestion level of router 42 Four sources of packet delay transmission A propagation B nodal processing queueing dnodal = dproc + dqueue + dtrans + dprop dtrans: transmission delay: dprop: propagation delay: ▪ L: packet length (bits) ▪ R: link bandwidth (bps) ▪ dtrans = L/R ▪ d: length of physical link ▪ s: propagation speed in medium (~2x108 m/sec) ▪ dprop = d/s dtrans and dprop very different 3/17/2023 43 R: link bandwidth (bps) ❖ L: packet length (bits) ❖ a: average packet arrival rate ❖ ❖ ❖ ❖ average queueing delay Queueing delay traffic intensity = La/R La/R ~ 0: avg. queueing delay small La/R -> 1: avg. queueing delay large La/R > 1: more “work” arriving than can be serviced, average delay infinite! 3/17/2023 44 Delay Variation • Packets have variable delay because of changing network conditions • Jitter: Delay variation 3/17/2023 45 Packet loss queue (aka buffer) preceding link in the router has finite capacity ❖ packet arriving to full queue dropped (aka lost) ❖ lost packet may be retransmitted by previous node, by source end system, or not at all ❖ buffer (waiting area) A B 3/17/2023 packet being transmitted packet arriving to full buffer is lost 46 Throughput ❖ throughput: rate (bits/time unit) at which bits transferred between sender/receiver ▪ instantaneous: rate at given point in time ▪ average: rate over longer period of time server, with file of F bits to send to client 3/17/2023 link capacity Rs bits/sec BOTTLENECK link capacity Rc bits/sec 47 Performance Criteria • Bounded delay • Small packet-loss probability • Maximum Throughput~100% 3/17/2023 • Quality of Service (QoS): Service differentiation among classes of traffic – Example: For high class traffic packet loss ratio<10-10 – Limited Delay variation for multimedia Scalability: A popular buzzword that refers to how well a hardware or software system can adapt to increased 48 demands. Current Internet: network of networks ❖ ❖ ❖ End systems connect to Internet via access ISPs (Internet Service Providers) ▪ Residential, company and university ISPs Access ISPs in turn must be interconnected. ❖ So that any two hosts can send packets to each other Resulting network of networks is very complex ❖ Evolution was driven by economics and national policies 3/17/2023 49 Current Internet access net access net access net Internet exchange point access net access net IXP access net ISP A access net Content provider network IXP access net access net access net ISP B ISP B access net access net regional net access net 3/17/2023 access net access net access net 50 Internet structure: network of networks Tier 1 ISP Tier 1 ISP IXP IXP Regional ISP access ISP • access ISP Google access ISP access ISP IXP Regional ISP access ISP access ISP access ISP access ISP at center: small # of well-connected large networks – – “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), national & international coverage content provider network (e.g, Google): private network that connects it data centers to Internet, often bypassing tier-1, regional ISPs 3/17/2023 51 Tier 1 POP: point-of-presence to/from other Sprint PoPS links to peering networks … … … … … links to/from Sprint customer networks 3/17/2023 52 Current Layered Architecture ❖ application: supporting network applications ▪ DNS, SMTP, HTTP ❖ transport: process-process data transfer application transport network data link physical network data link physical network data link physical ▪ TCP, UDP ❖ network: routing of datagrams from source to destination ▪ IP, routing protocols ❖ link: data transfer between neighboring network elements ▪ Ethernet, 802.111 (WiFi), PPP network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical ❖ physical: bits “on the wire” 3/17/2023 53 source message segment M Ht M datagram Hn Ht M frame M Hl Hn Ht Encapsulation application transport network link physical link physical switch M Ht M Hn Ht M Hl Hn Ht M destination Hn Ht M application transport network link physical Hl Hn Ht M 3/17/2023 network link physical Hn Ht M router 54 Addressing Transport Layer Address: TCP/UDP port (16 bits) Network device address: IP Address (32 bits) Physical Device Address: Ethernet Address (48 bits) 35-18-DC-FA-4B-32 80 144.122.166.16 80 144.122.166.16 80 application transport network link physical Host: HTTP Server Only destination addresses are shown 3/17/2023 55 Application Layer 3/17/2023 56 End-to-end Process Communication process: program running within a host ❖ ❖ within same host, two processes communicate using interprocess communication (defined by OS) processes in different hosts communicate by exchanging messages clients, servers client process: process that initiates communication application transport process Ankara process application transport Pittsburgh server process: process that waits to be contacted 3/17/2023 57 Creating a network app write programs that: • run on (different) end systems • communicate over network • e.g., web server software communicates with browser software no need to write software for network-core devices • network-core devices do not run user applications • applications on end systems allows for rapid app development, propagation 3/17/2023 application transport network data link physical application transport network data link physical application transport network data link physical 58 Client-server architecture server: • always-on host • permanent IP address • data centers for scaling clients: client/server 3/17/2023 • communicate with server • may be intermittently connected • may have dynamic IP addresses • do not communicate directly with each other 59 P2P architecture • no always-on server • arbitrary end systems directly communicate • peers request service from other peers (client), provide service in return to other peers (server) – self scalability – new peers bring new service capacity, as well as new service demands • peers are intermittently connected and change IP addresses – complex management 3/17/2023 peer-peer 60 App-layer protocol • types of messages application application process exchanged, process transport transport – e.g., request, response Ankara Pittsburgh • message syntax: – what fields in messages & how fields are delineated • message semantics • Application layer uses – meaning of information in services of the transport layer fields – Delay, no loss, bandwidth • rules for when and how – TCP / UDP provide processes send & respond to different services messages – Both provide process addressing 3/17/2023 61 Applications of Today • Examples: – – – – DNS: Makes the Internet work HTTP: Web P2P: Both file sharing and Video streaming Distributed Hash Table 3/17/2023 62 DNS Query • DNS query process occurs in two parts: – A name query begins at a client computer and is passed to a resolver, the DNS Client service, for resolution. – When the query cannot be resolved locally, DNS servers can be queried as needed to resolve the name. • Uses UDP Transport Layer Protocol https://technet.microsoft.com/enus/library/cc775637(v=ws.10).aspx 3/17/2023 63 Web and HTTP • web page consists of objects • object can be HTML file, JPEG image, Java applet, audio file,… • web page consists of base HTML-file which includes several referenced objects • each object is addressable by a URL, e.g., www.someschool.edu/someDept/pic.gif host name 3/17/2023 path name 64 HTTP overview HTTP: hypertext transfer protocol • Web’s application layer protocol • client/server model – client: browser that requests, receives, (using HTTP protocol) and “displays” Web objects – server: Web server sends (using HTTP protocol) objects in response to requests 3/17/2023 GET, HEAD, POST… PC running Firefox browser Status Code+File server running Apache Web server iphone running Safari browser 65 HTTP overview (continued) uses TCP: • client initiates TCP connection (creates socket) to server, port 80 • server accepts TCP connection from client • HTTP messages (applicationlayer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server) • TCP connection closed 3/17/2023 initiate TCP connection RTT request file time to transmit file RTT file received time time 66 Caching • A partial storage of data closer to the requesting node for faster response and better load balance • Web Caching • DNS Caching 3/17/2023 67 Web caches (proxy server) goal: satisfy client request without involving origin server • user sets browser: Web accesses via cache • browser sends all HTTP requests to cache – object in cache: cache returns object – else cache requests object from origin server, then returns object to client 3/17/2023 proxy server client client origin server • server for original requesting client • client to origin server origin server 68 DNS: caching, updating records • once (any) name server learns mapping, it caches mapping – cache entries timeout (disappear) after some time (TTL) – TLD servers typically cached in local name servers • thus root name servers not often visited • cached entries may be out-of-date (best effort nameto-address translation!) – if name host changes IP address, may not be known Internetwide until all TTLs expire • update/notify mechanisms proposed IETF standard – RFC 2136 3/17/2023 69 Web Caching Advantages origin servers origin servers public Internet public Internet 1.54 Mbps access link 1.54 Mbps access link institutional network institutional network 1 Gbps LAN 1 Gbps LAN local web cache Problem: Too much load on the access link Increasing access link capacity is expensive LAN is not utilized 3/17/2023 Solution 70 P2P: A distributed System Architecture • The information is not located in a central location but is distributed among all peers • A peer may need to communicate with multiple peers to locate a piece of information • No centralized control • Typically many heterogeneous nodes • Nodes are symmetric in function: both client and server • Take advantage of distributed, shared resources (bandwidth, CPU, storage) on peer-nodes • Fault-tolerant, self-organizing • Operate in dynamic environment, frequent join Internet and leave is the norm 3/17/2023 71 Server-client vs. P2P: example Minimum Distribution Time 3.5 P2P 3 Client-Server 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 30 35 N 3/17/2023 72 P2P in practice: BitTorrent ❖ file divided into 256Kb chunks ❖ peers in torrent send/receive file chunks tracker: tracks peers participating in torrent Does not have content Alice gets the/torrent file … obtains list of peers from tracker … and begins exchanging file chunks with peers in torrent 3/17/2023 73 Demo HTTP GET MYFILE.torrent webserver tracker MYFILE.torrent http://mytracker.com:6969/ S3F5YHG6FEB FG5467HGF367 “register” F456JI9N5FF4E … list of peers ID1 169.237.234.1:6881 ID2 190.50.34.6:5692 ID3 34.275.89.143:4545 … ID50 231.456.31.95:6882 … Peer 40 3/17/2023 user Peer 2 Peer 1 74 BitTorrent: requesting, sending file chunks ❖ ❖ ❖ peer may change peers with whom it exchanges chunks churn: peers may come and go once peer has entire file, it may (selfishly) leave or (altruistically) remain in torrent requesting chunks: • at any given time, different peers have different subsets of file chunks • periodically, Alice asks each peer for list of chunks that they have • Alice requests missing chunks from peers, rarest first for example 3/17/2023 75 BitTorrent: tit-for-tat sending chunks: tit-for-tat ❖ Alice sends chunks to those four peers currently sending her chunks at highest rate higher upload rate: find better trading partners, get file faster ! ▪ other peers are choked by Alice (do not receive chunks from her) ▪ re-evaluate top 4 every10 secs ❖ every 30 secs: randomly select another peer, starts sending chunks ▪ “optimistically unchoke” this peer ▪ newly chosen peer may join top 4 (1) Alice “optimistically unchokes” Bob (2) Alice becomes one of Bob’s top-four providers; Bob reciprocates (3) Bob becomes one of Alice’s top-four providers 3/17/2023 76 Transport Layer 3/17/2023 77 Transport services and protocols ❖ provide logical communication between app processes running on different hosts ❖ Addressing of the applications by port numbers ❖ transport protocols run in end systems ▪ send side: breaks app messages into segments, passes to network layer ▪ rcv side: reassembles segments into messages, passes to app layer ▪ Mux / demux of application messages 3/17/2023 application transport network data link physical application transport network data link physical 78 Multiplexing/demultiplexing multiplexing at sender: handle data from multiple sockets, add transport header (later used for demultiplexing) demultiplexing at receiver: use header info to deliver received segments to correct socket application application P3 P1 P2 application P4 transport transport network transport network link network physical link link physical 3/17/2023 socket process physical 79 Internet transport-layer protocols • UDP (User Datagram Protocol) – Mux, Demux only by destination information – No connection, no state • TCP (Transport Control Protocol) – – – – – Mux/Demux by source and destination information connection oriented, stateful reliable, in-order delivery congestion control flow control • TCP/UDP use the services of the Network Layer IP protocol 3/17/2023 80 Addressing processes • IP address: network layer machine address visible to all devices in the network • Port number: Application layer process address • Process identifier: includes both IP address and port numbers associated with process on host. • UDP addressing: destination IP + destination port • TCP addressing: destination IP + destination port + source IP + source port 3/17/2023 81 Addressing Transport Layer Address: TCP/UDP port (16 bits) Network device address: IP Address (32 bits) Physical Device Address: Ethernet Address (48 bits) 35-18-DC-FA-4B-32 80 144.122.166.16 80 144.122.166.16 80 application transport network link physical Host: HTTP Server Only destination addresses are shown 3/17/2023 82 TCP: Overview • Operation: RFCs: 793,1122,1323, 2018, 2581 • Results: – Numbered data bytes from sender to receiver – Corresponding numbered acknowledgements from receiver to sender – Sliding window – Retransmission timer and time out – connection-oriented: handshaking (exchange of control msgs) inits sender, receiver state before data exchange 3/17/2023 – Reliable transmission (acks) – Inorder byte stream (numbering) – Pipelined – Full duplex – Flow and congestion control by timing RTT 83 TCP Flow and Congestion Control (a) Problem: low capacity receiver Solution: Flow Control TCP Receiver tells the sender how much to send by rwnd (b) Problem: Too much network load, high queuing delays, packet drops Solution: Congestion Control TCP Sender observes the ACKs to see if there is congestion by computing cwnd Sender window limited by w=min(cwnd,rwnd) 3/17/2023 rate = w RTT bytes/sec 84 TCP flow control • receiver “advertises” free buffer space by including rwnd value in TCP header of receiver-tosender segments • sender limits amount of unacked (“in-flight”) data to receiver’s rwnd value to application process RcvBuffer rwnd • guarantees receive buffer will not overflow buffered data free buffer space TCP segment payloads receiver-side buffering 3/17/2023 Ece GURAN SCHMIDT EE542 85 TCP Congestion Control End-to-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay Decentralized: each TCP sender sets its own rate, based on implicit feedback: ACK: segment received (a good thing!), network not congested, so increase sending rate Loss event: timeout or 3 duplicate acks. Assume loss due to congested network, so decrease sending rate 3/17/2023 86 TCP Congestion Control • slowstart phase: – cwnd=1, doubles with every ACK received – increase exponentially fast (despite name) at connection start, or following timeout – Threshold: – Window size to Switch from exponential increase to linear increase – Initially set, dynamically updated • congestion avoidance: – increase linearly after threshold size is reached 3/17/2023 87 TCP congestion control: additive increase multiplicative decrease approach: sender increases transmission rate (window size), probing for usable bandwidth, until loss occurs ▪ additive increase: increase cwnd by 1 MSS every RTT until loss detected ▪ multiplicative decrease: cut cwnd in half after loss AIMD saw tooth behavior: probing for bandwidth 3/17/2023 cwnd: TCP sender congestion window size ❖ additively increase window size … …. until loss occurs (then cut window in half) time 88 TCP throughput • Q: what’s average throughout of TCP as function of window size, RTT? – ignoring slow start • let W be window size when loss occurs. – when window is W, throughput is W/RTT – just after loss (triple ack), window drops to W/2, throughput to W/2RTT. – average throughput: .75 W/RTT 3/17/2023 89 TCP Fairness fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 TCP connection 2 3/17/2023 bottleneck router capacity R 90 Network Layer Network layer • transport segment from sending to receiving host • Addressing: – Each device interface to network has an IP address – Addressing hierarchically visible to the entire network • on sending side encapsulates segments into datagrams • on receiving side, delivers segments to transport layer • network layer protocols in every host, router 3/17/2023 application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 92 The Internet Network layer Host, router network layer functions: Transport layer: TCP, UDP Network layer IP protocol •addressing conventions •datagram format •packet handling conventions Routing protocols •path selection •RIP, OSPF, BGP forwarding table ICMP protocol •error reporting •router “signaling” Link layer physical layer 3/17/2023 93 IP datagram format IP protocol version number header length (bytes) “type” of data max number remaining hops (decremented at each router) upper layer protocol to deliver payload to how much overhead? ❖ 20 bytes of TCP ❖ 20 bytes of IP ❖ = 40 bytes + app layer overhead 3/17/2023 32 bits total datagram length (bytes) ver head. type of len service length 16-bit identifier upper time to layer live fragment flgs offset header checksum for fragmentation/ reassembly 32 bit source IP address 32 bit destination IP address options (if any) data (variable length, typically a TCP or UDP segment) e.g. timestamp, record route taken, specify list of routers to visit. 94 IP Addressing • interface: connection between host/router and physical link – router’s typically have multiple interfaces – host may have multiple interfaces – IP addresses associated with each interface • IP address: 32-bit identifier for host, router interface 3/17/2023 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 223.1.3.1 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 95 IP addresses: how to get one? Q: How does a host get IP address? • hard-coded by system admin in a file – Windows: Control Panel\Network and Internet\Network Connections: Adapter Properties, TCP/IPv4 – UNIX: /etc/rc.config • DHCP: Dynamic Host Configuration Protocol: dynamically get address from as server – “plug-and-play” – Application layer protocol, runs over UDP 3/17/2023 96 DHCP client-server scenario DHCP server: 223.1.2.5 DHCP discover (UDP) arriving client src : IP: 0.0.0.0, Port: 68 dest.: IP: 255.255.255.255, Port: 67 Allocated IP address: 0.0.0.0 transaction ID: 654 There can be multiple offers if there are multiple DHCP servers DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 Allocated IP address: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs DHCP request time src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 Allocated IP address: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs DHCP ACK http://support. microsoft.com/ kb/169289 3/17/2023 src: 223.1.2.5, 67 dest: 255.255.255.255, 68 Allocated IP address: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs Client accepts an offer and replies 97 Subnets and addressing • IP address: 223.24.0.0/20 – subnet part (high order bits) – host part (low order bits) • Subnet addresses: – All interfaces in the subnet have the same subnet part – Subnet address in human readable form: 223.24.16.0/21 – Binary: 11011111 00011000 00010000 00000000 Host address: 223.24.19.167 11011111 00011000 00010011 10100111 Host address: 223.24.23.15 11011111 00011000 00010111 00001111 3/17/2023 Interface 1 Interface 2 Interface 3 223.24.8.0/22 223.24.16.0/21 223.24.19.167 223.24.23.15 98 IP Router and IP address lookup 4 billion IP addresses, so rather than list individual destination address list range of addresses (aggregate table entries) routing algorithm determines end-end-path through network routing algorithm IP lookup table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 2 1 Table lookup for each packet IP destination address in arriving packet’s header 1 3 2 3/17/2023 99 Router architecture overview forwarding tables computed, pushed to input ports routing processor routing, management control plane (software) forwarding data plane (hardware) high-seed switching fabric router input ports 3/17/2023 Input port and output port on a single Line card router output ports 100 Output ports switch fabric datagram buffer queueing link layer protocol (send) line termination ❖ buffering required when datagrams arrive from fabric faster than the transmission rate ❖ scheduling discipline chooses among queued datagrams for transmission 3/17/2023 101 Hierarchical Routing “autonomous systems” (AS) 3/17/2023 102 4-102 Why different Intra-, Inter-AS routing ? policy: • inter-AS: admin wants control over how its traffic routed, who routes through its net. • intra-AS: single admin, so no policy decisions needed scale: • hierarchical routing saves table size, reduced update traffic performance: • intra-AS: can focus on performance • inter-AS: policy may dominate over performance 3/17/2023 103 Link Layer 3/17/2023 Ece GURAN SCHMIDT EE542 104 Overall Picture: Data Link Layer and Medium Access Control • Data Link Layer: Creating a reliable link: … Network DLC MAC Physical – This transmission should be reliable ➔ Data Link Control DLL – Network nodes should be able to transmit over the physical channel as if nodes are DLL: Data Link Layer connected by a direct link ➔ DLC: Data Link Control Medium Access Control (Later) MAC: Medium Access Control (think of wireless links, there is no direct link!!!!) 3/17/2023 105 Link Layer Services • framing, link access: – encapsulate datagram into frame, adding header, trailer – channel access if shared medium – “MAC” addresses used in frame headers to identify source, dest • different from IP address! • reliable delivery between adjacent nodes – ACKs, retransmission (ARQ) – seldom used on low bit-error link (fiber, some twisted pair) – wireless links: high error rates • Q: why both link-level and end-end reliability? 3/17/2023 106 Adaptors and Addressing datagram rcving node link layer protocol sending node frame frame adapter adapter • link layer implemented in “adaptor” (NIC) – Ethernet card, 802.11 card • Each NIC has an address (Physical address, MAC address) • Each frame has a destination physical address 3/17/2023 • When a frame arrives on the physical link, NIC checks if the destination address matches NIC address. • If there is a match accepts the frame, else discards the frame • Forwarding the IP packet enclosed in the frame from node to node requires physical address 107 Addressing and end to end delivery Destination addresses in the Frame sent Transport Layer Address: TCP/UDP port (16 bits) Network device address: IP Address (32 bits) Physical Device Address: Ethernet Address (48 bits) 35-18-DC-FA-4B-32 80 144.122.166.16 80 144.122.166.16 80 application transport network link physical • Physical Source and Destination Addresses change every time the IP Packet enclosed in the frame is forwarded to the next node. • All upper layer source and destination addresses are end-to-end. They never change. 3/17/2023 108 Delivery details • The sender – can tell if the destination is in the same subnet by destination IP address • Compares: DestinationIP AND MySubnetMask, MyIP AND MySubnetMask – Learns the Physical Address of the next node (Router or final destination node) by a special protocol (Address Resolution Protocol-ARP) 3/17/2023 109 Direct Delivery User data message Frame sent from node X to Node A D HA D segment HT HA D datagram Dest IP: IP A HT HA D Dest PHY: PHY A Dest IP: IP A HT HA D Node A Node B Node X • Node X sends an IP datagram to node A (destination) • Node X and Node A are in the same subnet • Node X sends it to physical address of the destination 3/17/2023 110 User data Indirect Delivery Frame sent from node X to Node B message D HA D segment HT HA D datagram Dest IP: IP B HT HA D Dest PHY: PHY R Dest IP: IP B HT HA D Node A Node B Node X PHY R Router R • Node X sends an IP datagram to node B (destination) • Node X and Node B are NOT in the same subnet • Node X sends it to physical address of the intermediate Router • Router Interface is in the same subnet as Node X 3/17/2023 111 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 3/17/2023 112 Shared Communication • Not all connections are point to point • broadcast (shared wire or medium) – old-fashioned Ethernet – 802.11 wireless LAN shared wire (e.g., cabled Ethernet) 3/17/2023 shared RF (e.g., 802.11 WiFi) 113 Shared Communication • single shared broadcast channel • two or more simultaneous transmissions by nodes lead to corrupted signals – Collision / interference 3/17/2023 114 Medium Access Control • A node needs to access the shared channel to be able to transmit the data link layer frame to the next node • We need a method to give access to the nodes: – Each node is able to use a (fixed or variable) fraction of the channel bandwidth – Shared medium behaves somehow like a point to point link • A very well known version of this problem is bus arbitration in computer architecture 3/17/2023 115 Medium Access Control Methods • Collision-free access – Static Channel Allocation • TDM, FDM, WDM – Demand Assignment Protocols • Polling, token, bit map • Access with collision – Dynamic Channel Allocation • ALOHA, CSMA 3/17/2023 116 Carrier Sense Multiple Access (CSMA) Protocols • Improve throughput by decreasing collisions – Sense existing traffic – Include randomness to avoid repeated collision • Persistent vs non-persistent – persistent protocols continuously sense the channel – non-persistent protocols wait for a random time before rechecking CSMA/CD: carrier sensing, deferral as in CSMA – collisions detected within short time – colliding transmissions aborted, reducing channel wastage – persistent or non-persistent retransmission 3/17/2023 117 CSMA/CD 3/17/2023 118 Ethernet • Media Access Control (MAC) policy: 1-persistent CSMA/CD with binary exponential backoff • connectionless: no handshaking between sending and receiving NICs • unreliable: receiving NIC doesnt send acks or nacks to sending NIC – data in dropped frames recovered only if initial sender uses higher layer rdt (e.g., TCP), otherwise dropped data lost • Bandwidths: 10Mbps, 100Mbps, 1Gbps • Physical Layer: – Manchester Encoding – Bus and Star topologies are used to connect hosts – Max bus length: 2500m: 500m segments with 4 repeaters 3/17/2023 119 Switches vs. routers both are store-and-forward: ▪ routers: network-layer devices (examine network-layer headers) ▪ switches: link-layer devices (examine link-layer headers) both have forwarding tables: ▪ routers: compute tables using routing algorithms, IP addresses ▪ switches: learn forwarding table using flooding, learning, MAC addresses 3/17/2023 datagram frame application transport network link physical frame link physical switch network datagram link frame physical application transport network link physical 120 Putting all layers together Synthesis: a day in the life of a web request • journey down protocol stack complete! – application, transport, network, link • putting-it-all-together: synthesis! – goal: identify, review, understand protocols (at all layers) involved in seemingly simple scenario: requesting www page – scenario: student attaches laptop to campus network, requests/receives www.google.com 3/17/2023 122 A day in the life: scenario DNS Server is in another subnet DNS server browser Switch Comcast network 68.80.0.0/13 school network 68.80.2.0/24 web page Router also is a DHCP Server web server 64.233.169.105 3/17/2023 Google’s network 64.233.160.0/19 123 A day in the life… connecting to the Internet DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP • connecting laptop needs to get its own IP address, addr of first-hop router, addr of DNS server: use DHCP DHCP DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy • DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in Ethernet router (runs DHCP) • Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running DHCP server • Ethernet demux’ed to IP demux’ed, UDP demux’ed to DHCP 3/17/2023 124 A day in the life… connecting to the Internet DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy router (runs DHCP) • DHCP server formulates DHCP ACK containing client’s IP address, IP address of first-hop router for client, name & IP address of DNS server • encapsulation at DHCP server, frame forwarded (switch learning) through LAN, demultiplexing at client • DHCP client receives DHCP ACK reply Client now has IP address, knows name & addr of DNS server, IP address of its first-hop router 3/17/2023 125 A day in the life… ARP (before DNS, before HTTP) DNS DNS DNS ARP query • before sending HTTP request, need IP address of www.google.com: DNS DNS UDP IP ARP Eth Phy ARP ARP reply Eth Phy • DNS query created, encapsulated in UDP, encapsulated in IP, encasulated in Eth. In order to send frame to router, need MAC address of router interface: ARP • ARP query broadcast, received by router, which replies with ARP reply giving MAC address of router interface • client now knows MAC address of first hop router, so can now send frame containing DNS query 3/17/2023 126 DNS A day in the life… using DNS DNS DNS DNS DNS DNS DNS DNS UDP IP Eth Phy DNS DNS UDP IP Eth Phy DNS server DNS Comcast network 68.80.0.0/13 • IP datagram containing DNS query forwarded via LAN switch from client to 1st hop router 3/17/2023 • IP datagram forwarded from campus network into comcast network, routed (tables created by RIP, OSPF, IS-IS and/or BGP routing protocols) to DNS server • demux’ed to DNS server • DNS server replies to client with IP address of www.google.com 127 A day in the life… TCP connection carrying HTTP HTTP HTTP TCP IP Eth Phy SYNACK SYN SYNACK SYN SYNACK SYN SYNACK SYN SYNACK SYN SYNACK SYN TCP IP Eth Phy web server 64.233.169.105 3/17/2023 • to send HTTP request, client first opens TCP socket to web server • TCP SYN segment (step 1 in 3-way handshake) interdomain routed to web server • web server responds with TCP SYNACK (step 2 in 3way handshake) • TCP connection established! 128 A day in the life… HTTP request/reply HTTP HTTP HTTP TCP IP Eth Phy HTTP HTTP HTTP HTTP HTTP HTTP • web page finally (!!!) displayed • HTTP request sent into TCP socket HTTP HTTP HTTP HTTP HTTP TCP IP Eth Phy web server 64.233.169.105 3/17/2023 • IP datagram containing HTTP request routed to www.google.com • web server responds with HTTP reply (containing web page) • IP datgram containing HTTP reply routed back to client 129 Layered Architecture Layered Architecture Extra Slides: Specific Examples TCP RTT Estimate EstimatedRTT = (1- )*EstimatedRTT + *SampleRTT ❖ ❖ ❖ exponential weighted moving average influence of past sample decreases exponentially fast typical value: = 0.125 3/17/2023 132 Address Look-up Example Address Mask Int 11000010 00011000 00000000 00000000 11111111 11111111 11110000 00000000 1 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000 2 11000010 00011000 00010000 00000000 11111111 11111111 11111000 00000000 3 • A packet comes in addressed to 194.24.17.4, which in binary is: 11000010 00011000 00010001 00000100 1. Packet address is Boolean ANDed with 1st mask 11000010 00011000 00010000 00000000 1: 11000010 00011000 00000000 00000000 NO MATCH! 3/17/2023 133 Address Look-up Example Address Mask Int 11000010 00011000 00000000 00000000 11111111 11111111 11110000 00000000 1 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000 2 11000010 00011000 00010000 00000000 11111111 11111111 11111000 00000000 3 • Packet address: 194.24.17.4, in binary: 11000010 00011000 00010001 00000100 2. Packet address is Boolean ANDed with the 2nd mask 11000010 00011000 00010000 00000000 2: 11000010 00011000 00001000 00000000 NO MATCH! 3/17/2023 134 Address Look-up Example Address Mask Int 11000010 00011000 00000000 00000000 11111111 11111111 11110000 00000000 1 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000 2 11000010 00011000 00010000 00000000 11111111 11111111 11111000 00000000 3 • Packet address: 194.24.17.4, in binary: 11000010 00011000 00010001 00000100 3. Packet address is Boolean ANDed with the 3rd mask 11000010 00011000 00010000 00000000 3: 11000010 00011000 00010000 00000000 MATCH! Send the packet out of Interface 3 3/17/2023 135 Internet inter-AS routing: BGP • BGP (Border Gateway Protocol): the de facto interdomain routing protocol – “glue that holds the Internet together” • BGP provides each AS a means to: – eBGP: obtain subnet reachability information from neighboring ASs. – iBGP: propagate reachability information to all AS-internal routers. – determine “good” routes to other networks based on reachability information and policy. • allows subnet to advertise its existence to rest of Internet: “I am here” 3/17/2023 136 BGP basics ❖ BGP session: two BGP routers (“peers”) exchange BGP messages: ▪ advertising paths to different destination network prefixes (“path vector” protocol) ▪ exchanged over semi-permanent TCP connections • when AS3 advertises a prefix to AS1: – AS3 promises it will forward datagrams towards that prefix – AS3 can aggregate prefixes in its advertisement 3c 3b other networks 3a BGP message AS3 1a AS1 3/17/2023 2c 1c 1d 2a 1b 2b other networks AS2 137 BGP basics: distributing path information ❖ using eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1. ▪ 1c can then use iBGP do distribute new prefix info to all routers in AS1 ▪ 1b can then re-advertise new reachability info to AS2 over 1b-to-2a eBGP session ❖ when router learns of new prefix, it creates entry for prefix in its forwarding table. eBGP session 3b other networks 3a AS3 2c 1c 1a AS1 3/17/2023 iBGP session 1d 2a 1b 2b other networks AS2 138 Path attributes and BGP routes • advertised prefix includes BGP attributes – prefix + attributes = “route” • two important attributes: – AS-PATH: contains ASs through which prefix advertisement has passed: e.g., AS 67, AS 17 – NEXT-HOP: indicates specific internal-AS router to next-hop AS. (may be multiple links from current AS to next-hop-AS) • gateway router receiving route advertisement uses import policy to accept/decline – e.g., never route through AS x – policy-based routing 3/17/2023 139 BGP route selection • router may learn about more than 1 route to destination AS, selects route based on: – local preference value attribute: policy decision – shortest AS-PATH – closest NEXT-HOP router: hot potato routing – additional criteria 3/17/2023 140 BGP messages • BGP messages exchanged between peers over TCP connection • BGP messages: – OPEN: opens TCP connection to peer and authenticates sender – UPDATE: advertises new path (or withdraws old) – KEEPALIVE: keeps connection alive in absence of UPDATES; also ACKs OPEN request – NOTIFICATION: reports errors in previous msg; also used to close connection 3/17/2023 141 How does entry get in forwarding table? routing algorithms entry local forwarding table prefix output port 138.16.64/22 124.12/16 212/8 ………….. 3 2 4 … Assume prefix is in another AS. Dest IP 1 3 2 3/17/2023 High-level overview 1. Router becomes aware of prefix 2. Router determines output port for prefix 3. Router enters prefixport in forwarding table 142 Router becomes aware of prefix 3c 3b other networks ❖ ❖ ❖ 3a BGP message AS3 2c 1c 1a AS1 1d 2a 1b 2b other networks AS2 BGP message contains “routes” “route” is a prefix and attributes: AS-PATH, NEXTHOP,… Example: route: ❖ Prefix:138.16.64/22 ; AS-PATH: AS3 AS131 ; NEXT-HOP: 201.44.13.125 3/17/2023 143 Router may receive multiple routes 3c 3b other networks ❖ ❖ 3a BGP message AS3 2c 1c 1a AS1 1d 2a 1b 2b other networks AS2 Router may receive multiple routes for same prefix Has to select one route 3/17/2023 144 Select best BGP route to prefix • Router selects route based on shortest AS-PATH ❖ Example: ❖ ❖ ❖ select AS2 AS17 to 138.16.64/22 AS3 AS131 AS201 to 138.16.64/22 What if there is a tie? We’ll come back to that! 3/17/2023 145 Find best intra-route to BGP route • Use selected route’s NEXT-HOP attribute – Route’s NEXT-HOP attribute is the IP address of the router interface that begins the AS PATH. • Example: ❖ AS-PATH: AS2 AS17 ; NEXT-HOP: 111.99.86.55 • Router uses OSPF to find shortest path from 1c to 111.99.86.55 3c 3b other networks 3a AS3 1c 1a AS1 3/17/2023 111.99.86.55 1d 2c 2a 1b 2b other networks AS2 146 Router identifies port for route • Identifies port along the OSPF shortest path • Adds prefix-port entry to its forwarding table: – (138.16.64/22 , port 4) router port 3c 3b other networks 3a AS3 1a AS1 3/17/2023 2c 1 1c 4 2 3 1d 2a 1b 2b other networks AS2 147 Hot Potato Routing • Suppose there two or more best inter-routes. • Then choose route with closest NEXT-HOP – Use OSPF to determine which gateway is closest – Q: From 1c, chose AS3 AS131 or AS2 AS17? – A: route AS3 AS201 since it is closer 3c 3b other networks 3a AS3 1a AS1 3/17/2023 2c 1c 1d 2a 1b 2b other networks AS2 148 How does entry get in forwarding table? Summary 1. Router becomes aware of prefix – via BGP route advertisements from other routers 2. Determine router output port for prefix – – – Use BGP route selection to find best inter-AS route Use OSPF to find best intra-AS route leading to best inter-AS route Router identifies router port for that best route 3. Enter prefix-port entry in forwarding table 3/17/2023 149 BGP routing policy legend: B W provider network X A customer network: C Y ❖ ❖ ❖ A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks ▪ X does not want to route from B via X to C ▪ .. so X will not advertise to B a route to C 3/17/2023 150 BGP routing policy (2) legend: B W provider network X A customer network: C Y ❖ ❖ ❖ A advertises path AW to B B advertises path BAW to X Should B advertise path BAW to C? ▪ No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers ▪ B wants to force C to route to w via A ▪ B wants to route only to/from its customers! 3/17/2023 151 CRC example 2 want: D.2r XOR R = nG equivalently: D.2r = nG XOR R equivalently: if we divide D.2r by G, want remainder R to satisfy: R = remainder[ 3/17/2023 D.2r ] G 152 Addressing: routing to another LAN walkthrough: send datagram from A to B via R – focus on addressing – at IP (datagram) and MAC layer (frame) – assume A knows B’s IP address – assume A knows IP address of first hop router, R (how?) – assume A knows R’s MAC address (how?) B A R 111.111.111.111 74-29-9C-E8-FF-55 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.220 1A-23-F9-CD-06-9B 111.111.111.112 CC-49-DE-D0-AB-7D 3/17/2023 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 153 Addressing: routing to another LAN A creates IP datagram with IP source A, destination B A creates link-layer frame with R's MAC address as dest, frame contains A-to-B IP datagram ❖ ❖ MAC src: 74-29-9C-E8-FF-55 MAC dest: E6-E9-00-17-BB-4B IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy B A R 111.111.111.111 74-29-9C-E8-FF-55 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.220 1A-23-F9-CD-06-9B 111.111.111.112 CC-49-DE-D0-AB-7D 3/17/2023 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 154 Addressing: routing to another LAN frame sent from A to R frame received at R, datagram removed, passed up to IP ❖ ❖ MAC src: 74-29-9C-E8-FF-55 MAC dest: E6-E9-00-17-BB-4B IP src: 111.111.111.111 IP dest: 222.222.222.222 IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy IP Eth Phy B A R 111.111.111.111 74-29-9C-E8-FF-55 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.220 1A-23-F9-CD-06-9B 111.111.111.112 CC-49-DE-D0-AB-7D 3/17/2023 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 155 Addressing: routing to another LAN ❖ ❖ R forwards datagram with IP source A, destination B R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy IP Eth Phy B A R 111.111.111.111 74-29-9C-E8-FF-55 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.220 1A-23-F9-CD-06-9B 111.111.111.112 CC-49-DE-D0-AB-7D 3/17/2023 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 156 Addressing: routing to another LAN ❖ ❖ R forwards datagram with IP source A, destination B R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy IP Eth Phy B A R 111.111.111.111 74-29-9C-E8-FF-55 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.220 1A-23-F9-CD-06-9B 111.111.111.112 CC-49-DE-D0-AB-7D 3/17/2023 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 157 Addressing: routing to another LAN ❖ ❖ R forwards datagram with IP source A, destination B R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy B A R 111.111.111.111 74-29-9C-E8-FF-55 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.220 1A-23-F9-CD-06-9B 111.111.111.112 CC-49-DE-D0-AB-7D 3/17/2023 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 158