CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 28 Introduction to Computer Networks.

Slides:



Advertisements
Similar presentations
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Advertisements

Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
- Reliable Stream Transport Service
1 Internet Networking Spring 2006 Tutorial 8 DNS and DHCP as UDP applications.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
© 2010, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet 1.
CMPE 150 – Winter 2009 Lecture 17 March 5, 2009 P.E. Mantey.
CMPE 150 – Winter 2009 Lecture 18 March 10, 2009 P.E. Mantey.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 26 Introduction to Computer Networks.
15-744: Computer Networking L-10 Congestion Control.
Application Layer At long last we can ask the question - how does the user interface with the network?
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 27 Introduction to Computer Networks.
Domain Name System: DNS
Winter 2005 CMPE 151: Network Administration Clients.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Winter CMPE 155 Week 4. Winter Project 3: Basic Servers Telnet Rlogin FTP Web In this context, let’s look at the underlying protocols…
Winter CMPE 155 Week 5. Winter Uniform Resource Locator (URL) Way to identify objects (pages). – What is page called? – Where is it located?
DOMAIN NAME SYSTEM. Introduction  There are several applications that follow client server paradigm.  The client/server programs can be divided into.
TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in.
Chapter 25 Domain Name System
Evolved from ARPANET (Advanced Research Projects Agency of the U.S. Department of Defense) Was the first operational packet-switching network Began.
11.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 11: Introducing WINS, DNS,
Process-to-Process Delivery:
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
SMUCSE 4344 application layer. SMUCSE 4344 application vs. application-layer protocols application-layer protocol is just one piece –how the end hosts.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 7 The Application Layer.
2013Dr. Ali Rodan 1 Handout 1 Fundamentals of the Internet.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Network Protocols Chapter 25 (Data Communication & Networking Book): Domain Name System (DNS) 1.
Chapter 17 Domain Name System
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
Spring 2004 CMPE 151: Network Administration Lecture 3.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
Internet and Intranet Protocols and Applications Lecture 5 Application Protocols: DNS February 20, 2002 Joseph Conron Computer Science Department New York.
1 Kyung Hee University Chapter 18 Domain Name System.
CMPE 80N - Introduction to Networks and the Internet 1 Client-Server Architecture Client Server request response.
Transmission Control Protocol TCP Part 2 University of Glamorgan Networked & Distributed Systems.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Network Protocols: Design and Analysis Polly Huang EE NTU
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
ECE 4110 – Internetwork Programming
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
JavaScript and Ajax (Internet Background) Week 1 Web site:
TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in.
Internet Naming Service: DNS* Chapter 5. The Name Space The name space is the structure of the DNS database –An inverted tree with the root node at the.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Ch 2. Application Layer Myungchul Kim
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
COMPUTER NETWORKS Hwajung Lee. Image Source:
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Understand Names Resolution
CS 372 COMPUTER COMMUNICATION AND NETWORKS
Protocols and networks in the TCP/IP model initially.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
Presentation transcript:

CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 28 Introduction to Computer Networks

CMPE 150- Introduction to Computer Networks 2 Announcements Homework 5 posted. –Due, Mon, Final exam: December 7 th. 4-7pm –In class. –Closed books/notes. –Comprehensive. Discussion session: –Monday, 2pm. –Jack’s lounge. –Questions by . Course evaluation. –Today. CE 151 will be offered in Winter 06! –Likely TTh 4-5:45.

CMPE 150- Introduction to Computer Networks 3 Today Transport Layer (Cont’d). –Chapter 6 of Tanenbaum. Application layer.

CMPE 150- Introduction to Computer Networks 4 TCP Congestion Control

CMPE 150- Introduction to Computer Networks 5 Network dynamics load throughput load delay

CMPE 150- Introduction to Computer Networks 6 TCP Self-Clocking PrPr PbPb ArAr AbAb receiver sender AsAs

CMPE 150- Introduction to Computer Networks 7 Congestion Control Design Avoidance or detection/recovery? –Avoidance keeps system at knee of curve Requires some congestion signal. –Detection/recovery responds to loss after the fact. TCP –Which is TCP? Congestion detection/recovery. –How does TCP do it? Slow start, congestion avoidance, exponential backoff.

CMPE 150- Introduction to Computer Networks 8 TCP congestion control basics Like, flow control, also window based. –Sender keeps congestion window (cwin). –Each sender keeps 2 windows: receiver’s advertised window and congestion window. –Sender’s maximum window: min(advertised window, cwin). Sender’s actual window: –Max window - unacknowledged segments.

CMPE 150- Introduction to Computer Networks 9 TCP congestion control mechanisms Collection of interrelated mechanisms: –Slow start. –Congestion avoidance. –Accurate retransmission timeout estimation. –Fast retransmit. –Fast recovery.

CMPE 150- Introduction to Computer Networks 10 TCP congestion window New congestion window cwnd. –What the network can handle, –versus flow control window (wnd): what the other end can handle. Actual congestion window: –min (wnd, cwnd).

CMPE 150- Introduction to Computer Networks 11 How to adjust window? When to increase/decrease? A control theory problem: –Observe network. –Reduce window if congested. –Increase window if not congested. Constraints: –Efficiency. –Fairness. –Stability (too much oscillation is bad). –Out-of-date info RTT is fundamental limit to how quickly you can react

CMPE 150- Introduction to Computer Networks 12 Slow start [Jacobson 1988] How do we get this self-clocking behavior to start? –Initialize cwnd = 1. –Upon receipt of every ack, cwnd = cwnd + 1 Implications –Window actually increases in RTT * log 2 W (exponential increase). –Can overshoot window and cause packet loss.  Connection’s congestion window starts at 1 segment.

CMPE 150- Introduction to Computer Networks 13 Slow start example 1 one RTT one pkt time 0R 2 1R 3 4 2R R

CMPE 150- Introduction to Computer Networks 14 When to End Slow-Start? Want to end when the pipe is full. –When cwnd > ssthresh. –Start with large ssthresh, but then refine it. On packet loss. –cwnd=1 and go back to slow start. –ssthresh = cwnd / 2 assume that pipe size was somewhere between last good window (cwnd/2) and current window (cwnd). Eventually, ssthresh is right and transition to congestion avoidance without packet loss.

CMPE 150- Introduction to Computer Networks 15 Congestion avoidance Upon receiving ACK Increase cwnd by 1/cwnd. This is additive increase. Why not multiplicative increase? Growing too fast in equilibrium => oscillations

CMPE 150- Introduction to Computer Networks 16 TCP Congestion Control: Operation threshold timeout threshold cwin time

CMPE 150- Introduction to Computer Networks 17 TCP Retransmission Timer When segment sent, retransmission timer starts. –If segment ACKed, timer stops. –If time out, segment retransmitted and timer starts again.

CMPE 150- Introduction to Computer Networks 18 How to set timer? Based on round-trip time: time between a segment is sent and ACK comes back. If timer is too short, unnecessary retransmissions. If timer is too long, long retransmission delay.

CMPE 150- Introduction to Computer Networks 19 Jacobson’s Algorithm Determining the round-trip time: –TCP keeps RTT variable. –When segment sent, TCP measures how long it takes to get ACK back (M). –RTT = alpha*RTT + (1-alpha)M. –alpha: smoothing factor; determines weight given to previous estimate. –Typically, alpha=7/8.

CMPE 150- Introduction to Computer Networks 20 Jacobson’s Algorithm (Cont’d) Determining timeout value: –Measure RTT variation, or |RTT-M|. –Keeps smoothed value of cumulative variation D=alpha*D+(1-alpha)|RTT-M|. –Alpha may or may not be the same as value used to smooth RTT. –Timeout = RTT+4*D.

CMPE 150- Introduction to Computer Networks 21 Karn’s Algorithm How to account for ACKs of retransmitted segments? –Count it for first or second transmission? –Karn proposed not to update RTT on any retransmitted segment. –Instead RTT is doubled on each failure until segments get through.

CMPE 150- Introduction to Computer Networks 22 Application Layer Tanenbaum, Chapter 7.

CMPE 150- Introduction to Computer Networks 23 DNS

CMPE 150- Introduction to Computer Networks 24 What’s DNS? Domain Name System. What does it do? –Maps host names to IP addresses, and –Vice-versa.

CMPE 150- Introduction to Computer Networks 25 Some History Original approach (ARPANET, 1970’s): –File hosts.txt listed all hosts and their IP addresses. –Every night every host fetches file from central repository. –OK for a few hundred hosts. –Scalability? File size. Centrally managed.

CMPE 150- Introduction to Computer Networks 26 DNS Hierarchical name space. Distributed database. RFCs 1034 and 1035.

CMPE 150- Introduction to Computer Networks 27 How is it used? Client-server model. –Client DNS (running on client hosts), or “resolver”. –Application calls “resolver” with name. –“Resolver” contacts local DNS server (using UDP) passing the name. –Server returns corresponding IP address.

CMPE 150- Introduction to Computer Networks 28 DNS Name Space A portion of the Internet domain name space.

CMPE 150- Introduction to Computer Networks 29 Name Space Structure Top-level domains: –Generic. –Countries. Leaf domains: no sub-domains. In practice all US organizations are under a generic domain, while everything outside the US is under the corresponding country domain.

CMPE 150- Introduction to Computer Networks 30 DNS Names Domain names: –Concatenation of all domain names starting from its own all the way to the root separated by “.”. –Refers to a tree node and all names under it. –Case insensitive. –Components up to 63 characters. –Full name less than 255 characters.

CMPE 150- Introduction to Computer Networks 31 Name Space Management Domains are autonomous. – Organizational boundaries. –Each domain manages its own name space independently of other domains. Delegation: –When creating new domain: register with parent domain. For name uniqueness. For name resolution.

CMPE 150- Introduction to Computer Networks 32 Name Servers Entire database in a single name server. –Practical? –Why? DNS database is partitioned into zones. Each zone contains part of the DNS tree. Zone name server. –Each zone may be served by more than 1 server. –A server may serve multiple zones. Primary and secondary name servers.

CMPE 150- Introduction to Computer Networks 33 Name Servers Part of the DNS name space showing the division into zones.

CMPE 150- Introduction to Computer Networks 34 Name Resolution Application wants to resolve name. Resolver sends query to local name server. –Resolver configured with list of local name servers. –Select servers in round-robin fashion. If name is local, local name server returns matching authoritative RRs. –Authoritative RR comes from authority managing the RR and is always correct. –Cached RRs may be out of date.

CMPE 150- Introduction to Computer Networks 35 Name Resolution (Cont’d) If information not available locally (not even cached), local NS will have to ask someone else. –It asks the server of the top-level domain of the name requested.

CMPE 150- Introduction to Computer Networks 36 More on Name Resolution How a resolver looks up a remote name in eight steps.

CMPE 150- Introduction to Computer Networks 37 Recursive Resolution Recursive query: –Each server that doesn’t have info forwards it to someone else. –Response finds its way back. Alternative: –Name server not able to resolve query, sends back the name of the next server to try. –Some servers use this method. –More control for clients.

CMPE 150- Introduction to Computer Networks 38 Example Suppose resolver on flits.cs.vu.nl wants to resolve linda.cs.yale.edu. –Local NS, cs.vu.nl, gets queried but cannot resolve it. –It then contacts.edu server. –.edu server forwards query to yale.edu server. –yale.edu contacts cs.yale.edu, which has the authoritative RR. –Response finds its way back to originator. –cs.vu.nl caches this info. Not authoritative (since may be out-of-date). RR TTL determines how long RR should be cached.

CMPE 150- Introduction to Computer Networks 39 Resource Records Entry in the DNS database. Several types of entries or RRs. Example: RR “A” contains IP address. Name several resource records. RR format: five-tuple. –Name. –TTL (in seconds). –Class (usually “IN” for Internet info). –Type: type of RR. –Value.

CMPE 150- Introduction to Computer Networks 40 Resource Records The principal DNS resource records types.

CMPE 150- Introduction to Computer Networks 41 The Web and HTTP

CMPE 150- Introduction to Computer Networks 42 Some History Started in 1989 at CERN, European center for nuclear research, in Switzerland. Original motivation: need for scientists around the world to collaborate and share multi-media information. Tim Berners-Lee came up with initial proposal of a web of linked documents

CMPE 150- Introduction to Computer Networks 43 More History… First text-based prototype demo in Release of first graphical interface, Mosaic, in at NCSA by M. Andreessen. In 1994, Andreessen creates Netscape. In 1994, CERM and MIT set up the WWW Consortium to further develop the Web. for more information.

CMPE 150- Introduction to Computer Networks 44 The Web WWW, or the world-wide web is a resource discovery service. – Resource space is organized hierarchically, and resources are linked to one another according to some relation. – Hypertext organization: link “granularity”; allows links within documents. – Graphical user interface.

CMPE 150- Introduction to Computer Networks 45 The client side Users perceive the Web as a vast collection of information. – Page is the Web’s information transfer unit. – Each page may contain links to other pages. – Users follow links by clicking on them which takes them to the corresponding page. – This process can go on indefinetly, traversing several pages located in different places.

CMPE 150- Introduction to Computer Networks 46 The browser Program running on client that retrieves and displays pages. – Interacts with server of page. – Interprets commands and displays page. Examples: Mosaic, Netscape’s Navigator and Communicator, Microsoft Internet Explorer. Other features: back, forward, bookmark, caching, handle multimedia objects.

CMPE 150- Introduction to Computer Networks 47 The Server Side Web site has Web server running that answers requests for pages locally served. – Web server listens to port 80 for requests. – When request from client arrives, connection is set up. – Server replies. – Connection released.

CMPE 150- Introduction to Computer Networks 48 Example User clicked on

CMPE 150- Introduction to Computer Networks 49 Example (cont’d) Browser asks DNS to resolve DNS replies with Browser sets up connection to port 80. Browser sends GET /hypertext/WWW/TheProject.html. server sends TheProject.html file. Connection released. Browser displays TheProject.html, fetching and displaying all embedded objects (images, etc).

CMPE 150- Introduction to Computer Networks 50 Observations Many browsers display status information at bottom of the screen. For each embedded object (in-line image like icon, picture, etc), browser establishes new connection. – Performance hit. – Revisions to protocol (HTTP) address this.

CMPE 150- Introduction to Computer Networks 51 More Observations… Server’s response specifies object type (using MIME) followed by object body. For example: – Content-Type: Image/GIF – Content-Type: Text/html