Internet Programming. Internet Technology Networking Basics Internet Basics Internet Protocol TCP Applications.

  • Published on
    27-Dec-2015

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • Slide 1
  • Internet Programming
  • Slide 2
  • Internet Technology Networking Basics Internet Basics Internet Protocol TCP Applications
  • Slide 3
  • Circuit Switching
  • Slide 4
  • Internet design: Smarts at the edges & simple core
  • Slide 5
  • Packet Switching
  • Slide 6
  • Slide 7
  • Key Ideas
  • Slide 8
  • Simple Stateless Core
  • Slide 9
  • Unreliable Packets may be dropped (e.g., to handle congestion)
  • Slide 10
  • Flexible Packets may take any route
  • Slide 11
  • Simple Unreliable Flexible
  • Slide 12
  • Robust End to end principle en.wikipedia.org/wiki/End-to-end_principle End-to-End Arguments in System Design, Saltzer, J., Reed, D., and Clark, D.D.
  • Slide 13
  • Simple Core all the core has to do is route packets simple: using only local information each router has a routing table chooses the next hop by destination like sending a letter...
  • Slide 14
  • Like sending a letter Willem de Bruijn De Boelelaan 1081 1081 HV Amsterdam Netherlands National Postal Center Amsterdam Post Office Vrije Universiteit My mailbox
  • Slide 15
  • Smart Edges server: provider of a service client: consumer of a service a web client a.k.a. browser (e.g. IE, Firefox) retrieving pages from a web server (e.g. Apache) a mail client (e.g. Outlook) retrieving e-mail from a mail server (e.g. Exchange)
  • Slide 16
  • Internet Technology Networking Basics Internet Basics Internet Protocol TCP Applications
  • Slide 17
  • Idea "For each of these three terminals, I had three different sets of user commands. So if I was talking online with someone at S.D.C. and I wanted to talk to someone I knew at Berkeley or M.I.T. about this, I had to get up from the S.D.C. terminal, go over and log into the other terminal and get in touch with them. [...] I said, it's obvious what to do (But I don't want to do it): If you have these three terminals, there ought to be one terminal that goes anywhere you want to go where you have interactive computing. That idea is the ARPAnet." Robert W. Taylor, co-writer "The Computer as a Communications Device", in an interview with the New York Times, [2]Robert W. TaylorNew York Times[2]
  • Slide 18
  • History 1969: ARPANet Packet Switching: Robust
  • Slide 19
  • History 1984: NFSNet National USA University network with dial-up (other TCP/IP networks within the military)
  • Slide 20
  • History 2005: an Internet snapshot
  • Slide 21
  • Network of Networks Commercial Carriers Home router + 2 computers Community Networks Community Wifi (e.g., mesh networks)
  • Slide 22
  • Peering: Internetworking Interconnection of 2+ Autonomous Systems (ASs) Exchange routing information with BGP Transit (for pay) Peer (tit for tat) Incentive to peer directly with more networks: less transit Public (AMS-IX) or Private Explicit contracts
  • Slide 23
  • Border Gateway Protocol (BGP) Periodic route table exchanges A.1 B.1 B.2 C.1 C.2 D.1 B.1->A.1 : connect B, C(B), D(B,C) B.1 -> B.2 : connect A Automatically updates local router's tables Multihome automatic failover, etc. ASN
  • Slide 26
  • Slide 27
  • Organization Robust because decentralized? DNS Root Servers IANA numbers ICANN Root level TLDs Standards: IETF (RFCs), W3C
  • Slide 28
  • Internet Technology Networking Basics Internet Basics Internet Protocol TCP Applications
  • Slide 29
  • Internet Protocol (v4) Basic end-to-end Connectivity
  • Slide 30
  • Slide 31
  • Internet addresses Internet Protocol (IP) Addresses Every node has a unique numeric address Form: 32-bit binary number New standard, IPv6, has 128 bits (1998) Organizations are assigned groups of IP addresses for their computers
  • Slide 32
  • 130.37.192.19 (client) 130.37.20.20 (server) (www.cs.vu.nl) Clients and servers www.cs.vu.nl www.cs.vu.nl = 130.37.20.20 nameserver
  • Slide 33
  • Whats a protocol? Hi Got the time? 2:00 TCP connection request TCP connection response Get http://www.cs.vu.nl/~herbertb time
  • Slide 34
  • Network Technology Topic of another class!
  • Slide 35
  • Internetwork Technology: TCP/IP Will discuss only what we need for now SMTP, HTTP, DNS UDP, TCP Internet Protocol (v4)
  • Slide 36
  • Packet Switching in Practice
  • Slide 37
  • Packet Switching and Protocols
  • Slide 38
  • An IP packet DATA
  • Slide 39
  • Missing Connections Reliability Packet Ordering Congestion Control
  • Slide 40
  • Internet Technology Networking Basics Internet Basics Internet Protocol TCP Applications
  • Slide 41
  • Transmission Control Protocol (TCP) Reliability Packet Ordering Connections Congestion Control
  • Slide 42
  • Reliability Resend packets that are lost underway
  • Slide 43
  • Reliability ACK packets Timeout Retransmit
  • Slide 44
  • Ordered Data Packets may travel at different speed Reestablish order at arrival (buffer)
  • Slide 45
  • Connections Ordered, reliable bytestream + Reliable open and close Three way handshake
  • Slide 46
  • Internet Technology Networking Basics Internet Basics Internet Protocol TCP Applications
  • Slide 47
  • Domain Name System (DNS) Lookup IP address 127.0.0.1 By human readable name www.google.comwww.google.com. (note the last dot!)
  • Slide 48
  • Domain Name System (DNS) Hierarchical Distributed System Hierarchical Names
  • Slide 49
  • Domain Name System (DNS)
  • Slide 50
  • Let us trace a connection DNS: nslookup contacts the (distributed) Internet name service nslookup www.few.vu.nl IP: traceroute allows us to find the path tracert www.few.vu.nl
  • Slide 51
  • nslookup % nslookup www.few.vu.nl Server: 130.37.20.3 Address: 130.37.20.3#53 Non-authoritative answer: www.few.vu.nl canonical name = soling.few.vu.nl. Name: soling-public.few.vu.nl Address: 130.37.20.20
  • Slide 52
  • Application Protocols DNS! FTP: File transfer NTP: Time Synchronization Telnet: Terminal access SSH: Secure terminal access XMPP:Messaging SMTP:Email HTTP:Web (Next lecture)
  • Slide 53
  • Email
  • Slide 54
  • Network Push Pull smtp.few.vu.nl mail.receiver.org SMTP IMAP, POP IMAP, POP HTTP
  • Slide 55
  • Simple Mail Transfer Protocol Store and Forward network Simple? Example...
  • Slide 56
  • S: 220 smtp.example.com ESMTP Postfix C: HELO relay.example.org S: 250 Hello relay.example.org, I am glad to meet you C: MAIL FROM: S: 250 Ok C: RCPT TO: S: 250 Ok C: RCPT TO: S: 250 Ok C: DATA S: 354 End data with. C: From: "Bob Example" C: To: Alice Example C: Cc: theboss@example.com C: Date: Tue, 15 Jan 2008 16:02:43 -0500 C: Subject: Test message C: C: Hello Alice. C: This is a test message C:. S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye {The server closes the connection}
  • Slide 57
  • Received: from mail.vu.nl (mail.vu.nl [130.37.129.161]) by tornado.few.vu.nl for ; Wed, 3 Dec 2008 10:59 +0100 Received: from DIENSTEX1.dienst.ad.vu.nl (mail.dienst.vu.nl [130.37.136.125]) by mail.vu.nl (8.12.11.20060308/8.12.11) for ; Wed, 3 Dec 2008 10:59:56 +0100 Email (1/2)
  • Slide 58
  • Email (2/2) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C9552D.E50A028F" Subject: Visum is binnen Date: Wed, 3 Dec 2008 10:59:56 +0100 From: "Eek, D" To: "Willem de Bruijn" This is a multi-part message in MIME format. ------_=_NextPart_001_01C9552D.E50A028F Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Goedemorgen Willem, =20 Wij hebben je paspoort met visum terug ontvangen van het visumbureau.
  • Slide 59
  • Reception POP3: Post Office Protocol Fetch data from a directory: store at home Stateless Aside from optional 'read items' hash IMAP4: Internet Message Access Protocol `remote folders': store on server Stateful Concurrent access Webmail Proprietary method on top of HTTP Frequently uses IMAP between webserver and mailserver
  • Slide 60
  • Multipurpose Internet Mail Extensions Send more than 7bit ASCII text: Binary (images), Non-latin script Identify encoding, e.g., quoted-printable: =[HEX][HEX] for instance, =20 means space Break up messages html+img text/html Also used elsewhere (such as webservers)
  • Slide 61
  • Mime content encodings =B7Hola, se=F1or! is interpreted as Hola, seor!.
  • Slide 62
  • Mime content-type= text/plain text/html image/jpeg video/mpeg2... application/octet-stream
  • Slide 63
  • Mime special content-type= message/rfc822 multipart/alternative multipart/form-data... many more. Official list at www.iana.org/assignments/media-types/
  • Slide 64
  • SMTP Security From: spoofing Man in the middle can sniff and change data Open Relay SPAM
  • Slide 65
  • SMTP Security Counteraction difficult Network Effect Authentication PGP ensure contents integrity (sig/enc) DomainKeys Identified Mail (DKIM) Guard against spoofing, indirectly Sender/Server RSA SIG Public Key through sender domain DNS Used by Yahoo! and Google. Does not guard the envelop
  • Slide 66
  • Your post advocates a ( ) technical ( ) legislative ( ) market-based ( ) vigilante approach to fighting spam. Your idea will not work. Here is why it won't work. (One or more of the following may apply to your particular idea, and it may have other flaws which used to vary from state to state before a bad federal law was passed.) [...] Fighting SPAM
  • Slide 67
  • ( ) Spammers can easily use it to harvest email addresses ( ) Mailing lists and other legitimate email uses would be affected ( ) No one will be able to find the guy or collect the money ( ) It is defenseless against brute force attacks ( ) It will stop spam for two weeks and then we'll be stuck with it ( ) Users of email will not put up with it ( ) Microsoft will not put up with it ( ) The police will not put up with it ( ) Requires too much cooperation from spammers ( ) Requires immediate total cooperation from everybody at once ( ) Many email users cannot afford to lose business or alienate potential employers ( ) Spammers don't care about invalid addresses in their lists ( ) Anyone could anonymously destroy anyone else's career or business Specifically, your plan fails to account for ( ) Laws expressly prohibiting it ( ) Lack of centrally controlling authority for email ( ) Open relays in foreign countries ( ) Ease of searching tiny alphanumeric address space of all email addresses ( ) Asshats
  • Slide 68
  • Internet Technology Exam Material Networking Basics circuit vs. packet switching end-to-end argument client/server programming Internet Basics network of networks peering IP protocol stack TCP reliability, ordering, conn. DNS Email push vs. pull, mime, authentication basic smtp
  • Slide 69
  • Internet Technology Practical Trace a Route with tracert.exe Lookup a domain name with nslookup.exe Send me an email manually using putty Don't forget: come up with a website plan for tomorrow!
  • Slide 70
  • Flow Control Buffering: sliding window
  • Slide 71
  • Congestion Control Scale sliding window size Automatic, based on transport quality Additive Increase, Multiplicative Decrease
  • Slide 72
  • Bandwidth Delay Product Maximal bandwidth of a TCP stream depends on physical bandwidth, but also: congestion control protocol roundtrip time

Recommended

View more >