Networking Midterm; 1.1 - 3.5

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

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.


Ensembles d'études connexes

Ch. 9: Economic Geography: Agriculture and Primary Activities

View Set

Micro Exam 3 Ch 14, Nash Equilibrium and Game Theory

View Set

AP CSP Chapter 15, 16, & 17 Study Guide

View Set

Economics Unit 1 Lesson 2 Part 3

View Set

Saunders Chapter 65: Crisis Theory and Interventions

View Set

Chapter 10 Network Segmentation and Virtualization

View Set

Chapter 1 The profession of Nursing

View Set