CS 655 System and Network Architectures and Implementation. Module 4 Naming, Mobility, Messaging

Similar documents
TDTS06: Computer Networks

CS118 Discussion 1A, Week 9. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

CSC 4900 Computer Networks: Link Layer (3)

Computer Communications DIT 420 EDA343

CSC 401 Data and Computer Communications Networks

Last time. BGP policy. Broadcast / multicast routing. Link virtualization. Spanning trees. Reverse path forwarding, pruning Tunneling

Link Layer and LANs. CMPS 4750/6750: Computer Networks

Course on Computer Communication and Networks. Lecture 16 Synthesis, Summary/flashback and Projection (related topics continuation of study)

Chapter 4 Network Layer: The Data Plane

Domain Name System (DNS) 김현철 ( 화 ) 정보통신융합서울대학교컴퓨터공학부

Chapter 6 The Link Layer and LANs

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

CSCE 463/612 Networks and Distributed Processing Spring 2018

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa

Lecture 14 Summary - flashback

Application Layer Protocols

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks

Chapter 1 Introduction

Review for Internet Introduction

CS 455/555 Intro to Networks and Communications. Link Layer Addressing, Ethernet, and a Day in the Life of a Web Request

Chapter 2 Application Layer

Information Network Systems The application layer. Stephan Sigg

Lecture 9 Ethernet and other Link Layer protocols

DNS and HTTP. A High-Level Overview of how the Internet works

Chapter 5 Data Link Layer

Chapter 4: Network Layer

ECE 4450:427/527 - Computer Networks Spring 2017

Chapter 5 Link Layer. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Internet protocol stack

Chapter 5 Link Layer. Down Approach. Computer Networking: A Top. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Chapter 2 Application Layer. Lecture 5 DNS. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Communications Software. CSE 123b. CSE 123b. Spring Lecture 10: Mobile Networking. Stefan Savage

Quick announcement. CSE 123b Communications Software. Last class. Today s issues. The Mobility Problem. Problems. Spring 2003

Chapter 6 The Link Layer and LANs

ECS-087: Mobile Computing

Chapter 2 Application Layer

Network Applications Principles of Network Applications

Chapter 3 Transport Layer

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

internet technologies and standards

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

Chapter 3 Transport Layer

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

CSE 123b Communications Software

Quick announcements. CSE 123b Communications Software. Today s issues. Last class. The Mobility Problem. Problems. Spring 2004

Chapter 4 Network Layer: The Data Plane

Subnets. IP datagram format. The Internet Network layer. IP Fragmentation and Reassembly. IP Fragmentation & Reassembly. IP Addressing: introduction

The Application Layer: Sockets, DNS

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

CC451 Computer Networks

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Section 2: Application layer

Chapter 4 Network Layer

TDTS06: computer Networks

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Course on Computer Communication and Networks. Lecture 16 Synthesis, Summary/flashback and Projection (related topics continuation of study)

internet technologies and standards

Computer Network 2015 Mid-Term Exam.

Chapter 4 roadmap. CS555, Spring /14/2005. WMU-CS, Dr. Gupta 1. Multicast Routing: Problem Statement. Approaches for building mcast trees

CS 3516: Advanced Computer Networks

Chapter 2: Application layer

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Chapter 5 Link Layer. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

LECTURE 8. Mobile IP

RSC Part II: Network Layer 3. IP addressing (2nd part)

CSE 123A Computer Netwrking

Protocol Classification

Computer Networking Introduction

1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24

Application Layer: , DNS

Chapter 3 Transport Layer

Mobile Routing : Computer Networking. Overview. How to Handle Mobile Nodes? Mobile IP Ad-hoc network routing Assigned reading

Computer Networks, Andrew Tannenbaum, Chapter 5.6. Computer Networking: A Top Down Approach Featuring the

CSC 401 Data and Computer Communications Networks

Chapter 5 Link Layer. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Chapter 4 Network Layer

CSCI Computer Networks Spring 2017

Chapter 2 part B: outline

Mohammad Hossein Manshaei 1393

CSCI Computer Networks Fall 2016

CSC 8560 Computer Networks: Link and Physical Layers

COMP211 Chapter 4 Network Layer: The Data Plane

CS 3516: Advanced Computer Networks

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

More Internet Support Protocols

CSEN 503 Introduction to Communication Networks

Quiz. Segment structure and fields Flow control (rwnd) Timeout interval. Phases transition ssthresh setting Cwnd setting

Lecture 8. Network Layer (cont d) Network Layer 1-1

Chapter 4 Network Layer: The Data Plane

Chapter 12 Network Protocols

Chapter 2 Application Layer

History Page. Barracuda NextGen Firewall F

Lecture 20: Link Layer

Putting it all together

What is mobility? Mobile IP. Mobility Impact on Protocol Stack (cont.) Advanced Topics in Computer Networks

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Transcription:

CS 655 System and Network Architectures and Implementation Module 4 Naming, Mobility, Messaging Martin Karsten mkarsten@uwaterloo.ca 4-1

Notice Some slides and elements of slides are taken from third-party slide sets. In this module, parts are taken from the Kurose/Ross slide set. See detailed statement on next slide... 4-2

A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved 4-3

Overview naming principles examples: DNS, DHT mobility principles example: Mobile IP messaging principles example: Email 4-4

Transport Review end-to-end session characteristics reliability performance sender rate control assume both end points can rendezvous can find each other both are online 4-5

Naming, Mobility, Messaging manage and find entities and services mobile systems content-based naming maintain connectivity mobile systems communicate at different times asynchronous messaging 4-6

Naming Of what one cannot speak, one must pass over in silence. Ludwig Wittgenstein, Tractatus 4-7

Naming names in (distributed) computer systems identification, (permanent) uniqueness scope facilitate communication / access resolution description of entity context static vs. dynamic naming offline vs. offline agreement online: distributed vs. centralized manual configuration 4-8

Name Resolution access named object / entity direct access forward message to destination indirect access map name to other name using database (lookup) might be a distributed database -> forwarding within distributed database? 4-9

Definition Attempt a name is a handle/reference, valid and unique in a scope, that can be used to access a (group of) object(s) via a resolution mechanism try your own... 4-10

Everything is a Name memory address file system inode / name, socket handle MAC address, IP address, port, DNS name URL email address, Skype ID, Twitter ID phone number service identifier: WSDL, WSIL, UDDI plumbing contractor kitchener ontario 4-11

Conflicting Goals uniqueness, permanence - identifier numbering scheme, large range access / communication - locator location-dependent name (distance metric?) efficient processing for forwarding description - descriptor precision processing overhead 4-12

Discovery human-oriented description expressive vs. concise vs. machine processing, efficiency basic semantic schism: human vs. machine essential mechanism: search range queries typos, unclear intent multiple results 4-13

Name Processing At any point during name processing: scope, resolution, and context are implicit! if explicit, they are described by a label... which is mapped into something else... therefore the label is a name... which needs scope, resolution, and context => recursive contradiction! 4-14

Abstract Names role name 'mkarsten' vs. 'root' 'joe@email.com' vs. 'admin@isp.com' service name print.cs.uwaterloo.ca ipp://print.cs.uwaterloo.ca:631/printers/color 4-15

Distributed Naming System name assignment alias support name resolution resolution overhead storage overhead scalability, caching size of name space, number of managed entities frequency of updates and lookups relative vs. absolute names 4-16

Example: DNS Domain Name System hierarchical host names in the Internet example: cpu08.student.cs.uwaterloo.ca sequence of labels, written with separator cf. file system name: /home/mkarsten/cs655/network.pdf naming conventions top level domain: country code or orga-type code 2 nd level: organizational name etc. - local conventions (org units, depts,...) lowest level: role-based name (www, print, cpu,...) 4-17

DNS Database Root DNS servers com DNS servers org DNS servers edu DNS servers yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers poly.edu umass.edu DNS serversdns servers distributed database - entry point: root server(s) hierarchy (mostly) follows naming hierarchy resolution requests traverse hierarchy local caching 4-18

Caching local DNS server not part of authoritative hierarchy caching proxy for DNS requests often co-located with regular DNS server default name server hierarchy of caching servers DNS updates are not frequent and not expected to propagate fast 4-19

DNS Lookup root DNS server iterative resolution server replies with name/address of next server to contact resolver can cache multiple intermediate results local DNS server dns.poly.edu 1 2 8 3 4 5 7 TLD DNS server 6 requesting host cis.poly.edu gaia.cs.umass.edu 4-20

DNS Lookup recursive resolution root DNS server server forwards request and replies with ultimate response high-level servers can cache lots of results load on high-level servers? recursive vs. iterative? => mix & match! local DNS server dns.poly.edu 1 2 8 requesting host cis.poly.edu 7 6 5 3 TLD DNS server 4 authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu 4-21

DNS Records DNS resource records (RR) name, value, type, ttl Type A: hostname -> IP address Type NS: domain name -> name server name Type CNAME: hostname -> hostname (alias) Type MX: email domain -> mail server name etc. 4-22

DNS Notes simple request/reply protocol using UDP retransmission, message identifiers recursion optional ownership & regulation IP address has technical meaning DNS name has business value security & authentication 'www.personalbank.com' redirected to bad party? 4-23

DNS Notes replicated root servers relative names? difficult, because resolution logically starts at root special functionality multiple entries for name return random value -> basic load balancing server location -> geographical load balancing relevance in the age of Google? how important is it to own www.mycompany.com? 4-24

Example: Distributed Hash Table flat identifier space for peer-to-peer applications DHT: distributed database for (key,value) pairs peers can insert (key,value) pairs peers query with key DB returns with value that matches key identifier for each peer in [0...2 n -1] keys are taken from the same range e.g., use hashing 4-25

Location of Values assign (key,value) to immediate successor peer of key, i.e., peer with smallest larger ID example: n = 4, peers: 1, 3, 4, 5, 8, 10, 12, 14 key = 14, successor peer = 14 key = 15, successor peer = 1 => logical ring 4-26

Logical Ring Structure 1 15 3 4 12 5 10 8 virtual network ( overlay ) linear search? 4-27

Circular DHT with Shortcuts 1 3 Who s resp for key 1110? 15 4 12 5 10 8 each peer has shortcuts to O(logN) peers average distance 1, 2, 4, 8, 16, etc. (randomized) expected lookup in O(logN) steps 4-28

DHT Challenges decentralized management join / leave operations periodic ping of successors eliminate peers that have left from structure join needs starting point and hook into the structure security? overhead with high churn? 4-29

Mobility spectrum of mobility, from network perspective no mobility high mobility stationary wireless user, using same access point mobile user, connecting/ disconnecting from network using DHCP. mobile user, passing through multiple access point with ongoing sessions (cell phone) 4-30

Mobility network access point nearest network-level stationary router might or might not be wireless access point challenges initial lookup of responder needs some form of registry ongoing connectivity with movements needs some form of update/redirection similar, but different: time scale session vs. packet 4-31

Example: Mobile IP 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 Permanent address: address in home network, can always be used to reach mobile e.g., 128.119.40.186 wide area network correspondent 4-32

Mobile IP 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 visited network: network in which mobile currently resides (e.g., 79.129.13/24) correspondent: wants to communicate with mobile foreign agent: entity in visited network that performs mobility functions on behalf of mobile. 4-33

Mobile IP Registration home network visited network 2 wide area network foreign agent contacts home agent home: this mobile is resident in my network 1 mobile contacts foreign agent on entering visited network foreign agent knows about mobile home agent knows location of mobile 4-34

Mobile IP Indirect Routing home network correspondent addresses packets using home address of mobile home agent intercepts packets, forwards to foreign agent 1 wide area network 2 foreign agent receives packets, forwards to mobile 4 3 visited network mobile replies directly to correspondent 4-35

Mobile IP Indirect Routing packet sent by home agent to foreign agent: a packet within a packet foreign-agent-to-mobile packet dest: 128.119.40.186 dest: 79.129.13.2 dest: 128.119.40.186 Permanent address: 128.119.40.186 dest: 128.119.40.186 packet sent by correspondent Care-of address: 79.129.13.2 4-36

Mobile IP Direct Routing home network correspondent forwards to foreign agent foreign agent receives packets, forwards to mobile 4 visited network correspondent requests, receives foreign address of mobile 2 1 wide area network 3 4 mobile replies directly to correspondent 4-37

Mobile IP Hierarchical Agents fast handover support avoid end-to-end delay can be extended arbitrarily correspondent wide area network 1 correspondent agent anchor foreign agent 5 4 3 new foreign agent foreign net visited at session start 2 new foreign network 4-38

Mobile IP Discussion overarching design consideration transparency, backward-compatibility triangle routing direct reply source addr checks? foreign agent functionality can be with mobile e.g., with address allocation via DHCP Mobile IP uses IP tunneling could use direct forwarding with address rewriting... similar to reverse NAT... similar to virtual circuit -> similar to GSM 4-39

A Day in the Life of a Web Request journey through basic functionality complete! channel, network, transport, naming 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 4-40

A day in the life: scenario browser DNS server Comcast network 68.80.0.0/13 school network 68.80.2.0/24 web page web server 64.233.169.105 Google s network 64.233.160.0/19 4-41

A day in the life connecting to the Internet DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy 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 UDP IP Eth Phy router (runs DHCP) DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in 802.1 Ethernet 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 4-42

A day in the life connecting to the Internet DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy DHCP server formulates DHCP ACK containing client s IP address, IP address of firsthop router for client, name & IP address of DNS server DHCP DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy router (runs DHCP) 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 4-43

A day in the life ARP (before DNS, before HTTP) DNS DNS DNS ARP query DNS UDP IP Eth Phy ARP ARP reply ARP Eth Phy before sending HTTP request, need IP address of www.google.com: DNS 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 4-44

DNS DNS DNS DNS DNS UDP IP Eth Phy A day in the life using DNS DNS DNS DNS 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 1 st hop router 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 4-45

A day in the life TCP connection carrying HTTP HTTP SYNACK SYNACK SYNACK HTTP TCP IP Eth Phy to send HTTP request, client first opens TCP socket to web server SYNACK SYNACK SYNACK TCP IP Eth Phy web server 64.233.169.105 TCP SYN segment (step 1 in 3-way handshake) interdomain routed to web server web server responds with TCP SYNACK (step 2 in 3- way handshake) TCP connection established! 4-46

HTTP HTTP HTTP HTTP HTTP HTTP TCP IP Eth Phy A day in the life HTTP request/reply web page finally (!!!) displayed HTTP HTTP HTTP HTTP HTTP TCP IP Eth Phy web server 64.233.169.105 HTTP request sent into TCP socket 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 4-47

Messaging persistent communication sender can terminate after sending message receiver does not need to be online vs. transient communication asynchronous communication sender can continue other work after sending vs. sender waits for acknowledgement receiver is notified when message is available vs. receiver blocks waiting for message 4-48

Messaging Middleware group communication: publish / subscribe underlying distribution model: unicast vs. broadcast multicast: router forwards across to multiple links persistence -> reliability? error control -> exactly-once delivery more later flexible integration with heterogeneous systems OS, network, programming language, etc. 4-49

Messaging Queueing Primitives Put send message to queue Get block to receive message from queue Poll check (non-blocking) for message Notify install asynchronous receive handler need buffer decoupled from sender, receiver relay nodes for larger networks addressing, routing, forwarding, etc., as usual 4-50

Example: Email mail servers incoming messages mailbox outgoing message queue communication protocol: SMTP mail server SMTP mail server user agent SMTP SMTP mail server user agent user agent user agent reliable server-toserver transfer user agent user agent 4-51

Email Access Protocols user agent SMTP SMTP access protocol user agent sender s mail server receiver s mail server sender: synchronous, transient to server receiver: asynchronous, persistent from server Post Office Protocol (POP) old & simple Internet Mail Access Protocol (IMAP) better HTTP POP, IMAP, etc in background remote file system and file-based (elm, pine, etc.) 4-52