0% found this document useful (0 votes)
13 views

Lec 2

The document provides an overview of the core concepts and challenges of networking and the internet. It discusses end systems, routers, links, routing protocols, reliability, congestion control, mapping names to addresses, and sockets. The goal is to introduce students to basic networking concepts without explaining the technical solutions.

Uploaded by

dayyanali789
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)
13 views

Lec 2

The document provides an overview of the core concepts and challenges of networking and the internet. It discusses end systems, routers, links, routing protocols, reliability, congestion control, mapping names to addresses, and sockets. The goal is to introduce students to basic networking concepts without explaining the technical solutions.

Uploaded by

dayyanali789
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/ 32

CS 382: Network-Centric Computing

Overview of the Internet

Dr. Zafar Ayyub Qazi


Spring 2020

1
ACK: Slides use some material from Scott Shenker (UC Berkeley)
Goal of Today’s Lecture
l To introduce you to basic networking language

l Understand the challenges the Internet is solving


l Without explaining the solutions. We will study the
solutions in subsequent classes.

2
Basic Networking Components
l End systems: they send/receive packets
l Will also sometimes use the term hosts for end-systems

l Switchers/routers: they forward packets


l Routing decisions ensure packets reach destination
l Will use terms switch and router interchangeably

l Links: connect end systems to switches, and


switches to each other

3
car navigator

heart pacemaker

smartphone
end-system

iPad
Linux server MAC laptop
Windows PC
4
end-system switch

5
link
phone
lines

end-system switch
fibers
wireless
cable TV links
lines

6
Who runs the network?

link

phone company
end-system switch

university net
cable company

7
What’s the purpose of the Internet?

link

end-system switch
path
packet

8
Underlying purpose of networks…
l Allow two programs on two different end-systems to
exchange data

l Programs (Applications) figure what to do with data

9
Why Does This Matter?
l Separation of concerns design principle:
l Separating a computer program into distinct sections
such that each section addresses a separate concern

l Clean separation of concerns:


l Networking delivers data
l Applications figure what to do with data

l Keeps network fully general (any app works!)

10
Variety of applications
facebook
server world of
warcraft server

instant
messaging
instant messaging

world of warcraft firefox accessing


client facebook
11
Using the network….

while (...) {
while (...) { message = receive( ... );
message = ...; }
send ( message, ... );
}

Talal

Taimoor

12
The Core Task of Internet
l Delivers packets between programs (applications)
on different hosts
l This involves both the network and network stack

l Network: Routers/switches and links

l Network stack: networking software on end-systems


l Stack replicates some router/switch functionality
l Then adds some additional networking functionality…
l ...before handing body of packet to application

13
Packets
l Packets are bags of bits with:
l Header: meaningful to network (and network stack)
l Can be more than one header!
l Body: meaningful only to application

Header Body

Used By Network Used By App

l Body can be bits in a file, image, whatever

l What information goes in a header?


14
Packets Must Be Sent Along Path

link

end-system switch
path
packet

15
What Must Header Contain For This?
l Packet must describe where it should be sent

l Requires an address for the destination host

l That’s the only way a router/switch can know


what to do with the packet

16
Packets Must Be Sent Along Path

link

end-system switch
path
packet

17
Fundamental Challenge #1
l Route packets through network to destination

l Given destination address, how does each


switch/router forward packets so that packet
reaches destination?

l When a packet arrives at a router, the routing


table determines which outgoing link the packet
is sent on
l Outgoing link is often referred to as a port
l The word port has two meanings in this lecture
18
Two Meanings of “Port”
l Switches/routers have physical ports:
l Places where links connect to switches

l Network stacks have logical ports:


l Logical places where applications connect to stack
l More about this later …

l Back to routing tables…


l Where do they come from?

19
Routing Protocols (Conceptually)
l Distributed algorithm run between routers

l Gather information about the network topology

l Compute paths through that topology

l Store forwarding information in each router:


l If packet is destined for X, send out this port
l If packet is destined for Y, send out that port
l …

l We call this a routing table


20
Control Plane vs Data Plane
l Control plane: mechanisms used to compute
routing tables (and other forwarding information)
l Inherently global: must know topology to compute
l Routing algorithm is part of the control plane
l Time scale: per network event

l Data plane: using those tables to actually


forward packets
l Inherently local: depends only on arriving packet and
local routing table
l Forwarding mechanism is part of data plane
l Time scale: per packet arrival 21
Fundamental Challenge #2
l How do you deliver packets reliably?

l Packets can be dropped along the way


l Buffers in router can overflow
l Routers can crash while buffering packets
l Links can garble packets

l How do you make sure packets arrive safely on


an unreliable network?
l Or at least know if they are not delivered….
l Want no false positives, and high chance of success
22
Two Questions about Reliability
l Who is responsible for this? (architecture)
l Network?
l Host?

l How is it implemented? (engineering)

l We will consider both perspectives….

23
Other Important Challenge
l Congestion control
l Hosts on the Internet independently decide at what
rate they will send packets
l How can you make sure that these independent
decisions don’t overload various links?

24
What Have We Missed?
l Consider when you access a web page
l Insert URL into browser (e.g., cnn.com)
l Packets sent to web site (reliably)
l Packets reach application on destination host

l How do you get to the web site?


l URL is user-level name (e.g., cnn.com)
l Network needs address (e.g., where is cnn.com?)

l Must map names to addresses….

25
Mapping Names to Addresses
l URLs are based on the name of the host containing
the content (i.e., cnn.com names a host)

l Before you can send packets to cnn.com, you must


resolve names into the host’s address

l Done by the Domain Name System (DNS)

26
Finishing Our Story
l We now have the address of the web site
l So we can send packets to host
l Are we done?

l When a packet arrives at a host, what does the


host do with it?
l To which program (app) should the packet be sent?

l If the packet header only has the destination


address, how does the host know where to
deliver packet?
27
Of Sockets and Ports
l When a process wants access to the network, it
opens a socket, which is associated with a port
l This is not a physical port, just a logical one

l Socket: an Operating System (OS) mechanism


that connects processes to the networking stack

l Port: number that identifies that particular socket

l The port number is used by the OS to direct


incoming packets
28
Implications for Packet Header
l Packer header includes:
l Destination address and port

l When a packet arrives, packet is delivered to


socket associated with the destination port

29
Separation of Concerns
l Network
l Deliver packets from host to host (based on address)

l Network Stack (OS)


l Deliver packets to appropriate socket (based on port)

l Applications
l Send and receive packets
l Understand content of packet bodies

l Secret of the Internet’s success is getting these


and other abstractions right… 30
Review of Important Issues
l Routing

l Reliable transport

l Congestion control

l Mapping names to addresses

31
Questions?

32

You might also like