Presentation is loading. Please wait.

Presentation is loading. Please wait.

Understanding Networked Applications: A First Course Final exam review by David G. Messerschmitt.

Similar presentations


Presentation on theme: "Understanding Networked Applications: A First Course Final exam review by David G. Messerschmitt."— Presentation transcript:

1 Understanding Networked Applications: A First Course Final exam review by David G. Messerschmitt

2 Understanding Networked Applications A First Course 2 Copyright notice ©Copyright David G. Messerschmitt, 2000. This material may be used, copied, and distributed freely for educational purposes as long as this copyright notice remains attached. It cannot be used for any commercial purpose without the written permission of the author.

3 Understanding Networked Applications A First Course 3 Note on material coverage On topics assigned by reading but not covered in class, this review lists what I consider the most important concepts To limit the material you are responsible for, exam questions will be limited to these topics or things touched on Therefore you can safely focus your studying around the topics mentioned here and issues they touch on

4 Understanding Networked Applications A First Course 4 Note This is a review of the material since the second midterm You are responsible for the entire course Please, therefore, see the midterm reviews as well

5 Understanding Networked Applications A First Course 5 Major topics since midterm Privacy Industrial organization Distributed systems basics –protocols –locating things

6 Understanding Networked Applications A First Course 6 Major topics (con’t) Communication services –message, queuing, multiplexing, reply, conversation, streaming, broadcast –internet: IP, TCP, etc Trust –availability –security

7 Understanding Networked Applications A First Course 7 Major topics (con’t) Networking –multiplexing, forwarding, routing, name services, flow and congestion control –encapsulation, fragmentation, layering –internet: IP, TCP, UDP Communications –Bitrate and delay limited communication –Caching

8 Understanding Networked Applications: A First Course Privacy By David G. Messerschmitt

9 Understanding Networked Applications A First Course 9 The issue In the course of using a networked application, there is an opportunity to capture a user profile, including –Information provided by the user for legitimate purposes (e.g credit card number) –Information not intended to be revealed by the user (e.g. email message) –Information about the user’s activities These issues are aggravated within network applications

10 Understanding Networked Applications A First Course 10 Anonymous identification Complete anonymity. No identify information (personal or anonymous) is available to applications or service providers. There is no feasible way to capture traces of user activity over time or across applications. Anonymous identification. While no personal identify information (like name, address, email address, etc.) is available, it can be inferred when the same user revisits an application or provider (using an anonymous identifier as in the deli example). Traces can be captured of a single user’s activity, but those traces cannot be matched to personal identity. Personal identification. Applications or providers are aware of (at least some) personal identity information. Often, even given incomplete information, it is possible to correlate across distinctive sets of personal information if there is some commonality (e.g. an email address).

11 Understanding Networked Applications A First Course 11 User Application … User profile … Capture Aggregation

12 Understanding Networked Applications A First Course 12 Some specific privacy policy issues DisclosureDoes the application abide by a comprehensive privacy policy, and is that policy disclosed to the user? AnonymityIs the personal identity of the user known or included in the user profile? ControlIs the user allowed some degree of control over attributes of the policy, what information is collected, and how it is used? DefaultIf there are user-selected options, what is are the defaults if the user makes no explicit choice? Extreme cases are “opt in”, where no information is collected unless the user explicitly chooses, or “opt out”, where all information is collected unless the user explicitly says no. OwnershipWho owns and exercises control over information that is captured? SharingWith who is a user’s personal information shared, and how may they disseminate it further? PersistenceOver what period of time is personal information captured, and how long is it retained?

13 Understanding Networked Applications: A First Course Industrial Organization By David G. Messerschmitt

14 Understanding Networked Applications A First Course 14 Implementation ProvisioningOperation Implementation ProvisioningOperation Use Application Infrastructure Analysis Value chain for software

15 Understanding Networked Applications A First Course 15 System integrator Application software supplier Infrastructure software supplier Application service provider Infrastructure service provider End-user organization Business consultant Industry consultant

16 Understanding Networked Applications A First Course 16 From stovepipe to layering DataVoiceVideo All applications Value-added services Common services Core technologies Application-dependent infrastructure Application-independent

17 Understanding Networked Applications A First Course 17 Applications Integrative services Generic services Common representations ProcessingStorageConnectivity Application components

18 Understanding Networked Applications A First Course 18 Diversity of applications Application and technology- independent infrastructure Technology specific infrastructure Application-specific infrastructure Structure of a layered industry

19 Understanding Networked Applications: A First Course Distributed systems by David G. Messerschmitt

20 Understanding Networked Applications A First Course 20 Protocol Distributed algorithm realized by two or more modules to coordinate their actions or accomplish some shared task Module interoperability focuses on actions and protocols

21 Understanding Networked Applications A First Course 21 ClientServer Time send receive request response subscribe responses

22 Understanding Networked Applications A First Course 22 Three ways of locating things Name Address Reference

23 Understanding Networked Applications: A First Course Communication services by David G. Messerschmitt

24 Understanding Networked Applications A First Course 24 Example communication services Messages Queuing and multiplexing Message with reply Conversation Broadcast

25 Understanding Networked Applications A First Course 25 Sender1 Recipient Sender2 Mux & queue Multiplexing and queuing Infrastructure Recipient deals with one message at a time even if coming from many senders

26 Understanding Networked Applications A First Course 26 Send/receive Request/ response Queue = Work on message or request = Blocked waiting for response Send/receive Request/ response Message waiting SenderRecipient SenderRecipient Comparison

27 Understanding Networked Applications A First Course 27 Audio coder Audio decoder Video coder Video decoder Streaming multimedia

28 Understanding Networked Applications A First Course 28 Time Accumulate audio in message Send message Receive message Playback audio in message Delay A session supports streaming multimedia

29 Understanding Networked Applications: A First Course Security by David G. Messerschmitt

30 Understanding Networked Applications A First Course 30 Availability Application up and running correctly –increasingly 24x7 Expressed as expected downtime per unit time Some types of downtime: –Off-line upgrade and maintenance –Software crashes –Equipment failure –Successful denial-of-service attack

31 Understanding Networked Applications A First Course 31 Encryption Encrypt Decrypt Ciphertext Encryption keyDecryption key Plaintext message Plaintext message

32 Understanding Networked Applications A First Course 32 Information Data Block: plaintext EncryptDecrypt Information Data Block: plaintext Representation by data (defined by application) FragmentationAssembly Interpretation assumed by encryption algorithm Ciphertext Encryption obscures data representation

33 Understanding Networked Applications A First Course 33 Brute force approach: block substitution table Plaintext (n bits) 0000000000000 0000000000001 0000000000010 …. 1111111111111 Ciphertext (n bits) 0100001011001 0111010011000 1000101101011 …. 1110100000110

34 Understanding Networked Applications A First Course 34 ffff... 32 bits Bit-by bit addition (base-two) 16 rounds k 15 k 16 k2k2 k1k1 Plaintext block Ciphertext block Confusion Diffusion DES symmetric algorithm 64 bit plaintext 56 bit key

35 Understanding Networked Applications A First Course 35 0 n-1 P = plaintext C = ciphertext Encrypt Decrypt RSA asymmetric algorithm C = P s mod n P = C t mod n t cannot be computed from (n,s) in reasonable time

36 Understanding Networked Applications A First Course 36 Alice writes message on paper in permanent ink Alice adds her signature Alice seals message in envelope Only Bob breaks seal and opens envelope Bob verifies Alice’s signature Post office physical security Alice requests return acknowledgement from Bob

37 Understanding Networked Applications A First Course 37 EncryptionDecryption Plaintext P Original plaintext P Ciphertext C SK EncryptionDecryption P PC BPKBSK Secret key Public key Secret key Message sent by Alice Message received by Bob Or Confidentiality

38 Understanding Networked Applications A First Course 38 k Alice (being authenticated) DecryptionEncryption APKASK Response Bob Compare Challenge-response protocol Random integer Challenge

39 Understanding Networked Applications A First Course 39 EncryptionDecryption P S ASKAPK Signature (Alice) senderBob (recipient) Plaintext Compare Secret keyPublic key Digital signature Verified by a signature authority

40 Understanding Networked Applications A First Course 40 BobAlice CA  Alice convinces CA of her identity  Alice provides Bob with a replica of her digital certificate, which provides and certifies Alice’s public key  CA gives digital certificate and secret key to Alice  Bob verifies CA signature using CA’s public key Digital certificate protocol

41 Understanding Networked Applications A First Course 41 Certificate authority Bank’s certificate issued by CA Merchant’s certificate issued by bank Verify signature Authority’s known public key Bank’s public key Verify signature Merchant’s public key Chain of trust (e-commerce example)

42 Understanding Networked Applications A First Course 42 Secure socket layer Illustrated as an example of –Authentication (PKI) –Confidentiality (symmetric encryption with secret session key) Shortcomings –No authentication of client –No client digital signatures

43 Understanding Networked Applications: A First Course Performance By David G. Messerschmitt

44 Understanding Networked Applications A First Course 44 Performance measures Delay –How long does it take things to happen? Capacity and throughput –How many things can happen (per unit time)? –Utilization Tradeoff –Increasing throughput through utilization is cost effective but degrades delay

45 Understanding Networked Applications A First Course 45 Wherefrom congestion? time (50% utilization, regular arrivals, no backlog) time (50% utilization, irregular arrivals, inevitable backlog) Increased delay from congestion is due to irregular arrivals causing system resources to be temporarily oversubscribed Actual delay depends on arrival statistics

46 Understanding Networked Applications: A First Course Networking by David G. Messerschmitt

47 Understanding Networked Applications A First Course 47 Impact of network on applications Communication service provided the application –what does application have to do for itself? Impact on application performance –message (packet) latency –message (packet) loss –message (packet) corruption

48 Understanding Networked Applications A First Course 48 Internetworking (IP) Subnetworks Datagram (UDP)Bytestream session (TCP) Remote method invocation (RMI) Application Middleware OS Network Partial internet protocol architecture

49 Understanding Networked Applications A First Course 49 Packet switch AddrOutLink    Output link Routing table Packet Packet forwarding...

50 Understanding Networked Applications A First Course 50 ProducerConsumer Queue Stream of messages Flow control Normally the producer determines what information is sent, but consumer has to have a way to slow down producer

51 Understanding Networked Applications A First Course 51 Carried traffic Offered traffic Network “capacity” Increasing portion of network traffic is resent packets Social optimum Congestion instability

52 Understanding Networked Applications A First Course 52 Key ideas Packet encapsulation: one packet can be encapsulated in another Packet fragmentation: one packet can be split into two or more packets and encapsulated Protocol layering: one service can be layered on another by fragmentation and encapsulation

53 Understanding Networked Applications A First Course 53 Layer n+1 Layer n Layer n+1 protocol header Layer n protocol header Encapsulated layer n+1 packet, including header Peer-to-peer communication

54 Understanding Networked Applications A First Course 54 Destination Source Destination Source ACK Task Concurrent tasks for higher throughput Packets can be reordered using sequence number

55 Understanding Networked Applications A First Course 55 Gateway Public telephone network Internet IP telephone Plain old telephone    Voice over IP

56 Understanding Networked Applications: A First Course Communications by David G. Messerschmitt

57 Understanding Networked Applications A First Course 57 Conveyer belt Bits waiting to be sent Bits that have already been received Conveyer belt analogy = “0” = “1” Constant speed

58 Understanding Networked Applications A First Course 58 Bottlenecks and workarounds Compare message size to delay-throughput product (number of bits on conveyer) Bitrate limited –compression Delay limited –caching

59 Understanding Networked Applications A First Course 59 Remote data being accessed Local cache Communication bottleneck Future references (where possible) Caching Predictive caching becomes very important in the delay-limited regime


Download ppt "Understanding Networked Applications: A First Course Final exam review by David G. Messerschmitt."

Similar presentations


Ads by Google