Computer Networks
Network Requirements
equipment and services that facilitate the transfer of information between users at different location
Telephone - real time, reliable, low capacity, 2-way
Ethernet
all nodes connected via a sub or swith
directly connects 2/4/8 different devices
a hub may become a bottleneck
a switch does not suffer from inter-device collisions
may become saturated
duplex devices can transmit and receive simultaneously
Internet
network of networks
can be of different types
connected by routers/gateways
internet protcol allows routers to understand and direct how transmissions are to be routed
OSI standard
allows computers to communicate across different networks
Layers
Application
mail servers
Presentation
reforms data between host/network
Session
controls when to talk and waypoints
Transport
does src-to-dst delivery of message
all transport parameters can be configured dynamically
we say Transport is TCP
packets in a data stream may go different routes
Network
controls the routing of data packets
interacts with routers on the network
Internet Protocol is a network layer control packet routing
rare to program at this level
Link
organizes data between packets into larger frames
transforms the physical layer into a reliable node-node-link
makes physical layer appear error-free to upper levels
Physical
transfers data from high level into physical signals
defines how bits are represented
synchronixes clocks on sender and receiver
configures the line
defines the physical topology and physical properties
TCP/IP (network architecture)
Topic
IP (Internet Protocol)
best effort service via routers that understand IP
does not correct for lost packets
IP is connectionless
no concept of stream
each packet is independent
contains all necessary addressing infomation in IP header
each packet is routed independently
can be routed around failure points
make the internet very robust
but only in the large
IP Packet
IP header
4 bits Version, IPv4 or 6
describes priority
header checksum
used for error detection
5 words, 20 bytes, or 160 bits
TCP
Establishing a TCP protocol connection
A 3-way handshake establishes a connection
Improvement of IP
runs on IP
detects lost or corrupted packets and requests retrasmits
rearranges packets arriving out-of-order
problem with TCP is that it sends streams of bytes
Stream Control Transmission Protcol (SCTP)
allows application layer to send 2 packets of 512 bytes
help minimize network congestion (good netizenship)
modifies its behaviour from moment to moment for the good of the whole internet
not always the fastest
slow start
soical algorithms
don't start a connection sending big packets
start with small packet size then increase
bound size of total data lost in net
fast recovery variant
on packet loss, window drops to half last known good threshold
provides the illution of a reliable stream of data bytes
TCP packet
source port
destination port
data
port identifies communication application processes
DNS
Domain Name Service
machine name to IP address translation table for all the net was kept in one machine at MIT
as the net grew, database became decentralised
hierarchical distributed lookup service
top level domains .com
domain name service gives memorable names to IP
there are 'root servers' with known IP addresses
User Datagram Protocol
no order control or error correction and recovery
no segmentation/ressembly of data into smaller packets
only small individual messages can be sent
used for fast low-overhead purposes
application level can retry or drop as it thinks fit
E.G. DNS, VOIP
IP addressing
IP addressing
each network on internet identifies each node uniquely
a hierarchical address method is used
each packet carries its destination IP address in the IP header
IP subnet masks
each IP address has a binary representation
subnet mask defines subnet addresses
Two reserved IP addresses
network address
binary representation terminates in all 0s
broadcast address
binary representation that terminates in all 1s
Non-Routable IP addresses
5% of available IP address space is reserved
packets with 127.x.x are not allowed out
Nat means boundary router on your LAN