0% found this document useful (0 votes)
6 views35 pages

CS - ECE438 Lec3 InternetOverview

Uploaded by

Greajoe Theon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views35 pages

CS - ECE438 Lec3 InternetOverview

Uploaded by

Greajoe Theon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

CS/ECE 438: Communica on Networks

How does the Internet work?


An End-to-End Overview

Saksham Agarwal
1
ti
Recap: what is a computer network?
A set of network elements connected together, that implements a set of protocols for the purpose of sharing
resources at the end hosts

Switch Router

Link

End hosts
Recap: what do computer networks do?
A computer network delivers data between the end hosts

• One and only one task: delivering the data

• Data delivery is enabled by


• Chopping the data into packets
• Sending individual packets across the network
• Reconstruc ng data from packets at the end hosts
ti
Recap: A computer network can be abstractly represented as a graph

Source Path

Source

Des na on Des na on
ti
ti
ti
ti
Recap: Sharing the network (graph)

Source Path

Source

Des na on Des na on
ti
ti
ti
ti
Recap: Two approaches to sharing networks
• First: Reserva ons
• Reserve bandwidth needed in advance
• Must reserve for peak bandwidth

• One way to implement reserva ons: circuit switching


• Source sends a reserva on request for peak demand to des na on
• Switches/routers establish a “circuit”
• Source sends data
• Source sends a “teardown circuit” message
ti
ti
ti
ti
ti
Recap: Circuit switching summary
• Goods
• Predictable performance
• Reliable delivery (assuming no failures)

• Not-so-goods
• Handling failures
• Resource underu liza on
• Blocked connec ons
• Connec on set up overheads
• Per-connec on state in switches (scalability problem)
ti
ti
ti
ti
ti
Recap: Solu on: Packet Switching
• Break data into smaller pieces
• Packets!

• Transmit packets without any reserva ons


• And hope for the best
ti
ti
Recap: Packet switching summary
• Goods
• With proper mechanism in place
• Easier to handle failures
• No resource underu liza on
• A source can send more if others don’t use resources
• No blocked connec on problem
• No per-connec on state
• No set-up cost

• Not-so-goods
• Unpredictable bandwidth availability
• Unpredictable delay/latency
• Packet header overhead
ti
ti
ti
ti
Recap: Internet Design Goals
• Fundamental goal (#1): connec vity between exis ng interconnected networks

• Second level goals:


Packet
Packet switched network
switched network
• #2 Survivability in the face of failure
• #3 Accommodability to variety of services Unifying “network” protocol
with minimal set of assump
Packet switched network ons
• #4 Accommodability to variety of networks +
Support for mul ple
• Other goals: “transport” protocols
• #5 Ability for distributed managenement of resources
• #6 Cost-e ec veness of the architecture
• #7 Ease of a aching a new host to the network
• #8 Accountability of the resources
ff
tt
ti
ti
ti
ti
ti
How does the Internet work?
And end-to-end overview
Four fundamental problems!
• Naming, addressing: Loca ng the des na on

• Rou ng: Finding a path to the des na on

• Forwarding: Sending data to the des na on

• Reliability: Handling failures, packet drops, etc


ti
ti
ti
ti
ti
ti
ti
ti
Four fundamental problems!
• Naming, Rou ng, Forwarding, Reliability

• Each is mo vated by a clear need

• The solu ons are not always clean or deep

• But if you keep in mind what the problem is


• You’ll be able to understand the solu ons
• When the right me comes

Will take the en re course to learn these!


Let’s rst get an end-to-end picture
fi
ti
ti
ti
ti
ti
ti
Fundamental problem #1: Naming and Addressing
• Network Address: where host is located
• Requires an address for the des na on host
• IP address (eg., 74.125. 239.35)

• Host Name: which host it is


• Domain name (www.google.com)
• Why do we need a host name?
• Enables ease of human use
• Enables reloca on of hosts
• Enables improved service to users
• Internet provides name <-> address transla on as a service
• Domain Name System (DNS)
ti
ti
ti
ti
Domain name to IP address
I need IP address for
www.google.com

Switch Router

Here you go
Link 74.125.239.35

End hosts

DNS Server
Fundamental problem #2: Rou ng
• Rou ng packets through network elements (eg., routers) to des na on

• Given des na on address (and name), how does each switch/router know where to send the packet
• Such that packet reaches the des na on

• When a packet arrives at a router


• A rou ng table determines which outgoing link the packet is sent on
• Computed using rou ng protocols
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti
Rou ng protocols (conceptually)
• Distributed algorithm that runs between routers
• Distributed means no single router has “full” view of the network
• Exchange of messages to gather “enough” informa on

• …about the network topology

• Compute paths through that topology

• Store forwarding informa on in each router


• If packet is des ned for X, send out using link l1
• If packet is des ned for Y, sending out using link l2
• Can packets going to di erent des na ons be sent out to same link?

• We call this rou ng table


ti
ti
ti
ti
ff
ti
ti
ti
ti
Rou ng table example
Rou ng Table
Google’s IP addr L2
Meta’s IP addr L3
Alice’s IP addr L1
Bob’s IP addr L1
DNS’s IP addr L1
L1

Switch Router L2 L3

Link

End hosts

DNS Server
ti
ti
Ques ons?
ti
Fundamental problem #3: Forwarding
• Queueing and forwarding of packets at switches/routers

Input Ports Output Ports

I1 O1 O1

I2 O1 O2
Switch Bu er
I3 O1 O3

I4 O1 O4
ff
Fundamental problem #3: Forwarding
• Queueing and forwarding of packets at switches/routers

Input Ports Output Ports Input Ports Output Ports

I1 O1 O1 I1 O1 O1 O1 O1 O1

I2 O2 O1 O2 I2 O2 O2

I3 O1 O3 I3 O3

I4 O1 O4 I4 O4

Input Queueing Output Queueing


No unnecessary blocking, but needs
Can lead to HoL blocking
much faster memory access speed
Fundamental problem #3: Forwarding
• Queueing and forwarding of packets at switches/routers

Input Ports Output Ports

I1 O1 O1

O1
One (virtual) queue I2 O2
per-output port, O2
per input port O1
I3 O3

O1
I4 O4

Virtual Output Queueing


Fundamental problem #3: Forwarding
• Queueing and forwarding of packets at switches/routers

• Queueing: When a packet arrives, store it in “input queues”


• Each incoming queue divided into mul ple virtual output queues
• One virtual output queue per outgoing link
• When a packet arrives
• Look up its des na on’s address (how?)
• Find the link on which the packet will be forwarded (how?)
• Store the packet in corresponding virtual output queue
• Forwarding: When the outgoing link free
• Pick a packet from the corresponding virtual output queue
• Forward the packet
ti
ti
ti
What must packets carry to enabled forwarding?
• Packets must describe where it should be sent
• Requires an address for the des na on

• Packets must describe where its coming from


• For handling failures, etc
• Requires an address for the source

• Packets must carry data


• Can be bits in a le, image, whatever

Header Data
fi
ti
ti
Switch processing and Queueing delay
• Processing delay
• Easy: each switch/router needs to decide where to put packet
• Requires checking header, etc

• Queueing delay
• Harder: depends on “how many packets are in from of me”
• Depends on network load
• As load increases, queueing delay increases

• In an extreme case, increase in network load


• Results in packet drops

• We will return to this in much more depth later…


Ques ons?
ti
Fundamental problem #4: Reliability
• How do you deliver packets reliably?

• Packets can be dropped along the way


• Bu ers in router can over ow
• Routers can crash while bu ering packets
• Links can garble packets

• How do you make sure packets arrive safely on an unreliable network?


• Or at least know if they are delivered?
• Want no false posi ves, and high chance of success
ff
ti
fl
ff
Two ques ons about reliability
• Who is responsible for this? (Architecture)
• Network?
• Host?

• How is it implemented? (Engineering)

• We will consider both perspec ves


ti
ti
Ques ons?
ti
Finishing our story
• We now have the address of the web site

• And, a route/path to the des na on

• And, mechanisms in place to forward the packets at each switch/router

• In a reliable manner
• So, we can send packets from source to des na on
• Are we done?

• When a packet arrives at a host, what does the host do with it?
• To which process (applica on) should the packet be sent?

• If the packet header only has the des na on address, how does the host know where to deliver the packet?
• There many be mul ple applica ons on the des na on
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti
And while we are nishing our story…
• Who puts the source address, source port, des na on address, des na on port in the packet header?

fi
ti
ti
ti
ti
The nal piece in the game: End-host stack
• Of Sockets and Ports
• When a process wants access to the network, it opens a socket, which is associated with a port
• Socket: an OS mechanism that connects processes to the network stack
• Port: number that iden es that par cular socket
• The port number is used by the OS to direct incoming packets
fi
ti
fi
ti
Implica ons for Packet Header
• Packet header must include
• Des na on address (used by network)
• Des na on port (used by network stack)
• And?
• Source address (used by network)
• Source port (used by network stack)

• When a packet arrives at the des na on host, packet is delivered to the socket associated with the des na on port

• More details later


ti
ti
ti
ti
ti
ti
ti
ti
ti
The end-to-end story
• Applica on opens a socket that allows it to connect to the network strack

• Maps name of the website to its address using DNS

• The network stack at the source embeds the address and port for both the source and the des na on in
packet header

• Each router constructs a rou ng table using a distributed algorithm

• Each router uses des na on address in the packet header to look up the outgoung link in the rou ng table
• And when the link is free, forward the packet

• When a packet arrives at the des na on:


• The network stack at the des na on uses the port to forward the packet to the right applica on
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti
Today’s lecture
• The Internet is a huge, complicated system

• One can study the parts in isola on


• Rou ng
• Forwarding
• Ports, sockets, network stack
• Reliable delivery
• …

• But the pieces all t together in a par cular way

• Today was a quick overview of how pieces t…


• Don’t worry if you didn’t understand much of it
• You probably absorbed more than you realize
ti
fi
ti
ti
fi

You might also like