IST 220 Exam 1

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

residential access nets, institutional access networks (school, company), mobile access networks (WiFi, 4G/5G)

How to connect end systems to edge router?

store-and-forward transmission

(means that the packet switch (router) must receive the entire packet before it can begin to transmit the first bit of the packet onto the outbound link.

network

- layer is responsible for moving network-layer packets known as datagrams from one host to another - includes ip protocol, defines fields in datagram as well as how end systems and routers act on the

peer-peer architecture (has client/server processes)

- no always on server - arbitrary end systems directly communicate - peers request service from other peers, provide service in return to other peers (self scalability: new peers bring new service capacity and demands) - peers are intermittently connected and change IP address -ex : P2P file sharing

- defined in RFCs, everyone has access to protocol definition HTTP, SMTP - skype zoom

- open protocols -proprietary protocols

Transport Layer Security (TLS)

- provides encrypted TCP connections - data integrity - end-point authentication

persistent http

- tcp connection opened to a server, multiple objects can be sent over single TCP connection btwn client and server, tcp connection closed

POST method

- web page often includes imput - user input sent from client to server in entity body of HTTP POST request message

non-persistent http

http connection type - tcp connection opened, at most one object sent over TCP, tcp connection closed

routers and link-layer switches

2 types of of packet switches; forward packets to ultimate destination

nodal processing, queueing delay, transmission delay, propagation delay

4 sources of packet delay - check bit errors, determine output link - time waiting at output link for transmission, depends on congestion level of router - L/R, packet length and link transmission rate - length of physical link and propagation speed d/s

Source port number y and destination port number x.

Consider a TCP connection between Host A and Host B. Suppose that the TCP segments traveling from Host A to Host B have source port number x and destination port number y. What are the source and destination port num- bers for the segments traveling from Host B to Host A?

Recall that in BitTorrent, a peer picks a random peer and optimistically unchokes the peer for a short period of time. Therefore, Alice will eventually be optimistically unchoked by one of her neighbors, during which time she will receive chunks from that neighbor.

Consider a new peer Alice that joins BitTorrent without possessing any chunks. Without any chunks, she cannot become a top-four uploader for any of the other peers, since she has nothing to upload. How then will Alice get her first chunk?

When the user first visits the site, the server creates a unique identification number, creates an entry in its back-end database, and returns this identification number as a cookie number. This cookie number is stored on the user's host and is managed by the browser. During each subsequent visit (and purchase), the browser sends the cookie number back to the site. Thus the site knows when this user (more precisely, this browser) is visiting the site.

Consider an e-commerce site that wants to keep a purchase record for each of its customers. Describe how this can be done with cookies.

Web caching can bring the desired content "closer" to the user, possibly to the same LAN to which the user's host is connected. Web caching can reduce the delay for all objects, even objects that are not cached, since caching reduces the traffic on links.

Describe how Web caching can reduce the delay in receiving a requested object. Will Web caching reduce the delay for all objects requested by a user or for only some of the objects? Why?

An application developer may not want its application to use TCP's congestion control, which can throttle the application's sending rate at times of congestion. Often, designers of IP telephony and IP videoconference applications choose to run their applications over UDP because they want to avoid TCP's congestion control. Also, some applications do not need the reliable data transfer provided by TCP.

Describe why an application developer might choose to run an application over UDP rather than TCP.

routing

network core function, global action: determine source-destination paths taken by packets; routing algorithms

- multimedia apps often do not use TCP ( do not want rate throttled by congestion control) - instead use UDP sending Audi/video at constant rate tolerate packet loss - no policing of use of congestion control

Fairness and UDP-

No. In a P2P file-sharing application, the peer that is receiving a file is typically the client and the peer that is sending the file is typically the server.

For a P2P file-sharing application, do you agree with the statement, "There is no notion of client and server sides of a communication session"? Why or why not?

The process which initiates the communication is the client; the process that waits to be contacted is the server.

For a communication session between a pair of processes, which process is the client and which is the server?

forwarding

network core function, switching, local action: move arriving packets from router's input links to appropriate router output link

It is not necessary that Bob will also provide chunks to Alice. Alice has to be in the top 4 neighbors of Bob for Bob to send out chunks to her; this might not occur even if Alice provides chunks to Bob throughout a 30-second interval.

In BitTorrent, suppose Alice provides chunks to Bob throughout a 30-second interval. Will Bob necessarily return the favor and provide chunks to Alice in this same interval? Why or why not?

hosts: clients and servers (servers often in data centers)

network edge

Sequence numbers are required for a receiver to find out whether an arriving packet contains new data or is a retransmission.

In our rdt protocols, why did we need to introduce sequence numbers?

To handle losses in the channel. If the ACK for a transmitted packet is not received within the duration of the timer for the packet, the packet (or its ACK or NACK) is assumed to have been lost. Hence, the packet is retransmitted

In our rdt protocols, why did we need to introduce timers?

Yes. The application developer can put reliable data transfer into the application layer protocol.

Is it possible for an application to enjoy reliable data transfer even when the application runs over UDP? If so, how?

The Web: HTTP; file transfer: FTP; remote login: Telnet; e-mail: SMTP; BitTorrent file sharing: BitTorrent protocol

List five nonproprietary Internet applications and the application-layer proto- cols that they use.

a) Reliable data transfer TCP provides a reliable byte-stream between client and server but UDP does not. b) A guarantee that a certain value for throughput will be maintained Neither c) A guarantee that data will be delivered within a specified amount of time Neither d) Confidentiality (via encryption) Neither

List the four broad classes of services that a transport protocol can provide. For each of the service classes, indicate if either UDP or TCP (or both) pro- vides such a service.

SSL operates at the application layer. The SSL socket takes unencrypted data from the application layer, encrypts it and then passes it to the TCP socket. If the application developer wants TCP to be enhanced with SSL, she has to include the SSL code in the application.

Recall that TCP can be enhanced with TLS to provide process-to-process security services, including encryption. Does TLS operate at the transport layer or the application layer? If the application developer wants TCP to be enhanced with TLS, what does the developer have to do

One such example is remote word processing, for example, with Google docs. However, because Google docs runs over the Internet (using TCP), timing guarantees are not provided.

Referring to Figure 2.4, we see that none of the applications listed in Figure 2.4 requires both no data loss and timing. Can you conceive of an application that requires no data loss and that is also highly time-sensitive?

The message is first sent from Alice's host to her mail server over HTTP. Alice's mail server then sends the message to Bob's mail server over SMTP. Bob then transfers the message from his mail server to his host over POP3.

Suppose Alice, with a Web-based e-mail account (such as Hotmail or Gmail), sends a message to Bob, who accesses his mail from his mail server using IMAP. Discuss how the message gets from Alice's host to Bob's host. Be sure to list the series of application-layer protocols that are used to move the message between the two hosts.

- Yes, both segments will be directed to the same socket. - For each received segment, at the socket interface, the operating system will provide the process with the IP addresses to determine the origins of the individual segments.

Suppose a process in Host C has a UDP socket with port number 6789. Suppose both Host A and Host B each send a UDP segment to Host C with destination port number 6789. Will both of these segments be directed to the same socket at Host C? If so, how will the process at Host C know that these two segments originated from two different hosts?

- For each persistent connection, the Web server creates a separate "connection socket". Each connection socket is identified with a four‐tuple: (source IP address, source port number, destination IP address, destination port number). When host C receives and IP datagram, it examines these four fields in the datagram/segment to determine to which socket it should pass the payload of the TCP segment. Thus, the requests from A and B pass through different sockets. - The identifier for both of these sockets has 80 for the destination port; however, the identifiers for these sockets have different values for source IP addresses.

Suppose that a Web server runs in Host C on port 80. Suppose this Web server uses persistent connections, and is currently receiving requests from two different Hosts, A and B. Are all of the requests being sent through the same socket at Host C? If they are being passed through different sockets, do both of the sockets have port 80? Discuss and explain.

A timer would still be necessary in the protocol rdt 3.0. If the round trip time is known then the only advantage will be that, the sender knows for sure that either the packet or the ACK (or NACK) for the packet has been lost, as compared to the real scenario, where the ACK (or NACK) might still be on the way to the sender, after the timer expires. However, to detect the loss, for each packet, a timer of constant duration will still be necessary at the sender.

Suppose that the roundtrip delay between sender and receiver is constant and known to the sender. Would a timer still be necessary in protocol rdt 3.0, assuming that packets can be lost? Explain.

You would use UDP. With UDP, the transaction can be completed in one roundtrip time (RTT) - the client sends the transaction request into a UDP socket, and the server sends the reply back to the client's UDP socket. With TCP, a minimum of two RTTs are needed - one to set-up the TCP connection, and another for the client to send the request, and for the server to send back the reply.

Suppose you wanted to do a transaction from a remote client to a server as fast as possible. Would you use UDP or TCP? Why?

False. Piggyback is only for efficiency. If there's no data packet to be piggybacked to, then B will just send the acknowledgement packet.

T/F: Host A is sending Host B a large file over a TCP connection. Assume Host B has no data to send Host A. Host B will not send acknowledgments to Host A because Host B cannot piggyback the acknowledgments on data.

True. The number of unacknowleged bytes that A sends cannot exceed the size of the receiver's window. But if it can't exceed the receiver's window, then it surely has no way to exceed the receiver's buffer as the window size is always less than or equal to the buffer size.

T/F: Suppose Host A is sending Host B a large file over a TCP connection.The number of unacknowledged bytes that A sends cannot exceed the size of the receive buffer.

False. The sequence number of the subsequent segment depends on the number of 8-byte characters in the current segment.

T/F: Suppose Host A is sending a large file to Host B over a TCP connection. If the sequence number for a segment of this connection is m, then the sequence number for the subsequent segment will necessarily be m + 1.

True. The sequence number for a segment is the byte-stream number of the first byte in the segment, in this case, 38. The acknowledgement number is the sequence number of the next byte expected, or the first byte of the next segment, in this, since bytes 38, 39, 40, and 41 would be sent, the next byte segment expected is 42, which is the value placed as the acknowledgement number.

T/F: Suppose Host A sends one segment with sequence number 38 and 4 bytes of data over a TCP connection to Host B. In this same segment, the acknowledgment number is necessarily 42.

True. EstimatedRTT is a weighted average of SampleRTT, the latter being the amount of time between when the segment is sent and when it is received. Since the TimeoutInterval should be greater than or equal to EstimatedRTT, it is safe to deduce that TimeoutInterval should be greater than or equal to the the value of which EstimatedRTT is an average of, or SampleRTT.

T/F: Suppose that the last SampleRTT in a TCP connection is equal to 1 sec. The current value of TimeoutInterval for the connection will necessarily be ≥ 1 sec.

True

T/F: The TCP segment has a field in its header for rwnd.

False. It is the size of the receiver's buffer that's never changed. {rwnd} is the part of the receiver's buffer that's changing all the time depending on the processing capability at the receiver's side and the network traffic

T/F: The size of the TCP rwnd never changes throughout the duration of the connection.

- reliable transport between sending and receiving process - flow control: sender won't overwhelm receiver - congestion control: throttle sender when network overloaded - connection-oriented: setup required between client and server processes (handshaking) - point to point one sender, receiver - reliable in order byte stream - full duplex: bidirectional data flow In same connection - cumulative ACKS - piping: TCP congestion and flow control set window size - DOES NOT PROVIDE: timing, minimum throughput guarantee, security

TCP Service

senders can increase sending are until packet loss (congestion) occurs, then decrease sending rate on loss event Additive Increase: increase sending rate by 1 max segment size every RTT until loss detected Multiplicative Decrease: cut sending rate in half at each loss event probing for bandwidth

TCP congestion control AIMD

-

Telnet into a Web server and send a multiline request message. Include in the request message the If-modified-since: header line to force a response message with the 304 Not Modified status code.

IP spoofing - solution: end-point authentication, allows to determine if message originates from where we think

The ability to inject packets into the Internet with a false source address is known as

link layer (packets are frames)

To move a packet from one node (host or router) to the next node in the route, the network layer relies on the services of the link layer. In particular, at each node, the network layer passes the datagram down to the link layer, which delivers the datagram to the next node along the route. At this next node, the link layer passes the datagram up to the network layer. -ex protocols: ethernet, wii, cable access networks DOCSIS protocol

packets

To send a message from a source end system to a destination end system, the source breaks long messages into smaller chunks of data known as pack- ets.

- unreliable data transfer between sending and receiving process - bare bones -best effort, segments may be lost or delivered out of order - connectionless: no handshaking between UDP sender, receiver Each UDP segment handles independently of others - no RTT incurred - can function when network service is compromises - bull additional functionality of UDP in application layer (HTTP/3) - simple - small header size - no congestion control = faster, can function in face of congestion - uses streaming multimedia apps, DNS, SNMP, HTTP/3 - if reliable needed, add at application layer and add congestion control at application layer - does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, or connection set up

UDP service

The IP address of the destination host and the port number of the socket in the destination process.

What information is used by a process running on one host to identify a pro- cess running on another host?

The overlay network in a P2P file sharing system consists of the nodes participating in the file sharing system and the logical links between the nodes. There is a logical link (an "edge" in graph theory terms) from node A to node B if there is a semi-permanent TCP connection between A and B. An overlay network does not include routers.

What is an overlay network? Does it include routers? What are the edges in the overlay network?

A protocol uses handshaking if the two communicating entities first exchange control packets before sending data to each other. SMTP uses handshaking at the application layer whereas HTTP does not.

What is meant by a handshaking protocol?

Network architecture refers to the organization of the communication process into layers (e.g., the five-layer Internet architecture). Application architecture, on the other hand, is designed by an application developer and dictates the broad structure of the application (e.g., client-server or P2P).

What is the difference between network architecture and application architecture?

- data integrity (file transfer, web transaction) 199% reliable data transfer - timing some apps require low delay to be effective (telephony, interactive ames)g - throughput (multimedia) require min amount of throughput to be effective; elastic apps make use of whatever throughput they get - security encryption, data integrity

What transport service does an app need?-

The applications associated with those protocols require that all application data be received in the correct order and without gaps. TCP provides this service whereas UDP does not.

Why do HTTP, SMTP, and IMAP run on top of TCP rather than on UDP?

Since most firewalls are configured to block UDP traffic, using TCP for video and voice traffic lets the traffic though the firewalls.

Why is it that voice and video traffic is often sent over TCP rather than UDP in today's Internet? (Hint: The answer we are looking for has nothing to do with TCP's congestion-control mechanism.)

link-layer, router

___ switch typically used in access networks, ___ used in the network core

PoP

a group of one or more routers (at the same location) in the provider's network where customer ISPs can connect into the provider ISP

physical

bits on the wire

packet sniffing

broadcast media (shared Ethernet, wireless) promiscuous network interface reads/records all packets (including passwords) passing by

wired, wireless communication links

access networks, physical media

web caches (proxy server)

acts as both client and server; server tells about object's allowable caching in response header - reduces response time for client request (cache is closer to client) - reduce traffic on an institutions access link - internet is dense with caches (enables poor content providers to more effectively deliver content

server

always-on host, permanent IP address, often in data centers for scaling

- types of messages exchanged (request, response) - message syntax - message semantics: meaning of info - rules for when/how processes send and respond to messages

an application-layer protocol defines:

SMTP

application: email transport protocol: TCP

FTP

application: file transfer/download transport protocol: TCP

WOW, FPS (proprietary)

application: interactive games transport protocol: UDP or TCP

SIP, RTP, or proprietary

application: internet telephony transport protocol: TCP or UDP

HTTP, DASH

application: streaming audio/video transport protocol: TCP

HTTP 1.1

application: web documents transport protocol: TCP

instantaneous throughput

at any instant of time is the rate (in bits/sec) at which Host B is receiving the file

200 OK

code: request succeeded, requested object late in this message

too maNy sources sending too much data too fast for network to handle - long delays (queueing in router buffers) - packet loss ( buffer overflow at routers) end-end cc -no explicit feedback from network - congestion inferred from observed loss, delay - approach taken by TCP network-assisted congestion control - routers provide directt feedback to sending/receving hosts with flows passing through congested router - may indicate congestion level or explicit set sending rate

congestion control

client

contact, communicate with server; may be intermittently connected, may have dynamic IP addresses, do not communicated directly with each other ex: HTTP, IMAP, FTP

link

data transfer between neighboring network elements (ethernet 802.11/wifi, PPP); protocol transfers datagram from host to neighboring host using network-layer services - encapsulates network datagram with link-layer header to create link-layer frame

- authentication - confidentiality via encryptions - integrity checks: digital signatures to re prevent/detect tampering -access restrictions: password-protected VPNs - firewalls

defense against DoS

protocol

define the format, order of messages sent and received among network entities, and actions taken on message transmission, receipt

Frequency Division Multiplexing (FDM)

different channels transmitted in different frequency bands

clients, servers (reside in large data centers)

tend to be desktops, laptops, smartphones, and so on. __ tend to be more powerful machines that store distribute web pages, stream video, related email...

Domain Name System (DNS)

distributed database implemented in hierarchy of many name servers - application-layer protocol: hosts, DNS servers communicate to resolve names services - hostname to IP address translation - host aliasing -mail server aliasing - load distribution

internet service providers

end systems access the Internet through ___ ; each is a network of packet switches and communication links. Provide a variety of types of network access to the end systems; provide internet access to content provides, connecting servers directly to the Internet.

- application can open multiple parallel connections between two hosts

fairness, parallel TCP connections

fiber optic cable

glass fiber carrying light pulses, each pulse a bit - high speed operantion - Low error rate

multiplexing

handle data from multiple sockets, add transport header (later used for demultiplexing)

GET method (for sending data to server)

include user data in URL field of HTTP GET request message

IMAP

internet mail access protocol; messages stored on server, provides retrieval deletion, folders of stored messages on server

application, transport, network, link, physical

layered internet protocol stack

bottleneck link

link on end-end path that constrains end-end throughput

network layer

logical communication between hosts

transport layer

logical communication between processes (relies on network layer services)

user agent

mail reader, composing, editing, reading mail messages outgoing, incoming messages stored on server

network core

mesh of interconnected routers - packet switching: hosts break application-layer messages into packets - network forwards packets from one router to the next, across links on path from source to destination

interconnected routers, network of networks

network core

queueing (packet switching)

occurs when work arrives faster than it can be serviced. if arrival rate to link exceeds transmission rate of link for some period of time: - packets will __, waiting to be transmitted on output link - packets can be dropped (lost) if memory (buffer) in router fills up

frequency division multiplexing

optical, electromagnetic frequencies divided into (narrow) frequency bands; each call allocated its own band, can transmit at max rate of that narrow band

socket

process sends/receives messages from this - sending process shoves out message - sending pro ess relies on transport infrastructure on other door to deliver message to _ at receiving process

client process

process that initiates communication

server process

process that was waits to be contacted

transport

process-process data transfer (TCP, UDP); layer protocol transfers (reliably) from one process to another, using services of network layer; encapsulates application-layer message with transport layer-layer header to create transport layer segment

process

program running within a host; different hosts communicate by exchanging messages

bit

propagates between transmitter/receiver pairs

IP Protocol

protocol that specifies the format of the packets that are sent and received among routers and end systems

transport services and protocols

provide logical communication between application processes running on different hosts in end systems: sender breaks application messages into segments, passes to network layer. receiveiner reassembles segments into messages, passes to application layer 2 apps: TCP, UDP

trace route program

provides delay measurement from source to router along end-end internet path towards destination

throughput

rate at which bits are being sent from sender to receiver - instantaneous, average

segment

refer to a transport-layer packet as a _____.

denial of service attack

renders a network, host, or other piece of infrastructure unusable by legitimate users by overwhelming resource with bogus traffic. Web servers, e-mail servers, DNS servers (discussed in Chapter 2), and institutional networks can all be subject to - vulnerability attack - bandwidth flooding -connection flooding

400 Bad request

request msg not understood by server

404 Not Found

requested document not found on this server

301 Moved Permanently

requested object moved, new location specified later in this message (in location field)

HEAD method

requests headers that would be returned if specified URL were requested with an HTTP GET method

network

routing of datagrams from source to destination (IP, routing protocols); transfers transport-layer segment from one host to abater using link layer services

pipelining

sender allows multiple, in flight, yet to be acknowledged packets - range of sequence numbers must be increased - buffering at sender or receiver

unguided media

signals propagate freely, e.g. radio

guided media

signals propagate in solid media: copper, fiber, coax

application

supporting network applications (HTTP, IMAP, SMTP, DNS); exchanges messages to implement some application service using services of transport layer

circuit-switched networks

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.; end-end resources allocated to, reserved for call between source and destination - dedicated resources: no sharing, telephone networks

packet-switches

these resources are not reserved; a session's messages use the resources on demand and, as a consequence, may have to wait (that is, queue) for access to a communication link. - great for bursty data, resource sharing, simpler, no call set up - excessive congestion possible: packet defat and loss due tp buffer overflow

time division multiplexing

time divided into slots; each call allocated periodic slot(s), can transmit at maximum rate of (wider) frequency band (only) during its time slot(s)

RTT

time for a small packet to travel from client to server and back

identifier - port Xs http 80, mail server 25

to receive messages, process must have __; 32 bit IP address; includes IP address and port numbers associated with process on host

different links can transmit data at different rates with ________ _______ of a link measured in bits/second

transmission rate

transport layer

transports application-layer messages between application endpoints. In the Internet, there are two transport protocols, TCP and UDP, either of which can transport application-layer messages. TCP provides a connection-oriented service to its applications. This service includes guaranteed delivery of application-layer messages to the destination and flow control (that is, sender/receiver speed matching). TCP also breaks long messages into shorter segments and provides a congestion-control mechanism, so that a source throttles its transmission rate when the network is con- gested. The UDP protocol provides a connectionless service to its applications. This is a no-frills service that provides no reliability, no flow control, and no congestion control. In this book, we'll refer to a transport-layer packet as a segment.

coaxial cable

two concentric copper conductors bidrectional broadband: multiple frequency channels on cable

PUT method

uploads new file (object) to server completely replaces file that exists at specified URL with content in entity body of POST HTTP request message

demultiplexing

use header info to deliver received segments to correct socket host receives datagrams, each datagram carries one transport layer segment, each segment has a source, destination port number. host uses IP addresses and port noms to direct segment to socket - UDP: port number TCP: source and dest ips and port numbers

email

user agents, mail servers, simple mail transfer protocol

HTTP: hypertext transfer protocol

web application-layer protocol; client: browser requests, receives, and displays web objects. server: web server sends objects in response to request - uses TCP, port 8- - stateless, maintains no info about past client requests

objects, can be HTML file, JPEG image, audio file..

web page consists of ____, each of which can be stored on different web servers

authorizationshopping cartsrecommendationsuser session state (Web e-mail)authorizationshopping cartsrecommendationsuser session state (Web e-mail)

what cookies can be used for:

physical link

what lies between transmitter and receiver


Kaugnay na mga set ng pag-aaral

Chapters 6, 7, 8, Accounting 307

View Set

Civil War and Reconstruction Test Review, Westward Expansion- Progressive Era Bank, WWI Test Bank, Roaring 20s Test Bank

View Set

Chapter 17: Cardiovascular System

View Set

Ch.17 (Direct, Online, Social Media, and Mobile Marketing)

View Set

Chapter 16 - Hardware Support A+

View Set

Intro to Coding - Use Data Structures

View Set

Parts of Speech: Gerunds, Participles, and Infinitives

View Set

N123 Chp 34 Coronary Artery Disease

View Set