Basics of Networking Concepts

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the formula for calculating latency?

Latency = Setup Time + Propagation + Transmit (A->S1) + Transmit (S1->B) + Switch Processing Time

What does the Delay x Bandwidth product represent?

  • Amount of data in flight (correct)
  • Latency measurement
  • Total packet loss rate
  • Transfer size

In a 1-byte message, bandwidth dominates latency.

False (B)

Match the following socket functions with their use:

<p>int socket(int domain, int type, int protocol) = Creating a socket int connect(int socket, struct sockaddr *addr, int addr_len) = Active open on client int bind(int socket, struct sockaddr *addr, int addr_len) = Passive open on server int accept(int socket, struct sockaddr *addr, int addr_len) = Accepting a connection on server</p> Signup and view all the answers

What is the command to listen for connections on a server socket?

<p>int listen(int socket, int backlog)</p> Signup and view all the answers

What do VBR and CBR stand for in networking metrics?

<p>Variable Bit Rate and Constant Bit Rate</p> Signup and view all the answers

What are the key features of a network?

<p>All of the above (D)</p> Signup and view all the answers

What is statistical multiplexing?

<p>On-demand time-division scheduling of links on a per-packet basis.</p> Signup and view all the answers

The Internet started as a commercial project in the 1970s.

<p>False (B)</p> Signup and view all the answers

What types of addresses are there in networking?

<p>Unicast, broadcast, multicast.</p> Signup and view all the answers

What does latency in network performance measure?

<p>The total time to transmit a data block.</p> Signup and view all the answers

Which of the following protocols is part of the TCP/IP protocol suite?

<p>All of the above (D)</p> Signup and view all the answers

What is the formula for effective bandwidth?

<p>Throughput = Size-Of-Data-Block / Latency.</p> Signup and view all the answers

Propagation Delay is calculated as Distance divided by ___

<p>c (transmission speed)</p> Signup and view all the answers

What is encapsulation in networking?

<p>Incorporating a header and body into a packet.</p> Signup and view all the answers

What is the purpose of the Internet Engineering Task Force (IETF)?

<p>To define and standardize Internet architecture.</p> Signup and view all the answers

What is the formula for calculating latency?

<p>Latency = Setup Time + Propagation + Transmit (A-&gt;S1) + Transmit (S1-&gt;B) + Switch Processing Time</p> Signup and view all the answers

What is the calculated latency from the example?

<p>1.469s</p> Signup and view all the answers

What is the throughput calculated in the example?

<p>8.566 Mbps</p> Signup and view all the answers

The amount of data 'in flight' or 'in the pipe' is related to _____ and _____.

<p>Delay, Bandwidth</p> Signup and view all the answers

Which dominates when sending a small message?

<p>Latency (A)</p> Signup and view all the answers

What is the primary purpose of the Socket API?

<p>Both A and B (A)</p> Signup and view all the answers

What are the two types of open operations in sockets?

<p>Active Open and Passive Open</p> Signup and view all the answers

In the example of a client-side socket program, 'sin.sin_addr.s_addr' is set to _____ and 'sin.sin_port' is set to _____

<p>SERVER_IP_ADDRESS, SERVER_PORT</p> Signup and view all the answers

What does the command 'int send(int socket, char *msg, int mlen, int flags)' do?

<p>It sends a message through the specified socket.</p> Signup and view all the answers

A bandwidth of 1 Mbps and a latency of 100 ms dominates over a bandwidth of 100 Mbps and latency of 1 ms.

<p>False (B)</p> Signup and view all the answers

What are the basic building blocks of a network?

<p>Nodes and links</p> Signup and view all the answers

A network can be defined as two or more nodes connected by a link.

<p>True (A)</p> Signup and view all the answers

What technology is primarily used in the Internet for data communication?

<p>Statistical Multiplexing (B), Packet Switching (D)</p> Signup and view all the answers

The process of determining which path a packet will take through a network is called ______.

<p>routing</p> Signup and view all the answers

What are the types of addresses used in networks?

<p>Unicast, broadcast, multicast</p> Signup and view all the answers

What does the total latency of a network depend on?

<p>Setup time, transmit time, propagation delay, and queuing delay</p> Signup and view all the answers

What does throughput measure?

<p>The amount of data transmitted over time</p> Signup and view all the answers

What is considered a packet-level error in a network?

<p>Congestion (D)</p> Signup and view all the answers

What does 'statistical multiplexing' involve?

<p>On-demand time-division scheduling on a per-packet basis</p> Signup and view all the answers

The speed of transmission in fiber is approximately ______ m/s.

<p>2.0 x 10^8</p> Signup and view all the answers

Match the following performance metrics with their definitions:

<p>Latency = Time taken for data to travel through the network Transmitting Time = Time to place data on the link Propagation Delay = Time taken for the signal to travel a link Throughput = Amount of data transmitted over time</p> Signup and view all the answers

What is the effective bandwidth if a file size of 12,582,912 bits is transferred in 1.458 seconds?

<p>8.63 Mbps</p> Signup and view all the answers

What is the primary role of protocols in a network?

<p>Define format, order of messages, and actions during transmission</p> Signup and view all the answers

The Internet is defined by the ______.

<p>Internet Engineering Task Force (IETF)</p> Signup and view all the answers

Multiple private backbones exist in the Internet architecture.

<p>True (A)</p> Signup and view all the answers

Bandwidth is determined by ______.

<p>link speed and data size</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

What’s a Network: Key Features

  • Offering services, like transportation of goods, mail, information or data
  • Sharing resources, used concurrently by multiple users
  • Basic building blocks: nodes (active entities) that process and transfer data, and links (passive medium) as carriers
  • Typically multi-hop, where two endpoints cannot directly reach each other, requiring other nodes to relay data

What’s a Network: “Nuts and Bolts” View

  • Network edge comprises millions of end-system devices like PCs, workstations, servers, PDAs, phones, etc.
  • Network core consists of routers and switches, forwarding data in packets (packet switching) or calls (circuit switching).
  • Network edge devices run network applications and connect to network core through communication links like fiber, copper, or radio.

Switched Networks

  • A network can be recursively defined as either two or more nodes connected by a link, or two or more networks connected by a node.

Brief History of the Internet

  • Started in the 70s as a research project with 56 kbps speed and less than 100 computers.
  • In the 80s, ARPANET and MILNET split, with NSF building NSFNET as the backbone, linking 6 supercomputer centers with 1.5 Mbps speed and 10,000 computers.
  • From 87 to 90, regional networks linked with 100,000 computers.
  • In the 90s, NSFNET moved to 45 Mbps and included 16 mid-level networks.
  • In 1994, the NSF backbone was dismantled, leading to multiple private backbones.
  • Today, backbones operate at over 10 Gbps speed and connect over 600 million computers across more than 190 countries.

Strategies

  • Circuit switching: transmits bit streams, used in the original telephone network.
  • Packet switching: stores and forwards messages, used in the Internet.

Addressing, Routing, and Forwarding

  • Address: a byte-string used to uniquely identify a node.
  • Types of addresses:
    • Unicast: specific to a single node.
    • Broadcast: addressed to all nodes on the network.
    • Multicast: addressed to a subset of nodes on the network
  • Routing: the process of determining the path a packet will take through a network to reach its destination.
  • Forwarding: the operation of sending an incoming packet to the correct switch or router output.

Multiplexing

  • Synchronous Time-Division Multiplexing (STDM)
  • Frequency-Division Multiplexing (FDM), e.g., TV channels

Statistical Multiplexing

  • Used in the Internet.
  • On-demand time-division, scheduling the link on a per-packet basis.
  • Packets from different sources are interleaved on the link.
  • Buffer packets that are contending for the link.
  • Buffer (queue) overflow leads to congestion.

Inter-Process Communication

  • Turns host-to-host connectivity into process-to-process communication.
  • Bridges the gap between what applications expect and the underlying technology provides.

IPC Abstractions

  • Request/Reply: used in distributed file systems, digital libraries (web).
  • Stream-Based: transmits data as a sequence of frames, suitable for video applications like on-demand video and video conferencing.

What Goes Wrong in the Network?

  • Bit-level errors: caused by electrical interference.
  • Packet-level errors: due to congestion.
  • Link and node failures can occur.
  • Packets can be delayed, delivered out of order, or duplicated.

Layering Architecture

  • Uses abstractions to hide complexity.
  • Abstractions lead to layered architectures.
  • Alternative abstractions exist at each layer.

Protocols

  • Building blocks of network architectures.
  • Define format, order of messages sent and received, and actions taken during message transmission and receipt.
  • Each protocol object has two interfaces:
    • Service interface: operations on this protocol (e.g., how to obtain a message).
    • Peer-to-peer interface: messages exchanged with peer (e.g., message format definition.
  • "Protocol" can refer to the specification of the peer-to-peer interface or the module that implements this interface.

Interfaces

  • Interfaces between protocols can include a service interface for interactions within a host and a peer-to-peer interface for interactions with its protocol counterpart in another host

TCP/IP protocol suite

  • A layered architecture with the following layers:
    • Application: supporting network applications like FTP, SMTP, HTTP.
    • Transport: enables process-process data transfer using protocols like TCP and UDP.
    • Internet: responsible for host-host data transfer through protocols like IP and routing protocols.
    • Data link: manages data transfer between neighboring network elements using protocols like PPP and Ethernet.
    • Hardware Devices (Physical): responsible for transmitting bits over the physical medium using the physical layer.

ISO/OSI model vs. TCP/IP

  • Both models are layered architectures but have differences in their layer structure and naming conventions
    • ISO/OSI: Application, Presentation, Session, Transport, Network, Data Link, Physical
    • TCP/IP: Application, Transport, Internet, Data Link, Physical
  • Certain layers in TCP/IP may map to multiple layers in ISO/OSI

Communication through Internet

  • Data is transferred through multiple switches and routers in a network.
  • Each device processes and forwards packets based on the IP address destination.

Identical objects between layers in TCP/IP

  • Data is encapsulated from one layer to another, but the encapsulated data maintains the same object type across layers.
  • e.g., segments or user datagrams in the Transport layer become datagrams in the Internet layer.

Encapsulation (Header/Body)

  • Data is wrapped with a header in each layer containing information for that layer.
  • The body contains the actual data that will be transmitted across networks.

Internet Architecture

  • Defined by the Internet Engineering Task Force (IETF).
  • Hourglass design, with application layer protocols (FTP, HTTP, etc.) and transport layer protocols (TCP, UDP) at the top, and the Internet layer (IP) at the bottom.
  • Multiple networks connect to the internet through IP.

Implications of Hourglass

  • A single Internet layer module (IP protocol) allows all networks to interoperate and all applications to function on all networks, regardless of underlying network technologies

Network Performance

  • Latency: total time to transmit a data block.
  • Factors affecting latency:
    • Initial time to establish a connection (setup time).
    • Time required to send the data block (transmit time).
    • Length of links and link speed (propagation delay).
    • Processing delay at routers (queuing delay).
  • Overall network performance:
    • Throughput = Size-Of-Data-Block / Latency
    • Effective Bandwidth

Performance Metrics

  • Transmit time:
    • Determined by data block size and link bandwidth.
    • Bandwidth: data transmitted per time unit (e.g., 10 Mbps).
  • Propagation delay:
    • Determined by link length and link speed.
    • Propagation Delay = Distance / c (speed of signal).

Network Performance Revisited

  • Total latency is calculated by summing up the setup time, propagation delay, transmit times, switch processing time, and RTT.
  • Total latency is affected by factors such as handshake time, switch delays, and packet sizes. ### Network Performance
  • Latency is the time it takes for a message to travel from source to destination.
  • It consists of setup time, propagation time, transmission time, and switch processing time.
  • Throughput is data transferred over time.
  • Delay x Bandwidth product is the amount of data in flight or in the pipe, typically relative to Round Trip Time (RTT).
  • For a 1-byte message, latency dominates bandwidth.
  • For a 25MB message, bandwidth dominates latency.
  • Infinite bandwidth makes RTT the dominant factor for throughput.
  • Effective Bandwidth is the total transfer size divided by total transfer time.
  • Transfer time consists of RTT and transfer size divided by bandwidth.

Other Metrics

  • Variable Bit Rate (VBR) and Constant Bit Rate (CBR) are bandwidth requirements for applications.
  • Delay jitter can be mitigated with buffering.
  • Reliability is measured by packet loss rate.

Socket API

  • The Socket API is a set of system calls for network communication.
  • It implements network communication between processes.
  • Socket creation uses the socket() function.
  • Domains include PF_INET for the Internet Protocol (IP) and PF_UNIX for local inter-process communication.
  • Types include SOCK_STREAM for connection-oriented communication, SOCK_DGRAM for connectionless communication, and SOCK_RAW for low-level access.
  • connect() is used for active opens, initiating a connection from a client.
  • bind() is used for passive opens, configuring a server to listen for connections.
  • listen() specifies the maximum number of pending connections.
  • accept() establishes a connection from a server to a client.
  • send() and recv() are functions for sending and receiving messages, respectively.

Example Socket Programs

  • Client side programs use socket, connect, send, and close.
  • Server side programs use socket, bind, listen, accept, recv, and close.

Network Features

  • Networks provide services to transfer goods, mail, information or data.
  • Networks are shared resources, often used concurrently by many users.
  • Networks are built from nodes (active entities) that process and transfer data in addition to links (passive medium) that carry the data.
  • Often networks are "multi-hop," meaning end points cannot directly reach each other and intermediate nodes are required to relay data.

Network Architecture

  • Network edge is composed of end system devices, like PCs, workstations, servers, PDAs, phones, and toasters.
  • Network core is composed of routers and switches, which forward data in packets or circuit-switched calls.
  • Communication links include fiber, copper, radio, and satellite.
  • Links can be point-to-point or have multiple access.
  • A network is defined recursively as two or more nodes connected by a link or two or more networks connected by a node.

History of the Internet

  • The internet was created in the 70's as a research project with a limited number of computers.
  • The ARPANET and MILNET split in the 80's.
  • NSFNET was built as a backbone in the 80's and connected to other networks and institutions and included supercomputer centers.
  • NSFNet moved to a higher bandwidth in the 90’s.
  • The NSF backbone was dismantled in the 90’s and replaced with private backbones.
  • Today, internet backbones have high bandwidth and connect to a large number of devices worldwide.

Strategies

  • Circuit switching: Data is transmitted continuously along a dedicated path.
  • Packet switching: Data is divided into packets, and these packets are forwarded independently and routed through various paths in the network.

Addressing

  • Each node on the network has a unique identifier called an address.
  • Types of addresses:
    • Unicast: Unique to one node.
    • Broadcast: Sent to all nodes on the network.
    • Multicast: Sent to a specific subset of nodes on the network.

Routing

  • Determines the path packets will take through the network to reach their destination.

Forwarding

  • Operations to send an incoming packet to the correct output on a switch or router.

Multiplexing

  • Allows multiple users to share the same physical transmission medium.
  • Synchronous Time Division Multiplexing (STDM) and Frequency Division Multiplexing (FDM) are examples.

Statistical Multiplexing

  • Used in the internet.
  • It’s on-demand time-division, meaning the link is scheduled on a per-packet basis, with packets from different sources interleaved on the link.
  • If a packet arrives at the link when it's already occupied, it's buffered in a queue.
  • When buffers overflow, congestion occurs.

Inter-Process Communication

  • Turns host-to-host connectivity into process-to-process communication.
  • Allows applications on different hosts to communicate with one another.
  • Fill gaps between applications and the underlying technology.

IPC Abstractions

  • Request/Reply: A common communication pattern for request-response interaction, like distributed file systems or web servers.
  • Stream-Based: Used for streaming applications like video conferencing, where information is continuously transferred as a sequence of frames.

Network Errors

  • Bit-level errors caused by electrical interference.
  • Packet-level errors caused by congestion, leading to delays, out-of-order delivery, and duplicates.

Layered Architecture

  • Uses abstractions to hide complexity and simplifies network management.
  • Network operations are divided into layers, with each layer responsible for a specific aspect of networking.

Protocols

  • Define the format, order of messages, and actions taken during transmission and receipt between network entities.
  • Each protocol object has a service interface (operations on that protocol) and a peer-to-peer interface (defining the messages exchanged between protocol peers).

TCP/IP Suite

  • A collection of networking protocols used on the internet and other networks.
  • It consists of four layers:
    • Application Layer: Provides services to support network applications (FTP, SMTP, HTTP).
    • Transport Layer: Enables process-to-process data transfer (TCP, UDP).
    • Network Layer: Manages host-to-host data transfer (IP, Routing protocols).
    • Data Link Layer: Provides reliable data transfer between neighboring network elements (PPP, Ethernet).
    • Physical Layer: Transmits bits across the physical medium.

ISO/OSI Model

  • A layered model that describes the interaction of communication protocols.
  • It is very similar to the TCP/IP suite.

Internet Architecture

  • Consists of networks and hosts connected using layered communication protocols.
  • Defined by the Internet Engineering Task Force (IETF).
  • Hourglass Design is the common architectural model.
  • The top layer is Application Layer and allows for various application protocols (FTP, HTTP, NV, TFTP).
  • The middle layer is Transport Layer and provides services like TCP and UDP.
  • The bottom layer is Internet Layer which defines the IP protocol for host-to-host data transfer.

Implications of Hourglass Design

  • A single Internet layer module allows all networks that support IP to interoperate.
  • Allows all applications to function on all networks that support IP.
  • Enables simultaneous development of network applications and underlying technologies.

Network Performance

  • Latency measures the time it takes to transfer data.
  • Factors influencing latency include: Setup time to establish communication, transmit time to send data, propagation delay across links, and queuing delay in routers.

Delay Measurements

  • Transmit time: Time to put data on a link, dependent on the link's bandwidth.
  • Propagation delay: Time for signal to travel across the link and depends on link length and signal speed.

Network Performance Revisited

  • To transfer a 1.5 MB file from host A to Host B through a switch S1, the total time is calculated as the sum of the setup time, propagation delay, transmit time on both links (A to S1 and S1 to B ), and switch processing time.
  • This calculation also includes the handshake time required to establish communications (2 x Round Trip Time).

Latency Calculation

  • Latency is the time it takes for a message to travel from one point to another.
  • It includes setup time, propagation time, transmission time, switch processing time.
  • In the example (A to S1 to B) the latency is: 0.16s + 0.04s + 1.258s + 0.8192 ms + 0.01s = 1.469s

Throughput Calculation

  • Throughput is the amount of data that can be transferred per unit of time.
  • In the example the file size is 8 x 1.5 x 220 bytes = 2,640 bytes
  • The throughput is: 8,565,631 bps = 8.566 Mbps

Delay x Bandwidth Product

  • The delay x bandwidth product represents the amount of data "in flight" or "in the pipe"
  • It is usually relative to the Round Trip Time (RTT)
  • Example: 100ms x 45 Mbps ≈ 560 KB

Bandwidth vs Latency

  • The relative importance of Bandwidth and Latency depends on the size of the message
  • For 1 byte messages, Latency is more important than Bandwidth
  • For large messages (e.g., 25 MB), Bandwidth is more important than Latency.
  • Infinite bandwidth: RTT dictates the throughput.

Other Metrics

  • Bandwidth need: VBR (variable bit rate) vs CBR (constant bit rate)
  • Delay jitter: requires buffering
  • Reliability: packet loss rate
  • Efficiency: Overhead of implementation

Socket API

  • Socket API provides functions for network communication
  • socket() function creates a socket.
  • connect() function initiates a connection (active open).
  • bind() function associates a socket with an address (passive open).
  • listen() function puts the socket in a listening state (passive open).
  • accept() function accepts an incoming connection (passive open).
  • send() function sends data to a socket.
  • recv() function receives data from a socket.

Example Socket Program (Client)

  • Code snippet demonstrates a simple client-side socket program.
  • sin.sin_addr.s_addr is the server's IP address.
  • sin.sin_port is the server's port.
  • The code creates a socket, connects to the server, sends data, and then closes the socket.

Example Socket Program (Server)

  • Code snippet demonstrates a simple server-side socket program.
  • The server binds to a specific address and port, listens for incoming connections, accepts the connection, receives data, processes the data, and then closes the socket.

Network Software Introduction

  • Covers applications, features, statistical multiplexing, inter-process communication, network architecture, performance metrics, and implementation issues.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

1-intro (2).pdf

More Like This

Computer Networking Fundamentals
12 questions
Networking Fundamentals
40 questions
Computer Networking Fundamentals
48 questions
Use Quizgecko on...
Browser
Browser