Podcast
Questions and Answers
What was the initial primary application that significantly influenced the design philosophy of the Internet Protocol (IP)?
What was the initial primary application that significantly influenced the design philosophy of the Internet Protocol (IP)?
- Email communication between universities
- Instant messaging applications
- Real-time video conferencing
- File Transfer Protocol (FTP) (correct)
Why do applications typically understand URLs instead of IP addresses directly?
Why do applications typically understand URLs instead of IP addresses directly?
- Applications need to support multiple languages, which is easier with URLs than with IP addresses.
- IP addresses are temporary and change too frequently for applications to rely on them.
- URLs provide a more secure way to identify network resources than IP addresses.
- URLs are easier for users to remember and interact with compared to numerical IP addresses. (correct)
Which of the following is a key characteristic of the client-server architecture?
Which of the following is a key characteristic of the client-server architecture?
- Clients typically have permanent IP addresses for consistent accessibility.
- Servers are generally ‘always-on’ hosts with permanent IP addresses. (correct)
- Servers communicate directly with each other to balance the network load.
- Each client must maintain its own copy of the server database.
In a peer-to-peer (P2P) architecture, what is a defining characteristic related to service provision?
In a peer-to-peer (P2P) architecture, what is a defining characteristic related to service provision?
What information does the identifier used for addressing processes on the internet include?
What information does the identifier used for addressing processes on the internet include?
What is the main goal of open protocols?
What is the main goal of open protocols?
Why is data integrity considered by the transport layer when providing services to an application?
Why is data integrity considered by the transport layer when providing services to an application?
What distinguishes TCP from UDP in the transport layer?
What distinguishes TCP from UDP in the transport layer?
What is the purpose of the TCP three-way handshake?
What is the purpose of the TCP three-way handshake?
What is the primary purpose of a sequence number in TCP?
What is the primary purpose of a sequence number in TCP?
Why is congestion control essential in TCP?
Why is congestion control essential in TCP?
What does Van Jacobson's work on congestion control primarily involve?
What does Van Jacobson's work on congestion control primarily involve?
Under what circumstances would using UDP be more appropriate than using TCP?
Under what circumstances would using UDP be more appropriate than using TCP?
Why is UDP commonly used for query-based protocols like DNS?
Why is UDP commonly used for query-based protocols like DNS?
What is the fundamental question addressed by the network core regarding data transfer?
What is the fundamental question addressed by the network core regarding data transfer?
Which characteristic defines circuit switching?
Which characteristic defines circuit switching?
How does packet switching differ from circuit switching in resource allocation?
How does packet switching differ from circuit switching in resource allocation?
What is a key advantage of packet switching over circuit switching?
What is a key advantage of packet switching over circuit switching?
What is a significant limitation of packet switching?
What is a significant limitation of packet switching?
What does it mean for IP to be 'stateless' and 'best-effort'?
What does it mean for IP to be 'stateless' and 'best-effort'?
What is a key limitation of the standard IP communication model?
What is a key limitation of the standard IP communication model?
What is a primary driver behind the development and adoption of IPv6?
What is a primary driver behind the development and adoption of IPv6?
Why has IPv6 not been universally adopted despite solving address exhaustion issues?
Why has IPv6 not been universally adopted despite solving address exhaustion issues?
What is the primary role of the Data Link Layer?
What is the primary role of the Data Link Layer?
What is the focus of the Physical Layer in the TCP/IP model?
What is the focus of the Physical Layer in the TCP/IP model?
A user is experiencing slow internet speeds during peak hours. Which layer of the TCP/IP model is most likely involved in addressing this issue?
A user is experiencing slow internet speeds during peak hours. Which layer of the TCP/IP model is most likely involved in addressing this issue?
Why did the original design of TCP/IP architecture not prioritize security?
Why did the original design of TCP/IP architecture not prioritize security?
What type of applications typically benefit from using the UDP transport protocol instead of TCP?
What type of applications typically benefit from using the UDP transport protocol instead of TCP?
How does inter-process communication differ between processes on the same host versus processes on different hosts?
How does inter-process communication differ between processes on the same host versus processes on different hosts?
What statement is true regarding transport service requirements for different applications?
What statement is true regarding transport service requirements for different applications?
Which of the following statements accurately describes the division of responsibilities in creating network applications?
Which of the following statements accurately describes the division of responsibilities in creating network applications?
What scenario is least helped by content delivery networks (CDNs)?
What scenario is least helped by content delivery networks (CDNs)?
Which of the following scenarios represents an implementation of circuit switching?
Which of the following scenarios represents an implementation of circuit switching?
What is the primary role of the transport layer in the TCP/IP model, specifically considering its relationship with the application layer?
What is the primary role of the transport layer in the TCP/IP model, specifically considering its relationship with the application layer?
In the context of network architecture, what does the term 'narrow waist' refer to?
In the context of network architecture, what does the term 'narrow waist' refer to?
How does the client process differ from the server process in network communication?
How does the client process differ from the server process in network communication?
What role does a 'socket' play in network communication between applications?
What role does a 'socket' play in network communication between applications?
What is the purpose of 'flow control' in TCP?
What is the purpose of 'flow control' in TCP?
What best describes the 'end-to-end principle'?
What best describes the 'end-to-end principle'?
Flashcards
What is File Transfer Protocol (FTP)?
What is File Transfer Protocol (FTP)?
First application of the internet, involving transferring files between a server and a client.
What is the TCP/IP Architecture?
What is the TCP/IP Architecture?
A conceptual model that standardizes the communications functions of a computing system without regard to its underlying internal structure and technology.
What is the Application Layer?
What is the Application Layer?
The application layer provides the interface between applications and the network, including protocols like HTTP, SMTP, and DNS.
What is an IP Address?
What is an IP Address?
Signup and view all the flashcards
What is the Domain Name System (DNS)?
What is the Domain Name System (DNS)?
Signup and view all the flashcards
What is a URL?
What is a URL?
Signup and view all the flashcards
What is Client-Server Architecture?
What is Client-Server Architecture?
Signup and view all the flashcards
What is Peer-to-Peer (P2P) Architecture?
What is Peer-to-Peer (P2P) Architecture?
Signup and view all the flashcards
What is a process?
What is a process?
Signup and view all the flashcards
What is a Socket?
What is a Socket?
Signup and view all the flashcards
What is an Identifier in Networking?
What is an Identifier in Networking?
Signup and view all the flashcards
What is the Transport Layer?
What is the Transport Layer?
Signup and view all the flashcards
What is data integrity?
What is data integrity?
Signup and view all the flashcards
What is timing?
What is timing?
Signup and view all the flashcards
What is throughput?
What is throughput?
Signup and view all the flashcards
What is TCP? (Transmission Control Protocol)
What is TCP? (Transmission Control Protocol)
Signup and view all the flashcards
What is UDP? (User Datagram Protocol)
What is UDP? (User Datagram Protocol)
Signup and view all the flashcards
What is the Three-Way Handshake?
What is the Three-Way Handshake?
Signup and view all the flashcards
What is congestion control?
What is congestion control?
Signup and view all the flashcards
What is to send data as fast as one can?
What is to send data as fast as one can?
Signup and view all the flashcards
What is the Network Layer?
What is the Network Layer?
Signup and view all the flashcards
What is circuit switching?
What is circuit switching?
Signup and view all the flashcards
What is packet-switching
What is packet-switching
Signup and view all the flashcards
what is store and forward?
what is store and forward?
Signup and view all the flashcards
What does Stateless, Best-Effort IP mean?
What does Stateless, Best-Effort IP mean?
Signup and view all the flashcards
What is FDM and TDM?
What is FDM and TDM?
Signup and view all the flashcards
What is the Data Link Layer?
What is the Data Link Layer?
Signup and view all the flashcards
What are Data Link layer?
What are Data Link layer?
Signup and view all the flashcards
Study Notes
- The lecture covers TCP/IP basics, initial application scenarios, architecture and different layers
Driving Application
- File transfer (FTP) was the first application
- FTP transfers data from a server to a client and vice versa
- Communication occurs between two endpoints, a source, and a destination
- Communication endpoints are identified by an IP address
- The client-server model is typical
Evolution of Applications
- More applications emerged including email, messaging, and real-time applications
- Mobile applications introduced challenges, including best-effort delivery with no guarantees
TCP/IP Architecture - Why the Narrow Waist
- The TCP/IP architecture includes the Application, Transport, Network, Data link and Physical layers
- IP works over anything and anything works over IP
Application Layer
- Applications are aware of URLs, essentially names like www.facebook.com
- Application data resides in the payload of an HTTP/HTTPS message
- Applications understand URLs; the network understands IP addresses
- Translation of URLs to IP addresses occurs through the Domain Name System (DNS)
Creating a Network App
- Programs run on different end systems and communicate over the network, like web server software communicating with browser software
- Network-core devices don't run user applications
- Applications on end systems allow for rapid app development and propagation
- Possible application structures are client-server and peer-to-peer (P2P)
Client and Server Architecture
- The server is always-on, has a permanent IP address, and utilizes data centers for scaling
- Clients communicate with the server, may be intermittently connected, may have dynamic IP addresses and don't communicate directly
Peer-to-Peer Architecture
- P2P does not use an always-on server
- Arbitrary end systems communicate directly which allows new peers to bring new service capacity
- Peers request service from other peers & also provide service in return to other peers
- Peers are intermittently connected and change IP addresses, which leads to complex management
Processes Communicating
- A process is a program running within a host
- Processes within the same host communicate using inter-process communication defined by the OS
- Processes in different hosts communicate by exchanging messages
- Client processes initiate communication and server processes wait to be contacted
- Applications with P2P architectures have client processes and server processes
Sockets
- A process sends/receives messages to/from its socket
- A socket is analogous to a door: the sending process shoves a message out the door
- The process relies on the transport infrastructure on the other side of the door to deliver a message to the socket at the receiving process
Addressing Processes
- To receive messages, a process must have an identifier
- Host devices have a unique 32-bit IP address
- An identifier includes both IP address and port numbers associated with the process on the host
- HTTP server ports are 80 and mail server ports are 25
- To send an HTTP message to the umsl.edu web server, the IP address is 134.124.1.234 and the port number is 80
App-Layer Protocol Definitions
- Specify the types of messages exchanged, such as request and response
- Define message syntax, including what fields are in messages and how they are delineated
- Dictate message semantics, meaning the information in the fields
Open Protocols
- Open protocols are defined in RFCs and allow for interoperability, for example, HTTP and SMTP
Proprietary Protocols
- Skype is an example
Transport Layer
- Focuses on providing reliable data transfer
Transport Service
- Data integrity means some apps require 100% reliable data transfer
- Other apps can tolerate some loss
- Some apps require low delay, like Internet telephony or interactive games
- Some apps require a minimum throughput to be effective
- Security including encryption and data integrity are other transport service requirements
Transport requirements for applications:
- File transfer and e-mail require no data loss
- Real-time audio/video are loss-tolerant
- Interactive games need few kbps and are time sensitive
- Both file transfer and email require elastic throughput
Internet Transport Protocol Services: TCP
- TCP provides reliable transport between sending and receiving processes
- TCP uses flow control to prevent the sender overwhelming the receiver
- Congestion control throttles the sender when the network is overloaded
- TCP does not provide timing, minimum throughput guarantees, or security
- TCP is connection-oriented and requires setup between client and server processes
Internet Transport Protocol Services: UDP
- UDP provides unreliable data transfer between sending and receiving processes
- UDP does not provide reliability, flow control, congestion control, timing, throughput guarantees, or security
- HTTP/HTTPS requests/responses are encapsulated into TCP segments or UDP datagrams
- TCP delivers reliably by establishing a connection between 2 hosts and doing error checks
- UDP delivers with a best-effort and is connectionless
TCP Connection Establishment
- TCP uses a 3-way handshake
TCP Reliability
- A sequence number identifies the latest byte sent by the sender
- The receiver acknowledges the latest byte of data received
Packet Losses
- TCP uses timeout and re-sends the packets
Flow and Congestion Control
- Flow control avoids flooding the receiver
- Congestion control avoids flooding the network
TCP Congestion
- Network congestion should be avoided to promote stability
Van Jacobson Congestion Control
- Network congestion can be modeled as a control problem with an equation that helps the system reach stability through a feedback loop
- For every successful transmission increase the window by a constant number
- On loss, decrease the transmission window by a constant
- Probe for usable bandwidth until the capacity is reached
UDP
- UDP offers connection-less and unreliable data delivery
- Why use UDP? There is no delay to establish a connection, it offers finer control, and has minimal header overhead, only 8 bytes
Applications that use UDP
- Multimedia (real-time) apps use UDP as re-transmitting packets is not required
- Naive query-based protocols like DNS, NTP, and DHCP use UDP and allows those applications to retransmit if necessary
Network Layer - The Network Core
- Packet switching and circuit switching are methods of data transfer through the network
Network Core: Circuit Switching
- Has end-end resources reserved for each "call"
- The resources are dedicated
- A call setup is needed
Network Core: Packet Switching
- Each end-end data stream is divided into packets
- Users share network resources and this requires resource contention
Packet Switching vs. Circuit Switching
- Packets allows more users to use a network
- Packet switching suffers from packet delay and loss
The Internet
- Stateless, best-effort IP puts the Internet together
- The communication model is between 2 hosts. Source and destination IP addresses define them
IPV4 vs IPV6
- Specific IPV4 address blocks can cost millions, thus IPV6 was developed
- IPV6 aims to improve security, performance, multi-cast, and network configuration
Why has IPV6 not taken off then
- ISPS have invested so much money in IPV4
- There not enough good ways for the to interoperate with IPv4
- Network Address Translation (NAT) does the job for now
Data Link Layer
- There are many different protocols
Physical Layer
- Important, but not a focus.
Security
- The TCP/IP architecture does not provide security
TCP/IP security
- Accountability of resources was the last design goal of ARPANET and people trusted each other at the time
- The Internet has been successful due to so many new and innovative apps
- This is why networking people need to fulfil application requirements
- The recent trend is Ubiquitous Augmented Reality or Virtual Reality needing ultra-low user perceived latency
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.