Loading learning content...
When you make a phone call, the telephone network doesn't just send your voice as independent packets hoping they arrive. Instead, a connection is established first—a path through the network is set up, switches are configured, and resources are reserved. Only then does conversation begin, with every sound byte traveling the same predetermined path in order.
This is connection-oriented service: before any data flows, both endpoints agree to communicate, a path is established through the network, and possibly resources are reserved along that path. The network maintains state about the connection, ensuring all data follows the established route.
While the Internet's IP layer is famously connectionless, connection-oriented service has played—and continues to play—crucial roles in networking. Understanding this paradigm is essential for comprehending technologies like ATM, MPLS, traditional telephony, and why certain applications require connection-like guarantees.
By the end of this page, you will understand connection-oriented service in depth—the three phases of connection lifecycle (establishment, data transfer, termination), virtual circuit technologies, label switching mechanisms, the tradeoffs between connection-oriented and connectionless approaches, and when each model is appropriate.
Connection-oriented service requires that communicating parties establish an explicit contract (connection) before data transfer begins. The network creates a logical path, and all data belonging to that connection follows the same path.
The Core Definition:
A connection-oriented network service operates through three distinct phases:
Connection Establishment — A signaling process sets up the path through the network. Intermediate switches/routers are configured with forwarding information for this specific connection.
Data Transfer — Data flows along the established path. All packets follow the same route in sequence.
Connection Termination — When communication ends, a teardown process releases resources and removes connection state from network devices.
Key Characteristics:
Early telephone networks used physical circuit switching—electrical paths were literally connected. Modern connection-oriented networks use 'virtual circuits'—the path is logical, with packets sharing physical links but maintaining separate connection state. The circuit is 'virtual' because no dedicated physical wire exists; it's a software abstraction.
A virtual circuit (VC) is the fundamental abstraction of connection-oriented networking. It represents a logical path through the network that behaves like a dedicated connection.
How Virtual Circuits Work:
1. Connection Request: The source sends a setup message containing the destination address. This message travels through the network, with each switch:
2. Connection Confirmation: When the setup reaches the destination, a confirmation travels back, finalizing the path. Now all switches along the route have forwarding entries for this VC.
3. Data Transfer: Packets carry only the VCI (not full addresses). Each switch:
4. Teardown: When communication ends, teardown messages traverse the path, and switches delete their VC entries.
Virtual Circuit Identifier (VCI):
The VCI is a local label significant only on a single link. As a packet traverses the network, its VCI changes at each switch—this is called label swapping. The same VC might use VCI 5 on one link and VCI 847 on the next.
Why local labels?
| Incoming Port | Incoming VCI | Outgoing Port | Outgoing VCI |
|---|---|---|---|
| Port 0 | 12 | Port 2 | 41 |
| Port 0 | 25 | Port 1 | 18 |
| Port 1 | 33 | Port 2 | 55 |
| Port 2 | 87 | Port 0 | 12 |
Virtual circuits come in two primary forms, each suited to different usage patterns.
Switched Virtual Circuits (SVCs):
SVCs are dynamically established on demand, like phone calls. When communication is needed, the source initiates connection setup. When finished, the connection is torn down.
Characteristics:
Permanent Virtual Circuits (PVCs):
PVCs are pre-configured connections that remain established indefinitely. They're set up administratively (not by signaling) and stay active continuously.
Characteristics:
Some networks use 'Soft PVCs'—connections that are administratively defined but automatically re-established if they fail. This combines PVC simplicity with some SVC resilience. Modern MPLS networks often use this approach for important traffic classes.
Several major networking technologies employ connection-oriented service principles. Understanding these examples illustrates where and why this model is used.
ATM (Asynchronous Transfer Mode):
ATM was a comprehensive connection-oriented technology designed in the 1990s to unify voice, video, and data networking.
Key Features:
ATM saw widespread deployment in carrier networks but lost to IP-based solutions for end-to-end communication due to complexity and overhead.
MPLS (Multiprotocol Label Switching):
MPLS takes the best of both worlds—connectionless IP for universal addressing with label-switching for efficient forwarding and traffic engineering.
Key Features:
MPLS is sometimes called 'Layer 2.5' because it operates between traditional Layer 2 and Layer 3.
MPLS Label Stack Entry (32 bits):+---------------+---+---+--------+| Label |TC |S | TTL |+---------------+---+---+--------+| 20 bits |3b |1b | 8 bits | Label: Virtual circuit identifier (0-1,048,575)TC: Traffic Class (QoS marking)S: Bottom of Stack flag (1 = last label)TTL: Time To Live (prevents loops) MPLS Packet Structure:+==============+==============+==============+| Layer 2 Hdr | MPLS Labels | IP Packet || (Ethernet) | (1 or more) | (original) |+==============+==============+==============+Frame Relay:
Frame Relay was a connection-oriented WAN technology popular in the 1990s and 2000s.
Key Features:
Traditional Telephony (PSTN):
The Public Switched Telephone Network exemplifies connection-oriented design:
The connection establishment phase is critical—it's where paths are computed, resources are reserved, and state is installed in network devices.
Signaling Protocols:
Connection-oriented networks require signaling protocols to establish and tear down connections. These operate on a control plane separate from the data plane.
Example Signaling Flow (Generic Virtual Circuit):
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
// Connection Establishment - Source Initiationfunction establish_virtual_circuit(destination, qos_requirements): // Step 1: Source creates SETUP message setup_msg = create_setup_message( source_address = my_address, destination_address = destination, requested_qos = qos_requirements, call_reference = generate_unique_id() ) // Step 2: Send to first switch next_hop = routing_table.lookup(destination) send(setup_msg, next_hop) // Step 3: Wait for response response = wait_for_response(timeout = 30 seconds) if response.type == CONNECT: // Connection established - extract assigned VCI my_vci = response.vci connection_state = ESTABLISHED return Connection(vci = my_vci, destination = destination) else if response.type == RELEASE_COMPLETE: // Connection rejected error_cause = response.cause raise ConnectionRefused(error_cause) // At Each Intermediate Switchfunction process_setup_message(setup_msg, incoming_port): destination = setup_msg.destination_address qos = setup_msg.requested_qos // Check if we can meet QoS requirements if not can_satisfy_qos(qos): send_release(incoming_port, cause="Insufficient resources") return // Allocate local resources incoming_vci = allocate_vci(incoming_port) outgoing_port = routing_table.lookup(destination) outgoing_vci = allocate_vci(outgoing_port) // Install forwarding table entry forwarding_table.add_entry( incoming_port, incoming_vci, outgoing_port, outgoing_vci ) // Reserve QoS resources reserve_bandwidth(outgoing_port, qos.bandwidth) allocate_buffers(qos.buffer_requirement) // Forward setup toward destination setup_msg.vci = outgoing_vci send(setup_msg, outgoing_port)Resource Reservation:
One key advantage of connection-oriented service is the ability to reserve resources during connection setup.
What Can Be Reserved:
Call Admission Control (CAC):
When a new connection request arrives, switches perform Call Admission Control:
This ensures that accepted connections can meet their performance guarantees.
Connection establishment takes time—signaling messages must traverse the network, and each switch must process them. This 'call setup delay' might be 100ms-1s depending on path length. For long-lived connections (hours-long calls), this is negligible. For short transactions (web page fetch), it can be problematic.
Connection-oriented service provides capabilities that are difficult or impossible to achieve with connectionless approaches.
Connection-oriented service excels for: (1) Real-time applications requiring guaranteed performance (voice, video, industrial control), (2) Premium services where SLAs must be mathematically guaranteed, (3) Carrier networks requiring traffic engineering, (4) Long-duration communications where setup overhead is amortized.
Despite its advantages, connection-oriented service has significant drawbacks that explain why it didn't become the universal network layer model.
The Internet's designers explicitly rejected connection-oriented networking because it requires homogeneous networks (all switches must support the same signaling), limits resilience (path failures break connections), and scales poorly with billions of simultaneous communications. The stateless datagram model proved more suitable for a heterogeneous, resilient, global network.
Connection-oriented service represents an alternative philosophy to connectionless datagram networks. Let's consolidate the essential concepts:
What's Next:
With both connectionless and connection-oriented service models understood, we'll examine what the network layer actually guarantees: best-effort delivery. Understanding best-effort service—what it means, what it provides, and what it explicitly doesn't—is essential for building reliable systems on unreliable foundations.
You now understand connection-oriented service at the network layer. You can explain virtual circuits, signaling, label switching, and articulate when connection-oriented approaches are appropriate versus connectionless alternatives. This knowledge is crucial for understanding MPLS, carrier networks, and QoS architectures.