transporting voice by using ip
DESCRIPTION
Transporting Voice by Using IP. Chapter 2. Internet Overview. A collection of networks The private networks LANs, MANs, WANs Institutions, corporations, business and government May use various communication protocols The public networks ISP: Internet Service Providers - PowerPoint PPT PresentationTRANSCRIPT
Transporting Voice by Using IP
Chapter 2
2Internet Telephony
Internet Overview
A collection of networks The private networks
LANs, MANs, WANs Institutions, corporations, business and
government May use various communication protocols
The public networks ISP: Internet Service Providers Using Internet Protocol
To connect to the Internet Using IP
3Internet Telephony
Internet Overview
Interconnecting networks Routers provides the connectivity
4Internet Telephony
Overview of the IP Protocol Suite
IP A routing protocol for the passing of data
packets Must work in cooperation with higher layer
protocols The OSI seven-layer model
The top layer: usable information passed The information must be
Packaged appropriately Routed correctly And it must traverse some physical medium
5Internet Telephony
The IP suite and the OSI stack
TCP Reliable, error-free, in-sequence delivery
UDP No sequencing, no retransmission
6Internet Telephony
Internet Standards and the Process
The Internet Society A non-profit, non-governmental, international,
professional membership organization Keep the Internet alive and growing “to assure the open development, evolution,
and the use of Internet for the benefit of all people throughout the world”
The tasks Support the development and dissemination of
Internet standards Support the RD related to the Internet and
internetworking Assists developing countries Form a liaison for Internet development
7Internet Telephony
IAB The Internet Architecture Board The technical advisory group
provides overall architectural advice to IESG, IETF & ISOC
appoints IRTF chair Technical guidance, oversee the Internet
standards process
8Internet Telephony
IETF, formed in 1986 Comprises a huge number of volunteers
““We reject kings, presidents and voting. We believe inWe reject kings, presidents and voting. We believe in rough consensus and running code”, rough consensus and running code”, Dave ClarkDave Clark
Develop Internet standards standards only when people use them
Detailed technical work Working groups (>100)
avt, megaco, iptel, sip, sigtran
9Internet Telephony
IESG,The Internet Engineering Steering Group Area Directors + IETF Chair Manage the IETF’s activities Approve an official standard Can a standard advance?
10Internet Telephony
IANA,The Internet Assigned Numbers Authority Unique numbers and parameters used in Internet
standards Be registered with the IANA
IP addresses mostly delegated to IP 5 regional Address
registries domain names
deals with top level domains (TLDs) mostly delegated to DNS name registries
functions split with the creation of ICANN Internet Corporation for Assigned Names and
Numbers
11Internet Telephony
Internet Research Task Force (IRTF)Internet Research Task Force (IRTF) Focused on Focused on long termlong term problems in Internet problems in Internet Anti-Spam Crypto Forum Delay-Tolerant Networking End-to-End Host Identity Protocol Internet Measurement IP Mobility Optimizations Network Management Peer-to-Peer Routing
12Internet Telephony
Top Level View of Organization
““ the IETF”the IETF”
IRTFIRTF
IESGIESG
IANAIANAIANAIANA
RFC RFC
areaarea areaarea
areaarea
Internet Internet SocietySociety
IABIAB IASA IASA
13Internet Telephony
The Internet Standards Process
The process RFC 2026
First, Internet Draft The early version of spec. Can be updated, replaced, or made obsolete
by another document at any time IETF’s Internet Drafts directory Six-month life-time
14Internet Telephony
RFC Request for Comments An RFC number
Proposed standard A stable, complete, and well-understood spec. Has garnered significant interest May be required to implement for critical
protocols Draft standard
Two independently successful implementations
Interoperability be demonstrated Requirements not met be removed
15Internet Telephony
A standard The IESG is satisfied The spec. is stable and mature Significant operational experience A standard (STD) number
Not all RFCs are standards Some document Best Current Practices (BCPs)
Processes, policies, or operational considerations Others applicability statements
How a spec be used, or different specs work together
STD1 list the various RFCs
16Internet Telephony
IPR (Patents)IPR (Patents)
RFC 2026 revised IETF IPR rules used to require “fair & non-discriminatory” licensing some standards blocked using old process
now use standards sequence to check IPR issues require multiple implementations based on multiple
licenses to progress to Draft Standard or Internet Standard
but a worry about “submarine patents” IPR working group
clear up fuzzy language in RFC 2026 produced RFC 3978 and RFC 3979
17Internet Telephony
IPR, contd.
IETF IPR (patent) rules in RFC 3979 require disclosure of your own IPR in your own
submissions & submissions of others “reasonably and personally” known IPR
WG takes IPR into account when choosing solution
RFC 3669 gives background and guidance push from open source people for RF (royalty-
free)-only process consensus to not change to mandatory RF-only
but many WGs tend to want RF or IPR-free
18Internet Telephony
IP
RFC 791 Amendments, RFCs 950, 919, and 920 Requirements for Internet hosts, RFCs 1122,
1123 Requirements for IP routers, RFC 1812 IP datagram
Data packet with an IP header Best-effort protocol
19Internet Telephony
IP Header
Version 4
Header Length Type of Service Total Length Identification, Flags, and Fragment Offset
A datagram can be split into fragments Identify data fragments Flags
a datagram can be fragmented or not Indicate the last fragment
TTL A number of hops (not a number of seconds)
20Internet Telephony
Protocol The higher-layer protocol TCP, 6; UDP, 17
Source and Destination IP Addresses
21Internet Telephony
IP Routing
Based on the destination address Routers
Can contain a range of different interfaces Determine the best outgoing interface for a
given IP datagram Routing table
Destination IP route mask
the longest match
22Internet Telephony
Populating routing tables
Issues The correct information in the first place Keep the information current in a dynamic
environ The best path?
Protocols RIP, Routing Information Protocol IGRP, Internet Gateway Routing Protocol OSPF, Open Short Path First BGP, Border Gateway Protocol, RFC 1771
23Internet Telephony
TCP
TCP In sequence, without omissions and without
errors End-to-end confirmation, packet
retransmission, Flow control RFC 793 Break up a data stream in segments Attach a TCP header Sent down the stack to IP At the destination, checks the header for errors
Send back an ack The source retransmits if no ack within a given
period
24Internet Telephony
The TCP header
25Internet Telephony
The TCP Header
TCP Port Numbers Identifying a specific instance of a given
application A unique port number for a particular session Well-known port numbers
IANA, 0-1023 23, telnet; 25, SMTP
Many clients and a server TCP/IP Source address and port number + Destination
address and port number A socket address
26Internet Telephony
Sequence and acknowledge numbers Identify individual segments Actually count data octets transmitted A given segment with a SN of 100 and contains 150
octets of data The ack number will be 250 The SN of the next segment is 250
Other header fields Data offset: header length (in 32-bit words) URG: 1 if urgent data is included, use urgent pointer
field ACK: 1, an ACK PSH: a push function, be delivered promptly
27Internet Telephony
RST: reset; an error and abort a session SYN: Synchronize; the initial messages FIN: Finish; close a session Window
The amount of buffer space available for receiving data
Checksum 1's complement of 1's complement sum of all 16-
bit words in the TCP header, the data, and a pseudo header
28Internet Telephony
Urgent Pointer An offset to the first segment after the
urgent data Indicates the length of the urgent data Critical information to be sent to the user
application ASAP.
29Internet Telephony
TCP Connections
An examples After receiving
100, 200, 300 ACK 400
Closing a connection > FIN < ACK, FIN > ACK
30Internet Telephony
UDP
UDP Pass individual pieces of data from an
application to IP No ACK, inherently unreliable Applications
A quick, one-shot transmission of data, request/response
DNS If no response, the AP retransmit the request The AP includes a request identifier
The source port number is optional Checksum
The header, the data and the pseudo header
31Internet Telephony
UDP header
32Internet Telephony
Voice over UDP, not TCP
Speech Small packets, 10 – 40 ms Occasional packet loss is not a catastrophe Delay-sensitive
TCP: connection set-up, ack, retransmit → delays 5 % packet loss is acceptable if evenly
spaced Resource management and reservation techniques A managed IP network
In-sequence delivery Mostly yes
UDP was not designed for voice traffic
33Internet Telephony
The Real-Time Transport Protocol
RTP: A Transport Protocol for Real-Time Applications RFC 1889 RTP – Real-Time Transport Protocol RTCP – RTP Control Protocol
UDP Packets may be lost or out-of-sequence
RTP over UDP A sequence number A time stamp for synchronized play-out Does not solve the problems; simply
provides additional information
34Internet Telephony
RTCP A companion protocol Exchange messages between session users # of lost packets, delay and inter-arrival
jitter Quality feedback RTCP is implicitly open when an RTP session
is open Not mandatory
E.g., RTP/RTCP uses UDP port 5004/5005
35Internet Telephony
RTP Payload Formats
RTP carries the actual digitally encoded voice RTP header + a payload of voice samples UDP and IP headers are attached
Many voice- and video-coding standards A payload type identifier in the RTP header
Specified in RFC 1890 New coding schemes have become available See table 2-1
A sender has no idea what coding schemes a receiver could handle
36Internet Telephony
Separate signaling systems Capability negotiation during the call setup SIP and SDP A dynamic payload type may be used
Also support new coding scheme in the future The encoding name is also significant
Unambiguously refer to a particular payload specification
Should be registered with the IANA
RED, Redundant payload type Voice samples + previous samples May use different encoding schemes Cope with packet loss
37Internet Telephony
RTP Header Format
38Internet Telephony
The RTP Header
Version (V) 2
Padding (P) The padding octets at the end of the
payload The payload needs to align with 32-bit
boundary The last octet of the payload contains the
count Extension (X)
1, contains a header extension
39Internet Telephony
CSRC Count (CC) The number of contributing source
indentifiers Marker (M)
RFC 1890 The first packet of a talkspurt, after a silence
period Payload Type (PT)
RED is an exception RFC 2198, the addition of headers
Sequence number A random number at the beginning Incremented by one for each RTP packet
40Internet Telephony
Timestamp 32-bit The instant at which the first sample The receiver
Synchronized play-out Calculate the jitter The clock freq depends on the encoding
E.g., 8000Hz, TS=1/10 samples; TS=11 Support silence suppression The initial timestamp is a random number
41Internet Telephony
Synchronization Source (SSRC) 32-bit identifier The entity setting the sequence number and
timestamp Chosen randomly, independent of the network
address Meant to be globally unique within the session May be a sender or a mixer
Contributing Source (CSRC) An SSRC value for a contributor 0-15 CSRC entries
42Internet Telephony
RTP Header Extensions Accommodate the common requirements of
most media streams For payload formats that requires
43Internet Telephony
Mixers and Translators
Mixers Enable multiple media streams from different
sources to be combined An audio conference
If the capacity or bandwidth of a participant is limited Could also change the data format The SSRC is the mixer
More than one CSRC values A translator
Manage communications between entities that does not support the same coding scheme
The SSRC is the participant, not the translator
44Internet Telephony
The RTP Control Protocol (RTCP)
RTCP A companion control protocol of RTP Periodic exchange of control information
For quality-related feedback A third party can also monitor session
quality Using RTCP and IP multicast
Five type of RTCP packets Sender Report: transmission and reception
statistics Receiver Report: reception statistics
45Internet Telephony
Source Description (SDES) One or more Must contain a canonical name
Separate from SSRC which might change When both audio and video streams exist
Have different SSRCs Have the same CNAME for synchronized play-
out Regular names, such as email address or phone
number
BYE The end of participation
APP Convey application-specific functions
46Internet Telephony
Two or more RTCP packets will be combined
SRs and RRs should be sent as often as possible New receivers in a session must receive CNAME An SR/RR must contain an SDES packet A SDES packet is sent with an SR/RR even if no
data to report An example RTP compound packet
47Internet Telephony
RTCP Sender Report
SR Header Info Sender Info Receiver report blocks Option
Profile-specific extension
48Internet Telephony
Resemble to a RTP packet Version
2 Padding bit
Padding octets? RC, report count
The number of reception report blocks 5-bit
If more than 31 reports, an RR is added
PT, payload type SSRC of sender
49Internet Telephony
NTP Timestamp Network Time Protocol Timestamp
The time elapsed in seconds since 00:00, 1/1/1900 (GMT)
64-bit 32 MSB: the number of seconds 32 LSB: the fraction of a seconds (200 ps)
A primary time server NTP, RFC 1305 Station WWV, Fort Collins, Colorado, by NIST Station WWVB, Boulder, Colorado, by NIST
50Internet Telephony
RTP Timestamp Corresponding to the NTP timestamp Use the same units and has the same offset as
used for RTP timestamps For better synchronization
Sender’s packet count Cumulative within a session
Sender’s octet count Cumulative
51Internet Telephony
RR blocks
SSRC_n The source identifier
Fraction lost Fraction of packets lost since the last report issued
by this participant By examining the sequence numbers in the RTP
header Cumulative number of packets lost
Since the beginning of the RTP session Extended highest sequence number received
The sequence number of the last RTP packet received
16 lsb, the last sequence number 16 msb, the number of sequence number cycles
52Internet Telephony
Interarrival jitter An estimate of the variance in RTP packet arrival
Last SR Timestamp (LSR) The middle 32 bits of the NTP timestamp used in
the last SR received from the source in question Used to check if the last SR has been received
Delay Since Last SR (DLSR) The duration in units of 1/65,536 seconds
53Internet Telephony
RTCP Receiver Report
RR Issued by a participant who receives RTP
packets but does not send, or has not yet sent
Is almost identical to an SR PT = 201 No sender information
54Internet Telephony
RTCP Source Description Packet
Provides identification and information regarding session participants
Must exist in every RTCP compound packet Header
V, P, SC, PT=202, Length Zero or more chunks of information
An SSRC or CSRC value One or more identifiers and pieces of information
Email address, phone number, name Defined in RFC 1889 A unique CNAME
E.g., user@host
55Internet Telephony
RTCP BYE Packet Indicate one or more media sources are no
longer active Application-Defined RTCP Packet
For application-specific data For non-standardized application
56Internet Telephony
Calculating Round-Trip Time
Use SRs and RRs E.g.
Report A: A, T1 → B, T2 Report B: B, T3 → A, T4 RTT = T4-T3+T2-T1 RTT = T4-(T3-T2)-T1 Report B
LSR = T1 DLSR = T3-T2
57Internet Telephony
Calculation Jitter
The mean deviation of the difference in packet spacing at the receiver Si = the RTP timestamp for packet I Ri = the time of arrival D(i,j) = (Rj-Sj) - (Ri- Si)
The Jitter is calculated continuously J(i) = J(i-1) + (| D(i-1,i) | - J(i-1))/16
58Internet Telephony
Timing of RTCP Packets
RTCP provides useful feedback Regarding the quality of an RTP session Delay, jitter, packet loss Be sent as often as possible
Consume the bandwidth Should be fixed at 5%
An algorithm, RFC 1889 Senders are collectively allowed at least 25%
of the control traffic bandwidth The interval > 5 seconds 0.5 – 1.5 times the calculated interval A dynamic estimate the avg RTCP packet size
59Internet Telephony
IP Multicast
An IP diagram sent to multiple hosts Conference To a single address associated with all
listeners Multicast groups
Multicast address Join a multicast group
Inform local routers Routing protocols
Support propagation of routing information for multicast addresses
Minimize the number of diagrams sent
60Internet Telephony
IPv4 Multicast addresses: 224.0.0.0 –
239.255.255.255 224.0.0.1 all hosts on a local subnet 224.0.0.2 all routers on a local subnet 224.0.0.5 all routers supporting OSPF 224.0.0.9 all routers supporting RIP v.2
IGMP, Internet Group Message Protocol Advertise membership in a group to routers RFC 1112, 2236
61Internet Telephony
IP Version 6
The explosive growth of the Internet IPv4 address space, 32-bit Real-time and interactive applications
Expanded address space, 128 bits Simplified header format Improved support for headers and
extensions Flow-labeling capability
Better support at the IP level for real-time ap Authentication and privacy
At the IP level
62Internet Telephony
IP Version 6 Header
63Internet Telephony
IP Version 6 Header
Version 6
Traffic Class, 8-bit For the quality of service
Flow Label, 20-bit Label sequences of packets A flow := source address, destination
address, flow label 0, no special handling
64Internet Telephony
Payload Length, 16-bit unsigned integer The length of payload in octets Header extensions are part of the payload
Next Header, 8-bit The next higher-layer protocol
Same as the IPv4 The existence of IPv6 header extensions
Hop Limit, 8-bit unsigned integer The TTL field of the IPv4 header
Source and Destination Addresses, 128-bit
65Internet Telephony
IP version 6 addresses
XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
X is a hexadecimal character E.g., 1511:1:0:0:0:FA22:45:11
Leading zeros are omitted = 1511:1::FA22:45:11 0:0:0:0:AA11:50:22:F77 = ::AA11:50:22:F77
“::” can appears only once Should not generally require significant
changes to up-layer protocols But the checksum calculation in UDP and TCP
includes a pseudo header
66Internet Telephony
IP version 6 special addresses
The all-zeros address, :: An unspecified address; a node does not yet know its
address The loopback address, ::1
On a virtual internal interface IPv6 address with embedded IPv4 address (type
1) 96-bit zeros + 32-bit IPv4 address ::140.113.17.5
IPv6 address with embedded IPv4 address (type 2)
80-bit zeros + FFFF + 32-bit IPv4 address 0:0:0:0:0:FFFF:140.113.17.5 ::FFFF:140.113.17.5
67Internet Telephony
IP Version 6 Header Extensions
Extension Headers Are not acted upon by intermediate nodes
With one exception Next Header
The type of payload carried in the IP datagram The type of header extension Each extension has its own next header field An example
68Internet Telephony
Header extension
Use the next header field
69Internet Telephony
Hop-by-hop extension
The exception header extension Examined and processed by every intermediate
node If present, must immediately follow the IP header Of variable length
Next header Length
in units of eight octets, not including the first eight octets
Options TLV (Type-Length-Value) format
8-bit, 8-bit (in units of octets), variable length Type [0:2] of special significance
70Internet Telephony
Hop-by-hop header extension
71Internet Telephony
Type[0:1] 00 skip this option and continue processing the
header 01 discard the packet 10 discard the packet and send an ICMP Parameter
Problem, Code 2 message to the originator of the packet
11 do above only if the destination address in the IP header is not a multicast address
Type[2] 1, the option data can be changed 0, cannot
72Internet Telephony
Destination options extension Has the same format as the hop-by-hop
extension Only the destination node examine the
extension Header type = 60
Routing Extension A routing type field to enable various routing
options Only routing type 0 is defined for now Specify the nodes that should be visited Next header Length
73Internet Telephony
Routing Extension
74Internet Telephony
Routing type Segments Left
The number of nodes that still need to be visited A list of IP addresses needs to be visited Is this type of header analyzed by
intermediate node? Yes or no A->Z, 3, (B,C,D) A->B, 3, (C,D,Z) A->C, 2, (B,D,Z) by B A->D, 1, (B,C,Z) by C A->Z, 0, (B,C,D) by D
75Internet Telephony
Interoperation IPv4 and IPv6
IPv4 and IPv6 will coexist for a long time IPv4 nodes IPv6 nodes IPv6 nodes IPv6 nodes via IPv4 networks IPv4 nodes IPv4 nodes via IPv6 networks
IPv4-compatible nodes with IPv4-compatible addresses at the boundaries of IPv6 networks IPv6 in IPv4 packets
76Internet Telephony
Interoperation IPv4 and IPv6
IPv4-compatible nodes with IPv4-compatible addresses at the boundaries of IPv6 networks IPv6 in IPv4 packets