Networking Fundamentals: TCP/IP, Topologies, and Protocols

Understanding Connectionless Packet-Switched Networks

A connectionless packet-switched network transmits data as independent packets without establishing a dedicated connection. Each packet may take a different path, optimizing network resources and routing flexibility.

Operation:

  • Packet Creation: Data is divided into packets, each with a header (addressing information) and payload (data).
  • Routing: Routers determine paths for each packet based on destination addresses and network conditions.
  • Transmission:
Read More

Internet Routing and Data Link Layer Protocols: Core Concepts

Goal of Routing

Each router finds a path or route to every destination and produces a forwarding table. Outcome: Packets follow computed paths if each router forwards according to its table.

Network State

Represents the set of functioning links and routers at a given time. Routing adapts to dynamic changes (e.g., link or router failures) by recomputing routes based on the current network state.

Local vs. Global Views

  • Global View: The network state represents an overall view used to compute paths.
  • Local
Read More

Networking Fundamentals: From Basics to Advanced Concepts

Chapter 2: Elements of Network Communication

  • Elements of Communication
  • Segmentation and Multiplexing
  • Network Components: Devices (end and intermediary), facilities, and services
  • LAN, WAN, and Internet
  • Protocol Suite: Collection of protocols
  • Models Based on Protocol Layers: Advantages
  • Difference Between Model and Reference Model Protocol
  • OSI Model and TCP/IP: Layers, encapsulation, differences
  • PDU: Protocol Data Unit names for each layer
  • Routing Mechanisms: How messages are routed in each layer

Chapter 3: Application

Read More

Graph Algorithms: Depth-First Search, Bellman-Ford, and Euler

Depth-First Search (DFS)

Code:

def _dfs(G, node, verts):

  • # Add node to visited
  • verts.add(node)
  • # For each neighbor
  • for neigh in G[node]:
  • # If neighbor not visited
  • if neigh not in verts:
  • # Start exploration from neighbor
  • verts = _dfs(G, neigh, verts)
  • return verts

Connected Components

Code:

def cnx(G):

  • components = []
  • visited = set()
  • # For every node (so we guarantee that every node is visited even if not connected)
  • for node in G:
  • if node in visited: continue # If already visited, next
  • # Explore (e.g. with DFS) from
Read More

Telecom Signal Processing: PCM, Quantization, Multiplexing

Digitalization of Telephone Channels and Quantization Distortion

The telephone channel, a unidirectional path with a bandwidth of 3100 Hz (300 Hz to 3400 Hz), can be digitalized using Pulse Code Modulation (PCM). When combined with Time Division Multiplexing (TDM), it enhances the efficiency of transmission paths. PCM converts analog samples into digital forms, improving noise immunity during transmission. The analog signal undergoes three operations in an Analog-to-Digital (A/D) converter before

Read More

Web Search Engines: Key Concepts and Evaluation Metrics

What is Web Search?

Web search provides access to heterogeneous, distributed information that is publicly available on the World Wide Web.

  • Key Elements: User, Web, Crawler/Spider, Indexer, Ads, Query Processor

The spider builds the corpus, collecting web pages recursively. The indexer creates inverted indexes, with various policies regarding which words are indexed, capitalization, and support for Unicode. The query processor serves query results. The front end handles query reformulation, word stemming,

Read More