BROWSE ARTICLES BY TECHNOLOGY

DIGITAL EDITION

RTC Magazine Digital Edition

INDUSTRY NEWS

RECENT COMMENTS

  • Hi Juan, This article shows you how to implement a quadrature encoder interface on the FPGA using digital lines. It was written for our PCI or P...

    Meghan Meckstroth Kerry - See Article

  • Good coverage on the general advantages of COM, and X86 implementations. It would have been nice to ARM options for lower-power (handheld) applicat...

    Brian Empey, P.Eng. - See Article

  • Your article about Application Service Platforms in RTC April is another example of great reporting by RTC. Can we have a new RTC index category -...

    Kenneth G Blemel - See Article

  • Static analysis tools/scanners are a great arsenal for companies who require high quality code. It does a great job of finding a wide range of pro...

    Andrew Yang - See Article

  • I hope that the microcessor based Insulin Pump riding on my belt would be held to a higher standard. If it quits, I can work around that inconvenie...

    Karl Williamson - See Article

WHITEPAPERS

QUICK DOWNLOADS

RTEC10 is an index made up of 10 public companies which have revenue that is derived primarily from sales in the embedded sector. The companies are made up of both software and hardware companies being traded on public exchanges.

COMPANY PRICECHANGE
Kontron
7.81
4.577%
Adlink
1.54
2.388%
Advantech
2.32
1.505%
Interphase
1.61
-3.012%
Radisys
9.26
-1.016%
-   Performance Technologies2.100.000%
-   Enea5.630.000%
PLX
3.62
-3.209%
Mercury Computer
11.76
-2.931%
Elma
412.98
-0.476%
HIGH LOW MKT CAP
7.85
7.43
435.04
1.58
1.52
185.11
2.33
2.30
1,198.70
1.70
1.61
11.00
9.41
9.24
223.74
2.102.1023.34
5.635.54101.86
3.74
3.61
134.28
12.17
11.76
279.57
412.98
412.98
94.25
RTEC10 Index: 490.94 (1.11%)
RTEC10 is sponsored by VDC research

SOLUTIONS ENGINEERING

Network Processors

Beyond the Network Layer: NP-Based TCP Offloading via TCP Splicing

TCP performance of low-end devices in today’s networks continues to be limited mainly by memory and CPU speeds. A TCP offload mechanism is proposed that takes advantage of TCP splicing and implements the offloaded functions in a remote network processor.

SUREKHA PERI AND PRAVIN PATHAK, AGERE SYSTEMS

  • Page 1 of 3
    Bookmark and Share

The Transmission Control Protocol (TCP), a transport layer protocol, was originally designed for low-speed terrestrial links. However, with the proliferation of high-speed transmission mediums, as well as sophisticated access mechanisms, extensive computing power and memory are required for software-only TCP implementations.

In recent years, there has been an explosion in the speed of networks, CPUs and memories. Since the speed of Ethernet has increased much more rapidly than that of CPUs or memories, the performance of today’s networks continues to be limited mainly by memory and CPU speeds.

One method for overcoming these limitations and accelerating a TCP/IP connection is TCP offloading. TCP processing complexity is offloaded from the host CPU to specialized TCP accelerators. Usually, the accelerating TCP offload engine (TOE) is a dedicated subsystem co-located with the host CPU. However, an alternative, more scaleable approach to achieving the same end, which also works with legacy equipment, is to move the complicated TCP/IP processing to a network processor (NP). This is a special-purpose programmable hardware device, which is connected to the TCP server over a high-speed link.

The NP-based TOE combines the low cost and flexibility of a general-purpose processor with the speed and scalability of custom silicon solutions. Furthermore, the NP offloads both memory-intensive and CPU-intensive processing from the TCP server. In the NP-based TOE mechanism described here, TCP splicing is used to enhance TCP performance.

An Alternative TCP Offload Approach

For low-end enterprise products limited by cost and size, addressing the memory/CPU bottleneck by introducing a remotely located TOE on a central networking element is a scaleable and cost-effective solution. This is especially true when contrasted with the solution of increasing the capability of the host itself, such as via keyboard, video and mouse (KVM) switches.

In one sample deployment scenario (Figure 1), a remote keyboard, monitor and mouse control multiple, remotely managed servers connected to a KVM-over-IP switch. The mouse and keyboard events from remote controlling computers are transmitted over the Internet via the KVM switch to the server. Compressed monitor data is sent to the remote computer by the server via a KVM switch. The KVM switch offloads TCP processing to the NP-based TOE, simplifying KVM switch hardware.

TCP Offloading Using TCP Splicing

TCP offloading can be performed across two network entities, an enterprise TCP host and a remote NP. This is achieved by using a split TCP connection, also known as TCP splicing, a well-known technique for enhancing TCP performance. In TCP splicing, two independent TCP connections span a session: one from the client to the NP, and the second from the NP to the server.

Data from the server is locally acknowledged by the NP, thereby reducing server buffering requirements and speeding up congestion window growth (Figure 2). The NP buffers the data until the acknowledgment (ACK) from the far end (client) arrives. In the absence of an acknowledgment, the NP performs timer management to retransmit TCP segments toward the far end. The usage of local acknowledgments also shields the TCP server from any network congestion and excessive delays between the NP and the client. This reduces the memory burden at the server.

The NP also performs optional network address translation (NAT) for data from the server to the client involving checksum computations. Although this functionality is computationally intensive and heavily loads a general-purpose processor, an NP is well suited for such operations.

In contrast to traditional NP applications such as routing, the TCP offload application requires inter-packet dependency and connection-based state machines. Furthermore, this application deals with transport layer functionality, which is beyond traditional NP link- and network-layer processing.

There are two fundamental complexities in TCP processing. Buffer management consists of storing unacknowledged segments, out-of-order segments and stalled segments in congested networks. Timer management involves Retransmission Timeout (RTO) estimation and triggering retransmission of unacknowledged segments. Both of these are offloaded to the NP.

LEAVE A COMMENT