1/63
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Application Layer
sends the message/data - supporting network applications (FTP, SMTP, HTTP)
Transport Layer
receive the data from the application, divide it into smaller pieces called packets, add a destination address, and then pass the packets along to the next protocol layer (TCP, UDP)
Network Layer
routing of datagrams from source to destination - encloses the packet in an Internet Protocol (IP) datagram, puts in the datagram header and trailer, decides where to send the datagram (either directly to a destination or else to a gateway) (IP, routing protocols)
Link Layer
data transfer between neighbouring elements - accepts IP datagrams and transmits them as frames over a specific network hardware, such as Ethernet or Token-Ring networks (Ethernet, Wifi, PPP)
Physical Layer
the actual hardware and wire
Data
Packets/Segments (transport), Datagrams (network), Frame (link)
ISO/OSI reference model
Presentation and Session come after application
Layers of ISO/OSI reference model
Application, Presentation, Session, Transport, Network, Data Link, and Physical
Presentation Layer
Allow applications to interpret the meaning of data e.g. encryption
Session Layer
synchronisation, checkpointing, recovery of data exchange
Bandwidth
Transmission rate measured in bits per second
Packet Switches
forward packets (chunks of data). Routers and switches
Internet
network of networks - interconnected ISPs
Protocols
control the sending, and receiving of messages e.g. TCP, ICP, SMTP etc
Internet Standards
established through RFC - Request For Comments, Governed by IETF - Internet Engineering Task Force
Infrastructure
provides services to applications: Web, VoIP, email, etc
Programming Interface
hooks that allow sending and receiving app programs to connect to the internet
Service Options
analogous to postal service
Message Transmission
Protocols define format, order of messages sent and received among network entities and action taken on message transmission receipt
Client to Server
Server is always on-host, has a permanent IP and has data centres for scaling. Clients must communicate with the server, may be intermittently connected, may have dynamic IP addresses and do not communicate directly with each other
Peer to Peer
no always-on server, arbitrary end systems directly communicate, peers request service from other peers and provide service
Peers
are intermittently connected and change IP addresses
Process
a program running within a host
Client process
a process that initiates communication
Server process
a process that waits to be contacted
Socket
serve as endpoints for sending and receiving messages, analogous to a door for sending process to shove message out
Transport infrastructure
delivers the message to the socket at the receiving process
Identifier
to receive messages, the process must have an identifier
IP address
host device has a unique 32-bit IP address
Port numbers
associated with the process on host, e.g. HTTP server: 80, mail server: 25
App-layer protocol
defines types of messages exchanged, e.g. request, response
Message syntax
what fields in messages & how fields are defined
Message semantics
meaning of info in fields
Open protocols
defined in RFCs, allows for interoperability, e.g. HTTP, SMTP
Proprietary protocols
e.g., Skype
Data integrity
some apps require 100% reliable data transfer
Timing
some apps require low delay to be effective
Throughput
some apps require a minimum amount of throughput to be effective
Security
encryption, data integrity
TCP service
reliable transport between sending and receiving process
Flow control
sender won't overwhelm receiver
Congestion control
throttle sender when network overloaded
Connection-oriented
setup required between client and server processes
UDP service
unreliable data transfer between sending and receiving process
Securing TCP
TLS/SSL provides encrypted TCP connection, data integrity, end-point authentication
HTTP Overview
HTTP is a client/server protocol where the client requests, receives and displays Web objects
Non-persistent HTTP
At most one object is sent over a TCP connection and then the connection is closed. Requires multiple connections to download multiple objects.
Persistent HTTP
Multiple objects can be sent over a single TCP connection.
Example of Non-persistent HTTP
Transferring a Web page from server to client. The page consists of a base HTML file and 10 JPEG images and all 11 objects reside on the same server.
Round-trip time (RTT)
The time it takes for a small packet to travel from client to server and then back to the client including delays: packet-propagation delays, packet queuing delays in intermediate routers and switches, and packet-processing delays.
HTTP response time for TCP connection
1 RTT.
HTTP response time for file request + response
1 RTT.
Non-persistent HTTP response time
2 RTT plus file transmission time (roughly).
Persistent HTTP connection behavior
The server leaves the connection open after sending the response message. Subsequent HTTP messages between the same client/server are sent over the open connection.
User-server state: cookies
An HTTP server is stateless, but it is useful for the server to keep session state information to identify users and restrict access.
Components of an HTTP cookie
A cookie header line in the HTTP response message, a cookie header line in the HTTP request message, a cookie file kept on the user's end system and managed by the user's browser, and a back-end database on the Web site.
Web cache (proxy server)
A web cache satisfies HTTP requests on behalf of an origin Web server. It is both a client (to the original server) and a server (to the client).
Benefits of web caching
Reduces response time and network traffic (access link to the Internet).
Conditional GET in HTTP
Manifested by the If-Modified-Since: and Last-Modified: header lines to avoid stale data.
Components of Electronic Mail
User agents, mail servers, and Simple Mail Transfer Protocol (SMTP).
User agents
Compose, edit, read and save outgoing and incoming mail messages.
Mail servers
Have a mailbox for incoming messages, a message queue for outgoing messages, and an SMTP implementation.
Simple Mail Transfer Protocol (SMTP)
Protocol between mail servers to send email messages using TCP for reliable email transfer and port 25.
SMTP phases of transfer
Handshaking (greeting), transfer of messages, and closure.