Lec_1: Syllabus

advertisement
Semester 1, 2014-2015
Course Instructor
L. Nora Al-Hammad
E-mail: noralhammad@ksu.edu.sa
Office: room # 53, 3rd floor
Office hours: Hanged on my office door
Module Overview
Objectives:
To provide an introductory overview of the
module and discuss the involved concepts.
Course overview
 The module focuses on the upper layers of the TCP/IP Internet
protocol and provides insight in recent networking topics like
multimedia networking.
 It covers the following topics:
 Introduction to the Internet and the TCP/IP protocol
 Transport layer protocols and socket programming
 Application layer architectures and traditional applications
(HTTP and WWW, FTP, e-mail, DNS, DHCP, and P2P
applications)
 Multimedia Networks challenges and solutions.
4
Learning Outcomes (1)
After completing the module you should be able to:
 Compare between circuit switching and packet switching
technologies
 Evaluate the performance of a network in terms of delay and
throughput
 Differentiate between requirements and challenges of client-server
applications and Peer-to-peer applications
 Describe the operations and services of traditional network
applications like WWW, HTTP & FTP and services provided by
E-mail, DNS & DHCP applications
5
Learning Outcomes (2)
 Describe the architecture of P2P applications like bitTorrent &
SKYPE
 Differentiate between the characteristics of the User Datagram
Protocol (UDP) and Transmission Control Protocol (TCP).
 Use and apply socket programming with TCP and UDP to
develop network application.
 Identify the challenges for multimedia networks and the
possible solutions
6
Assessment Details

Minimum pass mark 60%.
 30% Two Mid Exams
 Mid_1: Tuesday 31 March 2015 (12:00 - 1:00)
 Mid_2: Tuesday 5 May 2015 (12:00 - 1:00)
 10% Quizzes
 Quiz_1: Monday 17 March 2015 (12:00 - 12:30)
 Quiz_2: Monday 27 April 2015 (12:00 – 12:30)
 20% Lab ( evaluation and project)
 40% Final exam
7
Recommended reading (1)
• Text books:
– Computer Networking: A Top-Down Approach Featuring the
Internet by Kurose, James F. Ross, Keith W. Addison Wesley,
2012 [Primary]
– Data Communications and Networking. Behrouz A. Forouzan.
McGraw Hill, 2007.
– Computer Networks by Andrew S. Tanenbaum, 5th Edition,
Prentice Hall, 2010.
– TCP/IP Protocol Suite. Behrouz A. Forouzan. McGraw Hill,
2009.
8
Recommended reading (2)
•
Course Notes
•
Copies of lecture slides along with other relevant material will be
available via blackboard LMS.ksu.edu.sa
•
Electronic resources
•
A large number of resources exist on the Internet. These include book
chapters, academic papers, FAQs, online workshops, programs and other
relevant material from academic institutes around the world.
• http://www.networkworld.com/
• http://www.networksolutions.com/
• http://compnetworking.about.com/
• http://www.ietf.org/rfc.html
9
Outline Syllabus
• The Internet TCP/IP suite of protocols
• The Application layer requirements vs. the transport layer
services
• Application layer
– Client-server applications
• HTTP & WWW, FTP & e-mail, DNS & DHCP
– P2P applications
• Transport layer: UDP & TCP protocols and services
• Multimedia Networks
– Streamed stored video; VoIP; RTP, SIP ;network support
for MM
10
Overview
 What are computer networks?
 Why networking?
 Classification of networks
 What is the Internet?
 Internet protocol stack
 The Physical Layer
 The Data Link Layer
 The Network Layer
12
What are computer networks?
 A collection of autonomous computers interconnected by a
single technology
 Two computers are said to be connected if they are able to
exchange information
 Connection could be via a copper wire, fiber optics,
microwaves, infrared, and communication satellites
13
What Is Networking?
Computer 1
Computer 2
• Hardware: computers + communications media
• Software: communications programs (protocols)
• Common encoding between computers
• Error control capabilities
14
Networking over a distance
 Connect to public network
 Modems.
15
Why Networking?
 Resource and information Sharing
 Reliability
 Cost
 Efficiency
 Distributed Systems
 Transparent computing and communications
16
Uses of computer networks
 Business applications
 Home network applications
 Access to remote information
 Person-to-person communication
 Interactive entertainment
 Electronic commerce
17
 Access to remote information
18
 Person-to-person communication
19
 E-commerce, some forms:
20
Classification of Networks (1)
 Personal Area Networks
 Local Area Networks
 Metropolitan Area Networks
 Wide Area Networks
 Internetworks
21
Classification of Networks (2)
22
Local Area Networks
Bus
Broadcast networks
23
Ring
Metropolitan Area Networks
A metropolitan area network based on cable TV.
24
Wide Area Networks
25
Wireless Networks


26
(a) Bluetooth configuration
(b)Wireless LAN
The Internet
 A network of networks
 A communication infrastructure enables distributed
applications:
 WWW, email, games, e-commerce, file sharing
 Very complex and ever changing, both in terms of its
hardware and software components, as well as the
services it provides
27
WHAT’S A PROTOCOL?
Human protocols:



“What’s the time?”
“I have a question”
Introductions
… Specific msgs sent
… Specific actions taken
when msgs received, or
other events
28
Network protocols:


Machines rather than humans
All communication activity in
internet governed by protocols
Protocols define format, order of
messages sent and received
among network entities, and
actions taken on message
transmission, receipt
WHAT’S A PROTOCOL?
A human protocol and a computer network protocol:
Hi
TCP connection
request
Hi
TCP connection
response
Got the
time?
Get http://www.awl.com/kurose-ross
2:00
<file>
time
Q: Other human protocols?
29
ISO/OSI reference model
•
Presentation: allow applications to
interpret meaning of data, e.g.,
encryption, compression, machinespecific conventions
Application
Presentation
Session
Transport
•
•
30
Session: synchronization, checkpointing,
recovery of data exchange
Internet stack “missing” these layers!
– these services, if needed, must be
implemented in application
– needed?
Network
Link
Physical
Internet protocol stack
o
o
o
o
o
31
Application: supporting network
applications
o Ftp, smtp, http
Transport: process-process data transfer
o TCP, UDP
Network: routing of datagrams from
source to destination
o IP, routing protocols
Link: data transfer between neighboring
network elements
o Ethernet, 802.111 (wifi), PPP
Physical: bits “on the wire”
Application
Transport
Network
Link
Physical
Physical Layer
•
•
•
Bit: propagates between
transmitter/receiver pairs
Physical link: what lies
between transmitter &
receiver
Guided media:
– Signals propagate in solid
media: copper, fiber, coax
•
Unguided media:
– Signals propagate freely,
e.g., Radio
33
Twisted pair (TP)
 Two insulated copper wires


Category 5: 100 mbps, 1 Gbps
Ethernet
Category 6: 10gbps
Physical Media: Coax, Fiber
Coaxial cable:



Two concentric copper
conductors
Bidirectional
Broadband:
Fiber optic cable:
• Glass fiber carrying light pulses,
•
 Multiple channels on cable
 HFC (Hybrid Fybre Coaxial)
34
•
each pulse a bit
High-speed operation:
• High-speed point-to-point
transmission (e.g., 10’s100’s Gpbs transmission
rate)
Low error rate:
• Repeaters spaced far apart
• Immune to electromagnetic
noise
Data Link Layer
Terminology:
• Hosts and routers: nodes
• Communication channels that
connect adjacent nodes along
communication path: links
• Wired links
• Wireless links
• Lans
• Layer-2 packet: frame, encapsulates
datagram
Data-link layer has responsibility of
Transferring datagram from one node
To physically adjacent nodes over a link
36
global ISP
Link Layer: Context
• Datagram transferred by different
link protocols over different links:
• E.G., Ethernet on first link,
frame relay on intermediate
links, 802.11 on last link
• Each link protocol provides
different services
• E.G., May or may not provide
reliable data transfer over link
37
global ISP
Link Layer Services
 Framing, link access:
 Encapsulate datagram into frame, adding header, trailer
 Channel access if shared medium
 “MAC” addresses used in frame headers to identify
source, destination
 Different from IP address!
 Reliable delivery between adjacent nodes
 Seldom used on low bit-error link (fiber, some twisted
pair)
 Wireless links: high error rates
38
Link Layer Services (More)
 Flow control:
 Pacing between adjacent sending and receiving nodes
 Error detection:
 Errors caused by signal attenuation, noise.
 Receiver detects presence of errors:
• Signals sender for retransmission or drops frame
 Error correction:
 Receiver identifies and corrects bit error(s) without resorting to
retransmission
 Half-duplex and full-duplex
 With half duplex, nodes at both ends of link can transmit, but not at
same time
39
Where Is The Link Layer Implemented?
• In each and every host
• Link layer implemented in
“adaptor” (aka network
interface card NIC) or on a
chip
– Ethernet card, 802.11 card;
Ethernet chipset
– Implements link, physical
layer
• Attaches into host’s system
buses
• Combination of hardware,
software, firmware
40
application
transport
network
link
cpu
memory
controller
link
physical
host
bus
(e.g., PCI)
physical
transmission
network adapter
card
Adaptors Communicating
datagram
datagram
controller
controller
receiving host
sending host
datagram
frame
 Sending side:
 Encapsulates datagram in
frame
 Adds error checking bits,
rdt, flow control, etc.
41
 Receiving side
 Looks for errors, rdt, flow
control, etc
 Extracts datagram, passes to
upper layer at receiving side
Multiple Access Links, Protocols
Two types of “links”:
 Point-to-point
 PPP for dial-up access
 Point-to-point link between Ethernet switch, host
 Broadcast (shared wire or medium)
 Old-fashioned Ethernet
 Upstream Hybrid Fibre-Coaxial (HFC)
 802.11 wireless LAN
42
shared wire (e.g.,
cabled Ethernet)
shared RF
(e.g., 802.11 WiFi)
shared RF
(satellite)
humans at a
cocktail party
(shared air, acoustical)
Multiple Access Protocols
 Single shared broadcast channel
 Two or more simultaneous transmissions by nodes: interference
 Collision if node receives two or more signals at the same time
Multiple access protocol
 Distributed algorithm that determines how nodes share channel,
i.e., Determine when node can transmit
 Communication about channel sharing must use channel itself!
 No out-of-band channel for coordination
43
MAC Protocols: Taxonomy
Three broad classes:
 Channel partitioning
 Divide channel into smaller “pieces” (time slots, frequency, code)
 Allocate piece to node for exclusive use
 Random access
 Channel not divided, allow collisions
 “Recover” from collisions
 “Taking turns”
 Nodes take turns, but nodes with more to send can take longer turns
44
Channel Partitioning MAC Protocols: TDMA
TDMA: time division multiple access
 Access to channel in "rounds"
 Each station gets fixed length slot (length = pkt trans
time) in each round
 Unused slots go idle
 Example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6
idle
6-slot
frame
6-slot
frame
1
45
3
4
1
3
4
Random Access: CSMA/CD Algorithm
CSMA/CD:
 Carrier sensing,
 Collisions detected within short time
 Colliding transmissions aborted, reducing channel wastage
 Human analogy: the polite conversation
46
bus: coaxial cable
star
Random Access: CSMA/CD Algorithm
4. If NIC detects another
1. NIC receives datagram from
transmission while transmitting,
network layer, creates frame
aborts and sends jam signal
2. If NIC senses channel idle, starts
frame transmission. If NIC senses 5. After aborting, NIC enters binary
(exponential) backoff:
channel busy, waits until channel
– After mth collision, NIC chooses
idle, then transmits.
mK
at
random
from
{0,1,2,
…,
2
3. If NIC transmits entire frame
1}. NIC waits K·512 bit times,
without detecting another
returns to step 2
transmission, NIC is done with
– Longer backoff interval with
frame !
more collisions
47
“Taking Turns” MAC Protocols
Polling:
 Master node “invites”
slave nodes to
transmit in turn
 Typically used with
“dumb” slave devices
 Concerns:
 Polling overhead
 Latency
 Single point of failure
(master)
48
data
poll
master
data
slaves
“Taking Turns” MAC Protocols
Token passing:



Control token passed
from one node to next
sequentially.
Token message
Concerns:
 Token overhead
 Latency
 Single point of failure
(token)
T
(nothing
to send)
T
data
49
Network Layer
 Transport segment from sending




51
to receiving host
On sending side encapsulates
segments into datagrams
On receiving side, delivers
segments to transport layer
Network layer protocols in every
host, router
Router examines header fields in
all IP datagrams passing through
it
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
Datagram Networks
 No call setup at network layer
 Routers: no state about end-to-end connections
 No network-level concept of “connection”
 Packets forwarded using destination host address
application
transport
network 1. send datagrams
data link
physical
52
application
transport
2. receive datagrams network
data link
physical
IP Addressing
223.1.1.1
• IP address: 32-bit identifier
223.1.2.1
for host, router interface
223.1.1.2
• Interface: connection
223.1.1.4
223.1.2.9
between host/router and
physical link
223.1.3.27
223.1.1.3
223.1.2.2
– Routers typically have
multiple interfaces
– Host typically has one
223.1.3.2
223.1.3.1
active interface (e.g.,
Wired Ethernet, wireless
802.11)
223.1.1.1 = 11011111 00000001 00000001 00000001
• One IP address associated
with each interface
223
1
1
1
53
Hierarchical Addressing: Route Aggregation
Hierarchical addressing allows efficient advertisement of routing
information:
Organization 0
200.23.16.0/23
Organization 1
200.23.18.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
“Send me anything
with addresses
beginning
200.23.16.0/20”
Internet
200.23.30.0/23
ISPs-R-Us
54
“Send me anything
with addresses
beginning
199.31.0.0/16”
Interplay Between Routing And
Forwarding
routing algorithm determines
routing algorithm
end-end-path through network
forwarding table determines
local forwarding at this router
local forwarding table
header value output link
0100
0101
0111
1001
3
2
2
1
value in arriving
packet’s header
0111
1
3 2
55
Datagram Forwarding Table
routing algorithm
local forwarding table
dest address output link
address-range 1
address-range 2
address-range 3
address-range 4
3
2
2
1
IP destination address in
arriving packet’s header
1
3 2
56
4 billion IP addresses, so
rather than list individual
destination address
list range of addresses
(aggregate table entries)
Routing Algorithms
•
•
Goal: determine “good” path (sequence
of routers) through network from
source to destination.
Graph abstraction for routing
algorithms:




57
graph nodes are routers
graph edges are physical links
link cost: delay, $ cost, or congestion
level
“good” path: typically means
minimum cost path
5
2
A
B
2
1
D
3
C
3
1
5
F
1
E
2
Cost = sum of link costs between source and destination
IP Datagram Format
IP protocol version
number
header length
(bytes)
“type” of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
How much overhead?
 20 bytes of TCP
 20 bytes of IP
 = 40 bytes + app layer
overhead
58
32 bits
ver
head.
len
type of
service
16-bit identifier
upper
time to
layer
live
total datagram
length (bytes)
length
fragment
offset
flgs
header
checksum
for
fragmentation/
reassembly
32 bit source IP address
32 bit destination IP address
options (if any)
data
(variable length,
typically a TCP
or UDP segment)
e.g. timestamp,
record route
taken, specify
list of routers
to visit.
IPv6
– 128 bit address space
– Simplified header:
• fixed-length 40 byte
header
• New fields: Traffic Class,
Flow Label
• no fragmentation
• Dropped fields:
Fragmentation, Checksum,
Options
– Version field allows
backward compatibility
59
• Support for security
– Authentication of
addresses/packets
– Encryption of packet
headers/contents
• Support for mobility
– Similar to Mobile IP (IP
protocol designed to support
mobile users) but no need for
separate agents
• QoS
– Class, Flow labels
IPv6 Datagram Format
Priority: identify priority among datagrams in flow
Flow label: identify datagrams in same “flow.”
(Concept of“flow” not well defined).
Next header: identify upper layer protocol for data
ver
pri
flow label
hop limit
payload len
next hdr
source address
(128 bits)
destination address
(128 bits)
data
60
32 bits
The Internet Network Layer
Host, router network layer functions:
transport layer: TCP, UDP
IP protocol
Routing protocols
network
layer
• addressing conventions
• datagram format
• packet handling conventions
• path selection
• RIP, OSPF, BGP
forwarding
table
ICMP protocol
• error reporting
• router “signaling”
link layer
physical layer
61
Download