1
|
- Vincenzo Liberatore
- Case Western Reserve University
|
2
|
- Computing in the physical world
- Components
- Sensors, actuators
- Controllers
- Networks
- Enables
- Operations in hazardous environments
- Timely remote support
- Continuous operations
- Remote monitoring
- Troubleshooting
- Reduce time, effort, cost to develop and upgrade applications
- Merge cyber- and physical- worlds
|
3
|
- Physical environment
- Sample task
- Robot
- Actuators
- Sensing
- Force feedback
- Visual feedback
- Control
- Remote supervision
|
4
|
- Embedded Systems
- Devices embedded in physical world
- Control Theory
- Interaction physics and computation
- Computer Networks
- Interconnection of embedded systems, controllers
|
5
|
- Protocol Layers
- Network and data link layers
- Transport layer: TCP, RTP/UDP
- Middleware
- Quality-of-Service
|
6
|
- Networks are complex!
- Many “pieces”:
- hosts
- routers
- links of various media
- applications
- protocols
- hardware, software
- Question:
- Is there any hope of organizing structure of network?
- Or at least our discussion of networks?
|
7
|
|
8
|
- Layers: each layer implements a service
- via its own internal-layer actions
- relying on services provided by layer below
|
9
|
|
10
|
|
11
|
- Dealing with complex systems:
- Explicit structure allows identification, relationship of complex
system’s pieces
- Layered reference model for discussion
- Modularization eases maintenance, updating of system
- Change of implementation of layer’s service transparent to rest of
system
- E.g., change in gate procedure doesn’t affect rest of system
- Layering considered harmful?
|
12
|
- application: supporting network applications
- transport: host-host data transfer
- network: routing of datagrams from source to destination
- link: data transfer between neighboring
network elements
- physical: bits “on the wire”
|
13
|
- Each layer:
- distributed
- “entities” implement layer functions at each node
- entities perform actions, exchange messages with peers
|
14
|
- E.g.: transport
- take data from app
- add addressing, reliability check info to form “datagram”
- send datagram to peer
- wait for peer to ack receipt
- analogy: post office
|
15
|
|
16
|
- Network stack
- Layers of network software
- Middleware and above
- Transport and below
- Design choice
- Choose protocol at each layer
- Modular design
|
17
|
- Protocol Layers
- Network and data link layers
- Transport layer: TCP, RTP/UDP
- Middleware
- Quality-of-Service
|
18
|
- Network layer
- End-to-end connectivity
- Multi-hop networks
- E.g., wireless laptops in U.S., Sweden linked as 802.11 ↔
Ethernet ↔ satellite ↔ Ethernet ↔ 802.11
- Convergence layer (IP)
- IP (Internet Protocol)
- IP supports multiple data links
- Multiple transports support IP
|
19
|
- Design space
- Choose transport
- Choose data link
- Convergence
- Transport independent of data link
- Mix and match
- E.g., RTP/UDP over 802.11
|
20
|
- Protocol Layers
- Network and data link layers
- Transport layer: TCP, RTP/UDP
- Middleware
- Quality-of-Service
|
21
|
- Design choice
- Three rules:
- Real-time data: RTP/UDP
- Sensor data
- Video, sound, I/O
- Control
- Bulk data: TCP
- Log download
- Software upgrades
- Coarse supervision
- Middleware rules
- E.g., RealAudio over UDP
- E.g., HTTP over TCP
- Usually, right choice made by middleware designer
- However, bad choices can propagate
|
22
|
- TCP’s objectives
- Reliable, bi-directional, byte stream
- Simplicity
- Do not worry about reliability
- A problematic choice
- Reliability and timeliness
- Data delivered successfully but late
- Head-of-line blocking
- Flow control
- Low bandwidth applications
- Overhead
|
23
|
- RTP-RTCP
- Problems above solved
- Support for
- Feedback on connection quality
- Timing, synchronization
- End-point description, aggregation
- Frame boundaries
- Flexibility
- Application-level framing
- Custom-tailored reaction to congestion, packet losses, but
- No error detection, recovery
- Small header
- Multicast support
|
24
|
- Objectives
- Support real-time communication
- Active in Internet video and audio
- RTP header
- Includes sequence number, timestamp
- Supports an extension header, padding
- RTCP
- Library support
- RTPCreate(), RTPOpenConnection()
- RTPSend(), RTPReceive()
- RTPCloseConnection(), RTPDestroy()
- URL: www.cs.columbia.edu/~hgs/rtp/
|
25
|
- Protocol Layers
- Network and data link layers
- Transport layer: TCP, RTP/UDP
- Middleware
- Quality-of-Service
|
26
|
- Plug-and-play
- Add new resources on the fly
- Example: USB
- Plug in a USB camera on a USB port
- But now we want: on a network, with arbitrary units
- Example
- Locate the Paradex on the network
|
27
|
- Operations
- Discover, Join, Look-up, Use
- Programming
- Include a library
- Use functions
- Fault-tolerance
- Leases
- Join only last for a certain time period
- Renew the lease
- Multiple look-up servers
- JavaSpaces
- Distributed shared memory
- URL: www.jini.org
|
28
|
- Between application and transport
- Libraries to provide advanced functionality
- Hide communication
- Applications
- Resource Discovery
- Remote Procedure Calls
- Security
- Interoperability (e.g., since Real-Time Corba)
- Scheduling, resource management, performance analysis
- Multicast
- Software development
- Simpler, faster
- State-of-the-art functionality
- Middleware over IP
- Wealth of libraries for IP
- Critical advantage of the Internet Protocol
|
29
|
- Protocol Layers
- Network and data link layers
- Transport layer: TCP, RTP/UDP
- Middleware
- Quality-of-Service
|
30
|
- Best-effort model
- Prevalent in the Internet
- No end-to-end circuit
- Packets can be delayed
- Delay is often unpredictable
- No bandwidth reservation
- QoS
- Ameliorate best-effort model
- E.g., packet priorities
- Impact on control
- Delays
- E.g., forces small feedback gains
- Packet drop-outs
- Jitter
- Delay variability
- Often more critical than average delays
- Bandwidth
|
31
|
- Application and middleware
- Remediate network vagaries
- Network layer
- Map to data link QoS
- QoS in multihop networks
- Data link
|
32
|
- QoS at data link
- E.g., priorities, token passing, VPN
- E.g., CAN, Ethernet
- QoS at IP
- Protocol
- IPv4: 4 basic Types-of-Service (ToS)
- IPv6: many flow ids, Classes-of-Service (CoS)
- QoS: from data link to IP
- Code-point mapping
- IP addresses
|
33
|
- Queuing
- Packets are forwarded from one network to another
- Packets are queued at routers (store-and-forward)
- Protect from cross-traffic cause congestion
- Per-Hop Behaviors (PHB)
- Behavior of individual router
- E.g., Forward before all other queued packets
- Maps into data link QoS
- Depends on Class-of-Service
- Class of service
- Assigned by source or shapers
- Imply PHB
|
34
|
- End-point middleware
- Assume best-effort, unreliable network with no explicit QoS provision
- End-points compensate for vagaries
- Previous work (example)
- Voice-over-IP
- Replay buffer
- Sampling and control methods
- Joint work with M. Branicky and S. Phillips
- On-line papers through vincenzo.liberatore.org
|
35
|
- Data link
- Network layers
- Data link QoS independent of IP, transport, middleware
- Middleware and transport motivate IP
- Multiple possible solutions
- E.g., Ethernet switches with 802.1p, 802.1q
- Administrative
- Can do anything (e.g., RVSP) within any single administrative domain
- Need much cooperation with multiple administrative domains
|
36
|
- Objectives
- QoS protects from cross-traffic
- QoS does not protect from failures, interferences
- Worst-case
- Is it cross-traffic?
- Is it failures (e.g., network partition)?
- Reasoning
- Reason about system timing
- Priorities make it easy
- QoS vs. fault-tolerance
- Failures as first class citizens
- Average-case
- Non-sense
- Exacerbated by TCP
- Tail
- E.g., 99-percentile
- Does not account for failure
- It is not meant to account for failures
- Must be paired with middleware, fault-tolerance
|
37
|
|
38
|
|