- 1Non Technical QuestionNon Techকোভিট -১৯ এর ক্ষতিকর প্রভাব মোকাবেলায় তথ্য প্রযুক্তির প্রয়োগ ও ভূমিকার উপর সংক্ষিপ্ত রচনা লিখুন।
Translate the following passage into English. করোনার টিকা বাজারে এলে দেশের সবার জন্য তা গ্রহণ করতে চায় সরকার। ধারণা করা হচ্ছে, সবার জন্য টিকা সংগ্রহে ১৭ হাজার কোটি টিকার প্রয়োজন হবে। এই অর্থ সংগ্রহে উন্নয়ন | সহযোগীদের সহায়তা চাওয়ার সিদ্ধান্ত নিয়েছে সরকার। ধারণা করা হচ্ছে জনপ্রতি দুই ডোজ টিকার প্রয়োজন হতে পারে। এর দাম পড়তে পারে ১০ থেকে ২০ ডলার বা কমবেশি এক হাজার। পরিসংখ্যান ব্যুরোর (বিবিএস) তথ্য অনুযায়ী দেশের জনসংখ্যা এখন ১৬ কোটি ৫০ লাখ। সে হিসেবে মোট ১৭ হাজার ২০০ কোটি টাকার প্রয়োজন হবে। স্বাস্থ্য | মন্ত্রনালয় থেকে প্রাথমিক এই হিসাব করা হয়েছে বলে ইআরডি সূত্র জানিয়েছে। এই | অর্থের চাহিদা মাথায় রেখেই উন্নয়ন সহযোগীদের সহায়তা চাওয়া হচ্ছে।
Translate the following passage into Bengali. Honoring three medical scientists with the Nobel Medicine Prize for their homing in on the Hepatitis C has been widely acclaimed as a landmark achievement on the part of the Nobel Assembly at Karolina Instituted. Awards like this will, undoubtedly, help the Nobel Committee regain a remarkable amount of its earlier prestige tainted by a couple of its decisions and internal scandals. The three Medicine award winners for this year are Americans Harvey Alter and Charles Rice along with Briton Michael Houghton. The world's medicinal research community has enough reasons to feel elated over the recognition extended to the trio. Their joint discovery had turned the page on protracted efforts to find a remedy to Hepatitis C. It is probably the deadliest of the blood-borne hepatitis after Hepatitis A and B.
Write a paragraph on"post-corona Green Recovery Plans and Progress in Bangladesh "in English.
- 2Software EngineeringTestingTesting is an activity that is performed to verify correct behavior of a program. Testing should be conducted in all the stages of program development. Describe different types of tests conducted in the implementation stage.
During the Implementation Stage of the Software Development Life Cycle (SDLC), different types of testing are performed to verify that the software functions correctly and meets the specified requirements.
1. Unit Testing
Unit Testing is performed to test individual modules, functions, or classes independently. It is usually conducted by developers to ensure that each unit works correctly.
2. Integration Testing
Integration Testing verifies that multiple modules work together correctly after integration. It checks the interfaces and data flow between modules.
3. System Testing
System Testing evaluates the complete integrated software system to ensure that it meets all functional and non-functional requirements.
4. Acceptance Testing
Acceptance Testing is performed by customers or end users to verify that the software satisfies business requirements and is ready for deployment. It includes User Acceptance Testing (UAT).
These testing types ensure that the software is reliable, error-free, and ready for deployment by identifying defects at different levels of the implementation stage.
Software Development Life Cycle (SDLC)-এর Implementation Stage-এ Software সঠিকভাবে কাজ করছে কিনা এবং নির্ধারিত Requirement পূরণ করছে কিনা তা নিশ্চিত করার জন্য বিভিন্ন ধরনের Testing করা হয়।
১. Unit Testing
Unit Testing-এ Software-এর প্রতিটি Module, Function বা Class আলাদাভাবে পরীক্ষা করা হয়। সাধারণত এটি Developer দ্বারা সম্পন্ন করা হয়।
২. Integration Testing
Integration Testing-এ একাধিক Module একত্রে যুক্ত করার পরে তাদের মধ্যে Interface এবং Data Flow সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করা হয়।
৩. System Testing
System Testing-এ সম্পূর্ণ Integrated Software System পরীক্ষা করা হয়, যাতে Functional এবং Non-Functional Requirement পূরণ হয়েছে কিনা নিশ্চিত করা যায়।
৪. Acceptance Testing
Acceptance Testing সাধারণত Customer বা End User দ্বারা পরিচালিত হয়, যাতে নিশ্চিত করা যায় যে Software ব্যবসায়িক Requirement পূরণ করছে এবং ব্যবহারের জন্য প্রস্তুত। এর মধ্যে User Acceptance Testing (UAT) অন্তর্ভুক্ত।
Unit Testing, Integration Testing, System Testing এবং Acceptance Testing Implementation Stage-এর গুরুত্বপূর্ণ ধাপ। এগুলোর মাধ্যমে বিভিন্ন স্তরে Defect শনাক্ত করা যায় এবং নির্ভরযোগ্য Software তৈরি নিশ্চিত করা হয়।
- 3Object Oriented ProgrammingInheritanceInheritance is one of important issues for any object oriented programming language. The main advantage of Inheritance is the ability to reuse the code.Explain in brief different types of Inheritance.
Inheritance is one of the fundamental concepts of Object-Oriented Programming (OOP). It allows a new class (Derived Class) to inherit the properties and methods of an existing class (Base Class). This promotes Code Reusability, reduces code duplication, and improves maintainability.
Types of Inheritance
1. Single Inheritance
A single Derived Class inherits from one Base Class.Example:
Animal → Dog2. Multiple Inheritance
A single Derived Class inherits from more than one Base Class. This type is supported in C++ but not directly in Java.Example:
Teacher + Researcher → Professor3. Multilevel Inheritance
A class inherits from another derived class, forming a chain of inheritance.Example:
Animal → Mammal → Dog4. Hierarchical Inheritance
Multiple Derived Classes inherit from a single Base Class.Example:
Animal → Dog, Cat, Cow5. Hybrid Inheritance
A combination of two or more inheritance types (such as Multiple and Multilevel Inheritance). It is commonly implemented using virtual inheritance in C++.Example:
Combination of Single + Multiple + Multilevel Inheritance.Inheritance improves Code Reusability, reduces redundancy, simplifies maintenance, and supports efficient software development by allowing classes to reuse existing features.
Object-Oriented Programming (OOP)-এ বিভিন্ন ধরনের Inheritance
উত্তর:
Inheritance হলো Object-Oriented Programming (OOP)-এর একটি মৌলিক বৈশিষ্ট্য। এর মাধ্যমে একটি Derived Class, একটি Base Class-এর Data Member এবং Member Function উত্তরাধিকারসূত্রে গ্রহণ করতে পারে। ফলে Code Reusability বৃদ্ধি পায়, Code Duplication কমে এবং Software Maintain করা সহজ হয়।
Inheritance-এর প্রকারভেদ
১. Single Inheritance
একটি Derived Class শুধুমাত্র একটি Base Class থেকে Inherit করে।উদাহরণ:
Animal → Dog২. Multiple Inheritance
একটি Derived Class একাধিক Base Class থেকে Inherit করে। এটি C++-এ সমর্থিত হলেও Java-তে সরাসরি সমর্থিত নয়।উদাহরণ:
Teacher + Researcher → Professor৩. Multilevel Inheritance
একটি Derived Class থেকে আবার আরেকটি Derived Class তৈরি হয়। অর্থাৎ Inheritance একাধিক স্তরে ঘটে।উদাহরণ:
Animal → Mammal → Dog৪. Hierarchical Inheritance
একটি Base Class থেকে একাধিক Derived Class তৈরি হয়।উদাহরণ:
Animal → Dog, Cat, Cow৫. Hybrid Inheritance
দুই বা ততোধিক ধরনের Inheritance একত্রে ব্যবহৃত হলে তাকে Hybrid Inheritance বলা হয়। C++-এ এটি সাধারণত Virtual Inheritance ব্যবহার করে বাস্তবায়ন করা হয়।উদাহরণ:
Single Inheritance + Multiple Inheritance + Multilevel Inheritance-এর সমন্বয়।Inheritance Code Reusability বৃদ্ধি করে, Code Duplication কমায়, Software Maintain করা সহজ করে এবং দক্ষ Software Development-এ গুরুত্বপূর্ণ ভূমিকা পালন করে।
- 4Data StructureQueueQueue is an abstract data structure. A queue is open at both its ends. One end is always used to insert data (enqueue) and the other is used to remove data (dequeue). Write the steps of Enqueue Operation of Queue.
Enqueue is the operation of inserting a new element into a Queue. Since a Queue follows the FIFO (First In, First Out) principle, a new element is always inserted at the Rear end of the Queue.
Steps of Enqueue Operation
Step 1: Check whether the Queue is full.
Step 2: If the Queue is full, display "Queue Overflow" and stop the operation.
Step 3: If the Queue is empty, set Front = Rear = 0.
Step 4: Otherwise, increment the Rear pointer by 1.
Step 5: Insert the new element at Queue[Rear].
Step 6: End the operation.Algorithm (Enqueue)
START
If Rear = MAX − 1
Print "Queue Overflow"
Else
If Front = -1
Front = Rear = 0
Else
Rear = Rear + 1
Queue[Rear] = Item
END
- 5Design Analysis of AlgorithmComplexityThere are no well-defined standards for writing algorithms.Efficiency of an algorithm depends on several factors. Similarly, complexity of an algorithm also depends on several factors. Describe the algorithm complexity factors.
Algorithm Complexity measures the amount of Time and Memory required by an algorithm to solve a problem. It helps compare different algorithms and select the most efficient one.
Factors Affecting Algorithm Complexity
1. Time Complexity
Time Complexity measures the amount of time an algorithm takes to execute as the input size increases. It is commonly expressed using Big-O Notation, such as O(1), O(log n), O(n), O(n log n), and O(n²).2. Space Complexity
Space Complexity measures the amount of memory required by an algorithm during execution. It includes memory used for variables, data structures, recursion, and temporary storage.3. Input Size (n)
The execution time and memory usage usually increase as the input size (n) becomes larger.4. Type of Operations
Algorithms performing complex operations such as nested loops, recursion, or repeated computations generally have higher complexity than algorithms using simple operations.5. Data Structure Used
The choice of data structure (such as Array, Linked List, Stack, or Hash Table) significantly affects the algorithm's performance.The efficiency of an algorithm mainly depends on its Time Complexity and Space Complexity. Selecting appropriate algorithms and data structures helps improve overall system performance.
Algorithm Complexity হলো কোনো Algorithm একটি Problem সমাধান করতে কত Time এবং Memory ব্যবহার করে তার পরিমাপ। এর মাধ্যমে বিভিন্ন Algorithm-এর Efficiency তুলনা করা যায় এবং সবচেয়ে উপযুক্ত Algorithm নির্বাচন করা যায়।
Algorithm Complexity-এর প্রধান Factors
১. Time Complexity
Time Complexity নির্দেশ করে Input Size বৃদ্ধি পেলে Algorithm সম্পন্ন হতে কত সময় লাগে। এটি সাধারণত Big-O Notation যেমন O(1), O(log n), O(n), O(n log n) এবং O(n²) দ্বারা প্রকাশ করা হয়।২. Space Complexity
Space Complexity নির্দেশ করে Algorithm Execute করার সময় কত পরিমাণ Memory প্রয়োজন হয়। এতে Variable, Data Structure, Recursion এবং Temporary Storage-এর Memory অন্তর্ভুক্ত থাকে।৩. Input Size (n)
সাধারণত Input Size (n) যত বড় হয়, Algorithm-এর Time এবং Memory-এর প্রয়োজন তত বৃদ্ধি পায়।৪. Operation-এর ধরন
Nested Loop, Recursion বা বারবার Computation করা Algorithm-এর Complexity সাধারণত বেশি হয়।৫. ব্যবহৃত Data Structure
Array, Linked List, Stack, Queue, Tree বা Hash Table-এর মতো উপযুক্ত Data Structure নির্বাচন করলে Algorithm-এর Performance উন্নত হয়।কোনো Algorithm-এর Efficiency প্রধানত Time Complexity এবং Space Complexity-এর উপর নির্ভর করে। সঠিক Algorithm এবং Data Structure নির্বাচন করলে Software-এর Performance উল্লেখযোগ্যভাবে উন্নত হয়।
- 6Structure Query LanguageA transaction consists of a sequence of query and/or update statements. SQL statement must be required to end the transaction. List the SQL statements, required to end the transaction and also write their functions.
A Transaction is a sequence of one or more SQL statements executed as a single logical unit of work. A transaction must be terminated using SQL transaction control statements.
SQL Statements to End a Transaction
SQL Statement Function COMMIT Permanently saves all changes made during the current transaction to the database. ROLLBACK Undoes all changes made during the current transaction since the last COMMIT or SAVEPOINT. SAVEPOINT Creates a checkpoint within a transaction so that the transaction can be rolled back to that point if needed. ROLLBACK TO SAVEPOINT Restores the transaction to a previously created SAVEPOINT without cancelling the entire transaction. COMMIT saves the transaction permanently, ROLLBACK cancels the transaction, and SAVEPOINT allows partial rollback within a transaction.
- 7Programming ConceptAn employee's total weekly pay is calculated by multiplying the hourly wage and number of regular hours plus any overtime pay which in turn is calculated as total overtime hours multiplied by 1.5 times the hourly wage. Write a program that takes as inputs the hourly wage. Total regular hours,and total overtime hours and prints an employee's total weekly pay.
#include <iostream> using namespace std; int main() { float hourlyWage, regularHours, overtimeHours; float overtimePay, totalPay; cout << "Enter Hourly Wage: "; cin >> hourlyWage; cout << "Enter Regular Hours: "; cin >> regularHours; cout << "Enter Overtime Hours: "; cin >> overtimeHours; overtimePay = overtimeHours * 1.5 * hourlyWage; totalPay = (regularHours * hourlyWage) + overtimePay; cout << "Total Weekly Pay = " << totalPay; return 0; }Example
Hourly Wage = 200
Regular Hours = 40
Overtime Hours = 10
Total Weekly Pay = (40 × 200) + (10 × 1.5 × 200) = 8000 + 3000 = 11000
- 8MiscellaneousMake a list of banking software used in Bangladesh. List the essential features for successful Banking Software and Apps.
Common Banking Software Used in Bangladesh
• Temenos T24 (Transact)
• Oracle FLEXCUBE
• Finacle (Infosys)
• Flora Banking Solution
• PC Bank 2000
• Bank Ultimus
• CBS (Core Banking System)
• Ababil Banking SolutionEssential Features of Banking Software and Apps
• Secure User Authentication (Password, OTP, MFA)
• Core Banking Services (Deposit, Withdrawal, Transfer)
• Real-Time Transaction Processing
• Internet and Mobile Banking Support
• Fund Transfer (BEFTN, RTGS, NPSB, Binimoy)
• Account Balance and Transaction History
• Bill Payment and Mobile Recharge
• Loan and Deposit Management
• Customer Management (KYC)
• Data Encryption and Backup
• Audit Log and Transaction Tracking
• High Availability and Disaster Recovery - 9MiscellaneousRFID has huge applications in business, especially in supply chain management and toll collection system. Show the basic working principle of RFID in brief.
RFID (Radio Frequency Identification) is a wireless technology that uses Radio Waves to identify and track objects, people, or animals automatically without physical contact. It is widely used in Supply Chain Management, Toll Collection, Inventory Management, and Access Control.
Main Components of RFID
1. RFID Tag: Attached to an object and stores a unique identification number (ID).
2. RFID Reader: Sends and receives radio signals to communicate with the RFID Tag.
3. Antenna: Transmits and receives radio waves between the Reader and the Tag.
4. Computer/Database: Receives the data from the Reader and processes or stores the information.Working Principle of RFID
Step 1: The RFID Reader transmits Radio Waves through its Antenna.
Step 2: When an RFID Tag comes within the Reader's range, it receives the radio signal.
Step 3: The RFID Tag sends its stored ID back to the Reader.
Step 4: The RFID Reader forwards the received data to the Computer/Database.
Step 5: The system verifies, processes, and stores the information for further use.Applications
• Supply Chain Management
• Toll Collection System
• Inventory Management
• Access Control
• Asset TrackingRFID (Radio Frequency Identification) হলো একটি Wireless Technology, যা Radio Wave ব্যবহার করে কোনো বস্তু, ব্যক্তি বা প্রাণীকে Contact ছাড়াই স্বয়ংক্রিয়ভাবে শনাক্ত (Identify) ও Track করে। এটি Supply Chain Management, Toll Collection System, Inventory Management এবং Access Control-এ ব্যাপকভাবে ব্যবহৃত হয়।
RFID-এর প্রধান উপাদান
১. RFID Tag: এটি কোনো বস্তুর সাথে সংযুক্ত থাকে এবং একটি Unique ID সংরক্ষণ করে।
২. RFID Reader: Radio Signal পাঠায় এবং RFID Tag থেকে তথ্য গ্রহণ করে।
৩. Antenna: Reader এবং Tag-এর মধ্যে Radio Wave আদান-প্রদান করে।
৪. Computer/Database: Reader থেকে প্রাপ্ত Data Process ও সংরক্ষণ করে।RFID-এর কার্যপ্রণালী
ধাপ ১: RFID Reader তার Antenna ব্যবহার করে Radio Wave প্রেরণ করে।
ধাপ ২: RFID Tag Reader-এর Range-এর মধ্যে এলে সেই Signal গ্রহণ করে।
ধাপ ৩: RFID Tag তার সংরক্ষিত ID Reader-এর কাছে পাঠিয়ে দেয়।
ধাপ ৪: RFID Reader প্রাপ্ত তথ্য Computer/Database-এ পাঠায়।
ধাপ ৫: Computer System তথ্য যাচাই (Verify), Process এবং সংরক্ষণ করে।ব্যবহার
• Supply Chain Management
• Toll Collection System
• Inventory Management
• Access Control
• Asset Tracking - 10Computer NetworkMake a list of LTE Network elements.
LTE (Long Term Evolution) is a 4G wireless communication technology. An LTE network consists of several network elements that work together to provide high-speed voice and data communication.
List of LTE Network Elements
Network Element Function UE (User Equipment) The user's mobile device (smartphone, tablet, modem) used to access the LTE network. eNodeB (Evolved Node B) The LTE base station that provides radio communication between the UE and the core network. MME (Mobility Management Entity) Handles user authentication, mobility management, and session management. S-GW (Serving Gateway) Routes user data packets between the eNodeB and the core network. P-GW (Packet Data Network Gateway) Connects the LTE network to external IP networks such as the Internet. HSS (Home Subscriber Server) Stores subscriber information, authentication data, and user profiles. PCRF (Policy and Charging Rules Function) Manages Quality of Service (QoS) and charging policies. The main LTE network elements are UE, eNodeB, MME, S-GW, P-GW, HSS, and PCRF. Together, they provide reliable, secure, and high-speed mobile communication.
LTE (Long Term Evolution) হলো একটি 4G Wireless Communication Technology। একটি LTE Network একাধিক Network Element নিয়ে গঠিত, যা একসাথে কাজ করে উচ্চগতির (High-Speed) Voice এবং Data Communication নিশ্চিত করে।
LTE Network-এর প্রধান Network Element
Network Element কাজ UE (User Equipment) ব্যবহারকারীর Mobile Device (Smartphone, Tablet, Modem), যা LTE Network ব্যবহার করে। eNodeB (Evolved Node B) LTE-এর Base Station, যা UE এবং Core Network-এর মধ্যে Radio Communication প্রদান করে। MME (Mobility Management Entity) User Authentication, Mobility Management এবং Session Management পরিচালনা করে। S-GW (Serving Gateway) eNodeB এবং Core Network-এর মধ্যে User Data Packet Forward করে। P-GW (Packet Data Network Gateway) LTE Network-কে Internet-এর মতো External IP Network-এর সাথে সংযুক্ত করে। HSS (Home Subscriber Server) Subscriber Information, Authentication Data এবং User Profile সংরক্ষণ করে। PCRF (Policy and Charging Rules Function) Quality of Service (QoS) এবং Charging Policy নিয়ন্ত্রণ করে। LTE Network-এর প্রধান Network Element হলো UE, eNodeB, MME, S-GW, P-GW, HSS এবং PCRF। এরা সম্মিলিতভাবে দ্রুত, নিরাপদ এবং নির্ভরযোগ্য Mobile Communication নিশ্চিত করে।
- 11Database Management SystemMain components of SQL are DDL (Data definition Language), DML (Data Manipulation Language) and DCL (Data Control Language). Give some examples of DDL, DML and DCL commands.
SQL (Structured Query Language) is used to create, manage, manipulate, and control databases. Its main components are DDL (Data Definition Language), DML (Data Manipulation Language), and DCL (Data Control Language).
1. DDL (Data Definition Language)
DDL commands are used to create and modify the structure of database objects such as tables, views, and indexes.
Command Function CREATE Creates a new database object such as a table or database. ALTER Modifies the structure of an existing table. DROP Deletes a table or other database object permanently. TRUNCATE Removes all records from a table but keeps the table structure. RENAME Changes the name of a database object. 2. DML (Data Manipulation Language)
DML commands are used to insert, retrieve, update, and delete data stored in database tables.
Command Function INSERT Adds new records into a table. SELECT Retrieves data from a table. UPDATE Modifies existing records. DELETE Removes records from a table. 3. DCL (Data Control Language)
DCL commands are used to control user access and permissions in a database.
Command Function GRANT Gives privileges to users. REVOKE Removes privileges from users.
- 12Programming ConceptRecursionUsually, recursion involves a function Write a recursive algorithm to find the factorial of a number.
Recursion is a programming technique in which a Function calls itself repeatedly until a Base Case is reached. It is commonly used to solve problems that can be divided into smaller subproblems.
Recursive Algorithm
Algorithm Factorial(n)
BEGIN
If n = 0 or n = 1 Then
Return 1
Else
Return n × Factorial(n − 1)
ENDExample
Input: n = 5
Factorial(5)
= 5 × Factorial(4)
= 5 × 4 × Factorial(3)
= 5 × 4 × 3 × Factorial(2)
= 5 × 4 × 3 × 2 × Factorial(1)
= 5 × 4 × 3 × 2 × 1
= 120
- 13Operating SystemSchedulingOperating System (OS) scheduling is the key concept of multiprogramming. List and briefly define the major types of OS scheduling.
Major Types of Operating System (OS) Scheduling
Answer:
OS Scheduling is the process of selecting which process will execute on the CPU. It is a key concept of Multiprogramming because it improves CPU utilization and system performance.
Major Types of OS Scheduling
Scheduling Type Definition Long-Term Scheduler (Job Scheduler) Selects jobs from secondary storage and loads them into main memory for execution. Short-Term Scheduler (CPU Scheduler) Selects a process from the ready queue and allocates the CPU to it. Medium-Term Scheduler Temporarily removes (swaps out) processes from memory and later brings them back to improve system performance. The Long-Term Scheduler controls the degree of multiprogramming, the Short-Term Scheduler allocates the CPU, and the Medium-Term Scheduler manages memory efficiently through swapping.
- 14Digital Logic DesignNumber SystemThere are different number systems.
(i) Convert (10010.101)2=(?)10 (ii) Convert (543)10 =(?)16(i) Convert (10010.101)2 to Decimal
Binary Number = (10010.101)2
Integer Part:
= (1 × 24) + (0 × 23) + (0 × 22) + (1 × 21) + (0 × 20)
= 16 + 0 + 0 + 2 + 0
= 18Fractional Part:
= (1 × 2-1) + (0 × 2-2) + (1 × 2-3)
= 0.5 + 0 + 0.125
= 0.625Therefore,
(10010.101)2 = (18.625)10(ii) Convert (543)10 to Hexadecimal
Successive Division by 16:
Division Quotient Remainder 543 ÷ 16 33 15 (F) 33 ÷ 16 2 1 2 ÷ 16 0 2 Read the remainders from bottom to top:
(543)10 = (21F)16
- 15Design Analysis of AlgorithmSorting AlgorithmInsertion sort is a simple sorting algorithm. Write a program to sort some given numbers using insertion sort algorithm.
Insertion Sort is a simple sorting algorithm that builds the sorted array one element at a time. It repeatedly takes an element and inserts it into its correct position in the already sorted portion of the array.
#include <iostream> using namespace std; int main() { int n, i, j, key; cout << "Enter number of elements: "; cin >> n; int a[n]; cout << "Enter elements: "; for(i = 0; i < n; i++) cin >> a[i]; for(i = 1; i < n; i++) { key = a[i]; j = i - 1; while(j >= 0 && a[j] > key) { a[j + 1] = a[j]; j--; } a[j + 1] = key; } cout << "Sorted Array: "; for(i = 0; i < n; i++) cout << a[i] << " "; return 0; }Example
Input: 5 4 2 7 1 3
Output: 1 2 3 4 7
- 16Computer NetworkOSI/TCP-IPThe primary function of the Transmission control Protocol (TCP) is to turn an unreliable network into a reliable network that is free from lost and duplicate packets. What are the functions performed by TCP to make a network more reliable?
Transmission Control Protocol (TCP) is a connection-oriented Transport Layer protocol that provides reliable, ordered, and error-free data transmission between devices over an unreliable network such as the Internet.
Functions of TCP
1. Connection Establishment
TCP establishes a reliable connection between the sender and receiver using the Three-Way Handshake before transmitting data.2. Reliable Data Delivery
TCP uses Sequence Numbers and Acknowledgments (ACK) to ensure that all packets are delivered correctly.3. Error Detection and Recovery
TCP uses a Checksum to detect transmission errors. If an error or packet loss occurs, the lost packet is retransmitted.4. Flow Control
TCP uses the Sliding Window mechanism to control the amount of data sent, preventing the receiver from being overwhelmed.5. Congestion Control
TCP controls network congestion using techniques such as Slow Start, Congestion Avoidance, and Fast Recovery.6. Ordered Data Delivery
TCP ensures that data is delivered to the application in the same order in which it was sent.7. Duplicate Packet Elimination
TCP identifies and discards duplicate packets using Sequence Numbers.8. Connection Termination
After communication is complete, TCP gracefully closes the connection using the FIN/ACK process
