Title: 4th Edition: Chapter 1
1CSCD 443/547Advanced Networks
Lecture 3 Network Design and Performance Read
Chapter 1 and Other Reading Course Notes page
(links)
People Network
2Topics
- Review Network layers
- Overview of services each layer
- What exactly is a protocol?
- Network Architecture
- How does everyone connect to the Internet?
- Packet Switched vs. Circuit Switched Networks
3Designing a Network
- If you were designing a network
- Want to accommodate many users
- Want to handle different types of applications
- Be as flexible as possible
- Handle multiple types of network physical medium
- Be able to accommodate change with least amount
of cost - Be able to scale with growth since demand
continues to increase - How would you do it?
4General Requirements for Networks
- Multiple hosts share common links
- Diverse applications use the network
- Text based such as file transfer, Web page
- Multi-media too, as in video, images and voice
- Cant always anticipate the next Killer
application - Electronic commerce needs privacy and security
- Performance is critical, so network efficiency is
important - Reliability is also critical but varies by
application - Accommodate network failure
- What else is a requirement?
5Multiple Users
- Must share common network links
- What works best in an environment where the
number of users is unknown and their network use
varies? - Statistical Multiplexing
- Has been shown to work best rather than
statically allocating resources like time or
frequency division multiplexing - Fairness is done by limiting the size of packets
so that packets from multiple users each have a
turn
6Diverse Applications Common Services
- While applications are variable, can define
common set of communication patterns - Helps in planning network resources
- File transfer pattern
- User requests file, Server provides it
- Small amount of data in request
- Larger amount of data in reply
- What applications are like this?
- What are characteristics of a channel that
supports this pattern?
7Diverse Applications Common Services
- Common Services
- Video-on-demand
- Video is streamed when requested
- Also, can go both ways as in video conferencing
- Think of it as a stream of bytes instead of a
distinct set of packets - Channel Characteristics
- Must be seen in-order, no out-of-order frames
- Can tolerate some loss,
- Should support multi-cast for conferencing
8Diverse Applications Common Services
- Common Services
- Audio on-demand
- Variation of video on-demand
- Has some real-time aspects to it, must be given
priority over other traffic, known as Quality of
Service (QOS) - Has real limitations on delay it can tolerate
- Audio signal must be played in order, can
tolerate some frame loss
9Location of Services
- A fundamental design decision, affects
performance - Where do I put my network services?
- Services are needed to coordinate the traffic
between the hosts - Must deal with errors, packet loss,
retransmission and congestion control - Should we make the routers and switches more
intelligent to handle these things or let the
applications take care of them in the hosts? - What would you do?
10Telephone Network Dumb Edge, Smart Core
- Dumb phones
- Let you dial a number
- Speak and listen thats it
- Smart switches
- Set up and tear down a circuit
- Forward audio along the path
- Limited services
- Audio
- Later, caller-id, call forwarding etc.
- A monopoly for a long time
11Internet Smart Edge, Dumb Core
End-to-End Principle Whenever possible,
communications protocol operations should be
defined to occur at the end-points of a
communications system.
Programmability With programmable end hosts, new
network services can be added at any time, by
anyone.
12End Host Can Take Care of Details
- No error detection or correction
- Higher-level protocol can provide error checking
- Successive packets may not follow same path
- No problem as long as packets reach destination
- Packets can be delivered out-of-order
- Receiver can put packets back in order (if
needed) - Packets may be lost or arbitrarily delayed
- Sender can send the packets again (if desired)
- No reaction to congestion, beyond drop
- Sender can slow down in response to loss or delay
13Internet Architecture
- Three features of the architecture worth
highlighting in terms of design - 1. Layering is not strict
- Application can bypass the Transport layer and
utilize IP layer directly or lower layer - 2. Hourglass shape
- IP is focal point of architecture
- Allows common method of exchanging packets
- But, also allows anything to run over IP and
IP runs over a multitude of mediums
14Internet Architecture
- 3. To include new protocol, must have a protocol
specification and one implementation - Assures protocol can be implemented efficiently
15Layering A Modular Approach
- Sub-divide the problem
- Each layer relies on services from layer below
- Each layer exports services to layer above
- Interface between layers defines interaction
- Hides implementation details
- Layers can change without disturbing other layers
Application
Application-to-application channels
Host-to-host connectivity
Link hardware
16The Narrow Waist of IP
Applications
FTP
HTTP
TFTP
NV
TCP
UDP
Waist
IP
Data Link
NET1
NET2
NETn
Physical
The Hourglass Model
The waist facilitates interoperability
17Above and Below the Waist
- IP over anything
- Internetworking protocol that runs on anything
- Accommodate innovation in link technology
- and heterogeneity throughout the network
- Anything over IP
- Variety of transport protocols can be built
- Though, in practice, mainly just TCP and UDP
- TCP ordered, reliable stream of bytes
- UDP simple (unreliable) message delivery
- And any applications on top of that
18Why is the Internet So Successful?
- Authors believe one factor is that so many
network applications are just software running on
commodity machines - Means do not need hardware upgrades to provide
new functionality - Computers became faster and could support
multimedia applications - More and more innovative applications using
multimedia - Examples Web browser and server, video over the
Web YouTube, Google everything, chat programs
and VOIP applications
19Decentralized Control
- How you choose to implement network organization
is critical to the success of and adaptability of
a network - Could have one entity deciding everything and
imposing updates on everything - Simpler and more efficient, but not feasible in
the long run - Turns out decentralization is better for large
scale, networks
20Benefits of Decentralization Scalability
- Scalability
- Limit amount of state, and frequency of updates
- Addressing
- Internet routers only need to know how to reach
blocks of addresses (e.g., 12.0.0.0/8) - Routing
- Link failure in one network is typically not
visible in another - Naming
- Look-up of www.cnn.com doesnt go to same server
as look-up of www.princeton.edu
21Benefits of Decentralization Autonomy
- Autonomy
- Allow different parties to manage different parts
of the system, and apply their own policies - Addressing
- ARIN delegates address space to ATT, who
delegates smaller blocks to its customers - Routing
- ATT controls flow of traffic through its
backbone - Naming
- CNN controls addresses for www.cnn.com
22Problems Related to Design Decisions
- Turns out that not all the design decisions
resulted in a perfect network - There are continuing problems related to some of
the original design decisions - A few of these are outlines as follows
23Challenges Tied to Early Design Decisions
- Power of Programmable end hosts
- Easy to spoof IP addresses, e-mail addresses,
- Incentives for users to violate congestion
control - Malicious users can launch Denial-of-Service
attacks - Best-effort packet-delivery service
- Inefficient in high-loss environments (wireless)
- Poor performance for interactive applications
- Expensive per-packet handling on high-speed links
24Challenges Tied to Early Design Decisions
- Layering and the IP narrow waist
- Low efficiency due to many layers of headers
- Poor visibility into underlying shared risks
- Complex network management due to multiple
interconnected protocols and systems - Decentralized control
- Hierarchical addressing makes mobility difficult,
and requires careful configuration - Autonomy makes measurement (and troubleshooting
and accountability) hard - Autonomy makes protocol changes difficult
25Recurring Challenges
- Security
- Weak notions of identity that are easy to spoof
- Protocols that rely on good behavior
- Incomplete or non-existent registries, keys,
- Mobility and disconnected operation
- Hierarchical addressing closely tied with routing
- Presumption that hosts are connected
- Network management
- Many coupled, decentralized control loops
- Limited visibility into across layers and
networks - Application performance requirements
- Real-time, interactive applications
- Throughput sensitive vs. delay-sensitive
26Summary
- Designing a successful network is challenging
- Many requirements, not all of them well-defined
- Design decisions can allow a network to adapt
successfully to change over time - Some of the attributes of large-scale networks
are similar to any complex system - Will study this more later
27- No class on Monday, Tuesday 1/12, 1/13 I will
be at a conference - See CourseNotes page. Substitute lecture
Assigned papers and written summary due Friday,
1/15 - There is class on Wed. 8 am on Network
Programming. - There is also a lab you can do at home using
Wireshark. - This is another tool you should have on your
home computer. - Download this if you dont already have it, Lab
is on Labs page. - You will use this information later in a program.
- Reading
- Papers on Course Notes page, summary to be
turned in on Friday. - Book Chapter 1 Continued
-