Network Protocols Sarah Diesburg Operating Systems CS 3430.

Slides:



Advertisements
Similar presentations
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Advertisements

IS333, Ch. 26: TCP Victor Norman Calvin College 1.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Network Protocols Mark Stanovich Operating Systems COP 4610.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
Internet -- network of networks –network delivers packets (& locates nodes) –router (gateway) moves packets between networks –IP interoperability on top.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
TCP/IP Lecture Extra. TCP/IP Developed by DARPA (Defense Advanced Research Projects) TCP is a connection-oriented transport protocol that sends data as.
5-1 Data Link Layer r Today, we will study the data link layer… r This is the last layer in the network protocol stack we will study in this class…
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
Ch 23 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007 Ameera Almasoud.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Gursharan Singh Tatla Transport Layer 16-May
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:  SD, ED mark start,
1 Transport Layer Computer Networks. 2 Where are we?
Introduction1-1 Data Communications and Computer Networks Chapter 5 CS 3830 Lecture 27 Omar Meqdadi Department of Computer Science and Software Engineering.
Huda AL_Omairl - Network 71 Protocols and Network Software.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
Mukesh N. Tekwani Elphinstone College Mumbai
1 Chapter 16 Protocols and Protocol Layering. 2 Protocol  Agreement about communication  Specifies  Format of messages (syntax)  Meaning of messages.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
University of the Western Cape Chapter 12: The Transport Layer.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Data Link Layer Part I – Designing Issues and Elementary.
COSC 3407: Operating Systems Lecture 21: Network Protocols.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Network Protocols n ISO OSI 7-layer model n TCP/IP suite l TCP/UDP l IP l Ethernet/Token Ring l ICMP.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Networks and Distributed Systems Mark Stanovich Operating Systems COP 4610.
Network Technologies Definitions –Network: physical connection that allows two computers to communicate –Packet: a unit of transfer »A sequence of bits.
INTRANETS MR ROSS UNIT 3 IT APPLICATIONS. DEFINITION An intranet is an internal, secured environment that has a similar look and feel to the Internet,
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Lecture Topics: 11/27 Networks Layered Model Ethernet IP.
Review of key networking techniques: –Reliable communication over unreliable channels –Error detection and correction –Medium access control –routing –Congestion.
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
ECE 4110 – Internetwork Programming
The Internet Book. Chapter 16 3 A Packet Switching System Can Be Overrun Packet switching allows multiple computers to communicate without delay. –Requires.
Transport Protocols.
Networks and Distributed Systems Sarah Diesburg Operating Systems COP 4610.
Networks and the Internet Topic 3. Three Important Networking Technologies Networks, Internet, WWW.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
Computer Communication and Networking Lecture # 4 by Zainab Malik 1.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Network Protocols Andy Wang Operating Systems COP 4610 / CGS 5765.
Token Passing: IEEE802.5 standard  4 Mbps  maximum token holding time: 10 ms, limiting packet length  packet (token, data) format:
Process-to-Process Delivery:
BASICS Gabriella Paolini (GARR) 27/05/11 - ICCU Roma 1 How INTERNET works !
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Instructor & Todd Lammle
Packet Switching Datagram Approach Virtual Circuit Approach
Sarah Diesburg Operating Systems COP 4610
Advanced Computer Networks
Andy Wang Operating Systems COP 4610 / CGS 5765
Transport Layer 9/22/2019.
Presentation transcript:

Network Protocols Sarah Diesburg Operating Systems CS 3430

Distributed Systems Allow physically separate computers to work together + Easier and cheaper to mass-produce simple computers  Off-the-shelf components + A company can incrementally increase the computing power

Promises of Distributed Systems Higher availability  If one machine goes down, use another Better reliability  A user is able to store data in multiple locations More security  Each simple component is easier to make secure

Reality of Distributed Systems Worse availability  A system may depend on many or all machines being up Worse reliability  One can lose data if any machine crashes Worse security  Security is as strong as the weakest component Coordination is difficult because machines can only use the network medium

Network Technologies Definitions  Network: physical connection that allows two computers to communicate  Packet: a unit of transfer A sequence of bits carried over the network  Protocol: An agreement between two parties as to how information is to be transmitted

Broadcast Networks A broadcast network uses a shared communication medium  e.g. wireless, Ethernet, cellular phone network  The sender needs to specify the destination in the packet header So the receiver knows which packet to receive  If a machine were not the intended destination Discard the packet

Arbitration Concerns the way to share a given resource In Aloha network (1970s)  Packets were sent through radios on Hawaiian Islands

Aloha Network  Arbitration: blind broadcast, with a checksum at the end of a packet  Packets might become garbled in the case of simultaneous transmissions

Aloha Network  Arbitration: blind broadcast, with a checksum at the end of a packet  Packets might become garbled in the case of simultaneous transmissions

Aloha Network  Arbitration: blind broadcast, with a checksum at the end of a packet  Packets might become garbled in the case of simultaneous transmissions

Blind Broadcast Receiver: If a packet is garbled discard else sends an acknowledgement Sender: If the acknowledgement does not arrive resend the packet

Ethernet (introduced in the early ‘80s) By Xerox First practical local area network  Uses wire (as opposed to radio)  Broadcast network  Key advance: a new way for arbitration

Ethernet’s Arbitration Techniques Carrier sensing: Ethernet does not send unless the network is idle Collision detection: sender checks if packet is trampled  If so, abort, wait, and retry Adaptive randomized waiting: a sender picks a bigger wait time (plus some random duration) after a collision

The Internet A generalization of interconnected local area networks Uses machines to interconnect various networks  Routers, gateways, bridges, repeaters  Act like switches  Packets are copied as they transmitted across different networks LAN 1 LAN 2

Routing Concerns how a packet can reach its destination Typically, a packet has to go through multiple hops before getting to a destination  Each hop is a router, which directs a packet to the next hop  Routing is achieved through routing tables

Routing Table Updates 1. Each routing entry contains a cost  2. Neighbors periodically exchange routing table entries 3. If the neighbor has a cheaper route, use that one instead

Point-to-Point Networks Instead of sharing a common network medium, all nodes in the network can be connected directly to a router/switch

Point-to-Point Networks + Higher link performance (no collisions) + Greater aggregate bandwidth than a single link

Point-to-Point Networks + Network capacity can be upgraded incrementally + Lower latency (no arbitration)

Issues in Point-to-Point Networks Congestion occurs when everyone sends to the same output link on a switch buffers Crossbar

Networking: Physical Reality vs. Abstraction Physical reality: packetsAbstraction: messages Limited sizeArbitrary size UnorderedOrdered UnreliableReliable Machine-to-machineProcess-to-process Only on local area networkRouted anywhere AsynchronousSynchronous InsecureSecure

Arbitrary-Size Messages Can be built on top of limited-size ones  By splitting a message into fix-sized packets Checksum can be computed on each fragment or the whole message

Internet Protocol (IP) Provides unreliable, unordered, machine-to- machine transmission of arbitrary-size messages

Process-to-Process Communications Built on top of machine-to-machine communications through the use of port addresses Each message contains the destination port to talk to the correct process

Unreliable Data Protocol (UDP) Provides unreliable, unordered, user-to-user communication Built on the top of IP

Ordered Messages Built on top of unordered ones Use sequence numbers to indicate the order of arrival  Specific to a connection If packet 3 arrives before packet 2, wait for packet 2. Always deliver packets in order, to user applications

Reliable Message Delivery Built on top of unreliable delivery Problem: Network infrastructure can garble messages  Packets can be dropped if network buffers are full

Solution Checksum each message At a receiver, discard messages with mismatching checksums A receiver acknowledges if a packet is received properly A sender resends the same message after not hearing the acknowledgment for some time (a timeout period)

A Minor Problem A sender may send twice, if the first acknowledge is lost The receiver needs to discard duplicate packets

Implications A sender needs to buffer messages that are not yet acknowledged The receiver must track messages that could be duplicates

Transmission Control Protocol (TCP) Provides a reliable byte stream between two processes on different machines over the Internet sequence number: 1 checksum: fa73cd10

Transmission Control Protocol Fragments the byte stream into packets and hands them to IP

TCP Message Categories Sender  Sent and acknowledged  Sent and not acknowledged  Not yet sent Receiver  Forwarded to application  Received and buffered  Not yet received

More on the Sequence Number Need a way to recycle sequence numbers  Each TCP packet has a time-to-live field If the packet is not delivered in X seconds  The packet is dropped  Sequence numbers can be reused  An epoch number used to identify which set of sequence numbers is being used Incremented at each boot Stored on disk

Congestion Implications of timeout period at a sender  Too long  unnecessary waiting  Too short  a message is transmitted when an acknowledgement is in transit Network congestion  delayed acknowledgement  timeout  data retransmission  more congestion

TCP Solution Slow start: TCP starts by sending a small amount of data  If no timeout, more data is sent  If timeout, TCP reduces the amount of data being sent

Distributed Transaction Multiple machines agree to do something atomically, but not necessarily at exactly the same time Mechanism: two-phase commit

Two-Phase Commit Account XAccount Y Phase 1: ask if each can commit 1. Begin transaction Ask Y for $1 Enough cash 2. Write “Y = Y - $1” Ready to commit Phase 2: commit 3. Write “X = X + $1” 4. Commit Ask Y to commit 5. Commit

Scenarios If X crashes between 1 and 2  Y will wake up and do nothing  X will timeout and abort the transaction If X crashes before step 4  X will wake up and abort the transaction If X crashes between 4 and 5  Y will timeout and ask X for the transaction

Scenarios If Y crashes between 2 and 5  Y will wake up and check the log  When X sends Y the commit message, Y will commit  Y can also timeout and ask X the current status