Networking Fundamentals

Slides:



Advertisements
Similar presentations
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Advertisements

EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
CSE331: Introduction to Networks and Security Lecture 6 Fall 2002.
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.
Process-to-Process Delivery:
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Transport Layer Computer Networks. 2 Where are we?
Chapter 4: Managing LAN Traffic
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
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.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Transport Protocols.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Day 13 Intro to MANs and WANs. MANs Cover a larger distance than LANs –Typically multiple buildings, office park Usually in the shape of a ring –Typically.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
BASICS Gabriella Paolini (GARR) 27/05/11 - ICCU Roma 1 How INTERNET works !
1 28-Sep-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI network layer CCNA Exploration Semester 1 – Chapter 5.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Chapter 3 Part 3 Switching and Bridging
Instructor & Todd Lammle
Introduction to Networks
The Transport Layer Implementation Services Functions Protocols
Chapter 9: Transport Layer
Introduction to TCP/IP networking
Chapter 16 – Networking Outline 16.1 Introduction
Lecture (2).
Chapter 3 outline 3.1 Transport-layer services
Instructor Materials Chapter 9: Transport Layer
Packet Switching Outline Store-and-Forward Switches
Process-to-Process Delivery, TCP and UDP protocols
Layered Architectures
06- Transport Layer Transport Layer.
CS4470 Computer Networking Protocols
TCP Transport layer Er. Vikram Dhiman LPU.
Introduction to Networks
Chapter 3 Part 3 Switching and Bridging
Internet and Intranet Protocols and Applications
Transport Layer Unit 5.
Transport Layer Our goals:
I. Basic Network Concepts
Multimedia and Networks
Process-to-Process Delivery:
TCP/IP Protocol Suite: Review
Switch controller: Routing
TCP/IP Protocol Suite: Review
Chapter 3 Part 3 Switching and Bridging
Transport Protocols: TCP Segments, Flow control and Connection Setup
Chapter 5 Transport Layer Introduction
Routing and the Network Layer (ref: Interconnections by Perlman
OSI Reference Model Unit II
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Chapter 3 Transport Layer
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Presentation transcript:

Networking Fundamentals

Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems Internal (routers, bridges, switches) Terminal (workstations) Links – connections for transmitting data Protocol – standards for formatting and interpreting data and control information

Network = {nodes and links} Circles are nodes, lines are links. Circles represent hosts and routers. Links represent wires, fibers, etc.

Nodes have addresses 7 4 1 6 2 8 5 3 Addresses identify destinations. If a node is presented with data destined for an address, it can tell Is it me? Where should I send it instead? Really, it’s the interfaces, each end of a link that has an address, but this is the basic stuff. 9

Links have bandwidths and latencies 7 4 1 6 2 8 5 3 9

Wires aren’t perfect Attenuation (resistance) degrades quality of signal Delay (speed of light * 2/3) speed of light: 8ms RTT coast-to-coast 8 minutes to the sun Noise (microwaves and such) Nodes aren’t perfect either Unreliability is pervasive! End nodes might not know when bits start and when they stop, might misinterpret bits. Some forwarding nodes have been found to swap bytes occasionally.

Getting Data Across (imperfect wires) Split up big files into small pieces the pieces are called packets Each packet (~1500 bytes) is sent separately packets can be corrupted noise, bugs packets can be dropped corrupted, overloaded nodes packets can be reordered retransmission + different paths Allows packets from different flows to be multiplexed along the same link That is, the link can be shared between different applications communicating by this sort of time-slicing approach.

Layers Each layer abstracts the services of various lower layers, providing a uniform interface to higher layers. Each layer needs to know: How to interpret a packet’s payload e.g., protocol numbers How to use the services of a lower layer The structure of network design.

OSI Levels Node A Node B Application Application Presentation Transport Transport Network Network Data Link Data Link Physical Physical Network

Layers OSI Reference Reality Packet Format App data Application Presentation Session Transport Network Data-Link Physical HTTP TCP IP Ethernet Twisted Pair IP Payload Packet format is the realization of the layered model as bits on a wire. Physical: bits on a wire Data-link: frames on a wire (collections of bits traversing a single (conceptual) wire Network: packets sent across various data-links Transport: flows / bytestreams / sets of packets logically related, possibly reliable Session and Presentation: no one knows anymore Application: http, etc. Ethernet Payload

The Internet Protocol (IP) Connects disparate networks Single (hierarchical) address space Single network header Assumes data link is unreliable Provides unreliable service Loss: A B D E Duplication: A B B C D E Corruption: A Q C D E Reordering: A C D B E By single, I imply global, universal. By unreliable, I don’t mean that it fails often, I mean that packets, when sent, don’t necessarily get to their destination intact or at all.

IP Addresses 32 bits long, split into 4 octets: Hierarchical: For example, 128.95.2.24 Hierarchical: First bits describe which network Last bits describe which host on the network UW subnets include: 128.95, 140.142… UW CSE subnets include: 128.95.2, 128.95.4, 128.95.219…

Packet Forwarding Buffer incoming packets Decide which output link Buffer outgoing packets Send packet How fast does the backplane bus have to be? 5x the speed of the links. Why input buffering? Packet takes time to arrive. Why output buffering? Might have packets from different inputs to the same output, want to keep utilization high.

Routing How do nodes determine which output link to use to reach a destination? Distributed algorithm for converging on shortest path tree Nodes exchange reachability information: “I can get to 128.95.2.x in 3 hops”

Shortest path tree 7 4 (2) 1 (1) 6 2 8 (1) (2) (1) 5 3 9 Packets destined for 6 pass along this tree. 4 would forward a packet destined for 6 via 2. Such a tree exists for each destination. 3 can choose arbitrarily between 2 and 5 to get to 6. Might be best if it sticks with just one, though. Problem (segue): one forwarding table entry and one line in a message per destination address. Need route aggregation! 9 (x) Is the cost to get to 6. The metric (cost per link) here is 1. Simple algorithm: 6 broadcasts “I’m alive” to neighbors. Neighbors send “I can get to 6 in 1 hop”, etc.

Route Aggregation What hierarchical addressing is good for. UW routers can advertise 128.95.x.x instead of 128.95.2.x, 128.95.3,x, … Other routers don’t need forwarding table entries for each host in the network.

Routing Reality Routing in the Internet connects Autonomous Systems (AS’s) AT&T, Sprint, UUNet, BBN… Shortest path, sort of… money talks. actually a horrible mess nobody really knows what’s going on get high $$ job if you are a network engineer that messes with this stuff The mess of human intervention implies things will fail. Cooperation of companies in carrying traffic implies it’s very hard to debug this system (not only is it a distributed system, but its one with distributed administration) Tracing DoS attacks is nearly impossible, unless you’ve got a lot of money.

TCP Service Model Provide reliability, ordering on the unreliable, unordered IP Bytestream oriented: when you send data using TCP, you think about bytes, not about packets.

TCP Ports Connections are identified by the tuple: IP source address IP destination address TCP source port TCP destination port Allows multiple connections; multiple application protocols, between the same machines Well known ports for some applications: (web: 80, telnet: 23, mail:25, dns: 53) Previously a typo on source, dest port.

TCP’s Sliding Window Simple reliability: Better performance: Send one packet, wait for acknowledgment, then send the next… Better performance: Keep several unacknowledged packets in the network (a window) Previously a typo on the last bullet.

Sliding Window Example Send 1 Send 2 Send 3 Send 4 Send 5 Send 6 Send 7 Send 8 Send 9 Window size = 3 Can send up to three packets into the network at a time. Each packet has a sequence number for ordering Ack 1 Ack 2 Ack 3 Ack 4 Ack 5 Ack 6 Ack 7 Ack 8

TCP’s Congestion Control How big should the window be? Performance is limited by: (window size) / round trip time Performance of bottleneck link (modem?) If window is too small, performance is wasted. If window is too big, may overflow network buffers, causing packet loss.

Steps for a web access Name lookup TCP Connection setup Client to local DNS server Local DNS may return a cached binding, or lookup the name for itself TCP Connection setup Client to remote IP, port 80 Send HTTP request “GET /index.html” Receive HTTP response “blah blah blah” maybe several packets TCP Connection teardown And as the request goes out to the remote ip, nodes along the path lookup the next hop along the path in the forwarding table they built using a routing protocol. The http response is a collection of several packets, each with a sequence number (actually, sequence numbers apply to bytes). They are retransmitted if lost, and checked for corruption before being delivered to the web client. The TCP connection has a teardown phase symmetric to the setup; since state information is stored for each connection, both sides agree to free that state when done.

HTTP 1.1 Incremental improvements “Persistent connections” allow multiple requests over the same connection Web transfers are often small Avoid connection setup and teardown overhead TCP is better the longer you use it: it learns how fast to send to get best performance without overflowing buffers.