Transcript Networks
Networks
What is a Network?
a set of applications and/or switches connected by communication
links
many ``topologies'' possible:
local area networks (LAN) versus wide-area networks (WAN)
many different media: fiber optic, coaxial cable, twisted pair, radio,
satellite
for applications: topology and media unimportant
Networks:
What is a Network?
a software/hardware infrastructure:
original justification: allows shared access to computing resources (e.g.,
computers, files, data)
a medium through which geographically dispersed users communicate
(e.g., email, teleconferencing)
a medium through distributed services/applications are implemented
an electronic village
an information highway, national information infrastructure
cyberspace - "a consensual [environment] experienced daily by billions of
operators, in every nation, ...." Hotlink: Wiliam Gibson on Cyberspace
Networks:
Packet-Switching
data entering network divided into chunks called "packets''
packets traversing network share network resources (e.g., link
bandwidth, buffers) with other packets
on demand resource use: statistical resource sharing
resources demands may exceed resources available:
e.g., A and B packets arrive at R1, destined for C
resource contention: queueing (waiting), delay
Networks:
Circuit Switched Networks
all resources (e.g. communication links) needed by call dedicated to
that call for duration
example: telephone network
resource demands may exceed resources available
A and B want to call C
resource contention: blocking (busy signal)
drawbacks: ??
advantages: ??
Networks:
Why statistically share resources?
More efficient
example: 1 Mbit/sec link; each user requires 100 Kbits/sec when
transmitting; each user has data to send only 10% of time.
circuit-switching: give each caller 100 Kbits/sec capacity. Can support 10
callers.
packet-switching: with 35 ongoing calls, probability that 10 or more
callers simultaneously active < 0.0004!
Can support many more callers, with small probability of` "contention.''
if users are ``bursty'' (on/off), then packet-switching is
advantageous
Networks:
Elements of a Network
communication links:
point-to-point (e.g., A-to-B)
broadcast (e.g.,: Ethernet LAN)
host: computer running applications which use network (e.g.: H1)
router: computer (often w/o applications-level programs) routing
packets from input line to output line. (e.g., C)
gateway: a router directly connected to two+ networks (e.g. A)
network: set of nodes (hosts/routers/gateways) within single
administrative domain
internet: collection of interconnected networks
Networks:
Protocols
protocol: rules by which active network elements (applications, hosts,
routers) communicate with each other
protocols define :
format/order of messages exchanged
actions taken on receipt of message
rules by which two or more people communicate to provide a service,
or to get something done
protocols in every day life:
Networks:
Layered Architecture
complex system architecture simplified by layering.
layer N relies on services of layer N-1 to provide a service to layer
N+1
service from lower layer independent of how that service
implemented
information/complexity hiding
layer N change doesn't affect other layers
interfaces define how services requested
Networks:
Layered network architecture
the network consists of geographically distributed hardware/software
components
a distributed layered view:
Networks:
Layering and protocols
peer entities (e.g., processes) in layer N provide service by
communicating (sending "packets") with each other, using
communication service provided bylayer N-1.
logical versus physical communication:
Networks:
The Internet and ISO/OSI reference models
ISO = International Standards Organisation
OSI = Open System Interconnection
Networks:
OSI reference model
Physical Layer – Concerned with transmitting of raw bits over a
communication channel. Common issues are: Voltage, bit duration,
simplex, duplex, full duplex, connection establishment, cables and
connectors
Data Link Layer – 1 and 0 organised into packets or frames and error
detection and correction applied.
Network Layer – Data is organised into packets or frames and
switching, queuing, routing and congestion control is applied.
Transport Layer – Multiplexing and demultiplexing of data from/to
different sources. Flow control of the source.
Session Layer – Connection establishment, connection management,
connection tear-down.
Presentation Layer – Data compression encoding and decoding,
security encryption, format conversion
Application layer – commerce, betting, entertainment applications.
Networks: Layers of a protocol architecture
Application, socket and presentation layers
application layer
process-to-process communication
examples: WWW, email, teleconferencing, info. retrieval
socket layer (Internet only)
buffering and delivery of data at end systems
presentation layer (OSI only)
conversion of data to a common format (e.g., little endian versus bigendian byte orders, integer and floating point numbers).
Internet stack: data conversion a user-level concern
Networks: Layers of a protocol architecture
Session and Transport layers
session layer (OSI only)
session set up (e.g., authentication), recovery from failure (broken
session)
a "thin" layer
transport layer
transport service: end-to-end delivery of data
may multiplex several streams from higher layers
sender/receiver speed matching
Internet: TCP and UDP
Networks: Layers of a protocol architecture
Data Link and Physical layers
network layer
at end hosts: start packets on their way
at routers: control packet routing
bottleneck avoidance, congestion control
Internet: IP packets, BGP, RIP
Networks: Layers of a protocol architecture
Data Link and Physical layers
data link layer
point-to-point error free communication over a single link
multiaccess LAN protocols
speed matching between sender/receiver
Ethernet, HDLC, PPP
physical layer:
transmitting raw bits (0/1) over media
Networks:
Internetworks: the Internet
an internet: interconnection of many networks
a network of networks
each network administered separately
the Internet: each network runs same software: the Internet
protocols
Networks:
Protocol packets
packet: unit of data exchanged between protocol entities in a given
layer
data at one layer encapsulated in packet at lower layer
"envelope within envelope"
Networks:
Generic issues in a layer
error control: make "channel" more reliable
flow control: avoid flooding slower peer
fragmentation: dividing large data chunks into smaller pieces;
reassembly
multiplexing: several higher level session share single lower level
connection
connection setup: handshaking with peer
addressing/naming: locating, managing identifiers associated with
entities
Networks:
IP Networks – version 4
The Internet Protocol (IP) provides unreliable, connectionless packet
delivery.
IP is connectionless because it treats each packet of information
independently.
IP is unreliable because it does not guarantee delivery. That is, it
does not require acknowledgments from the sending host, the
receiving host, or intermediate hosts.
IPv4 addresses consists of four 8-bit words:
Addresses are represented as four 8-bit hexadecimal words, each
separated by a colon e.g. 38:5F:CA:2E
Networks:
IP Networks – version 4
Networks:
IP Networks – version 4
Version: The IP version number, 4
Length: The length of the datagram header in 32-bit words
Type of service: Contains five subfields that specify the precedence,
delay, throughput, reliability, and cost desired for a packet.
Total length: The length of the datagram in bytes including the
header, options, and the appended transport protocol segment or
packet.
Identification: An integer that identifies the datagram.
Flags: Controls datagram fragmentation together with the identification field.
The flags indicate whether the datagram may be fragmented, whether the
datagram is fragmented, and whether the current fragment is the final one.
Fragment offset: The relative position of this fragment measured from the
beginning of the original datagram in units of 8 bytes.
Time to live: How many routers a datagram can pass through. Each router
decrements this value by 1 until it reaches 0 when the datagram is
discarded. This keeps misrouted datagrams from remaining on the Internet
forever.
Networks:
IP Networks – version 4
Protocol: The high-level protocol type.
Header checksum: A number that is computed to ensure the integrity
of the header values.
Source address: The 32-bit IPv4 address of the sending host.
Destination address: The 32-bit IPv4 address of the receiving host.
Options: A list of optional specifications for security restrictions, route
recording, and source routing. Not every datagram specifies an
options field.
Padding: Null bytes which are added to make the header length an
integral multiple of 32 bytes as required by the header length field.
Networks:
IP Networks – version 6
IPv6 is the latest evolution of the Internet Protocol from IPv4.
IPv4 is limited by two factors:
The Internet is running out of addresses to assign. In fact, the assigned
address space is actually very sparsely populated but there is no
satisfactory way of releasing the unused addresses without seriously
complicating routing or disrupting existing networks.
The 32-bit addresses used by IPv4 provides insufficient flexibility for
global Internet routing. The deployment of Classless InterDomain
Routing (CIDR) has extended the lifetime of IPv4 routing by a number of
years, but the effort required to manage routing continues to increase.
Even if IPv4 routing could be scaled up, the Internet will eventually
run out of network numbers.
IPv6 extends the maximum number of Internet addresses by using
128-bit addressing.
As both IPv4 and IPv6 protocols may coexist on the same network,
providing an orderly migration from IPv4 to IPv6.
IPv6 has a simplified packet header and improved options.
Networks:
IP Networks – version 6
Networks:
IP Networks – version 6
IPv6 addresses consists of eight 16-bit words:
Addresses are represented as eight 16-bit hexadecimal words, each
separated by a colon e.g. 3829:5FAB:CA27:2EB2:AB23:923C:FAB4:5469
“IPv4-mapped IPv6 address'' has the following format:
0000:0000:0000:0000:0000:FFFF:x1.a2x.x3.x4
IPv6 has three types of addresses:
A “unicast address'' uniquely identifies an interface and a system.
A “multicast address'' uniquely identifies a number of interfaces and
systems that belong to a multicast group.
An “anycast address'' is an address that has a single sender, multiple
listeners, and only one responder (normally the “nearest'' one, depending
on the routing protocols' measure of distance). For example, several web
servers may listen on an anycast address. When a request is sent to this
address, only one responds.
Networks:
IP Networks v6: Global Unicast Address format
TLA ID: Top-level aggregation identifier will be used to divide the
address space into geographical regions and major subdivisions of
these such as countries, states, and broad organizational types.
Routers at the top level will have a routing table entry for every
active TLA ID as well as additional lower-level entries for their TLA.
NLA ID: Next-level aggregation identifier assigned by the RIRs
(Regional Internet Registries) to service providers and large
organizations. The NLA will be used to divide the address space
selected by a TLA ID between Internet service providers (ISPs) and
individual large organizations such as governments and multinational
companies.
SLA ID: Site-level aggregation identifier assigned within an
organization. The SLA allows each site to allocate up to 65,536
subnets per NLA ID. Organizations that require additional subnets
can achieve this by aggregating ranges of NLA IDs.
Interface ID: Identifies an individual interface on a system.
Networks:
IP Networks v6: Extension Header
Specifically, IPv6 omits the following fields from IPv4:
header length (the length is constant)
identification
flags
fragment offset
header checksum
IPv6 options improve over IPv4 by being placed in separate
extension headers that are located between the IPv6 header and the
transport-layer header in a packet.
Newly defined extensions can be integrated more easily into IPv6
extension headers:
hop-by-hop options that apply to each hop (router) along the path
routing header for loose/strict source routing (used infrequently)
define the packet as a fragment and contains information about the fragmentation
(IPv6 routers do not fragment)
IP Security authentication
IP Security encryption
destination options for the destination node (ignored by routers)
Networks:
IP Networks v6: Extension Header
IPv6 uses the priority field in the IP header to provide an explicit priority
definition. A node can set this value to indicate the relative priority of a
particular packet or set of packets. The node, routers, or the destination host
can use the value to decide what to do with the packet, such as letting it
pass or dropping it.
Congestion-controlled traffic is defined as traffic that responds to congestion
through a “back-off'' or other limiting algorithm. Priorities for congestioncontrolled traffic are:
0
1
2
3
4
5
6
7
uncharacterized traffic
“filler'' traffic such as netnews
unattended data transfer such as electronic mail
reserved
attended bulk transfer such as FTP
reserved
interactive traffic such as telnet
control traffic such as routing protocols
Networks:
IPv6 over IPv4 using Tunneling
Tunneling allows the existing IPv4 routing infrastructure to carry IPv6 traffic.
Dual-stack hosts and routers (that support both IPv4 and IPv6) can tunnel
IPv6 datagrams over regions of IPv4 routing topology by encapsulating the
IPv6 datagrams within IPv4 packets.
Networks:
Digital Video Broadcast - Terrestrial, Satellite, Cable
Video coder
Audio coder
1
Data coder
Service components
Convolutional
code
RS (204, 188)
2
Transport
multiplexer
MUX
adaptation
and
energy
dispersal
Outer
coder
Convolutional
interleaver
Inner
coder
...
Satellite Modulation: Quadrature Phase Shift Keying (QPSK)
Terrestrial Modulation: Orthogonal Frequency Division Multiplexing (OFDM)
Cable Modulation: Quadratrure Amplitude Modulation (QAM)
Program
multiplexer
n
Services
MPEG-2
Source coding and multiplexing
Satellite channel adapter
Baseband
shaping
QPSK
modulator
To the RF
satellite
channel
Networks:
Digital Video Broadcast - Terrestrial, Satellite, Cable
Compression: The audio-visual source material is compressed to get a low enough bit rate to make
economic use of available transmission bandwidth.
Packetisation and synchronisation: Each Elementary Stream (ES) is split into access units (AU),
(audio frames or pictures). AUs are packetised into a Packetised (PES) packet, by adding a header
with information about the content of the packet. PES structure uses time stamps.
Multiplexing: The MPEG-2 multiplexes PESs in a synchronous way into one transport stream which
contains all data required by a receiver to recognise services (PSI/SI), decode and present
synchronously audio-visual material etc.
Error Protection: DVB has made several specifications in order to adapt the stream to different
networks, e.g. satellite, terrestrial, and cable
Modulation and transmission: DVB specifies how the signal is adapted to different networks.
Source material
(e.g. uncompressed audio and video)
Compression
(making elementary streams)
e.g. specified in ISO/IEC 13818-2
and ISO/IEC 13818-3
PES layer
(making packetized elementary streams)
specified in ISO/IEC 13818-1
TS layer/Multiplexing
(making transport streams)
Link layer
(protecting the transport streams)
specified by DVB
Physical layer
(transport to receiver side)
Networks:
Digital Video Broadcast - Packetised Elementary Streams
The PES packet consists of a header and a payload and may be of variable
length up to 64 kBytes. However, PES packets containing a video elementary
stream may have unbounded or unspecified PES packet length.
Networks: Digital Video Broadcast: Presentation and
Decoding Time Stamps
When MPEG-2 bi-directional coding is used, a picture may have to be
decoded some time before it is presented, so that it can be used as a source
of data for a B-picture.
The decoder needs to know when to decode a frame and when to display it.
Consequently, two types of time stamps exists:
Presentation Time Stamp (PTS) – indicates the time when a picture must be
presented
Decoding Time Stamp (DTS) – indicates the time
Networks: Transport Stream
Transport layer converts PES packets and sections into small 188 bytes
packets of constant size.
Structure: 188 bytes, min 4 bytes header, adaptation field (up to 183
bytes)
Networks: Transport Stream
Program Specific Information – PSI tables
Program Association Table: (PID=0x0000) List of all available programs
(i.e. services) in a TS. Provides the link between the program number
and the PMT PIDs. Program number 0 always carry the NIT.
Program Map Table: (PID= Assigned in PAT) List of elementary streams
belonging to a program. Also contains info (=descriptors) about each
program and individual ESs.
PAT
PMT
Prg
PID
PID
type
1
2
3
20
21
22
31
32
audio
video
PATSection
PMTSection
PES-packet
(video)
PES-packet
(audio)
TSpackets
PID = 0
PID = 20
PID = 32
PID = 32
PID = 31
Networks: Transport Stream
Service Information – SI tables
Service Description Table: (PID= 0x0011) Contains data describing the
services in the transport stream, e.g. service name and provider.
PAT
SDT
Prg
PID
Prg
1
2
3
20
21
22
1
2
3
PATSection
Descr
SDTSection
Tag = 84 (Content descriptor)
Length = 8
Tag ==>85Movie:Thriller
(Parental Rating
Data
Descriptor)
Length = 6
PES-packet
PES-packet
Data => Minimum
age = 18
(video)
(audio)
TSpackets
PID = 0
PID = 17
PID = 32
PID =32
PID = 31
Networks: Transport Stream
Other Service Information – SI tables
Network Information Table: (PID= 0x0010) Contains information about
the physical network carrying the transport stream. Also included are
details of other transport streams.
Service Description Table: (PID= 0x0011) Contains data describing the
services in the transport stream, e.g. service name and provider.
Bouquet Association Table: (PID= 0x0011) Provides information about
a collection of services marketed as a single product. Services may be
located in different transport streams.
Event Information Table: (PID= 0x0012) Contains information about
program names, start time, duration etc. both on the actual TS and
other transport
Running Status Table: (PID= 0x0013) Contains information about the
status of an event
Time and Date Table: (PID= 0x0014) Carries the UTC-time and date.
Time Offset table: (PID= 0x0014) Carries the UTC-time and date
information and the local time offset.
….. and other tables
Networks:
DVB - Data Broadcasting Profiles
Data piping: simple, asynchronous, end-to-end delivery of data through DVB
Data streaming: streaming-oriented, end-to-end delivery of data either
asynchronously, synchronously or synchronised with other data streams (e.g.
audio and video) through DVB
Multiprotocol encapsulation (MPE): for services that require transmission of
datagrams of communication protocols via DVB
Data carousels: for data services that require periodic, cyclical transmission of
data modules through DVB
Object carousels: for data services that require periodic, cyclical broadcasting
of Digital Storage Media – Command and Control (DSM-CC) User-User objects
through DVB
Applications
Application
level interface
Service
specific
Service
specific
Service
specific
Service
specific
Datagram
spec. (e.g.
IP/IPX)
DVB multiprotocol
encaps.
DVB
data
streaming
DVB
data
piping
DSM-CC
priv. data
PES
DVB
data
carousel
Service
specific
DVB
object
carousel
: Service specific
DSM-CC
object
carousel
: DSM-CC defined
DSM-CC data carousel
Section
PES
MPEG-2 Transport Stream
Application area:
Data
piping
Data
streaming
Multi-protocol
encapsulation
Data
carousel
Object
carousel
: DVB defined
: MPEG defined