Computer Network Notes PDF
Document Details
Uploaded by BlitheJasmine2088
Kamla Nehru College Nagpur
Tags
Summary
These notes provide a detailed overview of computer network models, particularly focusing on the design issues and functions of each layer. The document explores concepts like the OSI and TCP/IP models, and examines how various protocols and layers work together.
Full Transcript
UNIT II NETWORK MODEL: DESIGN ISSUES OF THE LAYER The design issues of the layers in a network model, such as the OSI (Open Systems Interconnection) model or the TCP/IP model, are important considerations in the development and operation of computer networks. Each layer in these models...
UNIT II NETWORK MODEL: DESIGN ISSUES OF THE LAYER The design issues of the layers in a network model, such as the OSI (Open Systems Interconnection) model or the TCP/IP model, are important considerations in the development and operation of computer networks. Each layer in these models has specific design challenges and goals that must be addressed to ensure efficient and reliable network communication. Here are the design issues associated with each layer: 1. Physical Layer: Transmission Medium: Selecting the appropriate physical medium, whether it's copper, fiber-optic cables, or wireless transmission, involves evaluating factors like bandwidth, signal quality, and distance. Signal Encoding: Deciding on the encoding scheme, modulation, and signaling method to represent binary data as physical signals is crucial for reliable data transmission. Noise and Interference: Managing electromagnetic interference, signal degradation, and noise is vital to maintain signal integrity. 2. Data Link Layer: Data Framing: Developing a robust framing mechanism for dividing data into manageable frames and adding headers and trailers for error detection and addressing. Error Detection and Correction: Implementing mechanisms like cyclic redundancy check (CRC) or parity bits to detect and, in some cases, correct errors in transmitted data. Flow Control: Establishing flow control mechanisms to regulate data transmission rates and prevent congestion. Addressing: Assigning unique addresses (e.g., MAC addresses) to devices on the same network segment. 3. Network Layer: Routing Algorithms: Selecting routing algorithms and strategies to determine the best path for data packets to reach their destination. Factors include hop count, cost, and network topology. Addressing Scheme: Defining logical addressing schemes (e.g., IP addresses) to uniquely identify devices on a global scale. Packet Forwarding: Determining how routers forward packets based on routing tables and address information. 4. Transport Layer: Connection Establishment: Designing mechanisms for establishing, maintaining, and terminating connections, as well as managing associated state information. Reliability: Implementing reliable data delivery mechanisms, including acknowledgment, retransmission, and sequencing, as in the case of TCP. Error Detection and Correction: Ensuring data integrity through error checking and correction. Flow Control: Managing data flow to prevent congestion and buffer overflows. Port Number Assignment: Defining a system for assigning and managing port numbers for different services and applications. 5. Session Layer: Session Establishment and Termination: Developing methods for creating, managing, and closing sessions between applications. Synchronization: Synchronizing data exchange between the sender and receiver. Checkpointing: Allowing sessions to be interrupted and resumed without data loss. 6. Presentation Layer: Data Translation: Handling data format and character set translations to ensure compatibility between different systems. Data Encryption and Compression: Implementing encryption and data compression techniques for secure and efficient data exchange. 7. Application Layer: Application Protocols: Designing application-specific protocols (e.g., HTTP, FTP) for different services and applications. User Interface: Creating user-friendly interfaces for applications to interact with users. Interoperability: Ensuring compatibility with other systems and applications by adhering to standards. Each layer's design issues are interconnected, and a well-considered design in one layer can significantly impact the functionality and efficiency of other layers in the network model. Successful network design requires careful consideration of these issues to create a robust and effective network infrastructure. A PROTOCOL HIERARCHY refers to the structured organization of network protocols into layers or levels, with each layer having specific responsibilities and functions. The concept of protocol hierarchy is fundamental to understanding how data communication occurs in computer networks and how various protocols work together to enable communication between devices. The two most well-known protocol hierarchies are the OSI model and the TCP/IP model. 1. OSI Model: The OSI (Open Systems Interconnection) model, developed by the International Organization for Standardization (ISO), consists of seven layers, each with distinct responsibilities. It serves as a conceptual framework for network communication, focusing on the separation of functions into well-defined layers: 1. Physical Layer: Concerned with the physical medium and transmission of raw bits. 2. Data Link Layer: Manages data framing, error detection, and addressing at the data link level. 3. Network Layer: Handles logical addressing, routing, and packet forwarding. 4. Transport Layer: Ensures reliable data delivery, error correction, and flow control. 5. Session Layer: Manages session establishment, maintenance, and termination. 6. Presentation Layer: Deals with data translation, encryption, and compression. 7. Application Layer: Provides application services and network services to applications. 2. TCP/IP Model: The TCP/IP model is a more streamlined and widely adopted protocol hierarchy used for the internet and many modern networking environments. It consists of four layers, with an emphasis on practical implementation: 1. Application Layer: Provides application services directly to end-users or applications. It includes a wide range of application protocols. 2. Transport Layer: Ensures end-to-end communication and reliable data transfer. It includes the TCP and UDP protocols. 3. Internet Layer: Manages addressing, routing, and packet forwarding. The Internet Layer is primarily represented by the IP protocol. 4. Link Layer (or Network Access Layer): Responsible for physical and data-link-level aspects of network communication. It includes various protocols related to the specific networking technology in use (e.g., Ethernet, Wi-Fi, PPP). In both models, data is encapsulated as it moves down the hierarchy (from higher layers to lower layers) and de-encapsulated as it moves up (from lower layers to higher layers). The protocols within each layer communicate with their corresponding layers on other devices to facilitate end-to-end communication. These protocol hierarchies enable modularity and interoperability, allowing different devices and technologies to work together in a coherent and organized manner. While the OSI model is often used for educational purposes and in some telecommunications contexts, the TCP/IP model is the foundation of the internet and is more commonly applied in practical networking. THE ISO/OSI REFERENCE MODEL, often referred to as the OSI model, is a conceptual framework that standardizes the functions of a telecommunications or networking system into seven distinct layers. The International Organization for Standardization (ISO) developed this model to ensure that different networking technologies and protocols could work together. Each layer in the OSI model has specific functions and interacts with adjacent layers to enable data communication across networks. Here are the seven layers of the OSI model, from the lowest layer to the highest: 1. Physical Layer (Layer 1): This layer deals with the physical medium and transmission of raw bits over a physical connection. It includes specifications for cables, connectors, and network interfaces. The primary purpose is to transmit the data over the physical network medium. 2. Data Link Layer (Layer 2): The data link layer is responsible for error detection and correction on the physical medium. It also handles flow control and framing (dividing data into frames for transmission). Ethernet is an example of a data link layer protocol. 3. Network Layer (Layer 3): The network layer is concerned with routing data packets between devices in different networks. It deals with logical addressing (e.g., IP addresses), routing, and packet forwarding. IP (Internet Protocol) is a prominent network layer protocol. 4. Transport Layer (Layer 4): The transport layer is responsible for end-to-end communication between devices. It ensures data integrity and provides error detection and correction. The two most common transport layer protocols are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol). 5. Session Layer (Layer 5): The session layer manages sessions, which are essentially dialogues or connections between devices. It establishes, maintains, and terminates these sessions. This layer also handles synchronization and checkpointing during data exchange. 6. Presentation Layer (Layer 6): The presentation layer is responsible for data translation, encryption, compression, and formatting. It ensures that data sent by the application layer is readable by the application layer on the receiving end. For example, it may handle character encoding and data encryption. 7. Application Layer (Layer 7): The application layer is the topmost layer and interacts directly with end- user applications. It provides application services and network services to applications. Protocols at this layer include HTTP, FTP, SMTP, and more. The OSI model is a valuable reference for understanding how network protocols and technologies work together. While it's a theoretical framework, many real- world network protocols and technologies can be mapped to the OSI model to understand their functions and interactions. However, it's important to note that the OSI model is not a strict standard like some other networking standards; it's more of a conceptual tool for teaching and understanding network architecture. In practice, the TCP/IP model (which combines the network and data link layers into a single layer) is more commonly used as the basis for the internet and many networking technologies. Each layer of the ISO/OSI reference model has specific functions and responsibilities, and they work together to enable communication in a network. Here's a brief overview of the functions of each layer in the OSI model: 1. Physical Layer (Layer 1): Function: The physical layer deals with the physical medium and transmission of raw bits over a physical connection. It specifies the hardware characteristics of the network, including cables, connectors, and network interfaces. This layer is responsible for transmitting and receiving bits without any regard for their meaning. 2. Data Link Layer (Layer 2): Function: The data link layer is responsible for error detection and correction on the physical medium. It also handles framing, which involves dividing data into frames for transmission. This layer ensures that data is transmitted reliably across the physical medium. It includes two sublayers: Logical Link Control (LLC) and Media Access Control (MAC). 3. Network Layer (Layer 3): Function: The network layer focuses on routing data packets between devices in different networks. It deals with logical addressing (such as IP addresses), routing, and packet forwarding. The primary role is to determine the best path for data to travel from the source to the destination across interconnected networks. 4. Transport Layer (Layer 4): Function: The transport layer is responsible for end-to-end communication between devices. It ensures data integrity, provides error detection and correction, and manages flow control. It supports two main transport protocols, TCP (reliable, connection-oriented) and UDP (unreliable, connectionless). 5. Session Layer (Layer 5): Function: The session layer manages sessions, which are essentially dialogues or connections between devices. It establishes, maintains, and terminates these sessions. It handles synchronization and checkpointing during data exchange and ensures that data is exchanged correctly between devices. 6. Presentation Layer (Layer 6): Function: The presentation layer is responsible for data translation, encryption, compression, and formatting. It ensures that data sent by the application layer is readable by the application layer on the receiving end. It may handle character encoding, data encryption, and other transformations. 7. Application Layer (Layer 7): Function: The application layer is the topmost layer and interacts directly with end-user applications. It provides application services and network services to applications. This layer includes various application protocols like HTTP, FTP, SMTP, and others. It is responsible for user interface, user authentication, and application-level data processing. Each layer of the OSI model performs its specific function, and the interaction between these layers enables data to be transmitted reliably across a network. The data is encapsulated at each layer as it moves down the OSI model and de- encapsulated as it moves up. This modular approach to networking allows for interoperability and the development of different technologies and protocols that can be used in combination to create complex network architectures. Computer networking involves a wide range of terminology and concepts. Here are some of the various terms and phrases commonly used in computer networking: 1. Network: A network is a collection of interconnected devices (e.g., computers, routers, switches) that can communicate with each other. 2. Node: A node is a device or data point in a network, such as a computer or a printer. 3. Protocol: A protocol is a set of rules and conventions that govern communication between devices on a network. 4. LAN (Local Area Network): A LAN is a network that covers a small geographic area, like a single building or a campus. 5. WAN (Wide Area Network): A WAN is a network that covers a large geographic area, such as a city or even multiple cities. 6. Router: A router is a networking device that forwards data packets between networks. It plays a crucial role in connecting LANs to WANs. 7. Switch: A switch is a device that operates at the data link layer and is used to connect devices within a LAN. It is more efficient than a hub. 8. Hub: A hub is a basic networking device that connects multiple devices in a LAN. It operates at the physical layer and simply broadcasts data to all connected devices. 9. IP Address (Internet Protocol Address): An IP address is a unique numeric identifier assigned to each device on a network, allowing it to be located and communicate with other devices. network traffic to protect against unauthorized access or cyberattacks. 10. Gateway: A gateway is a device or software that connects two dissimilar networks, allowing data to flow between them. public IP address for accessing resources on the internet. a crucial role in connecting LANs to WANs. These are just a few of the many terms and concepts in computer networking. Networking is a broad and evolving field, and new terminology may emerge as technology advances. Connection-oriented and connectionless services are two fundamental communication paradigms in networking and data transmission. They describe how data is exchanged between devices or nodes in a network. Here's an explanation of each: 1. Connection-Oriented Service: In a connection-oriented service, a logical connection is established between two communicating parties before data transmission begins. This connection is maintained throughout the data exchange, and it ensures that data is reliably and sequentially delivered. Characteristics of connection-oriented services: Reliability: These services provide reliable data delivery, ensuring that data reaches its destination without loss or corruption. Sequencing: Data is delivered in the order it was sent, maintaining the integrity of the message. Flow Control: Flow control mechanisms prevent data overload by regulating the rate of data transmission to match the receiver's ability to process it. Acknowledgments: Acknowledgment messages confirm the successful receipt of data, allowing the sender to retransmit if necessary. Examples: TCP (Transmission Control Protocol) is a widely used connection-oriented protocol in networking. It is commonly used for applications like web browsing, email, and file transfers. 2. Connectionless Service: In a connectionless service, there is no prior setup of a connection before data transmission. Data is sent as separate, independent packets, and each packet is treated as a separate entity with no relation to previous or subsequent packets. Characteristics of connectionless services: No Reliability Guarantees: Connectionless services do not guarantee reliable delivery of data. Packets may be lost, delivered out of order, or duplicated. No Flow Control: There is no flow control mechanism to regulate data transmission, which means that packets can be sent at the sender's rate without regard for the receiver's capacity. No Acknowledgments: Connectionless protocols typically do not require acknowledgment messages for received data. Low Overhead: Connectionless services have lower overhead compared to connection-oriented services because they do not need to establish, maintain, or tear down a connection. Examples: UDP (User Datagram Protocol) is a well-known connectionless protocol. It is used for applications where low latency and real-time data transmission are more critical than reliability, such as online gaming and streaming media. The choice between connection-oriented and connectionless services depends on the specific requirements of the application and the trade-offs between reliability and overhead. Connection-oriented services are suitable for applications where data integrity and reliability are crucial, while connectionless services are preferred for applications where low latency and quick data transmission are more important, and some data loss can be tolerated. The internet, short for "interconnected networks," is a global network of interconnected computer networks that allows billions of devices worldwide to communicate and share information. It's a vast, decentralized system that has become an integral part of modern life, impacting various aspects of communication, information access, and commerce. Here are some key aspects and characteristics of the internet: 1. Global Connectivity: The internet is a worldwide network, connecting devices and networks across the globe. It is not owned or controlled by any single entity, making it a global resource. 2. service providers (ISPs) play a key role in providing access to consumers. 3. Web and Browsing: The World Wide Web (WWW) is one of the most popular services on the internet. It allows users to access websites and web content through web browsers like Chrome, Firefox, and Safari. 4. Email: Email (Electronic Mail) is a widely used communication method on the internet, enabling users to send and receive messages, documents, and media files. 5. Search Engines: Search engines like Google, Bing, and Yahoo help users find information on the web by indexing and ranking websites and pages. 6. E-commerce: The internet is a hub for e-commerce, allowing businesses to sell products and services online, and consumers to shop and make transactions. 7. Social Media: Social media platforms such as Facebook, Twitter, Instagram, and LinkedIn enable users to connect with others, share content, and communicate. 8. Cloud Computing: Cloud computing services, like Amazon Web Services (AWS) and Microsoft Azure, provide infrastructure, storage, and computing resources over the internet. 9. Cyber Security: The internet faces various security challenges, including hacking, malware, and phishing. Security measures such as firewalls, encryption, and antivirus software help protect data and networks. The internet continues to evolve with new technologies and applications, making it an ever-changing and dynamic ecosystem that shapes the way we live, work, and interact in the digital age. The Transport Layer in the OSI model is responsible for providing end-to-end communication services, ensuring data integrity, and managing the flow of data between devices. Several transport layer protocols are used on the Internet to facilitate this communication. Here are two of the most prominent ones: 1. Transmission Control Protocol (TCP): TCP is one of the most widely used transport layer protocols on the Internet. It offers a connection-oriented, reliable, and error-checking data delivery service. Key features of TCP: Reliability: TCP ensures the reliable and orderly delivery of data by using acknowledgments, sequence numbers, and retransmissions to recover lost or corrupted packets. Flow Control: It implements flow control mechanisms to prevent data overload, ensuring that data is delivered at a rate that the receiver can handle. Error Checking: TCP performs error checking to detect and correct data transmission errors. Connection-Oriented: A connection is established before data exchange, and a three-way handshake is used to set up and terminate connections. Full Duplex: TCP enables simultaneous two-way communication, allowing data to flow in both directions simultaneously. Port Numbers: It uses port numbers to identify specific services or applications running on a device. For example, port 80 is commonly used for HTTP (web) traffic. 2. User Datagram Protocol (UDP): UDP is a simpler, connectionless, and lightweight transport layer protocol that provides minimal services for data transfer. Key features of UDP: Connectionless: Unlike TCP, UDP does not establish a connection before sending data. Each UDP packet is independent and carries its own addressing information. Low Overhead: UDP has lower overhead compared to TCP because it doesn't include the same level of error checking, acknowledgment, and sequencing. Fast and Low Latency: UDP is used in situations where low latency is more critical than guaranteed delivery, making it suitable for real- time applications like streaming media and online gaming. Broadcast and Multicast: UDP is used for broadcasting and multicasting data to multiple recipients simultaneously. Lack of Flow Control: UDP does not have built-in flow control mechanisms, so applications using UDP need to manage data flow themselves. Port Numbers: UDP also uses port numbers to identify services, and it is commonly associated with services like DNS (port 53) and streaming media. The choice between TCP and UDP depends on the specific requirements of the application. TCP is typically used when data reliability is crucial, such as in web browsing, file transfers, and email. UDP, on the other hand, is preferred for applications where low latency and real-time data transmission are more important, like VoIP (Voice over IP) and online gaming. A Remote Procedure Call (RPC) is a protocol that allows a program to request a service or function from another program located on a remote computer in a network. RPC is a communication mechanism used in distributed computing and is a way to make distributed and networked programming easier and more abstract for developers. It enables the developer to call functions or procedures on remote systems as if they were local, abstracting away the underlying network communication. Here are some key points about Remote Procedure Calls: 1. Client-Server Model: RPC follows a client-server model where one program, the client, sends a request to a remote program, the server, asking it to perform a specific operation. The client and server can be on different machines and even on different platforms. 2. Interface Definition: To use RPC, both the client and server must agree on the format of the data to be sent and received, which is defined in an Interface Definition Language (IDL). This ensures that both sides understand the data being exchanged. 3. Transparent Communication: One of the main advantages of RPC is its transparency. The developer calls a remote procedure in the same way they would call a local function, without needing to manage low-level network communication. 4. Synchronous and Asynchronous RPC: RPC can be synchronous or asynchronous. In synchronous RPC, the client waits for the server to complete the request before proceeding, while in asynchronous RPC, the client can continue its work without waiting for the server to complete the task. 5. Error Handling: RPC systems typically provide mechanisms for handling errors, including timeouts, retries, and error codes, to ensure robustness in the face of network issues or server failures. The Real-time Transport Protocol (RTP) is a network protocol designed for the transmission of real-time, multimedia data, such as audio and video, over IP networks. RTP is commonly used in applications and systems that require timely and synchronized delivery of multimedia content, including video conferencing, VoIP (Voice over IP), online gaming, and live video streaming. It works in conjunction with the Real-time Control Protocol (RTCP), which provides feedback and control functions for RTP streams. Key features and aspects of RTP include: 1. Real-Time Data: RTP is designed to transport time-sensitive data in a manner that minimizes delays and ensures the synchronization of audio and video streams. It is suitable for applications where low latency is essential. 2. Packetization: Multimedia data is divided into small data packets for transmission. Each packet contains a sequence number, timestamp, and payload data (audio or video). 3. Sequence Numbers: RTP uses sequence numbers to order packets at the receiver's end, helping ensure the proper sequencing of data. If packets are lost or arrive out of order, the sequence numbers help in reordering them. The TCP/IP reference model, also known as the Internet protocol suite, is a conceptual framework that standardizes the functions of a network protocol into a set of distinct layers. The model was developed to enable communication between different types of computer networks and systems. It serves as the basis for the design of the Internet and many other networks. The TCP/IP model consists of four main layers: 1. Application Layer: The Application Layer is the topmost layer and is responsible for providing network services directly to end-users or applications. It includes a wide range of protocols and services that facilitate communication between software applications on different devices. Common application layer protocols include HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), and DNS (Domain Name System). 2. Transport Layer: The Transport Layer is responsible for end-to-end communication and data transfer between devices. It ensures the reliable delivery of data, error detection and correction, and flow control. The Transport Layer includes two primary protocols: TCP (Transmission Control Protocol): Offers reliable, connection- oriented communication with error recovery and flow control. It is used for applications that require data integrity, such as web browsing and email. UDP (User Datagram Protocol): Provides a connectionless, low- latency, and lightweight transport service. It is used for applications like real-time multimedia streaming and online gaming. 3. Internet Layer: The Internet Layer is responsible for addressing, routing, and packet forwarding across multiple networks. It handles the logical addressing of devices and the selection of the best path for data packets to reach their destination. The primary Internet Layer protocol is IP (Internet Protocol), which assigns unique IP addresses to devices and routes data packets between them. 4. Link Layer: The Link Layer, also known as the Network Access Layer, is responsible for the physical and data-link-level aspects of network communication. It includes protocols for framing, addressing, and error detection at the physical layer. Various data link layer protocols are used, such as Ethernet, Wi-Fi (802.11), and PPP (Point-to-Point Protocol), depending on the network's medium and technology. The TCP/IP reference model is a simpler and more practical model than the OSI (Open Systems Interconnection) model and serves as the foundation for the Internet and modern networking. It provides a clear structure for designing and implementing networking protocols and technologies. The ISO/OSI reference model and the TCP/IP model are both conceptual frameworks that describe how network protocols work together to enable communication in computer networks. While they have similar goals, there are differences in their approaches and the number of layers they define. Here's a comparison of the ISO/OSI model and the TCP/IP model: Number of Layers: 1. ISO/OSI Model: The ISO/OSI model consists of seven distinct layers, each with specific functions and responsibilities. These layers are: 1. Physical Layer 2. Data Link Layer 3. Network Layer 4. Transport Layer 5. Session Layer 6. Presentation Layer 7. Application Layer 2. TCP/IP Model: The TCP/IP model has four layers, which are generally considered to be less granular compared to the ISO/OSI model. The layers are: 1. Application Layer 2. Transport Layer 3. Internet Layer 4. Link Layer (also known as Network Access Layer) Layer Equivalences: 1. ISO/OSI Model: The ISO/OSI model provides a more detailed separation of functions, with dedicated layers for presentation and session. These layers cover aspects like data formatting, encryption, and session management. 2. TCP/IP Model: The TCP/IP model combines some of the ISO/OSI layers into a single layer. The Application Layer of the TCP/IP model roughly corresponds to the top three layers of the ISO/OSI model (Application, Presentation, and Session). Additionally, the Internet Layer in the TCP/IP model roughly corresponds to the Network Layer in the ISO/OSI model. Adoption and Practicality: 1. ISO/OSI Model: The ISO/OSI model is a comprehensive and theoretical framework, but it has seen limited practical adoption. It is more commonly used for educational purposes and in specific industries (e.g., telecommunications) but is not the primary model for the internet. 2. TCP/IP Model: The TCP/IP model is the dominant and widely adopted model for the internet and modern networking. It offers a more practical and streamlined approach to networking. TCP/IP protocols are the foundation of the internet, making this model highly relevant. While both the ISO/OSI and TCP/IP models serve as useful frameworks for understanding network protocols and architecture, the TCP/IP model is more widely used in practice, particularly on the internet. It provides a simpler and more pragmatic approach to networking, with fewer layers and a focus on practical implementation. The ISO/OSI model, although comprehensive, is often used for educational purposes and in specific industries with unique networking requirements.