lOMoARcPSD|13982524 Cheat Sheet fir 1st Quiz Network Fundamentals (University of Technology Sydney) Studocu is not sponsored or endorsed by any college or university Downloaded by Nicholas Pasfield (nicholas.pasfield@gmail.com) lOMoARcPSD|13982524 Week 1 Network is a collection of computers and devices connected together to allow sharing of resources between users. E.g. network file system, printer sharing. Device types on the network: - Host: another name for a computer - Modem: converts between analog signals and digital signals in dialup access. - NIC (network interface card): direct connection to LAN - Hub: can connect more than 2 hosts. Strengthens the signal, not concerned with the meaning of data, broadcasts the message to all of its ports. - Switch: more intelligent than a hub, because a switch looks at the MAC addresses (burned in physical address of the NIC) in the messages. Provides direct physical connection between hosts when they want to communicate. - Wireless access point: operates in the 2.4 or 5 GHz bandwidth. Several versions – a, b, g, n. Increasing popularity. - Router: forwards data packets between computer networks. LAN is a network that connects computers and devices in a geographically limited area. Network Protocols govern all communication activities on the internet. They define format, order of messages sent and received among network entities, and actions taken on message transmission, receipt. Essentially rules you have to follow, such as road traffic protocols. Network edge: mobile, home and institutional networks Network core: regional ISP and global ISP (interconnected routers and network of network) Routing: determines source-destination route taken by packets. The planning of path through internet core, plan fastest route for packets. Forwarding: move packets from router’s input to appropriate router output. Packet switching vs circuit switching Packet switching allows more users to use network. For example: on a 2MBPS link, with each user using 1MBPS when active, and active 20% of time. Circuit Switching: only 2 users, link needs to be reserved for each user, Other users have to wait…. Packet switching: with 3 users, probability of >2 active at same time is less than .008 Congestion unlikely to occur 3C3 * p^3 * (1-p)^3-3 = 0.2^3 = 0.008 Packet Switching - great for bursty data - resource sharing - simple, no call setup - HOWEVER, excessive congestion possible: packet delay and loss as a result. Protocols needed for reliable data transfer and congestion control. Network of Networks - ISP peering connects multiple ISPs - IXP interconnects many different ISPs Access Networks Week 3 DSL: dedicated using phone line Cable Network (including HFC): shared, FTTH: bandwidth not shared WIFI (802.11) Network apps are apps that use networks, i.e. not offline Client Server Architecture - Server: always-on host, permanent IP address, data centres for scaling - Clients: communicate with server, may be intermittently connected, may have dynamic IP addresses, do not communicate directly with each other. P2P Architecture - No always-on server, peer host can be both client and server, peers request service from other peers, provide service in return to other peers (self scalability) - copyright issues and difficult to maintain. Process Communicating Physical Media bit: propagates between transmitter/receiver pairs physical link: what lies between transmitter & receiver guided media: signals propagate in solid media; copper, fiber, coax unguided media: signals propagate freely, e.g., radio Twisted Pair: 2 insulated copper wires – for ethernet Coaxial Cable: 2 concentric copper conductors, bidirectional, broadband (hfc, multiple channels on cable) Fiber Optic Cable: glass fiber carrying light pulses, each pulse a bit. High speed operation: high speed point-topoint transmission. Very expensive as you have to convert electronic singla to light an then back again. Low error rate Radio signal carried in electromagnetic spectrum, no physical “wire”, bidirectional. Includes: Terrestrial microwave LAN Wide area Satellite Process: program running within a host. IPC: within same host, two processes communicate using this (defined by OS) Client Process: process that initiates communication Server Process: process that waits to be contacted Process sends/receives messages to/from its socket (analagous to post box) - Sending process relies on transport infrastructure on the other side of door to deliver message to socket at receiving process. Essentially where a process plugs into the network Packet Switching: hosts break application layer messages into packets. Forward packets from one router to the next, across links on a path from source to destination Each packet transmitted at full link capacity In seconds, we convert to milliseconds To receive messages, process must have identifier. Host device has unique 32 bit IP address. Not enough to identify process as many processes can be running on same host. However need port numbers (application ID) associated with process on host in order to identify process, e.g. 80 for HTTP and 25 for mail server. App Transport Services Data integrity/reliability: - Some apps (e.g. file transfer) require 100% reliable data transfer - Other apps can tolerate some loss (e.g. audio) Timing: - Some apps (e.g. interactive games) require low delay to be “effective” Throughput: - Some apps (e.g. multimedia) require minimum amount of throughput to be “effective” - Other apps (“elastic apps”) make use of whatever throughput to be effective Internet Transport Protocols Services TCP: - reliable transport between sending and receiving process - flow control: sender won’t overwhelm receiver - congestion control: throttle sender when netowkr overloaded - does not provide: timing, security, minimum throughput guarantee UDP: - unreliable data transfer between sending and receiving process - does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup. - OK for loss tolerating connections and low-latency Delay and Loss: is arrival (in bits) to link exceeds transmission rate of link for a period of time: - Packets will queue, wait to be transmitted on link TCP required for non loss tolerating connections - Packets can be dropped (lost) if memory (buffer) fills up - when the packet arrival rate (temporarily) exceeds output link capacity Downloaded by Nicholas Pasfield (nicholas.pasfield@gmail.com) lOMoARcPSD|13982524 Week 02 Layers: each layer implements a service - via its own internal-layer actions - relying on services provided by layer below - such that online system can get message from one end to another Internet protocol stack application: supporting network applications - SMTP(email), HTTP(web), Apps (…) transport: process-process data transfer - TCP, UDP network: routing of datagrams from source to destination - IP, routing protocols data link: data transfer between neighbouring network elements - Ethernet, 802.11(WiFi) physical: bits “on the wire” Modular approach makes it easy to deal with complex systems, for system identification and design. Makes updating to particularly layers easier without affecting other layers. 4 Sources of Packet Delay Layers (extended) - The header in each packet includes the IP address of the destination (end system B). The packet switch uses the destination IP address in the packet to determine the outgoing link. Application-layer message: data which an application wants to send and passed onto the transport layer; transport-layer segment: generated by the transport layer and encapsulates application-layer message with transport layer header; network-layer datagram: encapsulates transport-layer segment with a network-layer header; link-layer frame: encapsulates network-layer datagram with a link-layer header. Throughput Throughput: rate (bits/time unit) at which bits transferred between the sender /receiver (end-to-end). Value of lowest R = throughput - Instantaneous: rate at any given point in time - Average: rate over longer period Overall throughput is Rc (weaker link) Overall throughput is Rs (smaller link) dproc: nodal processing - check bit errors - determine output link - typically msec dqueue: queuing delay - time waiting at output link for transmission - depends on congestion level of router dtrans: transmission delay - Time it takes to put bit on the link - L: packet length (bits) - R: link bandwidth (bps) - dtrans = L/R dprop: propagation delay - d: length of physiscal link - s: propagation speed (~2x108 m/sec) - dprop = d/s Dtrans is time it takes to load entire batch - At time dtrans, the last bit of the packet is just leaving host A Dprop is time it takes to “propagate” to the other end. - If dprop > dtrans (takes longer to get to the end than to load everything on), then the first bit of the packet will be somewhere along the link and not yet reached host B - If dprop < dtrans (takes longer to load everything than to get to the end) then the first bit of the packet has reached host B. Queuing Delay (revisited) - R: link bandwidth (bps) - L: packet length (bits) - a: average packet arrival rate (packet / seconds) - Arrival Rate: La (bps) - La/R ~ 0: avg. queueing delay small - La/R 1: avg. queueing delay large - La/R > 1: more “work” arriving than can be serviced, average delay infinite! Packet Loss - queue (aka buffer) preceding link in buffer has finite capacity - packet arriving to full queue dropped (aka lost) - lost packet may be retransmitted by previous node, by source end system, or not at all Bottleneck link: link on endto-end throughput = min(RC, Rs, R/10) Web and HTTP HTTP is the web’s application layer protocol - Client: browser that requests, receives and displays web objects - Server: sends objects in response to request - uses TCP, port 80 - “stateless”, maintains no info about past client requests Persistent (keep-alive) HTTP is default. Multiple objects can be sent over single TCP connection between client, server. Non-Persistent (close) HTTP: at most one object sent over TCP connection. Connection then closed. Downloading multiple objects requires multiple connections Total transmission time = 2RTT + Tx(html file) + RTT + Tx(Obj 1) +Tx(Obj 2) + ….. Total transmission time = 2RTT+Tx(html file)+ 2RTT+Tx(object1)+ 2RTT+Tx(object2)+ 2RTT+Tx(object3)+ … Non persistent can be faster with parallel TCP connections. Requests for objects can occur simultaneously. Total transmission time = 2RTT + Tx(html file) + 2RTT + Tx(al objects in parallel) This combination can also create unfairly shared backbone bottleneck link to your advantage, as more bandwidth can be grabbed. Design apps with this in mind. However, there can be a limit of number of parallel connections Downloaded by Nicholas Pasfield (nicholas.pasfield@gmail.com)