Networking Midterm; 1.1 - 3.5
User Agent
"mail reader" Composing, editing, reading mail msgs mail client outgoing/incoming msgs stored on server
Web Browser
(Such ad Internet Explorer and Firefox) implements the client side of HTTP, in the context of the Web.
Mesh Network
-A decentralised network that allows devices to be connected directly or indirectly to each other -Data is sent along the fastest route from one device to another -You can have a full or partial mesh
Star Network
-All computers are connected to a central switch or server that controls the network -Data is sent to the server which then sends it to another device.
IP = Internet Protocol
-Is responsible for the packet switching
Protocol Layers Benefits
-Self-contained which allows them to function without affecting the other layers -They can be changed without affecting the other layers -It allows network communication to be broken down into manageable pieces -Having set rules(protocols) ensures that companies make compatible hardware and software
TCP= Transmission Control Protocol
-Sets the rules for how devices connect to a network -Splits the data into packets -Reassembles the packets at the other end -Checks data is correctly sent and delivered
Channels
-The range of frequencies that will transmit data -Can overlap -2 devices using the same channel may suffer from interference -Changing the channel can reduce interference.
Frequency
-The rate at which the signal changes -The number of times it repeats per unit of time (GHz) -Wifi uses two radio frequency bands. 2.4 GHz and 5 GHz.
4 Protocol Layers
1. Data Link: Physical hardware that connects 2 hosts such as the NIC and cabling(Ethernet) 2. Network: Making connections and controlling the packet switching directing the data packets (TCP) 3. Transport:Controls the data flow and splitting data into packets (IP) 4. Application:Selects the correct protocol depending the application. E.g. sending an email or viewing a website (HTTP, FTP)
SMTP-3 phases
1. Handshaking(greet) 2. transfer msg 3. closure
Packet Switching Process
1.The computer splits the file into packets 2. Each packet is of a fixed size 3. The packets are given a header including the destination address and the packet number 4. Packets find their own way across the network to the destination 5. Server waits until all packets have arrived 6. Server reorders packets to create the file 7. Any missing / non-arriving packets are re-requested 8. Error checking is performed on receipt of packets
Problems with having a Centralized DNS DB
1.traffic will be too high with just one centralized DB 2.hard to maintain 3.single point of failure 4.distant centralized DB
DNS msg header: identification
16 bit number for query, reply to query uses the same number
receive window
16 bit window size. Used for flow control, the number of bytes that a receiver is willing to accept
Finite State Machine (FSM)
2 basic elements: State: each state will have its unique operation Transitions between states: events/actions go into how it transitions
sequence number
32 bits Number used for TCP to provide a reliable data transfer service. It's the byte-stream number of the first byte in the segment. i.e 0, 1000, 2000 , etc for MSS = 1000 bytes.
acknowledgement number
32 bits Number used for TCP to provide a reliable data transfer service. This number is the byte-stream number that the receiver is expecting from the server. i.e last byte-number received is 450 , receiving-end will send an ack number 451 to the sending-end.
IP address
32-bit quantity that uniquely identifies a host
RFC
A Request for Comments is a formal document drafted by the Internet Engineering Task Force (IETF) that describes the specifications for a particular technology
TCP connection
A TCP connection exists between two sockets once the handshaking phase has been completed.
full-duplex
A TCP connection is full-duplex when it provides both coming and outgoing communication between two hosts at the same time.
How many parameters identify a UDP socket? How many identify a TCP socket?
A UDP socket is identified by a two-tuple consisting of a destination IP address and a destination port number. A TCP socket is identified by a four-tuple consisting of a source IP address, source port number, destination IP address, and destination port number.
send buffer
A buffer that contains data that was sent from the process into the TCP connection. The Send Buffer holds the data and is then sent chunks by chunks to the network layer.
Frequency-Division multiplexing
A circuit in a link can be implemented with FDM, the frequency spectrum of a link is divided up among the connections established across the link. Specifically, the link dedicates a frequency band to each connection for the duration of the connection. With FDM, each circuit continuously gets a fraction of the bandwidth. Each input signal is sent and received at maximum speed at all times, with 1/n the bandwidth.
options field
A field that is optional and doesn't have a fixed length that is used for the sender and receiver negotiate the Maximum Segment Size.
SYN cookies
A form of cookies implemented to defend against flood attacks. This cookies contain a special hashed value that is given to the client before any resources are allocated on the server. The server only allocates resources for SYNs that come with a cookie that was created by the server.
selective acknowledgement
A modification of TCP that allows a TCP receiver to acknowledge out of order segments selectively rather than using cumulative acknowledgement .
Packet sniffer
A passive receiver that records a copy of every packet that flies by.
urgent data pointer field
A pointer indicating the last byte of an Urgent Segment.
Digital Subscriber Line
A resident typically obtains DSL Internet access form the same local telephone company that provides its wired local phone access. Each customer's DSL modem uses the existing telephone line to exchange data with a DSL multiplexer (DSLAM) located in the telephone company's local central office. The home's DSL modem takes digital data and translates it to high frequency tones for transmission over telephone wires to the central office; the analog signals from many such houses are translated back into digital format at the DSLAM. The residential telephone line carries both data and traditional telephone signals simultaneously, which are encoded at different frequencies. This approach makes the single DSL line appear as if there were three separate links, so that the telephone call and an Internet connection can share the DSL link at the same time. On the customer side, a splitter separates the data and telephone signals arriving to the home and forwards the data signal to the DSL modem. ON the telephone company side, in the CO, the DSLAM separates the data and phone signals and sends the data internet. Hundreds or thousands of households connect to a single DSLAM. Because the downstream and upstream rates are different, the access is said to be asymmetric. Dedicated network.
congestion control
A type of control used for when there is a lot of traffic over the network. Just as flow control, it is used to throttle the rate at which the data travels between hosts.
Dial-up
Access over traditional phone lines is based on the same model as DSL; a home modem connects a phone line to the modem in the ISP. Dial-up is excruciatingly slow at 56 kbps.
Persistent connections
All requests and corresponding responses are sent over the same connection. The server leaves the TCP connection open after sending a response. Subsequent requests and responses between the same client and server can be sent over the same connection. In particular, an entire Web page can be sent over a single persistent TCP connection. Moreover, multiple Web pages residing on the same server can be sent from the server to the same client over a single persistent TCP connection. The HTTP server closes a connection when its not used for a certain interval of time.
End System
Also called Hosts (run applications), is a device that is hooked up to the Internet. (computers and cellphones). Every end system has an address called an IP address.
Propagation delay
Amount of time taken by the packet to make a physical journey from one router to another router
Transmission delay
Amount of time taken by the router to transfer the packet to outgoing link
API
An application programming interface (API) is a particular set of rules ('code') and specifications that software programs can follow to communicate with each other. It serves as an interface between different software programs and facilitates their interaction, similar to the way the user interface facilitates interaction between humans and computers
SYN flood attack
An attack in which users send SYN segments to a server to start the three way handshake, and after the server has allocated resources for that connection, the client doesn't complete the handshake. The more SYN Segments sent, the more resources are used, causing a DoS to legitimate users.
Port Number
An identifier assigned to a socket when it's created
Distributed Applications
Applications such as electronic mail, web surfing, social networks, etc, that involve multiple end systems that exchange data with each other
Worms
Are malware that enter a device without any explicit user interaction. For example, a user many be running a vulnerable network application to which an attacker can send malware.
Viruses
Are malware that require some form of user interaction to infect the users device. The classic example is a email attachment containing malicious executable code. If a user receives and opens such an attachment, the user inadvertently runs the malware on the device.
TCP segments
Chunks of data from the send buffer that have been paired with a TCP header that are then passed to the network layer.
authorization phase
Client commands: user(declare username) and pass(password) server responses with +OK or -ERR
Malware
Collectively known as malware, they can enter and infect are devices. Once malware enters our devices it csn do all kinds of devious things, including deleting our files and installing spyware that collects our private information, such as social security numbers, passwords and keystrokes, then sends this back to the bad guys over the internet.
Web page
Consists of *objects*. An *object* is simply a file-such as a HTML file, a JPEG image, a Java applet, or a video clip-that is addressable by a single URL.
Packet Switching versus Circuit Switching
Critics of packet switching have often argued that packet switching is not suitable for real time services, because of its variable and unpredictable end to end delays. Proponents of packet switching argue that (1) it offers better sharing of transmission capacity than circuit switching and (2) it is more simpler, more efficient, and less costly to implement than circuit switching.
What is probably the principal reason why DNS runs over UDP rather than TCP?
DNS would be much slower if it ran over TCP because of the delay to establish a connection
Packet
Data or information that has been segmented by a sending End System , along with its header, to a receiving End System
Protocol
Define format, order of messages sent and received among network entities, and actions taken on message transmissions
Packet Switching
Describes the type of network in which relatively small units of data (packets) are routed through a network based on the destination address contained within each packet. In packet-switched networks, these resources are not reserved; a sessions messages use the resources on demand and, as a consequence, may have to wait (that is, queue) for access to a communication link. i.e restaurants that don't do reservations.
Internet Standards
Developed by the Internet Engineering Task Force (IETF); agreement on what each protocol does so that people can create systems and products that interoperate
Hosts or End Systems
Devices that communicate with each other through the internet, such as Servers, smartphones, laptops, etc.
DASH
Dynamic, Adaptive Streaming over HTTP
URL
Each URL has two components: the host name of the server that houses the object and the object's path path name. Foe example, the URL https:://www.someSchool.edu/someDepartments/pictures.gif has www.someSchool for a host name and /someDepartment/pictures.gif for a pathname.
Output Buffer
Each packet switch had multiple links attached to it. For each attached link, an output buffer stores packets that the router is about to send into the link. If an arriving packet needs to be transmitted onto a link but finds the link busy with the transmission of another packet, the arriving packet must wait in the output buffer.
source port number field and the destination port number field
Each port number is a 16-bit number ranging from 0 to 65535. The port numbers ranging from 0 to 1023 are called well-known port numbers and are restricted.
Non-persistent
Each request/response pair is sent over a separate connection. A brand new connection must be established an maintained for each requested object. For each of these connections, TCP buffers must be allocated and TCP variables just be kept in both the client and server. This can place a significant burden on the Web server, which may be serving requests from hundreds of different clients simultaneously. Second, each object suffers a delivery delay of two RTTs - one RTT to establish the TCP connection an one RTT to request and receive an object.
Forwarding table
Each router has one that maps destination addresses (or portions of the destination addresses) to that routers outbound links. When a packet arrives at a router, the router examines the address and searches its forwarding table, using the destination address, to find the appropriate outbound link. The router then directs the packet to this outbound link. (Breaking up a full address; Hierarchical)
How does the transport layer implement the demultiplexing service?
Each socket in the host is assigned a port number, and when a segment arrives at the host, the transport layer examines the destination port number in the segment and directs the segment to the corresponding socket.
checksum
Error detecting sum used to detect errors in the data segment.
Ethernet
Ethernet users use a twisted-pair copper wire to connect to an Ethernet switch. The Ethernet switch, or a network of such interconnected switches; is then in turn connected into a larger Internet.
PSH
Flag indicating that the receiver should pass the data to the process immediately.
URG flags
Flag indicating that the sender has market this segment as Urgent.
ACK
Flag that indicates if the acknowledge is for a segment that has been successfully received.
Time-Division multiplexing
For a TDM link, time is divided into frames of fixed duration, and each frame is divided into a fixed number of time slots. When the network establishes a connection across a link, the network dedicates one time slot in every frame to the connection. These slots are dedicated for the sole use of that connection, with one time slot available for use (in every frame) to transmit the connection's data. With TDM, each circuit gets all of the bandwidth periodically during brief intervals of time (that is, during slots). It's a method of putting multiple data streams in a single signal by separating the signal into many segments, each having a very short duration. Each individual data stream is reassembled at the receiving end based on the timing.
Protocol Layers
Group of protocols that share similar functions. Data can be passes between adjacent layers. E.g. layer 2 can pass data to layer 1 and 3, but layer 1 can only pass data to layer 2
application architecture paradigms: client-server architecture
Has an always-on server (the host), which services requests from many clients (other hosts), called clients. Clients do not directly communicate with one another. The server has a fixed and well known IP address, and is always on, so the client can always contact the server by sending a packet to the server's IP address.
Difference between DNS msg vs HTTP/SMTP msg
Http/smtp: ascii, field, flexible length(sp) DNS: fixed length(bytes) for each field
Why use DNS?
If no DNS, then we would need to use a Process Identifier application allows for host-to-host, process-to-process communication Process Identifier: IP address and port number
WiFi
In a wireless LAN setting, wireless users transmit/receive packets to/from an access point that is connected to the wired Internet. Many homes combine broadband residential access (cable modems and DSL) with these inexpensive wireless LAN technologies.
Satellite
In locations where DSL, cable, and FTTH are not available, in some rural areas, a satellite link can be used to connect a residence to the Internet at speeds of more than 1 Mbps.
Router
In packet-switched networks such as the internet, a router is a device that determines the best way for a packet to be forwarded to its destination
IP
Internet Protocol; specifies the format of the packets that are sent and received among routers and end systems. Similarly to TCP, it breaks down the data to individual packets but instead of adding a unique number to each packet, it adds a unique address. In the event of a traffic jam, the IP protocol will attempt to find an alternative path that is shorter than the one it is taking in order to improve efficiency
ISP
Internet Service Provider; a network of packet switches and communication links
Ethernet
Is a protocol -It is within the TCP/IP stack -It governs the connection of devices -Governs the transmission of data between devices -Uses cables to transmit data between devices in a LAN
Hyper Text Transfer Protocol (HTTP)
Is the Web's application layer protocol, and is the heart of the web. HTTP is implemented in two programs: a client program and a server program. The client program and server program, executing on different end systems, talk to each other by exchanging HTTP messages. HTTP defines the structure of these messages and how the client and server exchange messages. HTTP uses TCP as it underlying transport protocol.
Round-trip time (RTT)
Is the time it takes for a small packet to travel from client to server and then back to the client. The RTT includes packet-propagation delays, packet-questing delays in intermediate routers and switches, and packet processing delays.
header length field
Length of a TCP header, TCP headers change in size due to options.
HTTP with Non-Persistent Connections
Let's suppose the page consisted of a base HTML file and 10 JPEG images, and that all 11 of these objects reside on the same server. Further suppose the URL for the base HTML file is: https://www.someSchool.edu/someDepartment/home.index Here is what happens: 1). The HTTP client process initiates a TCP connection to the server www.someSchool.edu on the port 80, which is the default port number for HTTP. Associated with the TCP connection, there will be a socket at he client and a socket at the server. 2) The HTTP client sends an HTTP request message to the server via its socket. The request message to the server includes the path name /someDepartment/home.index 3) The HTTP server process receives the request message via its socket, receives the object /someDepartment/home.index from its storage (RAM or disk), encapsulates the object in a HTTP response message, and sends the response message via the socket. 4) The HTTP server process tells TCP to close the TCP connection (But TCP doesn't actually terminate the connection until it knows for sure that the client has received the response message intact.) 5) The HTTP client receives the response message. The TCP connection terminates. The message indicates that the encapsulated object is an HTML file. The client extracts the file from the response message, examines the HTML file, and finds references to the 10 JPEG objects. 6) The first four steps are then repeated for each of the references JPEG objects. Each TCP connection transports exactly one request message and one response message.
Bottleneck link
Link in a network with the lowest throughput
Mail Servers
Mailbox contains incoming msgs Msg queue contains outgoing msg
Cable Internet Access
Makes use of the cable television company's existing cable television infrastructure. A resident obtains cable Internet access from the same company that provides its cable television. Fiber optics connect the cable head end to the neighborhood-level junctions, from which traditional coaxial cable is then used to reach individual homes. Each neighborhood junction typically supports 500 to 5,000 homes. Because both fiber and coaxial cable are employed in this system, its often referred to as hybrid fiber coax (HFC). At the cable head end, the cable modem termination system (CMTS) serves a similar function as the DSL network's DSLAM - turning the analog signal sent from the cable modems in many downstream homes back to the digital format. Cable modems divide the the HFC network into two channels, a downstream and an upstream channel. As with DSL, access is typically asymmetric. Shared Network
max transmission unig (MTU)
Maximum size of data (link-layer frame) that can be sent by the sending host.
max segment size (MSS)
Maximum size of data that can be converted into a segment from the send buffer.
Transmission Rate
Measurement used to measure the rate at which data is transmitted between systems. Unit: bits/second
Store and Forward transmission
Most packets use these as the inputs to the links. This means that the packet switch must receive the entire packet before it can begin to transmit the first bit of the packet onto the outbound link.
Data Centers
Most servers reside in these.
What is needed to perform multiplexing?
Multiplexing requires that (1) sockets have unique identifiers and (2) each segment have special fields that indicate the socket to which the segment is to be delivered. These special fields are the source port number field and the destination port number field.
DNS RR:type=A
Name is hostname Value is IP address
Network Protocols
Network protocols are formal standards and policies comprised of rules, procedures and formats that define communication between two or more devices over a network
Average throughput
Number of tasks completed in interval / T. For example, If the file consists of F bits and the transfer takes T seconds for Host B to receive all F bits, then the average throughput of the file transfer is F/T bits/sec
Self-replicating
Once it infects one host, from that host it seeks entry into other hosts over the internet, and from the newly infected hosts, it seeks entry into yet more hosts.
Botnet
Our compromised host may also enrolled in a network of thousands of similarly compromised devices, collectively known as a botnet.
Path
Path is the complete location or name of where a computer file, web page, or other object is located
connection-oriented
Protocols such as TCP that require a "handshake" before data is sent between processes. Handshake is the transfer of preliminary segments containing parameters to establish a connection.
Fiber to the Home (FTTH)
Provide an optical fiber path from the CO directly to the home. The simplest optical distribution network is called direct fiber, with one fiber leaving the CO for each home. More commonly, each fiber leaving the the CO is actually shared by many homes; it is not until it gets relatively close to the homes that it is split into individual customer-specific fibers.
Encryption
Putting the data into a code before it is sent so that cannot be understood if interncepted unless you have the key to decrypt it.
DNS msg header: Flags
Query or reply recursion desired recursion available reply is authoritative
Instantaneous throughput
Rate of task completion in a "small" interval around time t such as the exact moment a host receives a file
Downstream
Refers data that is received by a computer or network. This includes receiving e-mail messages, downloading files, or simply visiting Web pages. Online games also generate downstream traffic.
Route
Refers to a specific entry in a router that tells the router how to transmit the data it receives
Upstream
Refers to data that is sent from a computer or network. This includes all types of outgoing data, such as sending an e-mail message or uploading a file. It may also include data sent over the Internet while playing an online multiplayer game.
Internet Transport layer protocols
Reliable, in order delivery (TCP); this provides congestion control, flow control, and connection setup Unreliable, unordered delivery (UDP); provides no-frills extension of 'best effor' IP
Denial-of-service attack (DoS)
Renders a network, host, or other piece of infrastructure unusable be legitimate users. Vulnerability attack: This involves sending a few well-crafted messages to a vulnerable application or operating system running on a targeted host. If the right sequence of packets is sent to a vulnerable application or operating system, the service can stop or, worse, the host can crash. Bandwidth flooding: The attacker sends a deluge of packets to the target host-so many packets that the targets access link becomes clogged, preventing legitimate packets from reaching the server. Connection flooding: The attacker establishes a large number of half-open or fully open TCP connections at the target host. The host can become to bogged down with these bogus connections that it stops accepting legitimate connections.
POP3 = Post office Protocol 3
Retrieve emails from a server. Held until downloaded and then deleted
IMAP = Internet Message Access Protocol
Retrieve emails from a server. Stored on server until deleted. Can view from several devices.
RTT
Round Trip Time, the time that a segment takes to be sent until it is acknowledged.
Protocol
Rules/Agreed ways of connecting or communicating
Why you need both SMTP and POP3 for email?
SMTP is the delivery/storage protocol between servers.enables servers to send/receive msgs between each other POP3 is the retrieval protocol of those servers. enables the end client to get msgs
Symmetric Encryption
Same key used to encrypt and decrypt a message
HTTPS = HTTP Secure
Secure version of HTTP (data is encrypted)
Shared Network
Shared broadband medium. Every packet sent by the head end travels downstream on every link to every home and every packet sent by a home travels on the upstream channel to the head end. For this reason, if several users are simultaneously downloading a video file on the downstream channel, the actual rate at which each user receives its video file will be significantly lower than the aggregate cable downstream.
Packet Switching
Splitting data to be sent over a network into equal sized packets and then they are sent tacking different routes
Total nodal delay
Sum of all 4 latency delays. These 4 are Nodal processing delay, queuing delay, transmission delay and propagation delay
Connection-oriented service
TCP has the client and server exchange transport layer control information with each other before the application-level messages begin to flow. The handshaking procedure alerts the client and server, allowing them to prepare for an onslaught of packets. The connection is a full-duplex connection because the two processes can send messages to each other over the connection at the same time.
Router
Takes a packet arriving on one of its attached communication links and forwards that packet onto another one of its attached communication links. When a source end system wants to send a packet to a destination end system, the source includes the destination's IP address in the packets header. When a packet arrives at a router in the network, the router examines a portion of the packet's destination address and forwards the packet to an adjacent router.
Packet Switches
Takes a packet arriving on one of its incoming communication links and forwards that packet on one of its outgoing communication links
Clients
Tend to be desktop and mobile PCs and smartphones.
Servers
Tend to be more powerful machines that store and distribute. Web pages, stream video, relay e-mail, and so on.
IETF
The Internet Engineering Task Force is an open standards organization that deals with Internet standards and cooperates with International Electrotechnical Commission (IEC) and International Organization for Standardization (ISO) standards
Queuing delay
The amount of time the packet is waiting in the queue before taken up for processing
Distributed DoS (DDoS)
The attacker controls multiple sources and has each source blast traffic at the target.
double timeout interval
The concept of doubling the timeout interval when no ack is received after sending a packet. This is useful for congestion control. Packets are lost due to congestion, so retransmitting packets right away will only increase congestions.
point-to-point
The feature of a TCP connection, which only happens from 2 specific hosts (Sender / Receiver ) and no more than two hosts are present in a TCP connection.
Communication Links
The link that makes communication between End Systems possible that ranges from coaxial cable, copper wires, to radio waves
Access Networks
The network that physically connects an end system (Host) to the first router on a path from the end system (Host) to any other distant end system.
demultiplexing
The process of delivering the data in a transport-layer segment to the correct socket. At the receiving end, the transport layer examines the set of fields in the segment to identify the receiving socket, and then directs the segment to that socket.
three-way handshake
The process of establishing a TCP connection. First the client sends a special segment, then the server receives it and sends another special segment as a response, and then the client sends another segment with a payload for the server.
flow control
The process of matching the rate at which the sender is sending data to the rate at which the receiver can receive data.
fast retransmit
The process of retransmitting a segment before the timeout of that segment occurs. This happens when a duplicate ACKs have been received and a sender realizes that a packet has been lost before the timeout expires.
Circuit Switching
The resources needed along a path (buffers, link transmission rate) to provide for communication between the end systems are reserved for the duration of the communication session between the end systems. In packet-switched networks, these resources are not reserved; a sessions messages use the resources on demand and, as a consequence, may have to wait (that is, queue) for access to a communication link. i.e a restaurant reservation; a traditional telephone.
SYNACK segment
The second segment in a three way handshake sent by the server acknowledging the connection request sent by the client.
Stateless Protocol
The server sends requested files to clients without storing any state information about the client. Because an HTTP server maintains no information about the clients, HTTP is said to be a stateless protocol.
Nodal processing delay
The time it takes to process a packet in a network node (router, switch, hub, etc.), which is dependent on the speed of the device and congestion in the network
Queuing Delays
These delays are variable and depend on the level of congestion in the network. Since the amount of buffer space is finite, and arriving packet may find that the buffer is completely full with other packets waiting for transmission.
3G and LTE
These devices employ the same wireless infrastructure used for cellular telephone to send/receive packets through a base station that is operated by the cellular network.
Packets
To send a message from a source end system to a destination end system, the source breaks long messages into smaller chucks of data known as packets. Between source and destination, each packet travels through communication links and packet switches. Packets are transmitted over each communication link at a rate equal to the full transmission rate of the link. If a source end system or a packet switch is sending a packet of L bits over a link with transmission rate R bits/sec, then the time to transmit the packet is L/R seconds.
Traceroute
Traceroute is a network diagnostic tool used to track the pathway taken by a packet on an IP network from source to destination
TCP
Transmission control protocol (TCP) is a network communication protocol designed to send data packets over the Internet. TCP is a transport layer protocol in the OSI layer and is used to create a connection between remote computers by transporting and ensuring the delivery of messages over supporting networks and the Internet.
TCP
Transmission control protocol is a network communication protocol designed to send data packets over the Internet. How it works is it fragments the data into individual pieces to avoid any congestion of bandwidth. It also gives a unique number to each data piece so as to make it easier to reassemble the data later on
Public Key (Asymmetric Encryption)
Two keys! A public key known to everyone for encrypting and a private, secret key for decrypting.
Link-Layer switch
Typically in access networks, a device that filters and forwards packets between LAN segments
Why is there a UDP? No congestion control:
UDP can blast away as fast as desired
HTTP = Hyper Text Transfer Protocol
Used by websites and to communicate with web servers
FIN
Used for connection setup and teardown.
RST
Used for connection setup and teardown.
SYN
Used for connection setup and teardown.
source and destination
Used just as the ones on an UDP, for multiplexing ( encoding ) and demultiplexing ( decoding) the data to their respective process and are part of the TCP segment.
Traffic intensity
Used to estimate the extent of the queuing delay using the ratio
SMTP =Simple Mail Transfer Protocol
Used to send emails between servers
UDP
User Datagram Protocol (UDP) is part of the Internet Protocol suite used by programs running on different computers on a network. UDP is used to send short messages called datagrams but overall, it is an unreliable, connectionless protocol. UDP is officially defined in RFC 768 and was formulated by David P. Reed.
What are the two components of email?
User agents and Mail servers
FTP = File Transfer Protocol
Uses to send or retrieve files to or from a server
receive window
Variable containing the size of the receiving-end buffer used to store incoming data.
cumulative acknowledgement
When acknowledges are interpreted as "anything below is already acknowledged". i.e acknowledged 400 means 0-399 have been received.
piggybacked acknowledge
When an acknowledgment of client-to-server data is carried over a server-to-client data segment.
Packet loss
When one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is typically caused by network congestion. Packet loss is measured as a percentage of packets lost with respect to packets sent
Packet drop
When router receives it and specifically decides not to pass it on to the next hop. This deliberate loss of a packet is called dropping
Packet Loss
When the buffer is completely full with other packets, either the arriving packet or one of the already-queued packets will be dropped.
What does the DASH-Client determine?
When to request chunk(so buffer starvation or overflow does not occur) What encoding rate to request Where to request chunk (can request URL server that is "close" to client or has high available bandwidth)
End to End Connection
When two hosts want to communicate, the network establishes this. Thus, the network must first reserve one circuit on each of the two links.
Web Servers
Which implement the server side of HTTP, house Web objects, each addressable by a URL. Popular servers include Apache and Microsoft Internet Information Server.
data center
a center that houses a large number of hosts, and is used to create a virtual server. Contains many servers, which must be powered and maintained, and the service providers must pay recurring interconnection and bandwidth costs for sending data from their data centers.
DNS query 3: The network layer encapsulates the UDP segment into a datagram and sends the datagram to
a name server
process
a program that is running within an end system.
socket
a software interface that acts as the door that processes sends messages through/receives them through
Why is there a UDP? There is no connection establishment, which can
add delay
DNS query 2: Without performing any handshaking with the UDP entity running on the destination end system, the host-side UDP
adds header fields to the message and passes the resulting segment to the network layer.
Secure Sockets Layer (SSL)
an enhancement for TCP, providing critical process-to-process security services such as encryption, data integrity, and end-point authentication. This enhancement is implemented on the application layer.
Process-To-Process
application layer to transport layer
loss-tolerant applications
applications that can allow for a transport-layer protocol that doesn't provide reliable data transfer
elastic applications
applications that make use of as much or as little throughput as happens to be available.
bandwidth-sensitive applications
applications with throughput requirements
problems with DNS caching
cached entries may be out of date
deliver_data()
called by rdt to deliver data to upper
Udt_send()
called by rdt, to transfer packet over unreliable channel to receiver
rdt_send()
called from above, passed data to deliver to receiver upper layer
rdt_rcv()
called when packet arrives on rcv-side of channel
Transaction phase
client commands: List(list msg numbers) Retr(retrieve msg by number) Dele(delete) Quit
User Datagram Protocol (UDP)
connectionless, meaning there is no handshaking before the two processes start to communicate. unreliable data transfer service no congestion-control mechanism, so the sending side of UDP can pump data into the below layer (network layer) at any rate it pleases.
iterated query
contacted server replies with name of server to contact
application-layer protocol
defines the format and sequence of messages exchanged between the client and the server.
application architecture
designed by the application developer and dictates how the application is structured over the various end systems. There are two predominant architectural paradigms used in modern network applications: the client-server architecture or the peer-to-peer (P2P) architecture
The UDP checksum provides for error detection. That is, the checksum is used to
determine whether bits within the UDP segment have been altered (for example, by noise in the links or while stored in a router) as it moved from source to destination
DNS records
distributed DB storing resource records (RR) RR format:(name, value, type, TTL)
DASH-Server
divides video file into multiple chunks each chunk stored, encoded at different rates
local DNS name server
does not belong to any hierarchy when host makes DNS query, query is sent to its local DNS server
sockets
doors through which data passes from network to the process and through which data passes from the process to the network. There can be more than one socket in the receiving host, and each socket has a unique identifier.
Torrent
group of peers exchanging chunks of a file
With UDP there is no _______________________ before sending a segment. For this reason, UDP is said to be connectionless.
handshaking between sending and receiving transport-layer entities
Distributed DB
implemented in hierarchy of many name servers, such as com DNS servers, org DNS servers, edu DNS servers
Principles of reliable data transfer
important in application, transport link layers characteristics of unreliable data transfer will determine complexity of reliable data transfer protocol (rdt)
(DNS query pt. 1) DNS is an example of an application-layer protocol that typically uses UDP. When the DNS application in a host wants to make a query,
it constructs a DNS query message and passes the message to UDP.
Transport Layer
located between the application and Network layer
POP3 protocol
mail access protocol between mail server and client, retrieves mail from server; has 3 phases, authorization phase, transaction phase and update phase
DNS protocol: message
mainly over UDP query and reply msg, both with same msg format
bind()
method that assigns the port number to the server's socket
sendto()
method that attaches the destination address to the message and sends the resulting packet into the process's socket
close()
method that closes the socket
accept()
method that creates a new socket in the server for a particular client
socket()
method that creates the client's socket
listen()
method that has the server listen for TCP connection requests from the client
connect()
method that initiates TCP connection between client and server
recv()
method that receives characters from the server
send()
method that sends a string through the client's socket and into the TCP connection
recvfrom()
method that takes buffer size as input
DNS RR:type=CName
name is alias name for 'canonical' (real) name value is 'canonical' name
DNS RR:type=NS
name is domain value is host name authoritative server for this domain
UDP is used to carry network management (SNMP) data. UDP is preferred to TCP in this case, since
network management applications must often run when the network is in a stressed state, when reliable, congestion-controlled data transfer is difficult to achieve
P2P Architecture Pure
no always-on server. arbitrary end systems directly communicate peers are intermittently connected and change IP addresses examples: file distribution (BitTorrent) , Streaming (KanKan) , VoIP (Skype)
Why is there a UDP? Simple:
no connection state at sender/ receiver; small header size
SMTP-Protocol
occurs between mail servers to send emails uses TCP to reliably transfer email msg from client to server, port 25 msg must be in 7-bit ASCII requires msg(header & body) to be in 7-bit ASCII uses Persistent connections uses CRLF.CRLF to determine end of msg push model, send msg to server and server sends to another server, will never get msg back unless it is sent to our self
Authoritative DNS servers
organizations own DNS servers
DNS caching
organized in hierarchy in many name servers; once(any) name server learns mapping, it caches mapping; entries timeout(disappear) after sometime(TTL); TLD servers typically cache local name servers
application architecture paradigms: P2P architecture features: self-scalability
peers are both re-distributers and consumers of bits.
Churn
peers may come and go
DASH-Client
periodically measures server-to-client bandwidth consulting manifest, requests one chunk at a time
multiplexing
process of gathering data chunks at the source host from different sockets, encapsulating each data chunk with header information to create segments, and passing the segments to the network layer.
Difference between DNS protocol msg and DNS records
protocol msg: exchanged between host and local DNS resolver, between various DNS resolvers DNS records: stored in DNS resolvers (stored in the database)
Transport services & protocols
provide logical communication between processes *relies on, enhances, Network layer services transport protocols run in end systems; on the send side: breaks application messages into segments, passes to network layer on Receiver send: reassembles segments into messages, passes to application layer
Manifest file
provides URLs for different chunks; contain on the Server side of DASH
CDN-Enter deep
push CDN servers deep into many access Networks
CDN-Bring Home
push smaller number of larger clusters in POPs near (but not within) access Networks
Recursive query
puts burden of name resolution on contacted name servers heavy load at higher up levels of hierarchy
SMTP-server
receiving mail server
TLD, authoritative servers
responsible for com, org, net, edu, aero, jobs, museums and all top-level country domains
SMTP-client
sending mail server
rdt 1.0: reliable transfer over a reliable channel
separate FSMs for sender, receiver; Sender sends data into underlying channel; Receiver reads data from underlying channel
Update phase
server commands: delete and others
port number
specifies the receiving process in the destination host
Content Distribution Network(CDN)
store and serve multiple copies of videos at multiple geographically distributed sites (CDN)
application architecture paradigms: P2P architecture
the application uses direct communication between pairs of intermittently connected hosts (peers). These peers are desktops and laptops controlled by the users. The peers communicate without passing through a dedicated server.
throughput
the rate at which the sending process can deliver bits to the receiving process.
An explicit length value is needed in a UDP segment since
the size of the data field may differ from one UDP segment to the next
The UDP segment is 32 bits and includes
the source port number, destination port number, length, checksum, and application data (message)
Why does UDP provide a checksum when many link-layer protocols also provide error checking?
there is no guarantee that all the links between source and destination provide error checking; (that is, one of the links may use a link-layer protocol that does not provide error checking) and, even if segments are correctly transferred across a link, it's possible that bit errors could be introduced when a segment is stored in a router's memory.
Tracker
tracks peers participating in Torrent
TCP services
transmission control protocol service model includes a connection-oriented service and a reliable data transfer service
Host-To-Host
transport layer to network layer
DNS query 4: The DNS application at the querying host then waits for a reply to its query. If it doesn't receive a reply (possibly because the underlying network lost the query or the reply), either it
tries sending the query to another name server, or it informs the invoking application that it can't get a reply
Video encoding
use reduncancy within and between images to decrease number of bits used to encode image; can either be spatial (within image) or temporal (from one image to next)
DNS RR: type=MX
value is name of mail server associated with name
VBR (variable bit rate)
video encoding rate changes as amount of spatial, temporal coding changes
CBR (constant bit rate)
video encoding rate fixed
reliable data transfer
when a protocol provides a guaranteed data delivery service. If a protocol has this service, the communicating processes can rely on the protocol to deliver all data sent without error and in the proper order. When one side of the application passes a stream of bytes into the receiving socket, it can count on the protocol to deliver the same stream of bytes to the receiving socket, with no missing or duplicate bytes.
Tit-for-tat
where the more sharing you do, the more files will be shared with you.