Please enable JavaScript.
Coggle requires JavaScript to display documents.
Computer Networking - Coggle Diagram
Computer Networking
Transport Layer
Multiplexing, demultiplexing
Demultiplexing required source port number, destination port number each port being 16 bits, other header fields, and application data the payload
Host receives IP datagrams, each datagram has source IP address and destination IP addtress, transport layer segment, source and destination port number
Reliable data transfer
Reliable channel that provides service standards
Sender and receibved dont know eachothers state unless communicated via text
Sender process
Received process
Finite state machine
Acks receiver tells the senter that packet is received ok; Naks receiver specifically tells sender that packet had error; sender retransmits packets on receipt of NAK
Retransmission
Sequence numbers to detect duplicates or retransmieed degments
Timeouts and retransmit lost messages
Flow control
What happens if the network layer delivers data faster than application later removes data from socket
Receiver informs the sender advertized as free buffer space in
rwnd
field in TCP header
"handshake"
2-way
3-way
Controlled from the sendfer to the receiver
Congestion control
congestion: too many sources sending too much data too fast for the network to handle--causes long delay (queuing in routing buffers), packet loss (buffer overflow at routers), different from flow control
end-to-end congestion control: no feedback from network layer, congestion is inferred from observedf loss/delsay, approach taken by TCP
network-assisted congestion control: routers provde dfirect feedback to sending/receiving hosts with flows passing through congested router, may indicate congestion lebvel or explicitly set sending rate, TCP, ECN, ATM, DECbit protocols
TCP congestion control
approach: sends can increase sending rate until packet loss aka congestion occurs, then decrease sending rate on loss event
additive increase: increase by sending rate by 1 maximum segment size every RTT until loss detected
multiplicitive decrease: cut sending rate in half at each loss event
cut in half on losdds detected by triple duplicate ACK aka TCP Reno, cut to 1 MSS aka maximum segment size when loss detected by timeout
AIMD probes for bandwidth, sawtooth behavior
distributed, asynchronious algorithm that optimizes congestion flow rates network wide, has stability propertieds
Transport services and protocols
Provides logical end-to-end connection between different hosts; from the apps perspective, the host is running as if they are directly connected; relying upon network to provide connectivity
Sender breaks messages into segments, passes to network layer; Receiver reassembles segments into messates, passes to app layer
Sender is pa
Receiver receives IP, checks header values, extracts app=layer methods, demultiplexes message
TCP, UDP
TCP: RELIABLE DATA TRANSFER,
CONNECTION ORIENTED
adds to complexity by having state track where you are
UDP UNRELIABLE, UNORDERED DELIVERY -- think process-to-process data delivery -- network
Services not available are delay and bandwidth guarantees
Logical communication between processes; relies on and enhances the network layer services
Connectionless UDP
No frills bare bones, best-effort service --no guarantees , segments can be lost and delivered out of order, connectionless so no handshaking between sender and receiver
The purpose of UDP is no connection establishment which can add RTT, no connection state or complexity, which means a smaller header size, no cogestion control, can function in the face of congestion
Uses in Streaming, multimedia apps, DNS, SNMP, HTTP/3 (if reliable transferr is needed)
UDP chekcsum detects errors like flioped bits in transmitted segment
TCP
RFCs: 793, 1122, 2018, 5618, 7323
point-to-point
one sender and one receiver
reliable in order byte stream
no message boundaries coming down from the application layer
full-duplex data
bi-directional data flow in same connection, MSS; maximum segment size, set by largest link layer same that can be sent
cumulative ACKs
acknowledgement coming in for particulat sequence number its acknowledging everything prior to that number
pipelining
TCP congestion and flow control set window size
connection-oriented
handshaking
Flow controlled
Sender will not overwhelm the receiver
Sample RTT, Estimated RTT, timeout interval, safety margin
TCP sender events
timeout
ACK received
data received from application
tcp fairness
Evolution of transport layer functionality
QUIC: an application layer protocol on top of UDP
ERROR AND CONGESTION CONTROL
CONNECTION ESTABLISHMENT
Application layer
Principles of network applications
Application architecture: designed by the developer and dictates how the application is structured over various end system
Client-server architecture
Server services requests i.e., web application from browsers running on client hosts; server has a fixed well known IP address
Datacenter houses a large number of hosts
Google has 19 datacenters worldwide
Socket
: where a process sends messages into and receives messages from the network through a software interface
Referred to as
API
between the application and the network, since the socket is the programming interface with which the network applications are built
IP Address: is a 32 bit quantity that uniquely identifies the host
Port numbers: serve the purpose of giving a host destination among many network applications
peer-to-peer architecture
Peers communicate without a dedicated server from device to device
File sharing application bittorrent
Self-scalability: each peer generates a workload requesting files and also adds service capacity to the system by distributing files to other peers
Cost effective: dont require infrastructure or bandwidth
Transport services available to applications
Reliable data transfer
Packets can get lost; i.e., overflowed buffer in a router; dropped packets
If a protocol provides a guaranteed delivery service
When transport-layer protocol doesnt provide reliable data transferm some of the data send by the sending process may never arrive at the receiving process; may be acceptable iwth loss-tolerant applications such as multimedia
Throughput guarantees
The rate at which the sending process can deliver bits to the receiving process
Applications with throughput requirements have bandwidth-sensitive applications; many multimedia applications are bandwidth sensitive
Elastic applications makes use of the throughput available; electronic mail, file transfer, web transfers
Timing guarantees
Every bit that the sender pumps into the socket arrives at the receivers socker no more than 100 miliseconds later; internet telephony, virtual environmne,t teleconferencing, and multiplayer games all have tight timing requirements
Security
in a sending host, a transport protocol can encrypt all data transmitted by the sending process, and in the receiving host, the transport protocol can decrypt the data before delivering the data to the receiving process; providing confidentiality between the two processes; also provides data integrity and end point authentication
Decide which protocol best suits the application needs when designing application
Transport services provided by the internet
TCP Services
Includes a connection-oriented service and a reliable data transfer service; applications that invoke TCP receives both these services of reliability and transfer
Connection-oriented service
TCP connection: exists between the sockets and two processes of exchanging transport-layer control information with eachother and comes after the handshaking phase and prepares for onslaught of packets
Reliable data transfer service
Relies on TCP to deliver all data sent without error and in the proper order. TCP will deliver same stream of bytes from a socket to a receiving socket with no missing or duplicate bytes
TCP Provides congestion control mechanism throttles a sending request (client or server) when the network is congestioned between sender and receiver; also limites each TCP connection to fair share of network badwidth
Securing TCP
Transport Layer Security TLS
Provides all benefits of TCP plus critical process-to-process security services including encryption, data integrity, and end-point authentication
UDP Services
Connectionless, lightweight, minimal services; no handshaking before two processes start
Unreliable; no guarantee that the message will ever reach the receiving process and messages may arrive out of order
Does not include cogestion control
Services not provided by internet transport protocols
Cannot guarantee timing or throughput guarantees
Application layer protocols
Defines how an applications processes running on different end systems passes messages to eachother
Defined request and response messages
Defines the syntax of message types such as the fields and how tneyre delineated
Defines the semantics of the fields; that is the meaning of the informaiton in the fields
Defines rules when and how a process sends and responds to messages
HTTP
: DEFINES THE FORMAT AND SEQUENCE OF MESSAGES EXCHANGED BETWEEN A BROWSER AND WEB SERVER
The Web and HTTP
Overview
HTTP
: the web's application layer protocol is implemented in two programs 1) the client and 2) the server executing of different end systems talk to eachother using HTTP messages; uses TCP
Web page: cosists of objects like HTML file, JPG image, javascript file, a CSS style sheet, or a video clip addressable by a single URL
Web browsers: implement the client side of HTTP
Stateless: maintains no information about the clients
Web servers: always on w/ dedicated IP address
Non-persistenent and persistent conections
HTTP w/ non-persistent connections
each TCP connection is closed after the server sends the object - the connection does not persist for other objects
Round-trip time (RTT): time it takes for a small packet to travel from client to server and then back to client; includes packet-propogation delay, packet-queuing delays in intermediate routers and switches, and packet-processing delays
HTTP w/ persistent connections
Shortcomings: brand-new connection must be established and maintained of each request object, for each connection, TCP buffers must be allocated and TCP variables must be kept in both the client and the server; each object suffers a delivery delay of 2 RTT -- one RTT to extablish the TCP connection and one RTT to requesdt and receive the object
HTTP message format
HTTP request message
Written in ASCII text, consists of 5 lines
Request line: the first line
Has 3 fields: the method, the URL, and the HTTP version; the method field can take on several different values including GET, POST, HEAD, PUT, DELETE
header lines: subsequent lines
HTTP 1.1 :green_cross:Pipelining
Allows server to respond in order to GET requests
HTTP response message
Has three sections, an initial status line, six header lines, and the entity body
Satus line: has three fields 1) protocol version 2) status code and 3) a corresponding message status
Header lines: connection, date, server, user-agent, last-modified, conent length, content type
Status types include: 200, 301, 400, 404, 505
User-server interaction: cookies
four components: 1) cookie header in HTTP response message 2) a cookie header line in the HTTP request message 3) a cookie file kept on the users end system and managed on the users browser 4) a backend database of the website
Web caching
The conditional GET
A copy of the object in the cache may be stale; HTTP has a mechanism to verify objects are up to date AKA the conditional GET
GET
If-modified is exactly equal to the value of last-modified
AKA proxy server: a network entit that satisfies HTTP requests on behalf of an origin web server; acts both as the server and the cleint at the same time
Reduces time for a client request providing rapid delivery, can substantially reduce traffic on an institutions access link to the internet (institution wont have to pay for bandwidth), can substantially reduce web traffic improving performance for all applications
Content Delivery Networks (CDNs)
compan installs many geographically distributed caches throughout the internet thereby localizing much of the traffic
HTTP/2
HTTP/2 Framing
reduce perceived latency by enabling requent and response multiplexing over a single TCP connection, provides request prioritization and server push, provide efficient compression of HTTP header fields
HTTP/1 uses persistent; by only having only onhe TCP connection per web page reducing the number of sockets; but developers discovered sending all the objects over a single TCP connection has
Head of Line (HOL)
blocking
Goal is to get rid of paralell TCP connections for transporting a single web page to reduce the number of sockets that need to be opened and maintained at servers but also alllow TCP congestion control to operate as intended avoiding HOL blocking
HTTP/2 solution for HOL blocking is to break each message into small frames, and interleave the request and response messages on the same TCP connection
Framing is done by the framing the sub-layer of the HTTP/2 protocol; when the server wants to send an HTTP response, the response is processed by the framing sub-layer, where it is broken down into frames, with header as one frame and the body broken into multiple more frames; also binary encodes the frames which are less error prone and easier to parse
Response message prioritization and server pushing
Allows developers to prioritize requests to optimize application performance between 1 - 256 with higher number being higher priority
HTTP/3
QUIC is a new transport protocol that is implemented in the application layer over the bare-bones UDP protocol, QUIC has several features desirable for HTTP including message multiplexing (inerleaving), per-stream flow control, and low-latency connection establishment
HTTP/3 is designed to operate over QUIC, not fully yet standardized, subsumes HTTP/2 features making simpler, streamlined design
Electronic mail in the internet
Asynchronious communication medium that contrasts from postal mail and allows html text, embedded photos
Three major component
Mail servers
Bob's mailbox
Simple Mail Transfer Protocol (SMTP)
Uses reliable data transfer service of TCP to transfer mail from the senders mail server to the recipients mail server
Two sides: client executes on clients mail server and server side executes on recipients server
Requires 7-bit ASCII which requires binary multimedia data to be encoded to ASCI before being sent over SMTP and reqwuires the message to be decrypted on receivers side
SMTP uses persistent connections; if the sending mail server has several messages to send to the same receiving server, its can send all the messages over the same TCP connection
User agents
Mail message formats
When email is sent, a header containing peripheral info defined by RFC 5322 precedes the message itself
FROM, TO, SUBJECT
Mail accees protocols
Receiving side uses HTTP or Internet Mail Access Protocol (IMAP) allows to pull messages from receivers mail server
DNS - the internets directory service
Services provided by DNS
Domain name system (DNS) - directory service is distributed implemented in hierarchy of DNS servers and an application layer protocol that allows hosts to query the distributed database; often UNIX machine running over UDP port 53
Host aliasing
Mail server aliasing
Load distribution
Overview of how DNS works
Three classes of servers
TOP-LEVEL DOMAIN
com, org, net, edu, gov, fr, jp; TLD serever ; provides IP addressed to authoritative DNS servers
auto=horitative DNS servers
Most universities and companies implement their own bacup DNS server
root DNS
More than 1000 roots server instancdd scatter around the world; copies of 13 different root server; managed by 12 different organizations
Provides IP addressed of main TLD servers
DNS records and messages
Socket Programming
Goal: learn how to build client/server applications that communicate using sockets
Socket is the door between the application and end-toend transport protocol
Ports: each host has 65,536 ports
23 Telnet
80 HTTP
20,21: FTP
Socket with UDP
No handshaking between client and server, sender explicittly attached AIP Address and port # to each packet, receiver extracts sender IP address and port # fromr eceived packet
Both client and server have to create a socker including socker libraries
Provides unreliable
Socket modules
Socket creation command
Address families
Socket types
Simplifies code writing
Socket with TCP
Client conteacts server; server process must be running
Client contacts server by creating tcp socker, specifying IP address, port number of server process
When client creates socker: cleint tcp establishes connection to server tcp; when contacted by client, server tcp creates new socket for server; allowzs server to talk with multiple clients,
Application viewpoint: TCP provides reliablwe, in-oder byte-stream transfer ip between cleitn and server
Video Streaming and Content Distribution Netowkrs
Streaming stored video main challenges are server-to-client bandwidth witll vary over time, with changing network congestion
Dynamic Adaptive Streaming over HTTP (DASH)
Responsible for the emergence of Netflix, Hulu
Divides video into chunks and each chunk is encoded and each chunk is encoded at different rates and the servder provides the manifest file which provides URLS for different chunks
Client periodically measures server-to-client bandwidth consulting manifexst, requests one chunk at a time, chooses maximum coding rate sustainable given current bandwidth, can choose different coding rates at different points in time
Intelligence is at the client
CDN
Challenge is how to stream content to hundreds of thousands of sumultaneous users
Option 1:
Single, large mega-server with single point of failure, point of network congestion, long path to distant clients, and multiple copies of video sent over outgoing link...in other words it doesnt scale
Host-to-host running on top of ISPs infrastructure
Option 2
: store/server multiple copies of videos at multiple geographically located sites,
Enter deep; caches are stored closer to the end-user
Bring home: small number of larger clusters in points of presence near but not within the access networks
network layer
data plane
local, per router actions, primarily forwarding a datagram function
determines how datagram arriving on router input port is forwarded to router output port
control plane
network wide logic, edge to edge, determines datagrams path from source to destination
approaches
traditional
routing algorithms
inside every router is a local forwarding table, a router operates by matching bits in a datagram header with a table entry in the forming table that specifies the appropriate output link to which this datagram should be forwarded
How do these local forwarding tables get computed?
Hundreds and millions of routers spread all around the globe, calcculating by hand is not possible, now forwarding tables are computed instead of hand configured
How they are computed is the difference between the traditional routing approach and the SDN approach
distributed routing algorithm runs all the network routers a piece in every network router, the routing algorithm function in one router communicates with the routing algorithm functions in other routers to compute the values in these forwarding tables
software defined network (SDN)
a physically seperate remote controller software process computers and distributes the forwarding tables to used by each and every router under its control, the repote controllers typically implemented in remote data center or set of servers that have high reliability and redundancy
The router still performs is local data plane service forwarding as before and says that is receives its local forwarding table from SDN contoller rather than having computed it itself
How does the router know the appropriate out put port? How does a collective set of routers determine the best end-to-end path for a packet from an end host to a receiving host
The network core: the glue that holds the internet together
local decision
global decision
"best effort" service model for datagram delivery by the network layer from a sending host to a receiving host
properties of this service include
guaranteed
delivery, the network layer my guarantee that a packet sent by a source host will eventually arrive at the destination host, that is, the network layer is resonsible for reliable datagram delivery rather than the transport layer. also guarantees delivery with less than 40msec delay
ordering considerations while packets be delivered to the transport layer in the order in which theyre sent,
flows
of packets ask whether or not a flow might be guaranteed at a minimum amount of bandwidth from source to destination
best effort means transmitted packets are not guaranteed to be delivered, much less to be delivered with bounded end-to-end delay or some kind of minimum bandwidth guarantee, also known as a euphenism for no service at all, a netowrk that delivers no packets to the destination will satisfy the definition of best effort service delivery
Whats inside a router
router architecture, looking at the input ports, output ports, and swirtching fabric for moving datagrams from input to output
packet scheduling and packet buffering
middleboxes
OpenFlow Acstraciton: match + action abstraction
switch
firewall
router
NAT
any intermediary box performing functions apart from normal, standard functions of an ip address
Network Functions Virtualization
goes hand and hand with SDN which allows you to put applications in low cost hardware, performance with SDN is a big issue
Computer Networks and the Internet
What is the internet
A computer network that interconnects billions of computing devices thoughout the world
Hosts / end systems
devices like phones, tablets, computers, tvs, gaming consoles, thermostats, home security systems, home appliances, watches, eye glasses, cars, traffic controls
Access the internet though
Internet Service Providers
Connected by
communication links and packets switches
transmission rates measured in bits/second
packets
are sent though the network to the destination end system by adding header bytes to each segment
Routers
swtiches take incoming communication link and forwards packet on one of its outgoing communcation links and used more in network core
route / path
is the sequence of communication links and packets switches traversed by a packet from the sending end system to the receiving end system thorugh the network
link-layer switches
also forward packets to end destination but used in access networks
Protocols
end systems, packet switches run on protocols that control the sending and receiving of information on the internet
Transmission Control Protocol (TCP)
Internet Protocol (IP)
specifies the format of the packets that are sent and received among routers and end systems
Internet standards are developed by the Internet Engineering Task Force (IETF) which documents requests for comments (RFCs) to resolve network and protocol design problems
RFCs define protocols such as TCP, IP, HTTP (web), SMTP (e-mail) there are over 9000 RFCs
LAN Standards Committee oversees ethernet and wireless WiFi standards
Protocols
define the format and the order of messages exchanged between two or more entities, as well as the actions taken on the transmission and/or receipt of a message or other event
Infrastructure that provides services to applications
distributed applications
involves many end systems exchanging data with eachother. These end systems are where the applications run--not in packet switches or in the network core
socket interfaces
allow end systems to specify how a program r unning on one end system ask the interet infrastructure to deliver data to a depcific destination program running on another system
The network edge
Clients
End users
Servers
data centers
Access networks
Home Access: DSL, Cable, FTTH, and 5G Fixed Wireless
Digital subscriber line (DSL) and cable are for broadband residential
Defines transmission rates downstream and upstream
Makes use of local telephone infrastructure
Cable internet access makes use of caple televisions infrastructure and requires modems
Fiber to home (FTTH) provides optical fiber path from centreal office directly to the home
Active optical networks (AONs)
essentially are aswitched Ethernet
Passive optical networks (PONs)
neighborhood splitter replicates all the OLT packets
5G fixed wireless
Uses beam-forming technology to send data wirelessly from a providers base station to the modem in the home
Enterprise Access: Ethernet and WiFi
Local Area Netowrk (LAN) is used to connect end system to edge router. Ethernet is by far the most popular.
Ethernet users use a twisted-pair copper wire to connect to an ethernet switch or network switch, is then connected to the larger internet
Wide-Area Wireless Access: 3G, LTE 4G and 5G
Pyhsical Media: twisted-pair copper wire, coaxial cable, fiber optics, terrestial radio channels, satelite radio channels
Twisted-pair Copper Wire
Cheapest medium, used by telephone networks
Consists of two insulated copper wires arranged in a spiral pattern twisted together to reduce the electrical interferance from similar pairs close by
Serves as the single communcation link
Unshielded twiested pair (UTP) is commonly used for computer networks ina building for LANs
Coaxial Cable
Consists of two copper conductors but are concentric not parallel. and achieves high data transmission rates
Common in cable television systems
Fiber Optics
Thin flexible medium that conducts pulses of light with each puls representing a bit, which supports tremendous bit rates up to hundreds of gigs a second and ar immune to electromagnetic interferance, have low signal attenuation, and hard to tap
Common for oversea links
Terrestrail Radio Channels
Carries signals in the electromagnetic spectrum and an alternative because they require no physical wire to be installed and can penetrate walla and porovide connectivity in long distances
Operates in short distance (2 meters) local areas (few hundred meters) and wide areas (tens of kilometers)
Satelite Radio Channels
A communication satelite links two or more earth based microwabve/transmitter/receivers known as ground stations. The satelite receives transmissions on a frequency band, regenerates the signal using repreater, and transmits the signal on another frequency
Geostationary satelites
Low-earth orbiting satelliets hover 36,000 kilometers above earths surtface
The network core
Packet Switching
Store-and-forward Transmission
Used by most packet switches to receive the entire packet before it can begin to transmit the first bit of the packet onto the outbound link
Router needs to receive, store, and process the entire packet before forwarding to outbound link
Queing Delays and Packet Loss
Output queue / buffer stores packets that the router is about to send into that link. Plays a key role in packet switching.
Suffers queing delays to wait for transmission of others packets
Packet loss can occur when an arriving packet finds the buffer is completely full with other packets waiting for transmission so either the arriving packet or already-queued packets will be dropped
Forwarding Tables and Routing Protocols
Forwarding table maps destination addresses or portions of addresses the the routers outbound links
Routing protocols are used to automatically set the forwarding tables i.e., determining the shortest path to each router
Packets
breaks long messanges into smaller chuncks and travels through communication links and packet switches (routers and link-layer switches) transmitted over each communication link at a rate equal to full transmission rate of the link
Circuit Switching
Multiplexing in Circuit-Switched Networks
A circuit in a link is implemented with either frequency-division multiplexing (FDM) or time-division multiplexing (TDM)
FDM the frequency spectrum of a link is divided up among the connections established across the link. The link dedicates a frequency band to each connection for the duration of the connection.
TDM link time is divided into frames of fixed duration and each frame is divided into a fixed number of time slots.
Packet Switching Versus Cutcuit Switching
Resources needed along a path are reserved for the duration of communication session between end system which differes from packet-switched networks which are not reserves--a sessions messages use the resources on demand and as a consequence have to wait in a queue
A Network of Networks
Access ISPs, regional ISPs, tier-1 ISPs, PoPs, multi-homing, peering, IXPs, content-provider networks
The mesh of packet switches and links that interconnects the internets end systems
Delay, Loss, and Throughput in Packet-Switched Networks
Overview of delay in packet-switched networks
Types
Nodal processing delay
The time required to examine the packets header and determine where to direct the packet. Can include other factors like time needed to check for bit-level errors in the packet that occured in transmitting the packets bits from the upstream node to router A. Happens in microseconds or less.
Queuing delay
The packet waits to be transmitted onto the link. Length of delay depends on earlier arriving packets that are queued and waiting for transmission onto the link. If traffic is heavy, queuing delay is long.
Transmission Delay
The amount of time to push or transmit all the packet bits into the link.
Propgation delay
The time required to propogate from the beginning of the link to router B. Propogation speed depends on the physical medium and its range which is a little less than the speed of light
Total nodal delay
The contribution of the processing, queuing, transmission, and propogation delays
Queuing delay and Packet Loss
Delays vary based on when the packets arrive often influenced by
traffic intensity
If La/R > 1; then the average rate at which bits arrive to the queue exceeds the rate at which the bits can be transmitted from the queue causing the queue to increase towards infinity
If La/R <1; then arriving traffic impacts the queuing delay. For exampl,e if packets arrive in bursts but periodically they
Packet loss a queue preceding a link has finite capacity, although the capacity depends on the router design and cost.
A router will drop a packet who arrives to a full queue
End-to-end delay
The total delay from source to destination
Traceroute program send multiple special packets toward a destination when a user specifies that desitation
Throughput in computer networks
Instantaneous throughput
is the rate bits/sec at which Host B is receiving the files from Host A
Average throughput ishighly desirable for large file transfers but no so much for internet telephony applications
Protocol Layers and Their Service Models
Layered architecture
Application Layer
Where network applications and application-layer protocols reside
HTTP( web) SMTP (email) FTP (transfer of files between two end systems
Protocols are distributed over multiple end systems with the application in one end system using the protocol to exchange packets of information with the application in another end system
Transport layer
Transports application lyater messages between application endpoints; TCP & UDP
TCP provides connection oriented service to its application including guaranteed delivery of application layer messages to the destination and flow control. TCP also breaks long messages into shorter segments and provides a congestion-control mechanism
UDP protocol provides a connectionless service to its applications but provides no reliability, no flow control, and no congestion control.
Segment
is a transport-layer packet
Protocol layering
Each protocol belongs to a layer and we are interested in the services that layer offers to the layer above -- the so called service model of the layer.
Protocol stack consists of five layers: physical, link, network, transport, and application layers
Network layer
Responsible for moving network-layer packets known as
datagrams
from one host to another
The transport-layer protocol passes a segment and a destination address to the network layer. The network layer then provides the service for delivering the segment to the transport-layer in the destination host
Contains the IP protocol, which defines the datagram and how end systems and routers act
Contains routing protocols that determine routes datagrams take between destinations
Physical layer
Moves the individual bits within the frame from one node to the next
Encapsuulation
Link layer
Provides services to the network layer to move a packet from one node to the next node in the route. At each node, the network layer passes the datagram down to the link layer which delivers the datagram to the next node along the route
Services provided depends on layer-link protocol ie. some provide reliable delivery
Ethernet, WiFi, and cable access networks DOCSIS protocol
Netowrks under attack
Malware
: infects our devices by deleting files and installing spyware that collects our private information such as key strokes and social security numbers and passwords
Botnet
: our cost is connected to a network of thousands of similarly compromised devices which is controlled from spam em-mail distribution or distributed denial of service attacks against target hosts
Denial-of-service attack (DDos):
: renders a network, host, or other piece of infrastructure usable by legitimate users, web servers, emails servers, dns servers, and institutional networks as all subject to DDos attacks
Bandwidth flooding:
attacker sends a deluge of packets to the targeted host -- so many packets that the target's access link becomes clogged, preventing legitimate packets from reaching the server
Attacker must send traffic at a rate of R bps to cause damage
Distributed Denial of Service DDOS
: attacker controls multiple sources at each source blast traffic at the target; the aggregate traffic rate had to be appriximately R to cripple the service
Connection flooding:
attacker establishes a large number of half-open or fully open TCP connections at the target host. The host can become so bogged down with these bogus connections that it stops accepting legitimate connections
Vulnerability attack:
: sends a few well crafted messages to a vulnerable system running on the targeting host; if the right sequence of packets is sent to a vulnerable application or OS the service can stop or worst the host can crash
The bad guys
Can sniff packets
Packet sniffer: a passive receiver that records a copy of every packet that flies by
Deployed in broadcast environments like ethernet LANs
Passive; they do not inject packets into the channel; so when we send packets into a wireless channel we must accept the possibility that some bad guy may be recording copies of our packets
Can masquerade as someone you trust
IP spoofing:
the ability to inject packets into the internet with a false source address
End point authenticaiton
allows us to determine with certaininty is a message originates from where we think it does
Wire Shark
Packet Sniffer
Captures messagtes being sent/received from/by your computer; it will also typically store and/or display the contents of the various protocol fields in the captured messages. Captures but never sends packets itself
Receives copy of the packets that are sent/received from/by application and protocols executing on your machine
Packet Capture Library
Receives a copy of every link-layer frame that is sent from or received by your computer such as ethernet or wifi
Packet Analyzer
Displays the contents of all fields within a protocol message. Must understand the structure the structure of the messages exchanged by protocols.
Interface
Command menus
guest lecture on standards
ISO, ITU, ICE major orgs that standardize what tech people are interested in IETF comes later, we3c, 3gpp for cellcular, there are thoudsands and thousands of standards organizations
definitions
standard
: a codified and quantified set of references imposed by a public jurisdiction
specification
: standard: a codified and quantified set of references imposed by a private jurisdiction
reference
: king henrys foot, pharohs forearm, the bible calls needs for references, make comparisons
standardization:
process of creating, implementing, and using a standard or specification
openness
: supports both public and private operation via an interface between two programmable systems
evolution
symbols
: allow people to describe general classes, allows people to count things like fingers on their hands being a symbol
bartering
Measurements
: the beginning of civilization, means to feed population beyond hunter gather processes
agriculture
specification:
:
building: represents success of a civilization
similarity
:
manufacturing: venice galleys built to make war and carry good for trade around the mediterean
compatibility
: "
network effects
" when things are compatible, if enough are compatible they are interesting, first two phones sold were a doctor and a pharmacist, ATT as an example fought other companies from connecting tto their network
networking: begins most clearly with railroad systems,
adaptability
programming
APIs
Private APIS, Partner APIS, Piblic APIs,
Adaptable APIs -- supports both private and public functions
solves alot of problems