Okay, let's conclude Phase 1, Step 2 with 2.f Networks. A basic understanding of networking is essential for system design.
- Definition: A network is a collection of interconnected devices (computers, servers, routers, switches, etc.) that can communicate with each other. Networks allow devices to share resources and information.
Advertisement
- Key Concepts:
- IP Address: A unique numerical identifier assigned to each device on a network. There are two main versions:
- IPv4: 32-bit addresses (e.g., 192.168.1.1).
- IPv6: 128-bit addresses (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334). IPv6 was introduced to address the exhaustion of IPv4 addresses.
- Domain Name System (DNS): A hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It translates human-readable domain names (e.g., google.com) into IP addresses.
- TCP/IP Model: A conceptual model that standardizes the communication functions of a computing system into four abstraction layers:
- Application Layer: Provides network services to applications (e.g., HTTP, FTP, SMTP, DNS).
- Transport Layer: Provides reliable and unreliable data delivery between applications (e.g., TCP, UDP).
- TCP (Transmission Control Protocol): Connection-oriented, reliable, ordered delivery of data. Used for applications that require guaranteed delivery (e.g., web browsing, email).
- UDP (User Datagram Protocol): Connectionless, unreliable, unordered delivery of data. Used for applications where speed is more important than reliability (e.g., video streaming, online gaming).
- Internet Layer: Handles addressing and routing of data packets between networks (e.g., IP).
- Link Layer: Handles physical transmission of data over a specific network medium (e.g., Ethernet, Wi-Fi).
- HTTP (Hypertext Transfer Protocol): The foundation of data communication on the World Wide Web. It's an application-layer protocol used for fetching resources such as HTML documents.
- HTTPS (Hypertext Transfer Protocol Secure): A secure version of HTTP that uses SSL/TLS to encrypt communication between the client and the server.
- Subnet: A logical subdivision of an IP network.
- Router: A networking device that forwards data packets between computer networks.
- Switch: A networking device that connects devices within a network (usually a LAN) and uses packet switching to forward data to the destination device.
- IP Address: A unique numerical identifier assigned to each device on a network. There are two main versions:
Advertisement
-
Key Considerations for System Design:
- Network Latency: The time it takes for data to travel across the network. Minimize network latency for better performance.
- Bandwidth: The amount of data that can be transmitted over the network per unit of time. Ensure sufficient bandwidth to handle the expected traffic.
- Network Security: Protecting the network from unauthorized access and attacks (e.g., firewalls, intrusion detection systems).
- Network Topology: The arrangement of network devices and connections. Different topologies have different performance and reliability characteristics.
-
Example: When you access a website, your computer uses DNS to resolve the domain name to an IP address. Then, your computer establishes a TCP connection with the web server at that IP address. Your browser sends an HTTP request over that connection, and the web server sends back an HTTP response containing the webpage content.
Advertisement