Fundamentals of Networking - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

Fundamentals of Networking

Description:

Transport entity sets FIN flag on last segment sent. Abrupt termination ... state sends last data segment, followed by FIN ... sequence number with FIN ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 62
Provided by: roma60
Category:

less

Transcript and Presenter's Notes

Title: Fundamentals of Networking


1
Fundamentals of Networking Telecommunications
  • Class 11
  • TCP/IP Transport Application Layers

2
Introduction to the Transport Layer
  • What does the transport layer do?
  • Provides a general service for end-to-end
    transport of data in a way that shields the users
    from the details of the underlying network(s)
  • Two basic Transport Layer varieties
  • Connection-oriented (underneath web email)
  • Connectionless (underneath network management and
    streaming voice/video)

3
Connection-Oriented Transport Services
  • With connection-oriented transport services you
    want to provide a reliable sequencing network
    service
  • Four basic requirements need to be addressed with
    a connection-oriented transport service
  • Addressing
  • Multiplexing
  • Flow Control
  • Connection Establishment Termination

4
Addressing
  • Target user specified by
  • User identification
  • Transport entity identification
  • Host address
  • Network number
  • How to get addressing information?
  • Know address ahead of time (static configuration)
  • Well known addresses
  • Name server
  • Sending process request to well known address

5
Multiplexing
  • Multiple users employ same transport protocol
  • User identified by port number or service access
    point (SAP)
  • May also multiplex with respect to network
    services used
  • Example multiplexing a single virtual X.25
    circuit to a number of transport service users
  • X.25 charges per virtual circuit connection time
    (sharing to reduce cost)

6
Flow Control
  • Flow control in an internet can be difficult for
    two reasons
  • Long transmission delay between transport
    entities
  • Variable transmission delay and paths
  • Why is flow control important?
  • Systems in packet networks need to buffer data
  • Buffers at all system layers can get filled up
  • Receiver flow control techniques
  • Do nothing
  • Refuse to accept more segments
  • Fixed sliding-window protocol
  • Credit scheme

7
Connection Establishment and Termination
  • Fundamental requirement for connection-oriented
    protocols
  • Connection establishment has three purposes
  • Allow each end to know the other exists
  • Negotiation of optional parameters
  • Triggers allocation of transport entity resources
  • All connections set up by mutual agreement
    (handshake)
  • Need to deal with several scenarios
  • Failed connection establishment
  • Graceful disconnect
  • Not-so-graceful disconnect (usually a reset or
    abort)

8
Transport Layer Implementations TCP UDP
  • The Transmission Control Protocol (TCP)
  • Connection oriented transport provides reliable,
    sequenced streaming delivery with two
    enhancements
  • Data Push
  • Urgent Data signal
  • Specified in RFC-793 with a number of later RFCs
    outlining improvements
  • Besides the transfer protocol, defines
    implementation-dependent service request/response
    primitives
  • User Datagram Protocol (UDP)
  • Connectionless transport service
  • Specified in RFC-768
  • Both transfer protocol service primitives

9
TCP Header
10
TCP Header Fields
  • Source Destination Ports (transport-layer
    addresses)
  • Flow Error Control Fields
  • Sequence Number
  • Acknowledgement Number
  • Window Size
  • Prioritization Fields
  • Urgent Pointer
  • Offset
  • URG PSH bits
  • Control Bits SYN, FIN, ACK, RST
  • Checksum checks header data
  • Options (e.g. Window Scale, Selective Reject,
    MSS)

11
TCP Mechanisms (1)
  • Connection establishment
  • Usually a three way handshake
  • Between pairs of ports (must be a one-to-one
    relationship!)
  • One port can connect to multiple destinations
  • Allows the synchronization (hence the SYN bit) of
    sequence numbers

12
TCP Mechanisms (2)
  • Data transfer
  • Logical stream of octets
  • Bytes numbered modulo 223
  • Flow control by credit allocation of number of
    octets
  • Data buffered at transmitter and receiver

13
TCP Mechanisms (3)
  • Connection termination
  • Graceful close
  • TCP users issues CLOSE primitive
  • Transport entity sets FIN flag on last segment
    sent
  • Abrupt termination by ABORT primitive
  • Entity abandons all attempts to send or receive
    data
  • RST segment transmitted

14
TCP Unreliable Network Service
  • The challenge in internetworking as currently
    implemented is providing reliable transport
    service over an unreliable network service
  • Seven issues to deal with
  • Ordered Delivery
  • Retransmission Strategy
  • Duplicate data detection
  • Flow control
  • Connection Establishment
  • Connection Termination
  • Crash Recovery

15
TCP Ordered Delivery
  • Segments can arrive out of order -- how to deal
    with this?
  • Number segments sequentially
  • TCP numbers each octet sequentially
  • Segments are numbered by the first octet number
    in the segment

16
TCP Retransmission Strategy
  • Two events dictate the retransmission of a
    segment
  • Segment damaged in transit
  • Segment fails to arrive
  • Transmitter does not know of failed delivery
  • Receiver must acknowledge successful receipt
  • Use cumulative acknowledgement
  • Time out waiting for ACK triggers
    re-transmission
  • Can use either a fixed timer or an adaptive
    timing mechanism

17
TCP Duplication Detection
  • If ACK lost, segment is re-transmitted
  • Receiver must recognize duplicates if the lost
    segment was actually delayed
  • Duplicate received prior to closing connection
  • Receiver assumes ACK lost and ACKs duplicate
  • Sender must not get confused with multiple ACKs
  • Sequence number space large enough to not cycle
    within maximum life of segment
  • Duplicate received after closing connection

18
TCP Flow Control
  • A credit allocation scheme is used in TCP
  • If ACK/credit segment lost the protocol usually
    resynchronizes, but there can be deadlock
    conditions
  • Problem if ANi, W0 closing window
  • Send ANi, Wj to reopen, but this is lost
  • Receiver think windows open, but sender does not
  • Solution use window timer
  • If timer expires, send something (window probe)
  • Could be re-transmission of previous segment

19
TCP Connection Establishment
  • Two way handshake
  • A send SYN, B replies with SYN
  • Lost SYN handled by re-transmission
  • Can lead to duplicate SYNs
  • Ignore duplicate SYNs once connected
  • Delayed data segments can cause connection
    problems
  • Segment from old connections
  • Start segment numbers far removed from previous
    connection

20
TCP Connection Establishment
21
TCP Connection Termination
  • Entity in CLOSE WAIT state sends last data
    segment, followed by FIN
  • Problem FIN arrives before last data segment
  • Receiver accepts FIN
  • Closes connection
  • Loses last data segment
  • Solution associate sequence number with FIN
  • Receiver waits for all segments before FIN
    sequence number
  • Loss of segments and obsolete segments
  • Must explicitly ACK FIN

22
TCP Connection State Diagram
23
TCP Crash Recovery
  • After restart all state info is lost
  • Connection is half open
  • Side that did not crash still thinks it is
    connected
  • Close connection using persistence timer
  • Wait for ACK for (time out) (number of retries)
  • When expired, close connection and inform user
  • Send RST i in response to any i segment arriving
  • User must decide whether to reconnect
  • Problems with lost or duplicate data

24
TCP Implementation Notes
  • While TCP is a standard there are a number of
    important implementation issues that arent
    specifically mandated
  • Sending
  • When to send buffered data
  • Delivery
  • When to deliver buffered data to destination
    process
  • Accept
  • In order or in windows?
  • Retransmission
  • First-only, batch, or individual?
  • Acknowledgements
  • Immediate or cumulative?

25
The User Datagram Protcol
  • Commonly known as UDP
  • Specified in RFC-768
  • Connectionless service for use by application
    level procedures
  • Provides unreliable delivery service
  • Delivery and duplication control not guaranteed
  • Reduced overhead
  • Used for many important applications including
    network management (SNMP) and streaming
    applications (RTP)

26
Uses for UDP
  • Inward data collection
  • Outward data dissemination (particularly
    multi-point)
  • Request-Response
  • Real time applications (very important)
  • For applications that are designed with
    reliability mechanisms built-in

27
UDP Services
  • Addressing
  • Uses ports similar to TCP
  • Multiplexing
  • Error checking
  • Uses simple checksum scheme like TCP
  • Error checking by UDP is optional in practice it
    is rarely used

28
UDP Header
29
TCP/IP Application Layer
  • The Hypertext Transfer Protocol (HTTP)

30
TCP/IP Application Layer
  • HTTP and the World Wide Web
  • One of the fundamental protocols for the Web
  • Provides application-layer transport of WWW
    sessions presentation/markup provided by
    HTML/XML
  • Why called Hypertext?
  • Thats the terminology for linked text on the
    Internet
  • HTTP can transport anything not just hypertext!
  • Current standard is HTTP Version 1.1 (RFC 2616)
  • The World Wide Web consortium (W3C) takes the
    lead on WWW-related standards

31
TCP/IP Application Layer HTTP
  • HTTP Operation
  • A client/server transaction-oriented protocol
  • Is stateless each transaction is treated
    independently
  • Uses TCP for reliable transport
  • Very flexible transports audio, video, text,
    applications, etc.
  • Operational Modes
  • Direct Client/Server
  • Proxy
  • Gateway
  • Tunnel
  • Caching

32
HTTP Operational Modes
33
TCP/IP Application Layer HTTP
  • Caching
  • Very important to efficient operation of the WWW
  • Stores past response information can serve new
    requests that match without transferring
    information from the original source
  • Found in clients too not just in servers and
    dedicated network appliances
  • Directives in content can be used to prohibit
    caching as well as limit the time a cached copy
    is valid

34
TCP/IP Application Layer HTTP
  • HTTP Messages
  • Structure of requests responses exchanged
  • Earlier HTTP versions used simple
    request/response types
  • Full versions provide a complete set of headers
    for content negotiation media identification
  • Headers follow this format ltNamegtltValuegt
  • Basic Message Structure

35
TCP/IP Application Layer HTTP
  • A Typical HTTP Transaction Request
  • Must have Request-Line but can also include
    general, response, entity headers as well as an
    entity body
  • Request-Line follows the following structure
  • ltMethodgtltspgtltURLgtltspgtltHTTP-versiongtltCRLFgt
  • Example GET http//www.jhu.edu HTTP-1.1
  • Other Common Request Methods
  • OPTIONS
  • HEAD
  • POST
  • Request Header Fields
  • Accept-Charset/Accept-Encoding
  • From

36
TCP/IP Application Layer HTTP
  • A Typical HTTP Transaction Response (1)
  • Must have Status Line but can also include
    general, response, entity headers as well as an
    entity body
  • Response Status Line Structure
  • ltHTTP-VergtltspgtltStatus CodegtltspgtltReasongtltCRLFgt
  • Status Codes
  • Three-digit numeric code specifying command
    response
  • Comes in five general categories
  • Informational (1xx Example is Continue)
  • Successful (2xx Example is 200 OK)
  • Redirection (3xx Example is 305 Use Proxy)
  • Client Error (4xx Example is 404 Not Found)
  • Server Error (5xx Example is 500 Internal
    Server Error)

37
TCP/IP Application Layer HTTP
  • A Typical HTTP Transaction Response (2)
  • Response Header Fields
  • Additional information beyond the Status Line (if
    needed)
  • Examples Location and Retry-After
  • Entity Header Fields
  • Provides info about the Body or if no Body
    present, about the request (fields and format
    based on MIME)
  • Examples
  • Content-Type
  • Content-Encoding
  • Expired
  • Entity Body
  • An arbitrary string of bytes- can be audio, text,
    binary data, etc.

38
TCP/IP Application Layer HTTP
  • Example
  • Telnet to www.casl.umd.edu at Port 80
  • Issue the following command method
  • HEAD http//www.casl.umd.edu HTTP-1.1
  • The server returns the following response
  • HTTP/1.1 200 OK
  • Date Sun, 26 Nov 2006 180550 GMT
  • Server Apache
  • X-Powered-By PHP/4.3.10
  • Connection close
  • Content-Type text/html charsetISO-8859-1
  • Connection to host lost.

39
TCP/IP Application LayerVoice Over IP (VoIP)
40
What does VoIP mean Really?
Dedicated Transport Network. Very few decisions
made during transit. Strict schedule with
Guaranteed arrival times. DESIGNED
SPECIFICALLY FOR VOICE
Mixed Use Network. Many decisions along the way.
Best effort. Good Luck! DESIGNED SPECIFICALLY
FOR DATA
41
Over the Internet / WAN
42
Over the LAN
43
Over Wireless
  • Lately referred to as VoWiFi (Voice over WiFi)
  • Also known as -- VoWIP or VoWLAN
  • VoIP on an 802.11 wireless network.

44
  • How Does VoIP Work?

45
The signal is first encoded
  • Standard Digital Voice Encoding Methods
  • G.711 - Pulse code modulation (PCM) of voice
    frequencies on an 64-kbps channel
  • G.721 32-kbit/s adaptive differential pulse
    code modulation (ADPCM)
  • G.722 - 7 kHz audio-coding within 64-kbit/s
  • G.722.1 - Coding at 24 and 32-kbit/s for
    hands-free operation in systems with low frame
    loss
  • G.722.2 - Wideband coding of speech at around
    16-kbit/s using adaptive multi-rate wideband
    (AMR-WB)
  • G.726 - 40, 32, 24, 16-kbit/s -- ADPCM
  • G.727 - 5-, 4-, 3- and 2-bit/sample embedded
    ADPCM
  • G.728 - Coding of speech at 16-kbit/s using
    low-delay code excited linear prediction
  • G.729 - Coding of speech at 8-kbit/s using
    conjugate-structure algebraic-code-excited
    linear-prediction (CS-ACELP)
  • Compare to CD is sampled 44,100/sec at 16 bits
    per sample in Stereo (176.4 Kbytes/sec data
    stream)

46
Packetize and Send Across the Network!
47
VoIP Protocols H.323
  • An umbrella suite of protocols defined by ITU for
    real-time audio, video, and data communications
    over packet networks.
  • Cumbersome but the first widely used standard for
    VoIP.
  • Components Terminals, Gateways, Gatekeepers,
    Multipoint Control Units.
  • H.245 exchanging terminal capabilities. H.225
    call control. RTP sending payload. G.711 audio
    encoding, T.120 data sharing, etc.

48
VoIP Protocols SKINNY
  • SKINNY Ciscos version of H.323
  • SCCP Skinny Client Control Protocol. For
    control between endpoints and the Cisco Call
    Manager
  • Proprietary, though Asterisk open source VoIP
    call management software supports the protocol
  • Cisco Phones use CDP (Cisco Discovery Protocol)
    to establish VLAN connections
  • Uses RTP (Real-time Transport Protocol) for
    transport of voice payload

49
VoIP Protocols SIP
Session Initiation Protocol (RFC-3261)
  • Used to create, modify, and terminate real-time
    media sessions supports a number of different
    session types
  • Telephone, Video, IM capable
  • Main protocol includes call routing, setup,
    teardown, and redirection
  • Textual encoding, E-mail style headers, HTTP
    style error codes. URL addressing (sipuser_at_host)
  • Widely adopted open standard

50
VoIP Protocols - Summary
  • H.323 A suite of ITU standard protocols
  • First used for Videoconferencing but adapted for
    VoIP
  • Way too complicated
  • SKINNY and SCCP (Skinny Cisco Control Protocol)
  • Mostly proprietary extending functionality is
    difficult
  • SIP Session Initiation Protocol
  • The clear winner -- Simple, Open, Flexible
  • sipuser_at_host addressing
  • Starting to really proliferate (especially with
    the development of an open source SIP-based VoIP
    system)

51
VoIP in a Mixed Environment
  • Remember this diagram?
  • An IP enabled PBX allows VoIP endpoints to
    connect to it. It also adds a new function
  • Gateway Connects an IP endpoint to a PSTN
    endpoint if needed.
  • IP to IP bearer traffic doesnt go through the
    switch.

IP Network
Gateway
Controller
52
IP Enabled PBX with VoIP Stations
53
With Remote Modules
54
VoIP Challenges
  • QOS Quality of service is suddenly important
  • Power Local Utility vs. Centralized Carrier
  • Security Just another app on the network ready
    to be attacked.
  • Reliability Five 9s reliability 5.2 minutes
    per year.
  • Location Tracking E911
  • Overall Complexity.

55
Quality of Service (QoS)
  • Packet switched world has dangers for voice!
  • Voice traffic doesnt require much bandwidth, but
    can be easily overrun by other data traffic
    email, web, other.
  • Paradox We want to put voice and data together,
    yet separate them as much as possible!

56
QoS (Contd)
  • How Much Bandwidth?
  • G.711 Uncompressed (excellent / toll quality)
    64K overhead about 80K
  • G.729 Compressed (wireless quality) 8K
    overhead about 30K
  • G.723 Compressed more (cell phone quality) 6K
    overhead 20K
  • How to Prioritize Voice Packets?
  • 802.1p/Q
  • DSCP / DiffServ
  • RSVP
  • MPLS

57
Power
  • Traditional phones are powered from the phone
    company or corporate PBX usually immune from AC
    power outages.
  • IP phones power options
  • Old Days Local power supply
  • Current Power over Ethernet (PoE) IEEE
    standard 802.3-af
  • IEEE 802.3-af allows for mid-span implementation
    (spare wires 4,5,7 8) or end-span (in-band
    power over signal wires 1,2,5 6).
  • PoE means data switches need more power!
  • UPSs may need to be upgraded to provide more
    hold-over time.
  • PoE now allows for all type of network devices
  • Clocks, Cameras, Security access
  • Even some thin clients! Maybe PCs in the near
    future

58
Security
  • Voice is now just another app on the network /
    WLAN that can be sniffed!
  • susceptible to attacks just like the rest of
    the data network (DOS, Man in the middle, etc.)

59
Emergencies, Reliability Complexity
  • When someone dials 911, how do you know where
    they are?
  • Reliability of servers, phones, and network
    components
  • Complexity

60
Summary of Internetworking Protocols
61
Covered Material References
  • Sections covered
  • Chapter 20 except Section 20.3 details (TCP
    Congestion Control)
  • Chapter 23 Section 23.2 (HTTP) only
  • Assignment 6 due by Noon Saturday 12/6
  • Chapters 13 and 14 13.1, 14.2, and 14.4
  • Short answer problem networking protocols
    evolve even as we study them. From the list
    below, choose one write a brief one page
    synopsis of the standard covering why its
    important, what it does, what the obstacles are
    (if any) to its implementation
  • MPLS (multi-protocol label switching)
  • IEEE 802.1p/q
  • RPR (resilient packet ring)
  • IEEE 802.11e
  • IEEE 802.1X
Write a Comment
User Comments (0)
About PowerShow.com