Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
102 Cards in this Set
- Front
- Back
What is networking
|
-web -peer to peer -audio/video conferencing |
|
Statistical Multiplexing
|
-Multiplexing just means sharing -useful bc users are mostly idle and their traffic is bursty can use binomial probabilities to determine how much bandwith each user needs |
|
Metcalfe's Law
|
Large networks are relatively more valuable than small ones |
|
Application, app, or user
|
Uses the network |
|
Host, node, source
|
|
|
Router, switch, node |
Relays messages between links (access point, cable/dsl modem) |
|
Link, channel |
Connects nodes (wires, wireless) |
|
Full-duplex link
|
<---> or ----- bidirectional link |
|
Half-duplex link
|
bidirectional |
|
Simplex link |
unidirectional |
|
PAN's scale and example
|
Scale: Vicinity |
|
LAN scale, example
|
ex: wifi, ethernet |
|
MAN scale, example |
Scale: City Ex: Cable, DSL |
|
WAN
|
Wide Area Network Scale: Country Ex: Large ISP |
|
Network-Application Interfaces`
|
Sockets are widely used in practice |
|
Network-Network interfaces
|
Traceroute can peek in the network |
|
What is Layering?
|
ex: |
|
Each Instance of a protocol uses only the services of a lower layer. T or F
|
True, also each instance of a protocol talks virtually to its peer using the protocol |
|
Examples of protocols
|
TCP, IP, 802.11, Ethernet, http, SSL, DNS, etc |
|
Encapsulation
|
-Lower layer wraps higher layer content, adding its own information to make a new message for delivery -like sending a letter in an envelope, postal service doesn't look inside |
|
Disadvantages of Layering
|
-minor for long messages Hides information -sometimes app might care if its running over wired or wireless |
|
Protocols (definition)
|
An agreement between parties on how communications should take place |
|
OSI 7 Layer Model
|
OSI - open system interconnection 1.Physical: how to transmit bits 2. Data link: how to transmit frames 3. Network: how to route packets 4. Transport: how to send packets end2end 5. Session: how to tie flows together 6. Presentation: byte ordering, security 7. Application: everything else |
|
Physical Layer (OSI)
|
How to transmit bits |
|
Data Link (OSI)
|
How to transmit Frames |
|
Network (OSI) |
|
|
Transport (OSI) |
How to send packets end2end |
|
Session (OSI) |
|
|
Presentation (OSI) |
|
|
Application level(OSI) |
everything not covered by the first 6 layers |
|
How many layers of the OSI model does a bridge/switch utilize?
|
2: Physical and Data link |
|
How many layers of the OSI model does a router/gateway utilize?
|
3: Physical, data link, network
|
|
Internet Reference Model
|
A four layer model based on experience; omits some OSI layers and uses IP as the network layer |
|
Link Layer in Internet Reference Model and corresponding OSI layers |
OSI IRM 1,2 Physical & Link Link - send frames 3 Network Internet - send packets over multiple networks 4 Transport Transport end2end data delivery 7 Application Application - programs that use network service |
|
Application Layer (IRM)
|
Programs that use network service FTP/HTTP/SMTP/DNS |
|
Transport Layer (IRM)
|
UDP/TCP |
|
Internet Layer (IRM) |
IP |
|
Link Layer (IRM) |
Ethernet/3G/802.11/etc |
|
What units of data does the Application Layer use
|
Message |
|
What units of data does the Transport Layer use
|
Segment |
|
What units of data does the Network Layer use |
Packets |
|
What units of data does the Link layer use |
Frame |
|
What units of data does the Physical Layer use |
Bit |
|
ARQ
|
Automatic Repeat request used for reliability; server is stateless for dns protocol |
|
HTTP
|
basis for fetching web pages |
|
Steps for fetching a web page with HTTP
|
|
|
What is the difference between a static and dynamic web page
|
Dynamic- the result of a program execution ex: javascript on client, php on server, or both |
|
(HTTP commands) GET
|
Read a Web Page |
|
(HTTP commands)
HEAD |
Read a web page's header |
|
POST |
Append to a web page |
|
PUT |
Store a web page |
|
DELETE |
Remove the Web PAge |
|
TRACE |
Echo the incoming request |
|
CONNECT |
connect through a proxy |
|
(HTTP commands) OPTIONS |
Query options for a page |
|
(HTTP Codes) 1xx |
Information EX: 100 = server agrees to handle client's request |
|
(HTTP Codes) 2xx |
200 = request succeeded; 204 = no content present |
|
3xx |
301 = page moved; 304 = cached page still valid |
|
4xx |
Client Error 403 = forbidden page; 404 = page not found |
|
5xx |
500 = internal server error 503 = try again later |
|
PLT
|
-Depends on many factors -Structure of page/content -HTTP (and TCP) protocol -Network RTT and bandwith |
|
how many TCP connections did HTTP/1.0 use to fetch one web resource
|
1 each, it made HTTP very easy to build but gave poor PLT |
|
What are some ways to reduce PLT
|
Change HTTP to make better use of available bandwith Change HTTP to avoid repeated transfers of the same content (caching, proxies) Move content closer to client (CDNs) |
|
What is a parallel connection
|
Server is unchanged bc it already handles concurrent requests for many clients This helps because http wasn't using networking much so parallel connections aren't slowed much. pulls in completion time of last fetch |
|
What is a persistent connection
|
Make 1 TCP connection to 1 server and use it for multiple HTTP requests
|
|
Compare and Contrast Persistent and Parallel connections
|
1 is http 1.0 3 is persistent parallel has multiple TCP connections to a server persistent pipelines multiple requests through 1 TCP connection |
|
What are CDNs
|
Efficiently distributes popular content; creates a replica closer to consumers to deliver faster |
|
Zipf's Law
|
Few popular items, many unpopular; both matter. |
|
How to place content near clients?
|
place replicas across internet for use by all nearby clients -done by clever use of DNS |
|
What is a waterfall diagram?
|
Shows progression of the page load |
|
What is SPDY?
|
"speedy" A set of http improvements -multiplexed (parallel) HTTP requests on one TCP connection -Client priorities for parallel requests -Compressed HTTP headers -Server push of resources Basis for an HTTP/2 effort |
|
mod_pagespeed
|
an apache server extension that allows the server to "rewrite" (compile) pages to help them load faster. Rewrites pages 'on the fly' with rules based on best practices |
|
TCP/IP Layer Model
|
# Name Encapsulation Units 2. Internet packets 3. Transport segments 4. Application data |
|
OSI Layer Model
|
1 Physical bits 2 Data Link frames 3 Network packets 4 Transport Segments 5 Session data 6 Presentation data 7 Application data |
|
Socket API
|
the network service API used to write all internet applications part of all major OSes and languages; initially Berkley (unix) ~1983 |
|
Streams:
|
supported by socket API |
|
Datagrams |
supported by socket api |
|
Sockets (data structure)
|
let apps attach to the local network at different ports |
|
Socket API primitives
|
SOCKET, BIND, LISTEN, ACCEPT, CONNECT, SEND, RECEIVE, CLOSE |
|
SOCKET |
Create a new communication endpoint |
|
BIND |
associate a local address with a socket |
|
LISTEN |
announce willingness to accept connctions; give queue size |
|
ACCEPT |
passively establish an incoming connection |
|
CONNECT |
actively attempt to establish a connection |
|
SEND |
send some data over the connection |
|
RECEIVE |
receive some data from the connection |
|
CLOSE |
release the connection |
|
What is the order for connecting with a socket
|
|
|
Traceroute
|
Widely used command-line tool that lets hosts peek inside the network |
|
What is the purpose of the transport layer? |
Transport layer provides end-to-end connectivity across the network
|
|
What are segments?
|
Carried within packets within frames |
|
What are the differences between TCP and UDP?
|
TCP is full features, UDP is a glorified packet |
|
Ports
|
Ports are 16-bit integers representing local "mailboxes" that a process leases Servers often bind to "well known ports" ports higher than 1024 require admin privs clients often assigned "ephemeral" ports chosen by OS and used temporarily |
|
What kind of apps use UDP
|
VoIP (unreliable) DNS, RPC (message oriented) DHCP (bootstrapping) |
|
is UDP connectionless?
|
|
|
Three Way Handshake
|
Used in TCP; opens connection for data in both direction
Each side probes the other with a fresh Initial Sequence Number (ISN) -sends on a SYNchronize segment -echo on an ACKnowledgement segment chosen to be robust even against delayed duplicates |
|
Steps of a three way handshake |
Three steps: Server replies with SYN(y)ACK(x+1) Client replies with ACK(y+1) SYN is retransmitted if lost |
|
What are the steps of a TCP connection release? |
Two Steps: Passive sends FIN(y), active ACKs FINs are retransmitted if lost Each FIN/ACK closes one direction of data transfer |
|
Where should reliability functions be placed on the layer model? |
Everywhere because it's a key issue, different layers contribute differently. |
|
Strategies to handle errors in higher levels of the stack? |
Detect errors and retrans frames (ARQ automatic repeat request) |
|
What's tricky about ARQ? |
Performance in common case |
|
w |
w |