Download presentation
Presentation is loading. Please wait.
1
Networking Fundamentals
2
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
3
Network = {nodes and links}
Circles are nodes, lines are links. Circles represent hosts and routers. Links represent wires, fibers, etc.
4
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
5
Links have bandwidths and latencies
7 4 1 6 2 8 5 3 9
6
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.
7
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.
8
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.
9
OSI Levels Node A Node B Application Application Presentation
Transport Transport Network Network Data Link Data Link Physical Physical Network
10
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
11
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.
12
IP Addresses 32 bits long, split into 4 octets: Hierarchical:
For example, Hierarchical: First bits describe which network Last bits describe which host on the network UW subnets include: 128.95, … UW CSE subnets include: , , …
13
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.
14
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 x in 3 hops”
15
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.
16
Route Aggregation What hierarchical addressing is good for.
UW routers can advertise x.x instead of x, ,x, … Other routers don’t need forwarding table entries for each host in the network.
17
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.
18
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.
19
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.
20
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.
21
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
22
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.
23
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.
24
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.