Internet. Networking Communicating between two or more computers Bits -> voltage...

30
Internet

Transcript of Internet. Networking Communicating between two or more computers Bits -> voltage...

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

Internet

Page 2: 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 3: Internet. Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits.

Network

• More than two computers

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

Network switch

• More than two computers

Switch

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

Network

• Who is talking to who?

Switch

Page 6: 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 7: 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

4243messageaddress

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

Internet

messageaddress

net

net

net

net

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

Internet

messageaddress

net

net

net

net

net ID host ID

Page 10: 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 11: 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 12: 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 13: Internet. Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits.

Domain names

• icie.cs.byu.edu

• www.byu.edu

• ee.utah.edu

• yahoo.com

• software.microsoft.com

• research.microsoft.com

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

Domain names

• icie.cs.byu.edu

• www.byu.edu

• ee.utah.edu

• yahoo.com

• software.microsoft.com

• research.microsoft.com

edu com

byu utah yahoo

microsoftcs www

icie

software research

ee

Page 15: 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 16: 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

icie

software research

ee

Page 17: 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

icie

software research

ee

Page 18: 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

icie

software research

ee

icie.cs.byu.edu wants software.microsoft.com

Page 19: 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

icie

software research

ee

icie.cs.byu.edu wants software.microsoft.com

icie asks cs

Page 20: 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

icie

software research

ee

icie.cs.byu.edu wants software.microsoft.com

cs asks byu

Page 21: 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

icie

software research

ee

icie.cs.byu.edu wants software.microsoft.com

BYU asks edu

Page 22: 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

icie

software research

ee

icie.cs.byu.edu wants software.microsoft.com

edu asks com

Page 23: 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

icie

software research

ee

icie.cs.byu.edu wants software.microsoft.com

com asks microsoft

Page 24: 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

icie

software research

ee

icie.cs.byu.edu wants software.microsoft.com

microsoft knows and gives the answer

Page 25: 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

icie

software research

ee

Page 26: 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

icie

software research

ee

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

Other protocols

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

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

WWW

• URL - “icie.cs.byu.edu/dan.html”

– Send a message to DNS - “what is icie.cs.byu.edu?”

– Use IP address to send a message to “icie.cs.byu.edu”

• “GET dan.html”

Page 29: 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 30: Internet. Networking Communicating between two or more computers Bits -> voltage ->wire->voltage->Bits.

Networking

• 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