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.
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...
Like sending a letter
Willem de Bruijn
De Boelelaan 1081
1081 HV Amsterdam
NetherlandsNational Postal Center
Amsterdam Post OfficeVrije Universiteit
My mailbox
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)
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]
History
1984: NFSNetNational USA University network with dial-up
(other TCP/IP networks within the military)
Network of Networks
Commercial CarriersHome router + 2 computers
Community Networks
Community Wifi (e.g., mesh networks)
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
Multiple Levels
Tier 1 “A network that can reach every other network on the Internet without purchasing IP
transit or paying settlements." (only 8)
Tier 3 ~= non-multihomed end-user
Example: SAVVIS: Tier 2 with private backbone
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 tablesMultihome automatic failover, etc.
ASN
Organization
Robust because decentralized?
DNS Root ServersIANA numbers
ICANN Root level TLDs
Standards: IETF (RFCs), W3C
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
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
What’s a protocol?
Hi
Hi
Got thetime?2:00
TCP connection requestTCP connectionresponse
Get http://www.cs.vu.nl/~herbertb
<file>
time
Internetwork Technology: TCP/IP
Will discuss only what we need for now
SMTP, HTTP, DNS
UDP, TCPInternet Protocol (v4)
Domain Name System (DNS)
Lookup IP address127.0.0.1
By human readable namewww.google.com.(note the last dot!)
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
nslookup
% nslookup www.few.vu.nlServer: 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
Application Protocols
DNS!FTP: File transferNTP: Time SynchronizationTelnet: Terminal accessSSH: Secure terminal accessXMPP: MessagingSMTP: EmailHTTP: Web (Next lecture)
S: 220 smtp.example.com ESMTP PostfixC: HELO relay.example.orgS: 250 Hello relay.example.org, I am glad to meet youC: MAIL FROM:<[email protected]>S: 250 OkC: RCPT TO:<[email protected]>S: 250 OkC: RCPT TO:<[email protected]>S: 250 OkC: DATAS: 354 End data with <CR><LF>.<CR><LF>C: From: "Bob Example" <[email protected]>C: To: Alice Example <[email protected]>C: Cc: [email protected]: Date: Tue, 15 Jan 2008 16:02:43 -0500C: Subject: Test messageC:C: Hello Alice.C: This is a test messageC: .S: 250 Ok: queued as 12345C: QUITS: 221 Bye{The server closes the connection}
Received: from mail.vu.nl (mail.vu.nl [130.37.129.161])
by tornado.few.vu.nl for <[email protected]>; 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 <[email protected]>; Wed, 3 Dec 2008 10:59:56 +0100
Email (1/2)
Email (2/2)MIME-Version: 1.0Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C9552D.E50A028F"Subject: Visum is binnenDate: Wed, 3 Dec 2008 10:59:56 +0100From: "Eek, D" <[email protected]>To: "Willem de Bruijn" <[email protected]>
This is a multi-part message in MIME format.
------_=_NextPart_001_01C9552D.E50A028FContent-Type: text/plain;
charset="us-ascii"Content-Transfer-Encoding: quoted-printable
Goedemorgen Willem,=20Wij hebben je paspoort met visum terug ontvangen van het visumbureau.
Reception
POP3: Post Office ProtocolFetch data from a directory: store at homeStateless
Aside from optional 'read items' hash
IMAP4: Internet Message Access Protocol`remote folders': store on serverStatefulConcurrent access
WebmailProprietary method on top of HTTPFrequently uses IMAP between webserver and mailserver
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+imgtext/html
Also used elsewhere (such as webservers)
Mime special content-type=
message/rfc822multipart/alternativemultipart/form-data
...
many more. Official list atwww.iana.org/assignments/media-types/
SMTP SecurityCounteraction difficult
Network Effect
AuthenticationPGP
ensure contents integrity (sig/enc)
DomainKeys Identified Mail (DKIM)Guard against spoofing, indirectlySender/Server RSA SIGPublic Key through sender domain DNSUsed by Yahoo! and Google.Does not guard the envelop
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
( ) 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
Internet Technology Exam MaterialNetworking Basics
circuit vs. packet switchingend-to-end argumentclient/server programming
Internet Basicsnetwork of networkspeering
IPprotocol stack
TCPreliability, ordering, conn.
DNSEmail
push vs. pull, mime, authenticationbasic smtp
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!
Congestion Control
Scale sliding window sizeAutomatic, based on transport quality
Additive Increase, Multiplicative Decrease