1/76
lectures 1-7 inclusive
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
computer
common operating machine purposely used for technological and educational research
networking
computers connected together
internet
collection of computer networks
3 parts of infrastructure
end devices (aka end hosts)
communication links
packet switches
end devices (end hosts)
devices from which communication data originates/terminates
pc, servers, smartphones
communication link
carry data between 2 devices/switches
fiber, copper wire, radio
packet switches
routers & switches
protocols
define format, order of messages sent & received among network entities, and actions taken on message transmission, receipt
→ a set of rules
3 parts of network infrastructure
network edge
access networks
network core
network edge
→ comprises of end hosts
ie: clients & servers
access networks
→ local wired or wireless communication networks connecting end hosts to the Internet
ie: home WiFi, mobile network
→ network that physically connects end hosts to 1st router
network core
→ global network connecting access networks w/ other access networks
→ includes networks owned by diff Internet service providers (ISP)
ie: ATT, Sprint
3 different types of access networks
residential
institutional
mobile
what are the access network technologies?
digital subscriber line (DSL), cable, Ethernet, wireless LANs, cellular
digital subscriber line (DSL)
→ use existing telephone line to central office DSLAM
data over DSL phone line goes to Internet
voice over DSL phone line goes to telephone net
wireless access networks
→ shared wireless access network connects end system to router
via base station, “access point”
bit
propagates between transmitter/receiver pairs
physical link
what lies between transmitter & receiver
guided vs unguided media
guided: signals propagate in solid media (copper, fiber)
unguided: signals propagate freely (radio)
coaxial cable
2 concentric copper conductors, broadband
fiber optic cable
glass fiber carrying light pulses
→ 1 pulse = 1 bit
→ high speed operation (10’s-100’s gps transmission rate)
→ low error rate (repeaters spaced far apart, immune to electromagnetic noise)
physical media: radio
signal carried in electromagnetic spectrum
→ bidirectional
→ propagation environment effects (reflection, obstruction by objects, interference)
packet switching
hosts break application-layer messages into packets
forwards packets (data) from one router to the next, across links on path from source → destination
each packet transmitted at full link capacity
packet must arrive in its entirety before transmitted on next link
forwarding
local action
move arriving packets from router’s input link to appropriate router output link
routing
global action: determine source-destination paths taken by packets
routing algorithms
circuit switching
end-to-end resources are reserved for “call” between source and destination
→ dedicated resources (no sharing)
→ guaranteed performance
→ very costly, high security
frequency division multiplexing
transmit multiple, independent signals simultaneously, divides total available bandwidth into distinct, non-overlapping frequency bands
time division multiplexing
combines data streams into 1 unique recurring time slot for each signal
→ allows for sharing of single transmission line
how do loss and delay occur
packets queue in router buffers (delay)
packet arrival rate to link (temporarily) exceeds output link capacity
packets queue, wait for turn
arriving packets dropped (loss) if no free buffers
queuing delay
time waiting at output link for transmission
depends on congestion level of router
nodal processing delay
checking for bit errors and determining output link
propagation delay
d/s
d- length of physical link
s- speed of propagation
throughput
rate at which bits are being sent from sender to receiver (bits/time)
bottleneck link
link on end-end path that constrains end-end throughput
what does each layer do (in terms of internet, not the specific layer)
implements a service
relies on services provided by layer below
why layers for the internet?
to deal with complex systems
explicit structure allows identification, relationship of complex system’s pieces
modularization eases maintenance, updating of system
internet protocol (IP) stack (5 layers)
application
transport
network
link
physical
application layer
supporting network applications
FTP, SMTP (email), HTTP
transport layer
process-process data transfer
TCP, UDP
network layer
routing of datagrams from source to destination
IP address, routing protocols
local forwarding, global routing
link layer
data transfer between neighboring network elements
Ethernet, bluetooth (MAC addresses), 802.11 (WiFi)
physical layer
bits “on the wire” / “over the air”, modulation, digital-to-analog sampling
2 missing layers from OSI (open systems interconnection) reference model
presentation
session
presentation layer
allow applications to interpret meaning of data (eg. encryption, compression, machine-specific conversion)
session layer
synchronization, checkpointing, recovery of data exchange
end-to-end principle
implement only on end-hosts
to ease deployment effort, requirements for routers kept at bare minimum
packet sniffing
broadcast media (shared Ethernet, wireless)
network interface reads/records all packets passing by
passively observe packets to see what’s going on
network applications
programs that run on different end systems, communicate over network
software isn’t written for network-core devices (keep simple as possible)
applications on end systems allows for rapid app development
eg. web, email, videos on demand, social networking…
what does the application layer protocol define
types of messages exchanged
message syntax
message semantics
rules
open protocols
proprietary protocols
what transport services does an app need
data integrity
latency
throughput
security
TCP services (transmission control protocol)
data integrity
reliable, in-order delivery, flow control, congestion control
slower than UDP, setup required between client and server
UDP services (user datagram protocols)
“no frills” transport protocol (bare minimum)
best effort service
application architectures
client-server
peer-to-peer (P2P)
client-server
server: always on, permanent IP address
client: comm. w/ server, intermittently connected, don’t communicate directly w/ each other
peer-to-peer
no “always on” server
end systems directly comm. w/ each other
peers intermittently connected, may change IP address
http
web’s application layer protocol
http client initiates TCP connection (creates socket) to server
server accepts TCP connection from client
HTTP messages exchanged between browser (client) and web server (HTTP server)
TCP connection closed
non-persistent http vs persistent http
non-persistent: 1 object sent over TCP connection. downloading multiple objs requires multiple connections
requires 2 RTT per object
OS overhead for each TCP connection
browsers often open parallel TCP connections to fetch ref. objs.
persistent: multiple objects can be sent over single TCP connection between client & server
1 RTT for all referenced objects
server leaves connection open after sending response
round-trip-time (RTT)
time for packet to travel from client to server & back
2 types of HTTP messages
request
response
post method
web page often includes form input
user input sent from client → server in entity body of HTTP post request message
eg. submitting forms, uploading files
get method
include user data in URL field of HTTP get request
head method
requests headers only that would be returned if specified URL were requested with GET method
put method
uploads new file (obj) to server
completely replaces file that exists at specified URL w/ content in entity body of POST http request message
4 components of cookies
cookie header line of HTTP response message
cookie header line in next HTTP request message
cookie file kept on user’s host, managed by user’s browser
back-end database at web site
what can cookies be used for
authorization
shopping carts
recommendations
user session state (web email)
how to keep “state”
protocol endpoints maintain state at sender/receiver over multiple transactions
web cache
satisfy client request w/o involving og. server, aimed to improve user perceived performance
reduce response time for client request
reduce traffic on institution’s access link
DNS
distributed database implemented in hierarchy of many name servers
application layer protocol
host applications communicate w/ name servers to resolve names
complexity at network’s edge
DNS services
hostname to IP address translation
host aliasing (same name but diff IP in back-end)
mail server aliasing
load distribution
DNS hierarchy
root
top level domain
authoritative
local name server (not in any category)
DNS root name servers
contact-of-last-resort
internet can’t function w/o it
ICANN manages root DNS domain
TLD
responsible for .com, .org, .net…
authoritative DNS servers
organization’s own DNS server(s), provide authoritative hostname to IP mappings for organization’s named hosts
local DNS name servers
doesn’t strictly belong to hierarchy
when hosts make DNS query, query sent to local DNS server
iterated query
contacted server replies w/ name of server to contact (instead of themselves figuring out name resolving)
recursive query
burden of name resolution on contacted name server
heavy load at upper levels of hierarchy
does DNS use UDP or TCP for name, and queries (regular or reverse)
UDP