What you could do from here CS 352, Lecture 25 http://www.cs.rutgers.edu/~sn624/352-S19 Srinivas Narayana 1 Youve gone through 24 lectures of 352 The protocols of the Internet Layering and Hourglass Design
HTTPS FTP HTTP SIP RTSP UDP
TCP IP 802.11 X.25 ATM
3 Protocol layers: Application layer Apps closest to the user: HTTP, SMTP, multimedia Helper protocols: DNS Deal with human concerns Readability of host names to reach certain services Often, protocols are in human readable plain text too HTTP, SMTP, DNS Optimized for human-perceivable performance The web, VoIP, mail, apps have different optimizations built into them
Protocol layers: Transport layer Providing guarantees for applications over a best-effort network Transport layer runs on hosts Providing connectivity between applications Multiplex data from multiple apps going out of a given machine Demultiplex data coming into a machine to different apps UDP: main function is de/multiplexing Also, error detection using checksums Simple and lightweight
TCP: reliable, in-order delivery Much more heavyweight Protocol layers: The transport layer TCP reliable delivery mechanisms ACKnowledgments Timeouts Retransmission strategies TCP ordered delivery mechanisms Sliding window
Flow control TCP efficiency and fairness Congestion control: slow start, additive increase/multiplicative decrease Protocol layers: The network layer Providing connectivity between machines across the Internet Data plane: Moving data from point to point Control plane: compute how data plane should move data Network layer runs on every host and every router Main issues: (1) Addressing
Machine addresses arent necessarily human friendly (ex: IPv4/v6) Addresses associated with network interfaces, not hosts Protocol layers: The network layer Main issues: (2) Router design High performance data movement between different network interfaces High-speed destination-based forwarding Longest-prefix-based matching Main issues: (3) Routing Link-state, distance-vector, path-vector routing Must try to avoid suboptimal paths and routing loops
Try to compute and converge fast Protocol Layers: The link layer Provide connectivity between machines over the physical medium A co-ax cable, optic fiber, the air inside a room Main issues: (1) Data encoding Must translate bits 0-1 from software into physical signals Main issues: (2) Error detection the media are not without fault!
Parity bits Protocol layers: The link layer Main issues: (3) Multiple access Partitioning the mediums resources Random access protocols: exponential back-off Taking turns Main issues: (4) Handling nuances of wireless media
Fading, hidden terminals, half-duplex Link-layer reliability Waiting for fixed periods of time to transmit despite idle medium Explicit reservation (RTS/CTS), resulting in taking turns Protocol layers: The link layer Main issues: (5) Supporting mobility of hosts Youve got to have roots somewhere Indirect and direct routing using home and foreign agents A result of requiring addresses to depend on point of attachment
And requiring apps to bind to addresses upon initiating a conversation Other important related topics Securing our communications An important (and peculiar) application: Multimedia transfers Securing communication Security properties: Confidentiality, integrity, authenticity, non-repudiation Cryptography
Obfuscating messages to all except the intended sender and receiver Symmetric key crypto: substitution and permutation Public key crypto: pairs of secrets to get around shared secret distribution Building authenticity and integrity Message authentication codes (MACs), digital signatures Transport layer security (TLS): real example of bringing all the tools together Multimedia transfers Streaming (ex: Netflix) and conversational (ex: Skype) media Peculiar characteristics: Delay-sensitivity, loss tolerance, varying quality levels for same data
The big picture Computer networks are a stack of layers Built that way for modularity Each layer does one set of functions very well Each layer depends on the layers beneath it But modularity can sometimes result in inefficiency
Many general and useful principles Borrowed from real life (ex: listen before you speak) Borrowed from systems in general (ex: use indirection for flexibility) Applicability goes the other direction as well (ex: how to authenticate a person talking to you over the phone?) Youve gone through 24 lectures of 352 now what? A few possibilities The course is over. Go about life as usual
Apply your new-found skills to solve a problem you care about Develop a deeper understanding of these technologies Consider improving the state of the art (1) Go about life as usual This material will still be useful for a good CS life Deeper understanding of the abstractions you use (ex: sockets. How big should socket buffers be?) Why we need certain technologies (ex: HTTPS, digital signatures) A more nuanced understanding of real issues (ex: how are ISPs violating net neutrality using QoS mechanisms?) Enhanced abilities to troubleshoot your own tech problems (ex: why is
website X not loading? Is it my Internet connection or the other end?) (2) Solve a problem you care about Most concepts we discussed are supported by real, open-source, freely-available software Many technology and protocol specifications are freely available (RFCs)
Linux kernel source code Open source software routers Open source browsers (Mozilla), mail clients (mutt), video clients Most protocols are open source Free or cheap infrastructure: EC2 servers, domain names, certificates (2) Solve a problem you care about Improve video chat performance? Improve the usability of secure email? Improve web transfer performance? Make it easier to diagnose home wifi issues?
(3) Deepen your understanding Fall 2019: CS 552 Computer Networks A deeper take on the fundamentals of Internet design https://www.cs.rutgers.edu/~sn624/552-F18/index.html Some questions well talk about:
How does Google serve your web traffic so quickly? How do large networks verify that their networks are functioning well? How are high-speed routers built? What transpires inside large data centers run by Amazon & Facebook? How should you optimize your web-app to load faster on browsers? and more (3) Deepen your understanding 552 requires Paper readings
Deep understanding Engaging in lively class discussions You will be assessed mainly through a software project On a topic of your choice that you are excited about The only requirement is that it must be connected to class material Every assessment is take home; there will be no exams. (4) Push the state of the art Many of you will embark on CS-related careers Can use your 352 know-how to do cutting-edge work in your org
Some of you may consider graduate school Networking is a great area to work in Some of the most cited papers in CS, at least 2 Turing awards 552 is a good place to lay a foundation for this path If youre interested to work on small research projects during your remaining time @ Rutgers, come talk to me. Now its time for Any questions, general or specific, about the course Any topics youd like me to go over again
Any feedback youd like to voice about this course Please dont be shy
Photons: Jeff Lundeen Kevin Resch( Zeilinger) Lynden(Krister) Shalm Masoud Mohseni ( Lidar) Rob Adamson Reza Mir ( ?) Karen Saucke ( Munich) Atoms: Jalani Fox Stefan Myrskog ( Thywissen) Ana Jofre( NIST) Mirco Siercke Samansa Maneshi Chris Ellenor Some friendly...
Definition of Financial Statement Fraud. ... billion in market capitalization to investors, employees, and pensioners. Enron, WorldCom, Quest, Global Crossing, and Tyco's loss to shareholders was $460 billion (Cotton 2002). ... In case of repeated default within a period of...
Variable costs . fluctuate with the volume of business. Variable costs include controllable expenses such as payroll, benefits, direct operating expense, music and entertainment, marketing and promotion, energy and utility, administrative, and repairs and maintenance
Griffen, Darren. Hardy, Ashley. Hardy, Tully. ... Paul. 1st EEA stapled GJ. stapled GJ. Martin, Alexis ... Arial Wingdings Beam 1_Beam Microsoft Office Excel Chart RATIONALE FOR BARIATRIC SURGERY IN ADOLESCENTS SCOPE OF THE OBESITY PROBLEM SCOPE OF THE OBESITY...
Advanced Defensive Checks. As stated earlier multiple times, body positioning is the key to playing good defense. There are additional advanced takeaway checks that defensemen can learn, but these should come secondary to learning solid fundamental defensive positioning and the...
Registers used: AH = 9 DX = the offset address of the data to be displayed. Ex: MOV AH,09 MOV DX,OFFSET MESS1 INT 21H DOS Interrupt 21H Option 0AH - Inputs a string of data from the keyboard. Registers used:...
Reading, Grades 3-10,* Mathematics, Grades 3-8* Science: Grades 5 and 8* All students enrolled in: Algebra I** Geometry** Biology I** *Students MUST take the test corresponding to the grade level in which they are listed in ISIS.