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

Post on 03-Jan-2016

215 views 0 download

Tags:

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

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

4243messageaddress

Internet

messageaddress

net

net

net

net

Internet

messageaddress

net

net

net

net

net ID host ID

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

• icie.cs.byu.edu

• www.byu.edu

• ee.utah.edu

• yahoo.com

• software.microsoft.com

• research.microsoft.com

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

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

icie

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

icie

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

icie

software research

ee

icie.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

icie

software research

ee

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

icie 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

icie

software research

ee

icie.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

icie

software research

ee

icie.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

icie

software research

ee

icie.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

icie

software research

ee

icie.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

icie

software research

ee

icie.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

icie

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

icie

software research

ee

Other protocols

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

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”

Email - uses TCP/IP

• send a message to “bill_gates@microsoft.com”• find my mail server “mail.cs.byu.edu”• message to “mail.cs.byu.edu”

to: bill_gates@microsoft.com

from: olsen@cs.byu.edu

subject: Hi there

• mail server forwards the message to “microsoft.com”– if no answer it will keep trying for about a week

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