SlideShare a Scribd company logo
1 of 69
David D. Clark’s paper"
     “The Design Philosophy of the
       DARPA Internet Protocols”
                1988!

14 August 2009!   CS5229 Semester 1, 2009/10!   1!
14 August 2009!   CS5229 Semester 1, 2009/10!   2!
Why the Internet is "
                    the way it is?!


14 August 2009!         CS5229 Semester 1, 2009/10!   3!
In the beginning..!




14 August 2009!        CS5229 Semester 1, 2009/10!   4!
Need a communication network
    that will survive a war:"
    multipath between two hosts"

    divide messages into message blocks"

    deliver the message blocks using store-
    and-forward switching          !
14 August 2009!   CS5229 Semester 1, 2009/10!   5!
http://www.rand.org/pubs/research_memoranda/RM3420/RM3420.chapter1.html!
14 August 2009!                  CS5229 Semester 1, 2009/10!                          6!
ARPANET!

                  host!                                  host!



                                                        packet switch!
                                                        network over!
                                                        phone lines!

                                    host!
14 August 2009!           CS5229 Semester 1, 2009/10!                    7!
ARPANET!




                  From “An Atlas of Cyberspace”, A website by Martin Dodge!
14 August 2009!                  CS5229 Semester 1, 2009/10!                  8!
“Come and write
          applications using our
                network!”!

14 August 2009!   CS5229 Semester 1, 2009/10!   9!
Wait, we need to write
           our own packet
         switching software??!

14 August 2009!   CS5229 Semester 1, 2009/10!   10!
Interface Message Processors (IMP)!



                   IMP!                             IMP!



                                                           packet switch!
                                                           network over !
                                IMP!                       phone lines!



14 August 2009!       CS5229 Semester 1, 2009/10!                           11!
14 August 2009!              CS5229 Semester 1, 2009/10!                12!
                  http://www.webstart.com/jed/service/vs-bbn-imp.jpg!
Services of IMP:"
    segmentation: break into 1Kb blocks"
    header: add header"
    routing"
    reliability: ACK, checksum"
    reassembly"
    flow control!
14 August 2009!    CS5229 Semester 1, 2009/10!   13!
telnet!

   ftp!
                            IMP!                             IMP!
                                                                    ftp!   telnet!




                                         IMP!
                   ftp!

                  telnet!

14 August 2009!                CS5229 Semester 1, 2009/10!                       14!
Both applications need
     to establish connections!


14 August 2009!   CS5229 Semester 1, 2009/10!   15!
Network Control Program!
 telnet!

   ftp!
                            IMP!                             IMP!
                                                                    ftp!   telnet!




                                         IMP!
                   ftp!

                  telnet!

14 August 2009!                CS5229 Semester 1, 2009/10!                       16!
Meanwhile.."

                      PRNET"
                      SATNET"
                  being developed!
14 August 2009!       CS5229 Semester 1, 2009/10!   17!
How to make disjoint networks
        talk to each other effectively ? !



14 August 2009!    CS5229 Semester 1, 2009/10!   18!
Choices!
       A.! Build a tightly integrated,
           unified network!
       B.! Interconnect existing
           network!

14 August 2009!   CS5229 Semester 1, 2009/10!   19!
Why ?!

                  More practical. Networks
                    represent separately
                   administered entities.!

14 August 2009!          CS5229 Semester 1, 2009/10!   20!
Choices!
       A.! Packet Switching!
       B.! Circuit Switching!


14 August 2009!   CS5229 Semester 1, 2009/10!   21!
Why ?!
          The networks to be integrated are
          packet switched network. Packet
           switch is natural choice for the
        applications at the time (remote login).!


14 August 2009!      CS5229 Semester 1, 2009/10!    22!
14 August 2009!   CS5229 Semester 1, 2009/10!   23!
But, NCP assumes reliable
         network layer (IMP), PRNET
               is not reliable.!


14 August 2009!   CS5229 Semester 1, 2009/10!   24!
Cerf & Kahn:!

           What’s the best design for
            an NCP replacement? !

         How should the network be
          attached to each other?!
14 August 2009!     CS5229 Semester 1, 2009/10!   25!
TCP replaces NCP!



14 August 2009!       CS5229 Semester 1, 2009/10!   26!
Cerf & Kahn:!

           What’s the best design for
            an NCP replacement? !

         How should the network be
          attached to each other?!
14 August 2009!     CS5229 Semester 1, 2009/10!   27!
Introduces!

                  Gateways!
                  Addresses!
                     IP!

14 August 2009!    CS5229 Semester 1, 2009/10!   28!
Goals!
    Robust - work despite failure of networks or gateways!
    Versatile - support a variety of services and networks!
    Permit distributed management of resources!
    Cost effective !
    Easy to add new hosts!
    Permit accounting of resources !


14 August 2009!        CS5229 Semester 1, 2009/10!        29!
Goal!
                  “Survivability in the Face of Failure”!

            Communication between two entities should !
            continue after temporary disruption without !
             needing to reestablish connection states.!

                                        Or!

                          Mask transient failure!
14 August 2009!              CS5229 Semester 1, 2009/10!    30!
Store connection states in!

       A.! packet switching nodes!
       B.! end nodes!


14 August 2009!           CS5229 Semester 1, 2009/10!   31!
Why ?!

            Easier to implement than
          replication. Replication only
         protects against finite number
                of node failures.!

14 August 2009!    CS5229 Semester 1, 2009/10!   32!
“Fate-Sharing”!

           The only way the states are
         lost is the failure of end hosts.!


14 August 2009!      CS5229 Semester 1, 2009/10!   33!
Consequences!

             Stateless packet switchers.!
              Need to trust end hosts.!


14 August 2009!      CS5229 Semester 1, 2009/10!   34!
Need to support !
            a variety of services!

14 August 2009!    CS5229 Semester 1, 2009/10!   35!
Services!
Remote login - low delay, reliable!
File transfer - delay not important,
   reliable!
Teleconferencing - reliability not
   important, low delay!
14 August 2009!   CS5229 Semester 1, 2009/10!   36!
Choice!

       A.! Introduces UDP.!

14 August 2009!   CS5229 Semester 1, 2009/10!   37!
Protocols!
       IP - datagram-based, best effort!
       TCP - reliable service over IP!
       UDP - unreliable service over IP !


14 August 2009!    CS5229 Semester 1, 2009/10!   38!
Compared to!
       X.25 - provides reliable services
                  (that cannot be switched off!) !


14 August 2009!          CS5229 Semester 1, 2009/10!   39!
Need to support !
          a variety of networks!

14 August 2009!   CS5229 Semester 1, 2009/10!   40!
Make minimal assumptions!

                  Can transport packets!
                   Best effort delivery!
                       Addressing!
                  Minimum packet size!

14 August 2009!        CS5229 Semester 1, 2009/10!   41!
Not assuming!

                         Reliability!
                      Ordered delivery!
                     Packet prioritization!
                     Broadcast/multicast!
                  Knowledge of network stats!

14 August 2009!           CS5229 Semester 1, 2009/10!   42!
Application-driven!

         TCP designed for dominant
        application at the time -- telnet!
         e.g. stream-oriented seq no!

14 August 2009!        CS5229 Semester 1, 2009/10!   44!
David D. Clark’s paper"
     “The Design Philosophy of the
       DARPA Internet Protocols”
                1988!

14 August 2009!   CS5229 Semester 1, 2009/10!   45!
Another David D. Clark’s paper"
           “End-to-End Arguments in
              System Design” 1984"
             (with Saltzer and Reed)!

14 August 2009!    CS5229 Semester 1, 2009/10!   46!
E2E Argument!

              A tool to guide designers:
              which layer to implement a
                 given functionality?!

14 August 2009!       CS5229 Semester 1, 2009/10!   47!
Example!

           Reliable file transfer between
                host A and host B!


14 August 2009!     CS5229 Semester 1, 2009/10!   48!
Steps!

       1. A reads file from disk!
       2. A transmits file as packets!
       3. Network delivers packets!
       4. B receives packets!
       5. B write data to disk!
14 August 2009!   CS5229 Semester 1, 2009/10!   49!
Possible Errors!

       1. Disk fault!
       2. Software bugs!
       3. Packet loss!
       4. Processor/Memory errors!
       5. OS crashes!
14 August 2009!       CS5229 Semester 1, 2009/10!   50!
Choices!
       A.! Make sure every step is
           reliable!
       B.! End-to-end check and
           retry (compare checksum,
           resend if error)!

14 August 2009!   CS5229 Semester 1, 2009/10!   51!
The Argument!

        To achieve careful file transfer,
         the transfer application must
          apply application-specific,
             end-to-end reliability
                  guarantee.!
14 August 2009!      CS5229 Semester 1, 2009/10!   52!
The Argument!

“!        The end-to-end check of the file
          transfer application must still be
            implemented no matter how


                                                   ”!
             reliable the communication
                  system becomes.!

14 August 2009!      CS5229 Semester 1, 2009/10!        53!
Conclusion!

           No need to provide reliability
           guarantee at lower level (e.g.
             network, OS, hardware)!

14 August 2009!     CS5229 Semester 1, 2009/10!   54!
Actually,!

                  Lower level reliability can
                   improve performance. !


14 August 2009!           CS5229 Semester 1, 2009/10!   55!
To implement at low-
                  level?!

       Additional cost for applications that do
       not require the feature.!

       Less information than the “end”, less
       efficient. !
14 August 2009!     CS5229 Semester 1, 2009/10!   56!
Other Example:!
                  Data Encryption!

14 August 2009!       CS5229 Semester 1, 2009/10!   57!
Choices!
       A.! Encrypt at the network-
           level!
       B.! Encrypt in the application!


14 August 2009!   CS5229 Semester 1, 2009/10!   58!
Why?!

       Intercept before reaching the network!
       Need to trust the network!
       Still need to authenticate!


14 August 2009!     CS5229 Semester 1, 2009/10!   59!
Other Example:!
           Duplicate Messages!

14 August 2009!   CS5229 Semester 1, 2009/10!   60!
Other Example:!
           Delivery Guarantees!

14 August 2009!   CS5229 Semester 1, 2009/10!   61!
Other Example:!
                      RISC!

14 August 2009!       CS5229 Semester 1, 2009/10!   62!
Other Example:!
             Recovery in !
         Telephony Exchange!

14 August 2009!   CS5229 Semester 1, 2009/10!   63!
The Argument!

          Any attempt by the computer
         designer to anticipate the client’s
         requirements will probably miss
         the target and the client will end
          up re-implementing it anyway.!

14 August 2009!      CS5229 Semester 1, 2009/10!   64!
The End Point?!


14 August 2009!       CS5229 Semester 1, 2009/10!   65!
Applications?!
                    Users?!
                    Hosts?!

14 August 2009!      CS5229 Semester 1, 2009/10!   66!
The end-point is a
                  trustworthy entity.!

14 August 2009!         CS5229 Semester 1, 2009/10!   67!
Example!

           Reliable file transfer between
                host A and host B!


14 August 2009!     CS5229 Semester 1, 2009/10!   68!
If I don’t trust the file transfer
         application, I need to check
                for error myself.!


14 August 2009!    CS5229 Semester 1, 2009/10!   69!
E2E Argument!



“!
       The function in question can completely and
       correctly be implemented only with the
       knowledge and help of the application standing at
       the endpoints of the communication system.
       Therefore, providing the questioned function as a
       feature of the communication system itself is not
       possible. (Sometimes an incomplete version of




                                                      ”!
       the function provided by the communication
       system may be useful as a performance
       enhancement)!
14 August 2009!         CS5229 Semester 1, 2009/10!        70!

More Related Content

Similar to Lecture 1: Design Principles of the Internet (6)

Tokyo Niche プレゼンテーション
Tokyo Niche プレゼンテーションTokyo Niche プレゼンテーション
Tokyo Niche プレゼンテーション
 
Using Concurrency To Improve Responsiveness
Using Concurrency To Improve ResponsivenessUsing Concurrency To Improve Responsiveness
Using Concurrency To Improve Responsiveness
 
Scaling Django Dc09
Scaling Django Dc09Scaling Django Dc09
Scaling Django Dc09
 
Lecture 4: TCP and TFRC
Lecture 4: TCP and TFRCLecture 4: TCP and TFRC
Lecture 4: TCP and TFRC
 
RTMFP Overview for IETF77
RTMFP Overview for IETF77RTMFP Overview for IETF77
RTMFP Overview for IETF77
 
Failure Friday: Start Injecting Failure Today!
Failure Friday: Start Injecting Failure Today! Failure Friday: Start Injecting Failure Today!
Failure Friday: Start Injecting Failure Today!
 

More from Wei Tsang Ooi

SIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business MeetingSIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business Meeting
Wei Tsang Ooi
 
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
Wei Tsang Ooi
 
CS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game TrafficCS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
Wei Tsang Ooi
 
CS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid ArchitectureCS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid Architecture
Wei Tsang Ooi
 
CS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest ManagementCS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest Management
Wei Tsang Ooi
 
CS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P SynchronizationCS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P Synchronization
Wei Tsang Ooi
 
Cs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest ManagementCs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest Management
Wei Tsang Ooi
 
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception FilterCS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
Wei Tsang Ooi
 
CS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: ConsistencyCS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: Consistency
Wei Tsang Ooi
 
CS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: IntroductionCS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: Introduction
Wei Tsang Ooi
 
CS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNSCS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNS
Wei Tsang Ooi
 
CS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet RoutingCS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet Routing
Wei Tsang Ooi
 
CS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet DynamicsCS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet Dynamics
Wei Tsang Ooi
 
Lecture 2: Congestion Control and Avoidance
Lecture 2: Congestion Control and AvoidanceLecture 2: Congestion Control and Avoidance
Lecture 2: Congestion Control and Avoidance
Wei Tsang Ooi
 
CS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid ArchitectureCS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid Architecture
Wei Tsang Ooi
 
CS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player DynamicsCS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player Dynamics
Wei Tsang Ooi
 
CS4344 Lecture 9: Traffic Analysis
CS4344 Lecture 9: Traffic AnalysisCS4344 Lecture 9: Traffic Analysis
CS4344 Lecture 9: Traffic Analysis
Wei Tsang Ooi
 
CS5229 Lecture 9: Internet Topology
CS5229 Lecture 9: Internet TopologyCS5229 Lecture 9: Internet Topology
CS5229 Lecture 9: Internet Topology
Wei Tsang Ooi
 

More from Wei Tsang Ooi (20)

SIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business MeetingSIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business Meeting
 
CS2106 Tutorial 2
CS2106 Tutorial 2CS2106 Tutorial 2
CS2106 Tutorial 2
 
The Computer Science behind YouTube
The Computer Science behind YouTubeThe Computer Science behind YouTube
The Computer Science behind YouTube
 
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
 
CS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game TrafficCS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
 
CS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid ArchitectureCS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid Architecture
 
CS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest ManagementCS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest Management
 
CS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P SynchronizationCS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P Synchronization
 
Cs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest ManagementCs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest Management
 
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception FilterCS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
 
CS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: ConsistencyCS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: Consistency
 
CS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: IntroductionCS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: Introduction
 
CS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNSCS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNS
 
CS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet RoutingCS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet Routing
 
CS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet DynamicsCS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet Dynamics
 
Lecture 2: Congestion Control and Avoidance
Lecture 2: Congestion Control and AvoidanceLecture 2: Congestion Control and Avoidance
Lecture 2: Congestion Control and Avoidance
 
CS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid ArchitectureCS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid Architecture
 
CS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player DynamicsCS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player Dynamics
 
CS4344 Lecture 9: Traffic Analysis
CS4344 Lecture 9: Traffic AnalysisCS4344 Lecture 9: Traffic Analysis
CS4344 Lecture 9: Traffic Analysis
 
CS5229 Lecture 9: Internet Topology
CS5229 Lecture 9: Internet TopologyCS5229 Lecture 9: Internet Topology
CS5229 Lecture 9: Internet Topology
 

Recently uploaded

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

Lecture 1: Design Principles of the Internet

  • 1. David D. Clark’s paper" “The Design Philosophy of the DARPA Internet Protocols” 1988! 14 August 2009! CS5229 Semester 1, 2009/10! 1!
  • 2. 14 August 2009! CS5229 Semester 1, 2009/10! 2!
  • 3. Why the Internet is " the way it is?! 14 August 2009! CS5229 Semester 1, 2009/10! 3!
  • 4. In the beginning..! 14 August 2009! CS5229 Semester 1, 2009/10! 4!
  • 5. Need a communication network that will survive a war:" multipath between two hosts" divide messages into message blocks" deliver the message blocks using store- and-forward switching ! 14 August 2009! CS5229 Semester 1, 2009/10! 5!
  • 7. ARPANET! host! host! packet switch! network over! phone lines! host! 14 August 2009! CS5229 Semester 1, 2009/10! 7!
  • 8. ARPANET! From “An Atlas of Cyberspace”, A website by Martin Dodge! 14 August 2009! CS5229 Semester 1, 2009/10! 8!
  • 9. “Come and write applications using our network!”! 14 August 2009! CS5229 Semester 1, 2009/10! 9!
  • 10. Wait, we need to write our own packet switching software??! 14 August 2009! CS5229 Semester 1, 2009/10! 10!
  • 11. Interface Message Processors (IMP)! IMP! IMP! packet switch! network over ! IMP! phone lines! 14 August 2009! CS5229 Semester 1, 2009/10! 11!
  • 12. 14 August 2009! CS5229 Semester 1, 2009/10! 12! http://www.webstart.com/jed/service/vs-bbn-imp.jpg!
  • 13. Services of IMP:" segmentation: break into 1Kb blocks" header: add header" routing" reliability: ACK, checksum" reassembly" flow control! 14 August 2009! CS5229 Semester 1, 2009/10! 13!
  • 14. telnet! ftp! IMP! IMP! ftp! telnet! IMP! ftp! telnet! 14 August 2009! CS5229 Semester 1, 2009/10! 14!
  • 15. Both applications need to establish connections! 14 August 2009! CS5229 Semester 1, 2009/10! 15!
  • 16. Network Control Program! telnet! ftp! IMP! IMP! ftp! telnet! IMP! ftp! telnet! 14 August 2009! CS5229 Semester 1, 2009/10! 16!
  • 17. Meanwhile.." PRNET" SATNET" being developed! 14 August 2009! CS5229 Semester 1, 2009/10! 17!
  • 18. How to make disjoint networks talk to each other effectively ? ! 14 August 2009! CS5229 Semester 1, 2009/10! 18!
  • 19. Choices! A.! Build a tightly integrated, unified network! B.! Interconnect existing network! 14 August 2009! CS5229 Semester 1, 2009/10! 19!
  • 20. Why ?! More practical. Networks represent separately administered entities.! 14 August 2009! CS5229 Semester 1, 2009/10! 20!
  • 21. Choices! A.! Packet Switching! B.! Circuit Switching! 14 August 2009! CS5229 Semester 1, 2009/10! 21!
  • 22. Why ?! The networks to be integrated are packet switched network. Packet switch is natural choice for the applications at the time (remote login).! 14 August 2009! CS5229 Semester 1, 2009/10! 22!
  • 23. 14 August 2009! CS5229 Semester 1, 2009/10! 23!
  • 24. But, NCP assumes reliable network layer (IMP), PRNET is not reliable.! 14 August 2009! CS5229 Semester 1, 2009/10! 24!
  • 25. Cerf & Kahn:! What’s the best design for an NCP replacement? ! How should the network be attached to each other?! 14 August 2009! CS5229 Semester 1, 2009/10! 25!
  • 26. TCP replaces NCP! 14 August 2009! CS5229 Semester 1, 2009/10! 26!
  • 27. Cerf & Kahn:! What’s the best design for an NCP replacement? ! How should the network be attached to each other?! 14 August 2009! CS5229 Semester 1, 2009/10! 27!
  • 28. Introduces! Gateways! Addresses! IP! 14 August 2009! CS5229 Semester 1, 2009/10! 28!
  • 29. Goals! Robust - work despite failure of networks or gateways! Versatile - support a variety of services and networks! Permit distributed management of resources! Cost effective ! Easy to add new hosts! Permit accounting of resources ! 14 August 2009! CS5229 Semester 1, 2009/10! 29!
  • 30. Goal! “Survivability in the Face of Failure”! Communication between two entities should ! continue after temporary disruption without ! needing to reestablish connection states.! Or! Mask transient failure! 14 August 2009! CS5229 Semester 1, 2009/10! 30!
  • 31. Store connection states in! A.! packet switching nodes! B.! end nodes! 14 August 2009! CS5229 Semester 1, 2009/10! 31!
  • 32. Why ?! Easier to implement than replication. Replication only protects against finite number of node failures.! 14 August 2009! CS5229 Semester 1, 2009/10! 32!
  • 33. “Fate-Sharing”! The only way the states are lost is the failure of end hosts.! 14 August 2009! CS5229 Semester 1, 2009/10! 33!
  • 34. Consequences! Stateless packet switchers.! Need to trust end hosts.! 14 August 2009! CS5229 Semester 1, 2009/10! 34!
  • 35. Need to support ! a variety of services! 14 August 2009! CS5229 Semester 1, 2009/10! 35!
  • 36. Services! Remote login - low delay, reliable! File transfer - delay not important, reliable! Teleconferencing - reliability not important, low delay! 14 August 2009! CS5229 Semester 1, 2009/10! 36!
  • 37. Choice! A.! Introduces UDP.! 14 August 2009! CS5229 Semester 1, 2009/10! 37!
  • 38. Protocols! IP - datagram-based, best effort! TCP - reliable service over IP! UDP - unreliable service over IP ! 14 August 2009! CS5229 Semester 1, 2009/10! 38!
  • 39. Compared to! X.25 - provides reliable services (that cannot be switched off!) ! 14 August 2009! CS5229 Semester 1, 2009/10! 39!
  • 40. Need to support ! a variety of networks! 14 August 2009! CS5229 Semester 1, 2009/10! 40!
  • 41. Make minimal assumptions! Can transport packets! Best effort delivery! Addressing! Minimum packet size! 14 August 2009! CS5229 Semester 1, 2009/10! 41!
  • 42. Not assuming! Reliability! Ordered delivery! Packet prioritization! Broadcast/multicast! Knowledge of network stats! 14 August 2009! CS5229 Semester 1, 2009/10! 42!
  • 43. Application-driven! TCP designed for dominant application at the time -- telnet! e.g. stream-oriented seq no! 14 August 2009! CS5229 Semester 1, 2009/10! 44!
  • 44. David D. Clark’s paper" “The Design Philosophy of the DARPA Internet Protocols” 1988! 14 August 2009! CS5229 Semester 1, 2009/10! 45!
  • 45. Another David D. Clark’s paper" “End-to-End Arguments in System Design” 1984" (with Saltzer and Reed)! 14 August 2009! CS5229 Semester 1, 2009/10! 46!
  • 46. E2E Argument! A tool to guide designers: which layer to implement a given functionality?! 14 August 2009! CS5229 Semester 1, 2009/10! 47!
  • 47. Example! Reliable file transfer between host A and host B! 14 August 2009! CS5229 Semester 1, 2009/10! 48!
  • 48. Steps! 1. A reads file from disk! 2. A transmits file as packets! 3. Network delivers packets! 4. B receives packets! 5. B write data to disk! 14 August 2009! CS5229 Semester 1, 2009/10! 49!
  • 49. Possible Errors! 1. Disk fault! 2. Software bugs! 3. Packet loss! 4. Processor/Memory errors! 5. OS crashes! 14 August 2009! CS5229 Semester 1, 2009/10! 50!
  • 50. Choices! A.! Make sure every step is reliable! B.! End-to-end check and retry (compare checksum, resend if error)! 14 August 2009! CS5229 Semester 1, 2009/10! 51!
  • 51. The Argument! To achieve careful file transfer, the transfer application must apply application-specific, end-to-end reliability guarantee.! 14 August 2009! CS5229 Semester 1, 2009/10! 52!
  • 52. The Argument! “! The end-to-end check of the file transfer application must still be implemented no matter how ”! reliable the communication system becomes.! 14 August 2009! CS5229 Semester 1, 2009/10! 53!
  • 53. Conclusion! No need to provide reliability guarantee at lower level (e.g. network, OS, hardware)! 14 August 2009! CS5229 Semester 1, 2009/10! 54!
  • 54. Actually,! Lower level reliability can improve performance. ! 14 August 2009! CS5229 Semester 1, 2009/10! 55!
  • 55. To implement at low- level?! Additional cost for applications that do not require the feature.! Less information than the “end”, less efficient. ! 14 August 2009! CS5229 Semester 1, 2009/10! 56!
  • 56. Other Example:! Data Encryption! 14 August 2009! CS5229 Semester 1, 2009/10! 57!
  • 57. Choices! A.! Encrypt at the network- level! B.! Encrypt in the application! 14 August 2009! CS5229 Semester 1, 2009/10! 58!
  • 58. Why?! Intercept before reaching the network! Need to trust the network! Still need to authenticate! 14 August 2009! CS5229 Semester 1, 2009/10! 59!
  • 59. Other Example:! Duplicate Messages! 14 August 2009! CS5229 Semester 1, 2009/10! 60!
  • 60. Other Example:! Delivery Guarantees! 14 August 2009! CS5229 Semester 1, 2009/10! 61!
  • 61. Other Example:! RISC! 14 August 2009! CS5229 Semester 1, 2009/10! 62!
  • 62. Other Example:! Recovery in ! Telephony Exchange! 14 August 2009! CS5229 Semester 1, 2009/10! 63!
  • 63. The Argument! Any attempt by the computer designer to anticipate the client’s requirements will probably miss the target and the client will end up re-implementing it anyway.! 14 August 2009! CS5229 Semester 1, 2009/10! 64!
  • 64. The End Point?! 14 August 2009! CS5229 Semester 1, 2009/10! 65!
  • 65. Applications?! Users?! Hosts?! 14 August 2009! CS5229 Semester 1, 2009/10! 66!
  • 66. The end-point is a trustworthy entity.! 14 August 2009! CS5229 Semester 1, 2009/10! 67!
  • 67. Example! Reliable file transfer between host A and host B! 14 August 2009! CS5229 Semester 1, 2009/10! 68!
  • 68. If I don’t trust the file transfer application, I need to check for error myself.! 14 August 2009! CS5229 Semester 1, 2009/10! 69!
  • 69. E2E Argument! “! The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the endpoints of the communication system. Therefore, providing the questioned function as a feature of the communication system itself is not possible. (Sometimes an incomplete version of ”! the function provided by the communication system may be useful as a performance enhancement)! 14 August 2009! CS5229 Semester 1, 2009/10! 70!