49
Lecture # 35 Internet Organization

Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Embed Size (px)

Citation preview

Page 1: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Lecture # 35

Internet Organization

Page 2: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Internet

Page 3: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Networking

• Communicating between two or more computers

• Bits -> voltage ->wire->voltage->Bits

Page 4: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Network

• More than two computers

Page 5: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Network switch

• More than two computers

Switch

Page 6: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Network• Who is talking to who?

Switch

Page 7: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Network

• Who is talking to who?• Give each computer an

address (integer)

Switch

0

1

2

75

4243

Page 8: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 9: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Internet

messageaddress

net

net

net

net

Page 10: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Internet

messageaddress

net

net

net

net

net ID host ID

Page 11: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Internet and WWW

Page 12: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Internet

• A way to send an array of bytes from any machine to any other machine

Internet

Page 13: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 14: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 15: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Domain Name - a pathname in a tree

EDU COM GOV

BYU

CS

WWW ICIE

EE

MIT Utah Microsoft

research

Yahoo

whitehouse

LOC

Page 16: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Icie.cs.byu.edu

EDU COM GOV

BYU

CS

WWW ICIE

EE

MIT Utah Microsoft

research

Yahoo

whitehouse

LOC

Page 17: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Servers

• Computers that store information or services

Internet

Icie.cs.byu.edu

Yahoo.com

Page 18: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Clients

• Programs that help users get access to info

Internet

Netscape

Instant messenger

Page 19: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Protocol

• Language for computers to talk with each other

Internet

Netscape

Instant messenger

HTTP

IRC

Page 20: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 21: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

URL (Uniform Resource Locator)

• http://www.yahoo.com/

• http://www.espn.com/nba

• http://icie.cs.byu.edu/cs100/schedule.html

Page 22: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

URL - Protocol

• http://icie.cs.byu.edu/cs100/schedule.html

• ftp://netscape.com/downloads/msng.exe

• mailto:[email protected]

Page 23: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

URL - Domain Namename of the server to access

• http://icie.cs.byu.edu/cs100/schedule.html

• ftp://netscape.com/downloads/msng.exe

Page 24: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

URL - page name

• http://icie.cs.byu.edu/cs100/schedule.html

• ftp://netscape.com/downloads/msng.exe

Page 25: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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 26: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 27: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 28: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Hypertext

• How to link together many documents so that users can get whatever information they want.

Page 29: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

IP address

messageaddress

net ID host ID

128.187.172.236

BYU

Computer Science

a computer

Page 30: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 31: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 32: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Domain names vs. IP address

• students.cs.byu.edu

• www.byu.edu

• ee.utah.edu

• yahoo.com

• software.microsoft.com

• research.microsoft.com

Page 33: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 34: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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?

Page 35: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 36: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 37: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 38: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 39: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 40: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 41: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 42: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 43: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 44: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 45: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 46: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

Other protocols

• Use TCP/IP– WWW– Email– Instant messenger– FTP

Page 47: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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”

Page 48: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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

Page 49: Lecture # 35 Internet Organization. Internet Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits

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