Post on 26-Dec-2015
52.354Communications
<local.cis.strath.ac.uk/teaching/ug/classes/52.354>
Recap
Duncan Smeed
Introduction 1-2
Chapter 1: IntroductionOur goal: • get “feel” and
terminology• more depth, detail later
in course• approach:
– use Internet as example
Overview:• what’s the Internet?• what’s a protocol?• network edge; hosts, access net,
physical media• network core: packet/circuit
switching, Internet structure• performance: loss, delay,
throughput• security• protocol layers, service models• history
Introduction 1-3
Chapter 1: roadmap
1.1 What is the Internet?1.2 Network edge
end systems, access networks, links
1.3 Network core circuit switching, packet switching, network structure
1.4 Delay, loss and throughput in packet-switched networks
1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History
Introduction 1-4
Chapter 1: roadmap
1.1 What is the Internet?1.2 Network edge
end systems, access networks, links
1.3 Network core circuit switching, packet switching, network structure
1.4 Delay, loss and throughput in packet-switched networks
1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History
Introduction 1-5
Chapter 1: roadmap
1.1 What is the Internet?1.2 Network edge
end systems, access networks, links
1.3 Network core circuit switching, packet switching, network structure
1.4 Delay, loss and throughput in packet-switched networks
1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History
Introduction 1-6
Chapter 1: roadmap
1.1 What is the Internet?1.2 Network edge
end systems, access networks, links
1.3 Network core circuit switching, packet switching, network structure
1.4 Delay, loss and throughput in packet-switched networks
1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History
Introduction 1-7
Chapter 1: roadmap
1.1 What is the Internet?1.2 Network edge
end systems, access networks, links
1.3 Network core circuit switching, packet switching, network structure
1.4 Delay, loss and throughput in packet-switched networks
1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History
Introduction 1-8
Chapter 1: roadmap
1.1 What is the Internet?1.2 Network edge
end systems, access networks, links
1.3 Network core circuit switching, packet switching, network structure
1.4 Delay, loss and throughput in packet-switched networks
1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History
Introduction 1-9
Chapter 1: roadmap
1.1 What is the Internet?1.2 Network edge
end systems, access networks, links
1.3 Network core circuit switching, packet switching, network structure
1.4 Delay, loss and throughput in packet-switched networks
1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History
Introduction 1-10
Introduction: SummaryCovered a “ton” of material!• Internet overview• what’s a protocol?• network edge, core, access
network– packet-switching versus
circuit-switching– Internet structure
• performance: loss, delay, throughput
• layering, service models• security• history
You now have: • context, overview, “feel”
of networking• more depth, detail to
follow!
2: Application Layer 11
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 12
Chapter 2: Application LayerOur goals: • conceptual,
implementation aspects of network application protocols
– transport-layer service models
– client-server paradigm
– peer-to-peer paradigm
• learn about protocols by examining popular application-level protocols– HTTP– FTP– SMTP / POP3 / IMAP– DNS
• programming network applications
– socket API
2: Application Layer 13
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 14
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 15
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 16
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 17
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 18
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 19
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 20
Chapter 2: Application layer
• 2.1 Principles of network applications• 2.2 Web and HTTP• 2.3 FTP • 2.4 Electronic Mail
– SMTP, POP3, IMAP
• 2.5 DNS
• 2.6 P2P applications• 2.7 Socket programming
with UDP• 2.8 Socket programming
with TCP
2: Application Layer 21
Chapter 2: Summary
• application architectures– client-server– P2P– hybrid
• application service requirements:– reliability, bandwidth, delay
• Internet transport service model– connection-oriented, reliable: TCP– unreliable, datagrams: UDP
our study of network apps now complete! specific protocols:
HTTP FTP SMTP, POP, IMAP DNS P2P: BitTorrent, Skype
socket programming
2: Application Layer 22
Chapter 2: Summary
• typical request/reply message exchange:– client requests info or
service– server responds with data,
status code
• message formats:– headers: fields giving info
about data– data: info being
communicated
Most importantly: learned about protocolsImportant themes: control vs. data msgs
in-band, out-of-band centralized vs. decentralized stateless vs. stateful reliable vs. unreliable msg transfer “complexity at network edge”
Transport Layer 3-23
Chapter 3: Transport LayerOur goals: • understand principles
behind transport layer services:– multiplexing/
demultiplexing– reliable data transfer– flow control– congestion control
• learn about transport layer protocols in the Internet:– UDP: connectionless transport– TCP: connection-oriented
transport– TCP congestion control
Transport Layer 3-24
Chapter 3 outline
• 3.1 Transport-layer services• 3.2 Multiplexing and demultiplexing• 3.3 Connectionless transport: UDP• 3.4 Principles of reliable data transfer
• 3.5 Connection-oriented transport: TCP– segment structure– reliable data transfer– flow control– connection management
• 3.6 Principles of congestion control
• 3.7 TCP congestion control
Transport Layer 3-25
Chapter 3 outline
• 3.1 Transport-layer services• 3.2 Multiplexing and demultiplexing• 3.3 Connectionless transport: UDP• 3.4 Principles of reliable data transfer
• 3.5 Connection-oriented transport: TCP– segment structure– reliable data transfer– flow control– connection management
• 3.6 Principles of congestion control
• 3.7 TCP congestion control
Transport Layer 3-26
Chapter 3 outline
• 3.1 Transport-layer services• 3.2 Multiplexing and demultiplexing• 3.3 Connectionless transport: UDP• 3.4 Principles of reliable data transfer
• 3.5 Connection-oriented transport: TCP– segment structure– reliable data transfer– flow control– connection management
• 3.6 Principles of congestion control
• 3.7 TCP congestion control
Transport Layer 3-27
Chapter 3 outline
• 3.1 Transport-layer services• 3.2 Multiplexing and demultiplexing• 3.3 Connectionless transport: UDP• 3.4 Principles of reliable data transfer
• 3.5 Connection-oriented transport: TCP– segment structure– reliable data transfer– flow control– connection management
• 3.6 Principles of congestion control
• 3.7 TCP congestion control
Transport Layer 3-28
Chapter 3 outline
• 3.1 Transport-layer services• 3.2 Multiplexing and demultiplexing• 3.3 Connectionless transport: UDP• 3.4 Principles of reliable data transfer
• 3.5 Connection-oriented transport: TCP– segment structure– reliable data transfer– flow control– connection management
• 3.6 Principles of congestion control
• 3.7 TCP congestion control
Transport Layer 3-29
Chapter 3 outline
• 3.1 Transport-layer services• 3.2 Multiplexing and demultiplexing• 3.3 Connectionless transport: UDP• 3.4 Principles of reliable data transfer
• 3.5 Connection-oriented transport: TCP– segment structure– reliable data transfer– flow control– connection management
• 3.6 Principles of congestion control
• 3.7 TCP congestion control
Transport Layer 3-30
Chapter 3 outline
• 3.1 Transport-layer services• 3.2 Multiplexing and demultiplexing• 3.3 Connectionless transport: UDP• 3.4 Principles of reliable data transfer
• 3.5 Connection-oriented transport: TCP– segment structure– reliable data transfer– flow control– connection management
• 3.6 Principles of congestion control
• 3.7 TCP congestion control
Transport Layer 3-31
Chapter 3: Summary• principles behind transport layer
services:
– multiplexing, demultiplexing– reliable data transfer– flow control– congestion control
• instantiation and implementation in the Internet
– UDP– TCP
Next:• leaving the network
“edge” (application, transport layers)
• into the network “core”
Network Layer 4-32
Chapter 4: Network Layer
Chapter goals: • understand principles behind network layer
services:– network layer service models– forwarding versus routing– how a router works– routing (path selection)– dealing with scale– advanced topics: IPv6, mobility
• instantiation, implementation in the Internet
Network Layer 4-33
Chapter 4: Network Layer
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
Network Layer 4-34
Chapter 4: Network Layer
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
Network Layer 4-35
Chapter 4: Network Layer
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
Network Layer 4-36
Chapter 4: Network Layer
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
Network Layer 4-37
Chapter 4: Network Layer
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
Network Layer 4-38
Chapter 4: Network Layer
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
Network Layer 4-39
Chapter 4: Network Layer
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
Network Layer 4-40
Chapter 4: summary
• 4. 1 Introduction• 4.2 Virtual circuit and datagram networks• 4.3 What’s inside a router• 4.4 IP: Internet Protocol
– Datagram format– IPv4 addressing– ICMP– IPv6
• 4.5 Routing algorithms– Link state– Distance Vector– Hierarchical routing
• 4.6 Routing in the Internet– RIP– OSPF– BGP
• 4.7 Broadcast and multicast routing
5: DataLink Layer 5-41
Chapter 5: The Data Link LayerOur goals: • understand principles behind data link layer services:
– error detection, correction– sharing a broadcast channel: multiple access– link layer addressing– reliable data transfer, flow control: done!
• instantiation and implementation of various link layer technologies
5: DataLink Layer 5-42
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-43
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-44
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-45
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-Layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-46
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-Layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-47
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3 Multiple access protocols• 5.4 Link-layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches, LANs, VLANs
• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-48
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-Layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-49
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-Layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-50
Link Layer
• 5.1 Introduction and services• 5.2 Error detection and correction • 5.3Multiple access protocols• 5.4 Link-Layer Addressing• 5.5 Ethernet
• 5.6 Link-layer switches• 5.7 PPP• 5.8 Link virtualization: MPLS• 5.9 A day in the life of a web
request
5: DataLink Layer 5-51
Chapter 5: Summary• principles behind data link layer services:
– error detection, correction– sharing a broadcast channel: multiple access– link layer addressing
• instantiation and implementation of various link layer technologies
– Ethernet– switched LANS, VLANs– PPP– virtualized networks as a link layer: MPLS
• synthesis: a day in the life of a web request
5: DataLink Layer 5-52
Chapter 5: let’s take a breath• journey down protocol stack complete
(except PHY)• solid understanding of networking
principles, practice• ….. could stop here …. but lots of interesting
topics!– wireless– multimedia– security – network management
7: Multimedia Networking 7-53
Chapter 7: goals
Principles• classify multimedia applications• identify network services applications need• making the best of best effort serviceProtocols and Architectures
• specific protocols for best-effort• mechanisms for providing QoS• architectures for QoS
7: Multimedia Networking 7-54
Chapter 7 outline7.1 multimedia networking
applications7.2 streaming stored audio and
video7.3 making the best out of best
effort service7.4 protocols for real-time
interactive applications RTP,RTCP,SIP
7.5 providing multiple classes of service
7.6 providing QoS guarantees
7: Multimedia Networking 7-55
Chapter 7 outline7.1 multimedia networking
applications7.2 streaming stored audio and
video7.3 making the best out of best
effort service7.4 protocols for real-time
interactive applications RTP,RTCP,SIP
7.5 providing multiple classes of service
7.6 providing QoS guarantees
7: Multimedia Networking 7-56
Chapter 7 outline7.1 multimedia networking
applications7.2 streaming stored audio and
video7.3 making the best out of best
effort service7.4 protocols for real-time
interactive applications RTP,RTCP,SIP
7.5 providing multiple classes of service
7.6 providing QoS guarantees
7: Multimedia Networking 7-57
Chapter 7 outline7.1 multimedia networking
applications7.2 streaming stored audio and
video7.3 making the best out of best
effort service7.4 protocols for real-time
interactive applications RTP, RTCP, SIP
7.5 providing multiple classes of service
7.6 providing QoS guarantees
7: Multimedia Networking 7-58
Chapter 7 outline7.1 multimedia networking
applications7.2 streaming stored audio and
video7.3 making the best out of best
effort service7.4 protocols for real-time
interactive applications RTP, RTCP, SIP
7.5 providing multiple classes of service
7.6 providing QoS guarantees
7: Multimedia Networking 7-59
Chapter 7 outline7.1 multimedia networking
applications7.2 streaming stored audio and
video7.3 making the best out of best
effort service7.4 protocols for real-time
interactive applications RTP, RTCP, SIP
7.5 providing multiple classes of service
7.6 providing QoS guarantees
7: Multimedia Networking 7-60
Chapter 7: Summary
Principles• classify multimedia applications• identify network services applications need• making the best of best effort serviceProtocols and Architectures
• specific protocols for best-effort• mechanisms for providing QoS• architectures for QoS
– multiple classes of service– QoS guarantees, admission control
Student Notes
• See 52354_recap_student_notes.rtf