Connection-Oriented
What is Connection-oriented communication?
A connection-oriented protocol like TCP ensures a reliable communication path is established between two devices before transmitting data. It maintains the connection throughout the session.
Why is Connection-oriented communication useful?
Connection-oriented communication is useful because it guarantees that data is delivered accurately, in order, and without duplication. This is essential for services like web browsing, file transfers, and email.
How does Connection-oriented communication work?
A connection-oriented protocol like TCP starts with a three-way handshake to establish a connection. Data is then exchanged reliably using acknowledgments and retransmissions. Once the session is over, the connection is properly closed.
Where is Connection-oriented communication used?
Connection-oriented communication is used in applications where reliability matters — such as web servers (HTTP/HTTPS), file transfers (FTP), emails (SMTP, IMAP), and remote logins (SSH).
Which OSI layer does Connection-oriented communication belong to?
Connection-oriented protocols like TCP operate at the Transport Layer (Layer 4) of the OSI model.
Is Connection-oriented communication Windows specific?
No, connection-oriented communication is not specific to Windows. TCP is implemented on all major platforms including Linux, macOS, and embedded systems.
Is Connection-oriented communication Linux specific?
No, TCP (as a connection-oriented protocol) is supported universally across all operating systems and is a core part of the internet protocol suite.
Which Transport Protocol is used by Connection-oriented communication?
The primary transport protocol used for connection-oriented communication is TCP (Transmission Control Protocol).
Is Connection-oriented communication using client-server model?
Yes, connection-oriented protocols are commonly used in client-server models. A client initiates the connection, and the server manages and responds reliably throughout the session.
In this section, you are going to learn
Terminology
Version Info
setup
Connection Oriented - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
TCP 3-Way Handshake |
Initiate connection |
SYN, SYN-ACK, ACK exchanged |
2 |
TCP Connection Establishment |
Client connects to server |
Connection established |
3 |
TCP Connection Termination |
Close connection |
FIN, ACK exchanged |
4 |
TCP Connection Reset |
Send RST |
Connection reset immediately |
5 |
Duplicate SYN Handling |
Send duplicate SYN |
Handshake continues correctly |
6 |
Delayed ACK Handling |
Delay ACK response |
Connection remains stable |
7 |
Retransmission on Timeout |
Drop ACK |
Packet retransmitted |
8 |
Sequence Number Validation |
Check sequence numbers |
Numbers increment correctly |
9 |
Acknowledgment Number Validation |
Check ACK numbers |
ACKs match expected values |
10 |
Window Size Negotiation |
Exchange window size |
Flow control established |
11 |
Congestion Control Start |
Start slow start |
Congestion window increases exponentially |
12 |
Congestion Avoidance |
Enter avoidance phase |
Window increases linearly |
13 |
Fast Retransmit |
Trigger triple duplicate ACKs |
Packet retransmitted |
14 |
Fast Recovery |
Recover after fast retransmit |
Congestion window adjusted |
15 |
TCP Keepalive |
Enable keepalive |
Idle connection maintained |
16 |
TCP Timeout |
Idle beyond timeout |
Connection closed |
17 |
Half-Open Connection |
Client closes, server doesnt |
Server detects and closes |
18 |
Simultaneous Open |
Both sides send SYN |
Connection established |
19 |
Simultaneous Close |
Both sides send FIN |
Connection closed cleanly |
20 |
TCP Port Unreachable |
Connect to closed port |
RST received |
21 |
TCP with NAT |
Use NAT device |
Connection maintained |
22 |
TCP with Firewall |
Block port |
Connection fails |
23 |
TCP with VPN |
Use VPN tunnel |
Connection established |
24 |
TCP with Packet Loss |
Drop packets |
Retransmission occurs |
25 |
TCP with Packet Reordering |
Reorder packets |
Data reassembled correctly |
26 |
TCP with Duplicate Packets |
Send duplicates |
Duplicates discarded |
27 |
TCP with Fragmentation |
Send large data |
Data reassembled correctly |
28 |
TCP with MSS Negotiation |
Negotiate MSS |
Data sent within limits |
29 |
TCP with Window Scaling |
Enable scaling |
Large window supported |
30 |
TCP with Selective ACK |
Enable SACK |
Only missing segments retransmitted |
31 |
TCP with Timestamps |
Enable timestamps |
RTT measured accurately |
32 |
TCP with Delayed ACK |
Enable delayed ACK |
ACKs sent after delay |
33 |
TCP with Nagles Algorithm |
Enable Nagle |
Small packets coalesced |
34 |
TCP with Push Flag |
Set PSH flag |
Data pushed immediately |
35 |
TCP with Urgent Pointer |
Use URG flag |
Urgent data processed |
36 |
TCP with Zero Window |
Set window to 0 |
Sender pauses transmission |
37 |
TCP Window Update |
Increase window size |
Sender resumes transmission |
38 |
TCP with High Latency |
Simulate delay |
Connection remains stable |
39 |
TCP with High Bandwidth |
Send large data |
Connection handles throughput |
40 |
TCP with Multiple Streams |
Open multiple connections |
All connections maintained |
41 |
TCP with TLS |
Wrap in TLS |
Secure connection established |
42 |
TCP with IPv6 |
Use IPv6 |
Connection established |
43 |
TCP with IPv4 |
Use IPv4 |
Connection established |
44 |
TCP with SYN Flood |
Send many SYNs |
Server handles or drops |
45 |
TCP with FIN Flood |
Send many FINs |
Server handles or drops |
46 |
TCP with RST Flood |
Send many RSTs |
Server handles or drops |
47 |
TCP with Checksum Error |
Corrupt checksum |
Packet discarded |
48 |
TCP with Invalid Flags |
Send invalid flags |
Packet dropped or ignored |
49 |
TCP with Connection Migration |
Change IP mid-session |
Connection fails (TCP not mobile) |
50 |
TCP with Application Layer |
Use HTTP over TCP |
Data transmitted reliably |
Reference links