程序代写 RFC 1034/1035

Computer Networking and Applications
Domain Name System (DNS) RFC 1034/1035
• The Internet iden4fies hosts by their IP address (e.g. 129.127.12.6)
• People tend to prefer names (e.g. www.cs.adelaide.edu.au)

Copyright By PowCoder代写 加微信 powcoder

• There are lots of Internet hosts. A centralised database wouldn’t scale. The DNS is a distributed database.
– organisa4ons can change host names and IP addresses within their domain without informing a central authority
– an organisa4on will typically have a name server
• A DNS server provides name resolu+on = conversion from a domain name to an IP address
– a name server is a process listening on UDP/TCP port 53 for requests – when detected, the name is resolved, and a reply is sent
• Lots of applica4ons are DNS clients, including web browsers.

Computer Networking and Applications
• Root name server – (13worldwide)
DNS hierarchical database
– abletoresolveallqueriesoridentifyanotherintermediatenameserver
• Top-level domain (TLD) servers:
– responsibleforcom,org,net,edu,etc,andalltop-levelcountrydomainsuk,fr, ca, jp.
– NetworkSolutionsmaintainsserversforcomTLD,EducauseforeduTLD
• Authoritative DNS servers:
– organization’sDNSservers,providingauthoritativehostnametoIPmappings for organization’s servers (e.g., Web, mail).
– canbemaintainedbyorganizationorserviceprovider
• Local name server – handles local DNS requests. Must know at least one root
server. Caches resolved addresses.
Root DNS Servers org DNS servers
pbs.org DNS servers
com DNS servers
edu DNS servers
poly.edu umass.edu DNS serversDNS servers
yahoo.com DNS servers
amazon.com DNS servers

Computer Networking and Applications
DNS name resolution example
• hostatcis.poly.eduwants IP address for
gaia. cs. umass. edu
iterated query:
v contacted server replies with name of server to contact
v “I don’t know this name, but ask this server”
root DNS server
authoritative DNS server
dns.cs.umass.edu
gaia.cs.umass.edu
TLD DNS server
local DNS server
dns.poly.edu
requesting host
cis.poly.edu

Computer Networking and Applications
DNS name resolution example
recursive query:
v puts burden of name resolution on
contacted name server v heavy load at upper levels of hierarchy?
root DNS server
TLD DNS server
local DNS server
dns.poly.edu
requesting host
cis.poly.edu
authoritative DNS server
dns.cs.umass.edu
gaia.cs.umass.edu

Computer Networking and Applications
DNS records
DNS: distributed db storing resource records (RR)
RR format: (name, value, type, ttl)
– name is hostname
– value is IP address
• Type=NS
– name is domain (e.g.
– value is hostname of • authorita4ve name server for this domain
• Type=CNAME
– name is alias name for some
“canonical” (the real) name
www.ibm.com is really
servereast.backup2.ibm.com – value is canonical name
– value is name of mailserver associated with name

Computer Networking and Applications
Inserting records into DNS
• Example: just created startup “Network Utopia”
• Register name networkuptopia.com at a registrar (e.g., Network Solu4ons)
– Need to provide registrar with names and IP addresses of your authorita4ve name server (primary and secondary)
– Registrar inserts two RRs into the com TLD server: (networkutopia.com,
dns1.networkutopia.com, NS)
(dns1.networkutopia.com, 212.212.212.1,
• Put in authorita4ve server Type A record for www.networkuptopia.com and Type MX record for networkutopia.com
• How do people get the IP address of your Web site?

Computer Networking and Applications
Attacking DNS
DDoS attacks
• Bombard root servers with traffic
– Not successful to date
– Traffic Filtering
– Local DNS servers cache IPs of TLD servers, allowing root server bypass
• Bombard TLD servers
– Potentially more dangerous
Redirect a]acks
v Man-in-middle
§ Intercept queries
v DNS poisoning
§ Send bogus relies to DNS
server, which caches
Exploit DNS for DDoS
v Send queries with spoofed source address: target IP
v Requires amplifica4on

Computer Networking and Applications
Models of Interaction – central storage of informa4on in always on
• Client – Server server
– dis4nc4on between client which receives service and server which provides service
– note that it is possible for a host to act as both a client and as a server in different interac4ons.
– Web, e-mail, FTP
• Peer to Peer
– distributed storage of informa4on
– no clear dis4nc4on between clients and servers. Hosts share typically equal control of processing and data
– Peers dynamically join and leave
– Bit Torrent
client/server

Computer Networking and Applications
Pure P2P architecture
• noalways-onserver
• arbitraryendsystemsdirectly communicate
• peersareintermittentlyconnectedand change IP addresses
• Advantages
– Distributes load of serving files.
• Challenges
– How to find resources – Fairness
• examples:
– file distribution (BitTorrent), Streaming (KanKan), VoIP (Skype)

Computer Networking and Applications
File distribution: client-server vs P2P Question: how much time to distribute file (size F)
from one server to N peers?
– peer upload/download capacity is limited resource
us: server upload capacity
file, size F
di: peer i download capacity
ui: peer i upload capacity
network (with abundant bandwidth)

Computer Networking and Applications
File distribution time: client-server • server transmission: must
sequentially send (upload) N file copies:
– time to send one copy: F/us
dmin = min client download rate
min client download time: F/dmin time to distribute F
to N clients using client-server approach
– time to send N copies: NF/us
client: each client must download
Dc-s > max{NF/us,,F/dmin}
increases linearly in N
Application Layer

Computer Networking and Applications
File distribution time: P2P
• servertransmission:mustupload at least one copy
– time to send one copy: F/us
client: each client must download
§ min client download time: F/dmin
v clients: as aggregate must download NF bits § max upload rate (limting max download rate) is us + Σui
time to distribute F to N clients using
P2P approach
DP2P > max{F/us,,F/dmin,,NF/(us + Σui)} increases linearly in N …
… but so does this, as each peer brings service capacity
Application Layer 2-12

Computer Networking and Applications
3.5 3 2.5 2 1.5 1 0.5 0
Comparing Client-server, P2P architectures
Client-Server
0 5 10 15 20 25 30 35 N
Minimum Distribution Time

Computer Networking and Applications
P2P file distribution: BitTorrent
v file divided into 256Kb chunks
v peers in torrent send/receive file chunks
tracker: tracks peers participating in torrent
Alice arrives …
… obtains list
of peers from tracker
… and begins exchanging file chunks with peers in torrent
torrent: group of peers exchanging chunks of a file

Computer Networking and Applications
P2P file distribution: BitTorrent
• peerjoiningtorrent:
– has no chunks, but will accumulate them over time from other peers
– registers with tracker to get list of peers, connects to subset of peers (“neighbors”)
v while downloading, peer uploads chunks to other peers v peer may change peers with whom it exchanges chunks v churn: peers may come and go
once peer has entire file, it may (selfishly) leave or (altruistically) remain in torrent

Computer Networking and Applications
BitTorrent: requesting, sending file chunks
requesting chunks: sending chunks: tit-for-tat
• at any given time, different v Alice sends chunks to those four
peers have different subsets of file chunks
• periodically, Alice asks each peer for list of chunks that they have
• Alicerequestsmissingchunks from peers, rarest first
peers currently sending her chunks
at highest rate
§ other peers are choked by Alice (do not receive chunks from her)
§ re-evaluate top 4 every10 secs v every 30 secs: randomly select
another peer, starts sending chunks § “optimistically unchoke” this peer § newly chosen peer may join top 4

Computer Networking and Applications
Food for thought…
• While P2P applica4ons scale well to begin
with, there are some concerns about the effect of mass-usage!
• On what assump4ons is a packet-switching network based?
• On what assump4ons is BitTorrent based?

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com