02-design
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Priorities
• Technical Lessons
– Packet switching – Fate Sharing/Soft state
• The effects of the order of items in that list are still felt today
– E.g., resource accounting is a hard, current research topic
Connection State No State State
• Lose state information for an entity if (and only if?) the entity itself is lost. • Examples:
– OK to lose TCP state if one endpoint crashes
– If you’re dropping, remember to actually drop!
• Remember: Project groups!
Internet Architecture
• Background
– “The Design Philosophy of the DARPA Internet Protocols” (David Clark, 1988).
• Today’s net: ~100ms RTT • Reliable delivery can add seconds.
• Original Internet model: “TCP/IP” one layer
– First app was remote login… – But then came debugging, voice, etc. – These differences caused the layer split, added UDP
Internet Architecture and Assumptions
David Andersen CMU Computer Science
Course status
• 27 registered (goal: 24) • 24 on waitlist (goal: 0) • So – still not looking so good.
– Minimum packet size – Reasonable delivery odds, but not 100% – Some form of addressing unless point to point
• Important non-assumptions:
– – – – Perfect reliability Broadcast, multicast Priority handling of traffic Internal knowledge of delays, speeds, failures, etc.
• Question #1: How do you avoid an all-to-all network topology?
– Multiplexing! – How can you do it? TDMA, FDMA, CDMA – And you can do statistical multiplexing
Survivabiwk.baidu.comity
• If network disrupted and reconfigured – Communicating entities should not care! – No higher-level state reconfiguration – Ergo, transport interface only knows “working” and “not working.” Not working == complete partition. • How to achieve such reliability? – Where can communication state be stored?
• Circuit Switching: Signaling protocol sets up entire path out-ofband. (cf. the phone network) • Virtual Circuits: Hybrid approach. Packets carry “tags” to indicate path, forwarding over IP • Source routing: Complete route is contained in each data packet
Network Failure handing Net Engineering Switches Host trust Replication Tough Maintain state Less
Host “Fate sharing” Simple Stateless More
Fate Sharing
• Stat mux: Efficient sharing of resources
– A link can always transmit when it has data!
Datagram Switching
• Information for forwarding traffic is contained in destination address of packet • No state established ahead of time (helps fate sharing) • Basic building block – must build things like TCP on top • Pretty much implies statistical multiplexing • Alternatives:
• Fundamental goal: Effective network interconnection • Goals, in order of priority:
1. Continue despite loss of networks or gateways 2. Support multiple types of communication service 3. Accommodate a variety of networks 4. Permit distributed management of Internet resources 5. Cost effective 6. Host attachment should be easy 7. Resource accountability
• Existing networks (interconnection)
– Tries to define an “easy” set of requirements for the underlying networks to support as many as possible
Sharing and Multiplexing
• Much engineering then only has to be done once
So, how do you support them?
• Need to interconnect many existing networks • Hide underlying technology from applications • Decisions:
• NOT okay to lose if an intermediate router reboots
– Is this still true in today’s network?
• NATs and firewalls
• Survivability compromise: Heterogenous network -> less information available to end hosts and Internet level recovery mechanisms
Preview: An Age-Old Debate
• Circuits vs Packets? • Circuits: Guaranteed QoS, dedicated connection, easy accounting • Packets: Efficiency, simplicity
It is held that packet switching was one of the Internet’s greatest design choices. Of course, there are constant attempts to shoehorn the best aspects of circuits into packet switching. Examples: Capabilities, MPLS,ATM, IntServ QoS, etc.
Technology
Tradeoff: No assumptions, no guarantees.
The “Curse of the Narrow Waist”
• IP over anything, anything over IP
– Has allowed for much innovation both above and below the IP layer of the stack – An IP stack gets a device on the Internet
– Network provides email WWW phone... minimal functionality Applications – “Narrow waist” SMTP HTTP RTP...
TCP UDP… IP ethernet PPP… CSMA async sonet... copper fiber radio...
Varieties of Networks
• Interconnect the ARPANET, X.25 networks, LANs, satellite networks, packet networks, serial links… • Mininum set of assumptions for underlying net
• Let’s look at them in detail
Fundamental Goal
• “technique for multiplexed utilization of existing interconnected networks” • Multiplexing (sharing)
– Shared use of a single communications channel
• No QoS support assumed from below
– In fact, some underlying nets only supported reliable delivery
• Made Internet datagram service less useful!
– Hard to implement without network support – QoS is an ongoing debate…
Types of Service
• TCP vs. UDP
– – – – Elastic apps that need reliability: remote login or email Inelastic, loss-tolerant apps: real-time voice or video Others in between, or with stronger requirements Biggest cause of delay variation: reliable delivery