Stream Oriented
What is Stream-Oriented communication?
Stream-oriented communication refers to the continuous flow of data between two endpoints, where data is delivered as a steady, ordered stream rather than discrete packets.
Why is Stream-Oriented communication useful?
It allows applications to transmit large amounts of data seamlessly and ensures that data arrives in the correct order, which is essential for real-time and interactive applications.
How does Stream-Oriented communication work?
Protocols like TCP establish a connection that provides a reliable byte stream between sender and receiver, handling segmentation and reassembly transparently to the application.
Where is Stream-Oriented communication used?
It is used in applications such as web browsing (HTTP), file transfers (FTP), and remote login (SSH), where reliable ordered data delivery is critical.
Which OSI layer does Stream-Oriented communication belong to?
Stream-oriented communication is managed at the Transport Layer (Layer 4) of the OSI model.
Is Stream-Oriented communication Windows specific?
No, stream-oriented protocols like TCP are implemented across all major operating systems including Windows, Linux, and macOS.
Is Stream-Oriented communication Linux specific?
No, Linux supports stream-oriented protocols as part of its standard TCP/IP stack.
Which Transport Protocol uses Stream-Oriented communication?
The primary stream-oriented transport protocol is TCP (Transmission Control Protocol).
Is Stream-Oriented communication using client-server model?
Yes, stream-oriented communication is widely used in client-server models where a continuous and reliable data exchange is necessary.
In this section, you are going to learn
Terminology
Version Info
setup
Stream Oriented - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Continuous Data Flow |
Send continuous stream |
Data received in order |
2 |
Byte Order Preservation |
Check byte sequence |
Bytes received in same order |
3 |
No Message Boundaries |
Send multiple messages |
Messages merged as stream |
4 |
Fragmented Transmission |
Send data in fragments |
Reassembled correctly |
5 |
Large Stream |
Send large data stream |
Entire stream received |
6 |
Small Stream |
Send small data stream |
Data received correctly |
7 |
Stream with Delay |
Introduce delay in stream |
Stream resumes correctly |
8 |
Stream with Pause |
Pause and resume stream |
No data loss |
9 |
Stream with Retransmission |
Simulate packet loss |
Retransmission successful |
10 |
Stream with ACK |
Verify ACK for stream |
ACKs received correctly |
11 |
Stream with Windowing |
Use TCP windowing |
Flow controlled properly |
12 |
Stream with Congestion |
Simulate congestion |
Stream slows down |
13 |
Stream with Flow Control |
Receiver limits flow |
Sender adjusts rate |
14 |
Stream with Buffer Overflow |
Overflow receiver buffer |
Error or flow control triggered |
15 |
Stream with Buffer Underflow |
Receiver reads too fast |
Stream handled correctly |
16 |
Stream with Timeout |
Timeout during stream |
Retransmission triggered |
17 |
Stream with Keep-Alive |
Maintain idle stream |
Connection stays alive |
18 |
Stream with Termination |
Gracefully close stream |
FIN-ACK exchanged |
19 |
Stream with RST |
Abruptly close stream |
Connection reset |
20 |
Stream with Multiple Clients |
Multiple streams to server |
Streams handled independently |
21 |
Stream with Multiple Servers |
Client connects to multiple servers |
Streams managed separately |
22 |
Stream with Encryption |
Encrypt stream data |
Data decrypted correctly |
23 |
Stream with Compression |
Compress stream data |
Data decompressed correctly |
24 |
Stream with Authentication |
Authenticate before stream |
Stream starts after auth |
25 |
Stream with NAT |
Stream through NAT |
Data flows correctly |
26 |
Stream with Proxy |
Stream through proxy |
Proxy forwards stream correctly |
27 |
Stream with VPN |
Stream over VPN |
Secure stream maintained |
28 |
Stream with Packet Reordering |
Reorder packets |
Stream reassembled correctly |
29 |
Stream with Packet Duplication |
Duplicate packets |
Duplicates discarded |
30 |
Stream with Packet Loss |
Drop packets |
Retransmission successful |
31 |
Stream with Jitter |
Vary packet timing |
Stream integrity maintained |
32 |
Stream with Latency |
High latency environment |
Stream adapts |
33 |
Stream with Bandwidth Limit |
Limit bandwidth |
Stream throttled |
34 |
Stream with QoS |
Apply QoS rules |
Priority maintained |
35 |
Stream with Logging |
Log stream activity |
Logs generated |
36 |
Stream with Monitoring |
Monitor stream health |
Metrics collected |
37 |
Stream with Metrics |
Measure throughput |
Metrics accurate |
38 |
Stream with Alerts |
Alert on stream failure |
Alert triggered |
39 |
Stream with Recovery |
Recover from failure |
Stream resumes |
40 |
Stream with Retry |
Retry failed stream |
Retry successful |
41 |
Stream with Redundancy |
Use redundant paths |
Stream continues on backup |
42 |
Stream with Load Balancer |
Distribute stream load |
Balanced correctly |
43 |
Stream with Firewall |
Stream through firewall |
Allowed or blocked as configured |
44 |
Stream with IDS |
Intrusion detection on stream |
Malicious stream flagged |
45 |
Stream with Logging Disabled |
Disable logging |
No logs generated |
46 |
Stream with Session Expiry |
Expire session mid-stream |
Stream terminated |
47 |
Stream with Reconnection |
Reconnect after drop |
Stream resumes |
48 |
Stream with Data Integrity |
Verify checksum |
Data integrity confirmed |
49 |
Stream with Header Manipulation |
Modify TCP headers |
Stream still valid |
50 |
Stream with Port Change |
Change port mid-stream |
Connection reset or re-established |
Reference links