Lecture 35 Internet Organization - BYU Computer Science Students

Download Report

Transcript Lecture 35 Internet Organization - BYU Computer Science Students

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)
1
0
2
Switch
75
43
42
Network
• Who is talking to who?
• Give each computer an
address (integer)
• Add the address to the
message
1
0
– Computer with that
address takes the message
– All others ignore the
message
address
2
Switch
75
message
43
42
Internet
net
net
net
address
message
net
Internet
net
net
net
net ID
address
host ID
message
net
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)
233.21.1.45
128.78.22.32
Internet
117.211.23.22
233.12.32.111
How to identify the machine to
send to
• By name (domain name)
Icie.cs.byu.edu
Croatian.cs.byu.edu
Internet
Myhome.isp.com
Yahoo.com
Domain Name a pathname in a tree
BYU
CS
WWW
MIT
EE
Utah
Microsoft
research
ICIE
GOV
COM
EDU
Yahoo
whitehouse
LOC
Icie.cs.byu.edu
BYU
CS
WWW
MIT
EE
Utah
Microsoft
research
ICIE
GOV
COM
EDU
Yahoo
whitehouse
LOC
Servers
• Computers that store information or services
Icie.cs.byu.edu
Internet
Yahoo.com
Clients
• Programs that help users get access to info
Netscape
Internet
Instant messenger
Protocol
• Language for computers to talk with each other
Netscape
HTTP
IRC
Instant messenger
Internet
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 Name
name 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
cs456
cs100
Homework
Lectures
schedule.html
Program1
Program2
server.gif
L1.ppt
Hypertext
• How to link together many documents so that
users can get whatever information they want.
IP address
128.187.172.236
a computer
BYU
Computer Science
net ID
address
host ID
message
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
IP Address
32 bits - 4 bytes
message
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
com
edu
byu
cs
yahoo
utah
www ee
microsoft
students
software
research
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
byu
cs
• Every node knows the
IP/domain name of its
direct children
com
edu
yahoo
utah
www ee
microsoft
students
software
research
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
com
edu
byu
cs
yahoo
utah
www ee
microsoft
students
software
research
DNS - domain name service
• If the domain name is one
of its own, ask the correct
child
byu
• If the name is not one of
its own, ask the parent
com
edu
cs
yahoo
utah
www ee
microsoft
students
students.cs.byu.edu wants
software
software.microsoft.com
research
DNS - domain name service
• If the domain name is one
of its own, ask the correct
child
byu
• If the name is not one of
its own, ask the parent
com
edu
cs
yahoo
utah
www ee
microsoft
students
students.cs.byu.edu wants
students asks cs
software
software.microsoft.com
research
DNS - domain name service
• If the domain name is one
of its own, ask the correct
child
byu
• If the name is not one of
its own, ask the parent
com
edu
cs
yahoo
utah
www ee
microsoft
students
students.cs.byu.edu wants
cs asks byu
software
software.microsoft.com
research
DNS - domain name service
• If the domain name is one
of its own, ask the correct
child
byu
• If the name is not one of
its own, ask the parent
com
edu
cs
yahoo
utah
www ee
microsoft
students
students.cs.byu.edu wants
BYU asks edu
software
software.microsoft.com
research
DNS - domain name service
• If the domain name is one
of its own, ask the correct
child
byu
• If the name is not one of
its own, ask the parent
com
edu
cs
yahoo
utah
www ee
microsoft
students
students.cs.byu.edu wants
edu asks com
software
software.microsoft.com
research
DNS - domain name service
• If the domain name is one
of its own, ask the correct
child
byu
• If the name is not one of
its own, ask the parent
com
edu
cs
yahoo
utah
www ee
microsoft
students
students.cs.byu.edu wants
software
software.microsoft.com
com asks microsoft
research
DNS - domain name service
• If the domain name is one
of its own, ask the correct
child
byu
• If the name is not one of
its own, ask the parent
com
edu
cs
yahoo
utah
www ee
microsoft
students
students.cs.byu.edu wants
software
software.microsoft.com
microsoft knows and gives the answer
research
DNS - making it fast
• Each node remembers
the most common
requests for a day or
two
• Doesn’t need to ask
again
com
edu
byu
cs
yahoo
utah
www ee
microsoft
students
software
• Called “caching”
research
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
com
edu
byu
cs
yahoo
utah
www ee
microsoft
students
software
research
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”
to: [email protected]
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