1/108
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
Network of networks
global communication network that interconnects millions of networks
Hosts, routers, communication links with TCP/IP
Information superhighway
infrastructure that provides services to distributed applications
Email, web P2P, games
Internet two types of service provision
Reliable and connection-oriented
Unreliable, not connection-oriented
Computer network
Digital communication network that allows its nodes to share resources and communicate
Host (PC, phone, servers) and network hardware (routers, switches)
Types of networks according to communication channels
Broadcast
Point-to-point
Broadcast network
Shared communication channel, can have multiple recipients. Small networks in general.
Point-to-point network
Dedicated communication channels for communication between two machines
Types of networks according to their length
Local Area Network (LAN) - (10m - several km)
Wide Are Network (WAN) - (>10km)
Circuit switching
When two nodes want to communicate and establish a terminal-to-terminal connection
Necessary resources are reserved along the path, reservation is maintained during the session (telephone networks)
Packet switching
No reservation of resources
Session messages use on-demand resources → May have to wait before they can use them
(Internet)
Packet-switched networks
Messages are divided, sent through links and routers, using store-and-forward transmission technique
For each link, the router has an output/input buffer which stores the packets to be sent to that link
Store-and-forward transmission technique
The router must receive the entire packet before it can transmit the first bit to the next destination
Diagram networks
Packet sending is based on the destination address
Virtual Circuit networks
Packet delivery is based on the virtual number
Types of delays in packet-switched networks
Processing: time required by the router to examine the header and determine where to follow
Queue: waiting time to be transmitted (in the output)
Transmission: time to transmit all bits to the link
Propagation: time required to propagate from beginning to the end of the link (next router)
Protocol
set of rules for routing and addressing packets of data so they can travel across networks and arrive at the correct destination
Network architecture
Set of protocols and layers that enable communication between computers
OSI reference model - Open System Interconnect, layers
Application
Presentation
Session
Transport
Network
Link
Physical
Physical OSI level
Transmit bits between physically connected entities
Encoding scheme for bit representation
Bit-level synchronization
Link OSI level
Set of bits, each having a beginning and an end
First software layer
Highly dependent on physical medium
Network OSI layer
A set of links to form the end-to-end link
Allows one system to communicate with another, calculating the route between them
Provides unique addresses
A level that exists in BOTH final and intermediate systems
Routing, fragmentation and assembly, error detection
Transport OSI layer
Creates a multiplexed end-to-end link with error and flow control
Multiple applications over the same connection, adding identifiers for each
Messages reach their destination regardless of situation
Transmission speed of the source is adapted to the receiver
Two very popular internet transport protocols
TCP - Connection-oriented and reliable, provides flow, error control and multiplexing
UDP - connectionless and unreliable, only provides multiplexing
Session OSI level
Not very common. Provides full-duplex service, urgent data transmission and session synchronization.
Manages two independent connections to create a full duplex service
Skips the message queue
Allows atomic data transfers
Presentation OSI level
Hides the differences in data representation between applications
Can encrypt and compress data
Application OSI level
Set of applications that use the network
Does not provide services to any other layer/level
Web (HTTP, HTTPS), email (SMTP, IMAP), DNS
TCP/IP protocol
allows computers of all sizes, different manufacturers, operating systems to communicate with each other
Physical layer + link = ?
Manage details of the communication medium
Application level = ?
Manages the details of each specific application
Hub
repeats each frame received by its input ports through the rest of the output ports
Switch
allows you to connect different devices to form a LAN
IP Class TO/A range
0.0.0.0 to 127.255.255.255
Network ID: 1 byte
Host ID: 3 bytes
IP Class B range
128.0.0.0 to 191.255.255.255
Network ID: 2 bytes
Host ID: 2 bytes
IP Class C range
192.0.0.0 to 223.255.255.255
Network ID: 3 bytes
Host ID: 1 byte
IP Class D range
224.0.0.0 to 239.255.255.255
Multicast addressing
Difference between Public and Private IPs?
One is to uniquely identify a device on the Internet, the other is exclusively for internal use
What does Network Address Translation (NAT) do?
Converts private IPs to public ones in order to communicate on the internet
Loopback
Intented to be an interface to which packets destined to the same machine are sent
Three types of IPv4 addresses
unicast - one IP address - single machine (interface)
broadcast - one IP address - all machines on a network
multicast - one IP address - one group of machines
Domain Name System (DNS)
turns names into ip addresses and vice versa so we wouldn’t need to memorize each site’s IP address
Stores information about machine names and IPs
Port numbers
used to let the computer know which application specifically to communicate with
16-bit number
servers use fixed and known ports - from 1-1023
http - 80, ftp - 21, smtp - 25
Client-server model
Client sends request to the server (requesting a service)
Server receives the requests, processes them and sends the response
Peer-to-peer model
Both ends provide a service and request services
Web’s components
Page: Base HTML file + objects (CSS)
Browser: User agent
Server: stores objects addressable via a URL
HTTP: allows communication between the server and browser
URI
identifier that allows access to a web source
Scheme: protocol used to access it
Authority: server name/IP
Path: to access the resource
HTTP
Hypertext Transfer Protocol
Uses TCP protocol, each message issued by client/server arrives at the other end without modification
Is a stateless protocol, the server does not store info about previous requests
HTTPS
HTTP over Transport Layer Security (TLS), guarantees confidentiality, integrity and authentication
HTTP: Persistent Connections without a pipeline
Client only sends a new request after it has received the previous response
HTTP: Persistent Connections with pipeline
Client makes a request as soon as it finds a reference to an object
HTTP: Cache
Reduces object retrieval delays and network traffic
But a copy of an object may become outdated
Asynchronous means of communication, consists of:
Readers / user agents
Servers
SMTP
SMTP (Simple Mail Transfer Protocol)
Allows exchange of messages between mail servers
Establishes TCP connection with port 25
Uses messages in ASCII, if message has non-ASCII or binary characters - must be encoded (MIME)
MIME
Multipurpose Internet Mail Extensions
Allows you to send content other than ASCII text in email messages (languages with accents or non-latin languages etc)
POP3 (Post Office Protocol v3)
Simple email access protocol
Three-phase mode
Authorization: login and password
Transaction: Retrieve messages, mark for deletion/email statistics
Update: When the session ends, the server deletes marked messages
IMAP (Internet Mail Access Protocol)
Allows you to create and manage remote mailboxes
Associates each message with a mailbox
Provides commands to create mailboxes, move messages and search for them
Maintains user status information between sessions
DNS Client
Each machine has a client (resolver)
Whenever any application needs to find out an IP address, it passes the query to the client
The client sends the query to the server, it receives it and sends the response to the application
DNS Server
Receives queries from clients, finds out IP addresses and sends it to the clients
There is no single server that knows all names and IPs, they ask other servers, depending on the DNS namespace
DNS Recursive queries
The server does all the necessary work to return the complete answer
May involve multiple transactions with other servers
Not mandatory for servers to support this query
DNS Iterative queries
If the server has the answer, it returns it
If it doesn’t, it will return useful information but not make requests to other servers
The root and TLD servers are non-recursive (Iterative)