Lecture # 35 Internet Organization
Jan 16, 2016
Lecture # 35
Internet Organization
Internet
Networking
• Communicating between two or more computers
• Bits -> voltage ->wire->voltage->Bits
Network
• More than two computers
Network switch
• More than two computers
Switch
Network• Who is talking to who?
Switch
Network
• Who is talking to who?• Give each computer an
address (integer)
Switch
0
1
2
75
4243
Network
• Who is talking to who?• Give each computer an
address (integer)• Add the address to the
message– Computer with that
address takes the message
– All others ignore the message
Switch
0
1
2
75
4243
messageaddress
Internet
messageaddress
net
net
net
net
Internet
messageaddress
net
net
net
net
net ID host ID
Internet and WWW
Internet
• A way to send an array of bytes from any machine to any other machine
Internet
How to identify the machine to send to
• By address (IP Address - 4 bytes)
Internet
128.78.22.32233.21.1.45
117.211.23.22 233.12.32.111
How to identify the machine to send to
• By name (domain name)
Internet
Croatian.cs.byu.eduIcie.cs.byu.edu
Myhome.isp.com Yahoo.com
Domain Name - a pathname in a tree
EDU COM GOV
BYU
CS
WWW ICIE
EE
MIT Utah Microsoft
research
Yahoo
whitehouse
LOC
Icie.cs.byu.edu
EDU COM GOV
BYU
CS
WWW ICIE
EE
MIT Utah Microsoft
research
Yahoo
whitehouse
LOC
Servers
• Computers that store information or services
Internet
Icie.cs.byu.edu
Yahoo.com
Clients
• Programs that help users get access to info
Internet
Netscape
Instant messenger
Protocol
• Language for computers to talk with each other
Internet
Netscape
Instant messenger
HTTP
IRC
Review
• Internet– Array of bytes between computers– By address 128.23.12.1– By name icie.cs.byu.edu
• Server - delivers info on request• Client - helps user access server info• Protocol - language for computers to talk with
each other
URL (Uniform Resource Locator)
• http://www.yahoo.com/
• http://www.espn.com/nba
• http://icie.cs.byu.edu/cs100/schedule.html
URL - Protocol
• http://icie.cs.byu.edu/cs100/schedule.html
• ftp://netscape.com/downloads/msng.exe
• mailto:[email protected]
URL - Domain Namename of the server to access
• http://icie.cs.byu.edu/cs100/schedule.html
• ftp://netscape.com/downloads/msng.exe
URL - page name
• http://icie.cs.byu.edu/cs100/schedule.html
• ftp://netscape.com/downloads/msng.exe
URL - page name
• http://icie.cs.byu.edu/cs100/schedule.html• http://icie.cs.byu.edu/cs100/Lectures/server.gif• http://icie.cs.byu.edu/cs100/Lectures/L1.ppt• http://icie.cs.byu.edu/cs456/Homework/Program1• http://icie.cs.byu.edu/cs456/Homework/Program2
– -
URL - page name
• http://icie.cs.byu.edu/cs100/schedule.html• http://icie.cs.byu.edu/cs100/Lectures/server.gif• http://icie.cs.byu.edu/cs100/Lectures/L1.ppt• http://icie.cs.byu.edu/cs456/Homework/Program1• http://icie.cs.byu.edu/cs456/Homework/Program2
– Page names are pathnames in a tree
URL - page name
• cs100/schedule.html
• cs100/Lectures/ server.gif
• cs100/Lectures/L1.ppt
• cs456/Homework/Program1
• cs456/Homework/Program2
cs100
schedule.html
Lectures
server.gif L1.ppt
cs456
Homework
Program1
Program2
Hypertext
• How to link together many documents so that users can get whatever information they want.
IP address
messageaddress
net ID host ID
128.187.172.236
BYU
Computer Science
a computer
Internet Protocol (IP)
• Computer sends an IP “packet”• Other computers (routers) send it on until it
reaches the destination computer – (IP address)
• Each packet might get lost, may arrive in any order, may get delayed
messageIP Address
32 bits - 4 bytes
TCP/IP
• Uses IP to send packets
• Keeps track of which packets have been sent – Resends packets that get lost
• Keeps track of the correct order of packets– Reorders packets when they come in the wrong
order
Domain names vs. IP address
• students.cs.byu.edu
• www.byu.edu
• ee.utah.edu
• yahoo.com
• software.microsoft.com
• research.microsoft.com
Domain names
• students.cs.byu.edu
• www.byu.edu
• ee.utah.edu
• yahoo.com
• software.microsoft.com
• research.microsoft.com
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
Domain names
• If you have a domain name, how do you find the IP address of that computer?
• Maybe one computer has a list of all domain names and their IP addresses– If there are millions of computers– Who enters the data?– Who fixes the data?– Millions of requests will swamp that computer– If that computer goes down nothing works
• How do we get this to scale?
Domain names - scale
• Use a tree!
• Every node knows IP address of its parent
• Every node knows the IP/domain name of its direct children
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
DNS - domain name service
• If a node doesn’t know the IP address of some domain name:– If the domain name is
one of its own, ask the correct child
– If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
DNS - domain name service
• If the domain name is one of its own, ask the correct child
• If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
students.cs.byu.edu wants software.microsoft.com
DNS - domain name service
• If the domain name is one of its own, ask the correct child
• If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
students.cs.byu.edu wants software.microsoft.com
students asks cs
DNS - domain name service
• If the domain name is one of its own, ask the correct child
• If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
students.cs.byu.edu wants software.microsoft.com
cs asks byu
DNS - domain name service
• If the domain name is one of its own, ask the correct child
• If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
students.cs.byu.edu wants software.microsoft.com
BYU asks edu
DNS - domain name service
• If the domain name is one of its own, ask the correct child
• If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
students.cs.byu.edu wants software.microsoft.com
edu asks com
DNS - domain name service
• If the domain name is one of its own, ask the correct child
• If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
students.cs.byu.edu wants software.microsoft.com
com asks microsoft
DNS - domain name service
• If the domain name is one of its own, ask the correct child
• If the name is not one of its own, ask the parent
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
students.cs.byu.edu wants software.microsoft.com
microsoft knows and gives the answer
DNS - making it fast
• Each node remembers the most common requests for a day or two
• Doesn’t need to ask again
• Called “caching”
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
DNS - managing the data
• Each node can manage and change its own children without consulting anyone else
• Within 2 days of the changes, everyone’s cache has been updated
edu com
byu utah yahoo
microsoftcs www
students
software research
ee
Other protocols
• Use TCP/IP– WWW– Email– Instant messenger– FTP
WWW
• URL - “students.cs.byu.edu/index.html”
– Send a message to DNS - “what is students.cs.byu.edu?”
– Use IP address to send a message to “students.cs.byu.edu”• “GET index.html”
Email - uses TCP/IP
• send a message to “[email protected]”• find my mail server “mail.cs.byu.edu”• message to “mail.cs.byu.edu”
from: [email protected]
subject: Hi there
• mail server forwards the message to “microsoft.com”– if no answer it will keep trying for about a week
Networking Review
• Sending bytes between computers• IP - sends a packet to a particular IP address• TCP - guarantees that packets are in correct
order and not lost• DNS - uses a tree to convert domain names
into IP addresses• WWW - uses TCP/IP• Email - uses TCP/IP