Chap2.5 DNS

Chap2.5 DNS - • • –" $ • • Many slides in...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: • • –# !! " $ • • Many slides in this document adapted from materials for Kurose and Ross, Computer Networking, 5th edition. copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved " !! – ' %& ! !! % ' %& !$) Root DNS Servers % • • edu DNS servers poly.edu umass.edu DNS serversDNS servers 0 !% – –" – & & " " a Verisign, Dulles, VA c Cogent, Herndon, VA (also LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 21 locations) com DNS servers yahoo.com amazon.com DNS servers DNS servers org DNS servers pbs.org DNS servers ' " 1 * # • • • * .& .& .& * * *+ ' * * *+ +, '! " " e NASA Mt View, CA f Internet Software C. Palo Alto, k RIPE London (also 16 other locations) i Autonomica, Stockholm (plus 28 other locations) m WIDE Tokyo (also Seoul, Paris, SF) + !! ' CA (and 36 other locations) + + ( * b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA !* ! ( / & & •) * " Ì * Ì 4! %& Ì3 51 1 & 3 7 6 3 2 3 4 5 dns.poly.edu + + !& !! ' ++ & + !& ! .& 3 & .& Ì & %& ! & ' ! 2 ! ' * 6 $ 1 8 7 6 dns.poly.edu 5 4 1 .& " & dns.cs.umass.edu 8 & dns.cs.umass.edu cis.poly.edu gaia.cs.umass.edu .& " gaia.cs.umass.edu cis.poly.edu 2 7 " • – –3 •3& !& ! " "$ ! ! %& ! !% 00 ' ! " & !9 00: (name, value, type, ttl) Ì3 ?# @; 9 " : &9 ! ! ' :' Ì3 ? ! • &! – 0<# – name value !! ' (7 * * *+ ' " + + &! ! ! != " % ;3< •3 + name 4 value [email protected] A 69 ' : ? 9+ ' + "+ ' ' : Ì3 www.ibm.com servereast.backup2.ibm.com – name ! – value & ! value !* ' name > 8 $ ! " $% * " $ ' '! .& $ " " ! Ì! .& Ì'" ' $ B .& & & ! & 7% B' .& & 00 .& !' ! % & !! ' 4 '6 & %&! " • • " * – – ! " ! * 1C + '& 3 D& 6 9+ $ "+ 9 % F " "6 1 .& E "> * 1 ! ! & $ : &4 * 1& : !! * 00 • • • 0 .& !% 4"& (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A) • & * * *+ * * 1& • ) *! 1& + " + !! 3 ,3 @A '& !' !' % 7 &6 7 &4 7 &4 7 4  8¡ 7 7 D F 7 E 3(  &2 1 0( ' $ IIH & ) &HH ¡ §£Q ¡  PP ¢ ¤¤¦¤¤¢¦ ¤ ¢I¢ @@ 3(  &2 1 0( ' $ &HIHIH & ) ¤G¡ 7 7 F E D £¡  3(  &2 1 )0( ' $ & ¡ §£ ©BA ¢ ¤¤¦¤8C  ¢¤¢ @ 7 &4 7 &4 7 &4 7 498¡ 07 6 53(  &2 1 0( ' $ & # %! $ #  " !   @  4 & ) ¡ §£ ©§ ¥£¡ ¢ ¤¤¦¤¨¦¤¢ 0= ! & • • ! • ! !! •3 –< – –# ! %& "' ' &! 1 & * % = ! & ! " = ( Image from http://computer.howstuffworks.com/napster2.htm < • !" –) % ! –& ! •< ! 3 1 •F –# % !- " ' * C '< 3 1$ < 3 1 !1 •G 1 •@ Image from http://www.openp2p.com # • & • 9' " • • !!! & ,! * & + = ! ": ' &! 1 1 9 #: G& • – –< & 9: ! ! !! %* " 1 •# –@ –H – '* & * 9' % &" & G& 7: %& ! 8 ( < %& )* & =# ! %& '' us: server upload bandwidth u1 d1 u2 us <$ dN uN d2 ui: peer i upload bandwidth di: peer i download bandwidth * 1 9* %& ! % !* ! : Image from http://computer.howstuffworks.com/file-sharing3.htm < • ! – ! .& %& = u1 d1 u2 * 1 9* %& ! % < • d2 ! ! %& u1 d1 u2 * 1 9* %& ! % & < us dN us d2 • !* ! : • 3 1 <! !* ! ! %& & " ?! ? uN !* • <% !* Ì' 1 <! ! &% ! ! 9 "" " %& ! dN uN !* ! : : &K Σ& -I J ! ? -I $<9 K & : 9' " Σ& : J = # & ! 3.5 + ? &$ < & ? & $& ? &$ ! L& Ì < '! %& ! 1 " %& H3 "& ' "" '' Minimum Distribution Time 3 2.5 2 1.5 1 0.5 0 0 P2P Client-Server &1 % ' !" &1 5 10 15 20 25 30 35 N ( / / H3 H3 9: • • & • ' ! !! 27FH + • M " – & 1 $%& * && –" * 1 " ' $ &% ' 9 " % 6: 4 •* !* ! "$ & ! &1 • !" • '$ 9' : 9& : "# & 1 " &% ! 1 ' &1 " – $! ' ' Ì 9: ! "# & 1 =' = ! &1 '& "% & !" &1 = ( $ * 4 & ! !" & / &1 M 16 / !' ' '' &1 $ 9 "% ' ! .& &1 ' ' Ì : + + • 2 7 H3 9: 4 9: % 9 H %% (: 3 =' = & 1 6H % 'H %5 =' & ' 5 =' & ! ! ,H % %& ! ) • • )3 ? ! % –1 –1 3 % 9 ) 3: !% &: , %& ! 9$ 1 &%, , & & & !! 1 • –H .& & H* & 1 9$ 1 &: • " & ! $ ' !% !" N" ' ' O 8 )3 ! • " P$ = Q + –; ! ' •# " !% %+ – )* & " "9 $ 1 "1 &: + " ' ! % ' • 0& 1 "1 % $ " " 1+ 6 % D6: ! %& ! 4 • 0 .& •3" "1 + & & ' 1+ $ /$ >$ $ $ /, ($ 2$ & & ?/ ? "+ •# ! • ;- ?/, –1 –1 ? ($ ? 2$ – "$1 ? 9 ! R 4 –3 * 2 # & )3 9 : S9 : " " $* # )3 9 : 5 '1 2 ( .& / 1110 2 1110 > 1110 •; ! • 4S ! * * + 16 ' ! & ' & 1110 1110 1110 # & 2 )3 * 5 ( '1 & 2 ( #& •3 ' •; * ! 1 * & + * & / 2 > > 2 / & $ .& !! + ! " ' •; 1 &+ • 0 !& ! ' 7 • % !" " .& 1' & !! ' ! "% $& $S 9 " : $ "+ S9 " : • • • 2 %& /! ,1> ! 1 >* ! & ! & !& ' (* M & , 1 + , >5 1 G * %& ! " & " & " 1 1 • &% %' " ' $ 9 % ! " ! ' " & ! + "• * – "% 1 "& %& ! " 1 • • • • !& ! % * 1 –C – 3# 1 ! &% '! B H /+ C A$ > !$& !$ ! ! !" 4! 6: * • 19 ! * ! • 1 (2 & : &" ! ! •# 1 ! !! ' " * ! &%+ 1 (7 7 1= 3# % " ' ' "& ' " 3# # • & • & 1 &' " & 1 9! : 5 " ' &% 3# " ' = !! ! * % 3# $ 1 % 3# % " • 3# * – – 1 "" #$% !% $ * 1' & * & & ! # "& (: * &% 1* &! 9 !% ! !% " !% 1 3# * %&'' $ % 1 3# * %&'' $ % ! !% " # • • • #$% '" & ' ' ( ) & (> (8 # 9& " hostid: create socket, port=x, for incoming request: welcomeSocket = ServerSocket() wait for incoming connection request connectionSocket = welcomeSocket.accept() read request from connectionSocket write reply to connectionSocket close connectionSocket 1 # 3# • + • & M" keyboard monitor input stream inFromUser .& '* ' & ! 1+ ! output stream inFromServer outToServer input stream ' # Process 3# & create socket, connect to hostid, port=x clientSocket = Socket() send request using clientSocket • && ' $ + $1 % ! "+ && & & & $+$ "+ 1+ read reply from clientSocket close clientSocket ( clientSocket 3# 1 TCP socket to network from network / 1 ;: " "* 3# ;- T 93# : = ! ' !! & 9inFromUser :$ ! 1 9outToServer : : ! ' 1 (: & $ !% 1 /: !$ !' ! ' 1 9inFromServer : import java.io.*; import java.net.*; class TCPClient { public static void main(String argv) throws Exception { String sentence; String modifiedSentence; # & # 1$ # && ! / BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); Socket clientSocket = new Socket("hostname", 6789); DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); 1 / 8 ;# & ! 1 T 9: 3# $ + ;- T import java.io.*; import java.net.*; class TCPServer { 9: 3# BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = inFromUser.readLine(); ! # outToServer.writeBytes(sentence + '\n'); modifiedSentence = inFromServer.readLine(); System.out.println("FROM SERVER: " + modifiedSentence); clientSocket.close(); } } /( public static void main(String argv) throws Exception { String clientSentence; String capitalizedSentence; * $* 1' " 1 78> " ServerSocket welcomeSocket = new ServerSocket(6789); while(true) { Socket connectionSocket = welcomeSocket.accept(); 0! ' % # $ & ! 1 BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); // ;# $ 0! ' && ! 1 1 T 9: 3# $ • 3# – % * 1 ! 1 N .& ' 1 1 1 1 5 4! ! ! $ 6 DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); clientSentence = inFromClient.readLine(); capitalizedSentence = clientSentence.toUpperCase() + '\n'; • 3# • " •# & + -+ ! 1 & 1 } } } & outToClient.writeBytes(capitalizedSentence); ; ! '* %1 $ !* ' /2 /7 # @ • " – – & ! "' & ! %& * Ì =% Ì Ì Ì Ì4 .& .& " ' !* ! $ % • – +! " !$ & = '=% ! ! +! ! + '& +& % " ' * 1 !" 6 "' ! '!" %&! –! '% " & ! /8 > ...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online