Title: CS118: Computer Network Fundamentals
1CS118 Computer Network Fundamentals
- Professor Songwu Lu
- Computer Science Department
- UCLA
- http//www.cs.ucla.edu/slu
- slu_at_cs.ucla.edu
2CS118 Computer Networks
- Instructor Songwu Lu (slu_at_cs.ucla.edu)
- Office hours 100-150 Tue, Thursday
- other times appointment
by email - Office 4531D BH
- Research Interest wireless Internet
- Course homepage
- http//www.cs.ucla.edu/classes/winter02/cs118/
- Everything posted there
- Check regularly for announcements
- Course online discussion group
- http//www.cs.ucla.edu/classes/winter02/cs118/l1/d
iscussion/wwwBoard.html
3Why are you sitting in this class??
- A few reasons
- CS118 is a requirement for my degree
- I need 4 more units to graduate, and CS118 seems
the least evil among all the options - Probably useful for my job interview
- If Internet is so hot now, I want to learn
something about the Internet - I want to enter graduate school, and networking
area is one of my options - ...
4What can you learn from this course?
- Understand the basics of computer networks
design and practice - Learn the basics of TCP/IP protocol suite in the
current Internet - Develop network programming skills
5Course Information
- Introductory (first) course in computer
networking - Prerequisites
- Upper division standing
- Coursework on (or experience with) Algorithms,
Operating Systems, computer architecture - programming skills/experiences
- Course materials
- text Computer Networking A Top Down Approach
Featuring the Internet, J. Kurose Keith Ross,
Addison Wesley - Online class notes
6Course Workload
- Reading assignment for every lecture
- mostly from textbook, occasionally materials
posted on the course homepage - Weekly homework assignment
- Two programming projects
- Midterm and final exams
- Classroom participation
7Course Grading and Policies
- Grading breakdown
- Homework 15 Midterm 25
- Project 27 Final exam 30
- Classroom participation 3
- no late turn-in will be accepted for credit
- no make-up exams
- no misconduct
8Homework Assignments
- Weekly homeworks
- Homeworks are given out on Thursdays, and they
are due 1130am next Thursday to TA's mailbox
(4428BH) - you are expected to work out these assignments
individually (no teamwork please)! - Homework solutions will be available by every
Friday morning.
9Programming Projects
- Two programming projects in this course
- 1 a simple Web server
- 2 a simple TCP-like network protocol
- Two-person group project
- each group has exactly two students
- start to find your project partner immediately!
- If you have difficulties, post a message in the
discussion board - Work out your projects preferably in C or C
under Unix operating systems
10Discussion Board and Homepage
- Discussion Board
- Post your questions to the board.
- Please do NOT post detailed programming codes
onto the newsgroup unless you get approval from
me or the TAs! - Homepage
- No paper copies of the homework assignments will
be distributed ! - check out the assignments, lecture notes, etc.
regularly - If you have other interesting resources (e.g., a
useful network programming hyperlink, let us know)
11Tentative Course Schedule
- Lectures
- Part 1 Introduction (2 lectures, text Chapter
1) - Part 2 Application Layer (3 lectures, text
Ch.2) - -- Socket programming (1 lecture)
- Part 3 Transport Layer (3 lectures, text Ch. 3)
- -- Midterm exam (in class)
- Part 4 Network Layer (3 lectures, text Ch. 4)
- Part 5 Link Layer, LANs (3 lectures, text Ch.
5) - Part 6 Multimedia Networking (2 lecture Ch. 6)
- Part 7 Network Security (1 lecture, text Ch. 7)
- -- Review lecture
12Part I Introduction
- Our goal
- get context, overview, feel of networking
- more depth, detail later in course
- approach
- descriptive
- use Internet as example
- Overview
- whats the Internet
- whats a protocol?
- network edge
- network core
- access net, physical media
- performance loss, delay
- protocol layers, service models
- backbones, NAPs, ISPs
- History of Internet
13 Internet picture you know now
DSLAlways on
Cable Head Ends
att_at_home
PacBell DSL
Internet backbone
ISP
NAP
Cingular
NAP
Satellite Fixed Wireless
Sprint
AOL
Cell
Cell
Cell
Dial-up
LAN
LAN
LAN
14(No Transcript)
15Current Internet Size
- Average computers in Millions (source
http//www.netsizer.com) - 1999 Feb 48.1653M
- 2000 Feb 73.1611M
- 2001 Feb 111.447M
- In the US
- No. of computers 75309.4 (in thousands)
- No. of users 171661 (in thousands)
16Internet topology map
See http//www.caida.org/analysis/topology/as_cor
e_network/ For details and explanations
17X-Internet Beyond the PC
Forrester Research, May 2001
18Whats the Internet nuts and bolts view
- millions of connected computing devices hosts,
end-systems - pcs workstations, servers
- PDAs phones, toasters
- running network apps
- communication links
- fiber, copper, radio, satellite
- routers forward packets (chunks) of data thru
network
19Whats the Internet nuts and bolts view
- protocols control sending, receiving of msgs
- e.g., TCP, IP, HTTP, FTP, PPP
- Internet network of networks
- loosely hierarchical
- public Internet versus private intranet
- Internet standards
- RFC Request for comments
- IETF Internet Engineering Task Force
router
workstation
server
mobile
local ISP
regional ISP
company network
20Whats the Internet a service view
- communication infrastructure enables distributed
applications - WWW, email, games, e-commerce, database., voting,
- more?
- communication services provided
- connectionless
- connection-oriented
21Whats a protocol?
a human protocol and a computer network protocol
Hello
TCP connection req.
Hi
22Whats a protocol?
- human protocols
- whats the time?
- I have a question
- introductions
- specific msgs sent
- specific actions taken when msgs received, or
other events
- network protocols
- machines rather than humans
- all communication activity in Internet governed
by protocols
protocols define format, order of msgs sent and
received among network entities, and actions
taken on msg transmission, receipt
23A closer look at network structure
- network edge applications and hosts
- network core
- routers
- network of networks
- access networks, physical media communication
links
24The network edge
- end systems (hosts)
- run application programs
- e.g., WWW, email
- at edge of network
- client/server model
- client host requests, receives service from
server - e.g., WWW client (browser)/ server email
client/server - peer-peer model
- host interaction symmetric
- e.g. teleconferencing
25Network edge connection-oriented service
- Goal data transfer between end sys.
- handshaking setup (prepare for) data transfer
ahead of time - Hello, hello back human protocol
- set up state in two communicating hosts
- TCP - Transmission Control Protocol
- Internets connection-oriented service
- TCP service RFC 793
- reliable, in-order byte-stream data transfer
- loss acknowledgements and retransmissions
- flow control
- sender wont overwhelm receiver
- congestion control
- senders slow down sending rate when network
congested
26Network edge connectionless service
- Goal data transfer between end systems
- same as before!
- UDP - User Datagram Protocol RFC 768
Internets connectionless service - unreliable data transfer
- no flow control
- no congestion control
- Apps using TCP
- HTTP (WWW), FTP (file transfer), Telnet (remote
login), SMTP (email) - Apps using UDP
- streaming media, teleconferencing, Internet
telephony
27The Network Core
- mesh of interconnected routers
- the fundamental question how is data transferred
through net? - circuit switching dedicated circuit per call
telephone net - packet-switching data sent thru net in discrete
chunks
28Telephone Network Core Circuit Switching
- End-end resources reserved for call
- link bandwidth, switch capacity
- dedicated resources less sharing
- circuit-like (guaranteed) performance
- call setup required
29Telephony Core Circuit Switching
- network resources (e.g., bandwidth) divided into
pieces - pieces allocated to calls
- resource piece idle if not used by owning call
(no sharing) - dividing link bandwidth into pieces
- frequency division
- time division
30Internet Core Packet Switching
- each end-end data stream divided into packets
- user A, B packets share network resources
- each packet uses full link bandwidth
- resources used as needed,
- resource contention
- aggregate resource demand can exceed amount
available - congestion packets queue, wait for link use
- store and forward packets move one hop at a time
- transmit over link
- wait turn at next link
31Internet Core Packet Switching
10 Mbs Ethernet
C
A
statistical multiplexing
1.5 Mbs
B
queue of packets waiting for output link
45 Mbs
- Packet-switching versus circuit switching
airline reservation vs. private automobile analogy
32Statistical multiplexing
33Internet Core Packet Switching
- Packet-switching
- store and forward behavior
34Packet switching versus circuit switching
- Packet switching allows more users to use network!
- 1 Mbit link
- each user
- 100Kbps when active
- active 10 of time
- circuit-switching
- 10 users max
- packet switching
- with 35 users, probability gt 10 active very low
(if not synchronized)
N users
1 Mbps link
35What covered in last lecture
- A computer network consists of network edge and
network core - Network edge end systems running applications
- Client-server model
- Connection-oriented services e.g. TCP
- Connectionless services e.g. UDP
- Network core mesh of interconnected
routers/switches - Circuit switching telephone network
- Packet switching Internet
36Packet switching versus circuit switching
- Is packet switching a slam dunk winner?
- Great for bursty data
- resource sharing
- no call setup
- Excessive congestion packet delay and loss
- protocols needed for reliable data transfer,
congestion control - Q How to provide circuit-like behavior to less
flexible applications? - performance (delay/thruput) bounds needed for
audio/video apps - still a developing area.sometimes it is network
problem and sometimes application (chapter 6)
37Packet-switched networks routing
- Goal move packets among routers from source to
destination - well study several path selection algorithms
(chapter 4) - datagram network
- destination address determines next hop
- routes may change during session
- analogy driving, asking directions
- virtual circuit network
- each packet carries tag (virtual circuit ID),
tag determines next hop - fixed path determined at call setup time, remains
fixed thru call (but does not imply resource
reservation) - routers maintain per-call state
38Access networks and physical media
- Q How to connect end systems to edge router?
- residential access nets
- institutional access networks (school, company)
- mobile access networks
- Keep in mind
- bandwidth (bits per second) of access network?
- shared or dedicated?
- always on or dial-up
39Residential access point to point access
- Dialup via modem
- up to 56Kbps direct access to router
(conceptually) - ISDN integrated services digital network
128Kbps all-digital connect to router - ADSL asymmetric digital subscriber line
- up to 1 Mbps home-to-router
- up to 8 Mbps router-to-home
- ADSL deployment happening
40Residential access cable modems
- HFC hybrid fiber coax
- asymmetric up to 10Mbps downstream, 1 Mbps
upstream - network of cable and fiber attaches homes to
ISP router - shared access to router among homes
- issues congestion, dimensioning
- deployment available via cable companies, e.g.,
MediaOne
41Institutional access local area networks
- company/univ local area network (LAN) connects
end system to edge router - Ethernet
- shared or dedicated cable connects end system and
router - 10 Mbs, 100Mbps, Gigabit Ethernet
- deployment institutions, home LANs soon
- LANs chapter 5 (Interesting protocol design
examples)
42Wireless access networks
- shared wireless access network connects end
system to router - wireless LANs
- radio spectrum replaces wire
- e.g., Lucent Wavelan 10 Mbps (802.11)
- wider-area wireless access
- CDPD (Cellular Digital Packet Data) wireless
access to ISP router via cellular network
43Physical Media
- Twisted Pair (TP)
- two insulated copper wires
- Category 3 traditional phone wires, 10 Mbps
Ethernet - Category 5 TP (more twisting..more noise
immunity) 100Mbps Ethernet
- physical link transmitted data bit propagates
across link - guided media
- signals propagate in solid media copper, fiber
- unguided media
- signals propagate freely e.g., radio
44Physical Media coax, fiber
- Coaxial cable
- wire (signal carrier) within a wire (shield)
- baseband single channel on cable
- broadband multiple channel on cable
- Bidirectional (depends on amplifiers)
- common use in 10Mbs Ethernet
- Fiber optic cable
- glass fiber carrying light pulses
- high-speed operation
- 100Mbps Ethernet
- high-speed point-to-point transmission (e.g., 5
Gps) - low error rate
45Physical media radio
- Radio link types
- microwave
- e.g. up to 45 Mbps channels
- LAN (e.g., waveLAN)
- 2Mbps, 11Mbps
- wide-area (e.g., cellular)
- e.g. CDPD, 10s Kbps
- satellite
- up to 50Mbps channel (or multiple smaller
channels) - 270 msec end-end delay
- geosynchronous versus LEOS
- signal carried in electromagnetic spectrum
- no physical wire
- bidirectional
- propagation environment effects
- reflection
- obstruction by objects
- Interference
46Packet Switched Networks
- Hosts send data in packets
- network supports all data communication services
by delivering packets - Web, email, multimedia
Host
Host
video
Application
Host
Web
Host
Host
email
47One network application example
Dave_at_cs.ucla.edu
Jim_at_lcs.mit.edu
msg
48One network application example
49Match protocol pieces to real boxes
Email program transport protocol Internet protoc
ol Ethernet driver
Dave's computer
Internet
Jim's computer
Ethernet card
50Layered Network Architecture
- Networks are complex !!
- Nodes communicate with each other by standard
protocols
host switch
A
B
C
D
network topology
51Why layering?
- Dealing with complex systems
- Divide and conquer principle
- explicit structure allows identification,
relationship of complex systems pieces - layered reference model for discussion
- modularization eases maintenance, updating of
system - change of implementation of layers service
transparent to rest of system - e.g., change in gate procedure doesnt affect
rest of system - sometimes layering considered harmful (to
protocol performance) ?
52Internet protocol stack
- application supporting network applications
- ftp, smtp, http
- transport host-host data transfer
- tcp, udp
- network routing of datagrams from source to
destination - ip, routing protocols
- link data transfer between neighboring network
elements - ppp, ethernet
- physical bits on the wire
- At least some of the protocol stack runs on
every node/element/box that is connected to the
network
53Network-wide view of layering
- Each layer
- distributed
- entities implement layer functions at each node
- entities perform actions, exchange messages with
peers
54Transport layer view
- take data from app
- add addressing, reliability check info to form
datagram - send datagram to peer
- wait for peer to ack receipt
- analogy post office
transport
transport
55Network layer view
- Receive packet, check for errors
- Look at destination address to decide where to
forward pkt - Pass to MAC/DL to put on link or sit in buffer
56Protocol layering and data
- Each layer takes data from above
- adds header information to create new data unit
- passes new data unit to layer below
source
destination
message
segment
datagram
frame
57Network Performance
- We study different protocols and how they work,
how they perform. - Performane Metrics
- Delay (sec)
- Throughput (bits/sec)
- Loss rate ( of packets lost)
- Cost of running the protocol/algorithm
- Computation time (can contribute to delay)
- Storage (state)
- Messaging (can reduce throughput)
- (These all contribute to scalability)
- Things we have a hard time measuring
- Manageability
- Security
58Delay in packet-switched networks
- nodal processing
- check bit errors
- determine output link
- queueing
- time waiting at output link for transmission
- depends on congestion level of router
- packets experience delay on end-to-end path
- four sources of delay at each hop
59Delay in packet-switched networks
- Propagation delay depends on
- d length of physical link
- s propagation speed in medium (2x108 m/sec)
- propagation delay d/s
- Transmission delay depends on
- Rlink bandwidth (bps)
- Lpacket length (bits)
- time to send bits into link L/R
60Queueing delay (revisited)
- Rlink bandwidth (bps)
- Lpacket length (bits)
- aaverage packet arrival rate
traffic intensity La/R
- La/R 0 average queueing delay small
- La/R -gt 1 delays become large
- La/R gt 1 more work arriving than can be
serviced, average delay infinite if the buffer
size is infinitely large!
61Example one hop delay
- total delay (A?B) ?
- Queuing delay
- transmission delay
- Propagation delay
Waiting time for 2 pkts
1 msec
0.5 msec
link length 100 km Bandwidth 1 Mbps packet
size 1000 bits (all pkts equal length)
Switch A
Switch B
(2.0x108 meters/sec in a fiber)
62Network latency
- Time to send a packet from point A to point B
- sum of delays across each hop along the path
- RTT round-trip-time
3
A
1
2
B
63Internet History
1961-1972 Early packet-switching principles
- 1961 Kleinrock - queueing theory shows
effectiveness of packet-switching - 1964 Baran - packet-switching in military nets
- 1967 ARPAnet conceived by Advanced Research
Projects Agency (Licklider, Roberts) - 1969 first ARPAnet node operational
- 1972
- ARPAnet demonstrated publicly
- NCP (Network Control Protocol) first host-host
protocol - first e-mail program
- ARPAnet has 15 nodes
64The Early ARPANET
65Prof. Kleinrock and the First Network Switch (IMP)
66Internet History
1972-1980 Internetworking, new and proprietary
nets
- 1970 ALOHAnet satellite network in Hawaii
(Abramson) - 1973 Metcalfes PhD thesis proposes Ethernet
- 1974 Cerf and Kahn - architecture for
interconnecting networks - late70s proprietary architectures DECnet, SNA,
XNA - late 70s switching fixed length packets (ATM
precursor) - 1979 ARPAnet has 200 nodes
- Cerf and Kahns internetworking principles
- minimalism, autonomy - no internal changes
required to interconnect networks - best effort service model
- stateless routers
- decentralized control
- define todays Internet architecture
67Internet History
1980-1990 new protocols, a proliferation of
networks
- 1983 deployment of TCP/IP. (Critical separation
Cohen) - 1982 SMTP e-mail protocol defined
- 1983 DNS defined for name-to-IP-address
translation - mid-1980s IETF active
- 1985 FTP protocol defined
- 1988 TCP congestion control
- new national networks Csnet, BITnet, NSFnet,
Minitel - 100,000 hosts connected to confederation of
networks
68Internet History
1990s commercialization, the WWW
- Early 1990s ARPAnet decomissioned
- 1991 NSF lifts restrictions on commercial use of
NSFnet (decommissioned, 1995) - early 1990s WWW
- hypertext Bush 1945, Nelson 1960s
- HTML, http Berners-Lee
- 1994 Mosaic, later Netscape
- late 1990s commercialization of the WWW
- Late 1990s
- est. 50 million computers on Internet
- est. 100 million users
- backbone links runnning at 1 Gbps
69Important question to think about ...
- what makes the Internet so popular these days?
- Fundamental driving force human/societys
communication need - The fuel for the Internet growth the chips, and
optical fiber - Fundamental enabler the Internet Protocol
architecture (focus of this course) - The future?
- Interesting articles on Internet histories
- http//www.isoc.org/internet-history (see
homepage)