Protocol · Engineering · Laboratory
 University of Delaware

(back) Armando, Randall, Jana, (front) Paul, Ertugrul, Nasif, Preethi
Paul D. Amer
Current Students
Jonathan Leighton
Fan Yang
Past Students

Nasif Ekiz (PhD 2012) Transport layer reneging (F5 Networks, Seattle)

Preethi Natarajan (PhD 2009) Leveraging transport services for improved application performance (Cisco, San Jose)

Joseph Szymanski (MS 2008) (Cisco, Boston)

Janardhan Iyengar (PhD 2006) End-to-end concurrent multipath transfer using transport layer multihoming (Franklin & Marshall College, PA)

Ryan Bickhart (MS 2005) Transparent TCP-to-SCTP translation shim layer (Cisco, San Diego)

Armando Caro, Jr. (PhD 2005) End-to-end fault tolerance using transport layer multihoming (BBN, MA)

Phillip Conrad (PhD 2000) Partial order/reliability transport for multimedia applications (UC Santa Barbara (1/08))

Sami Iren (PhD 1999) Network-conscious image compression (Seagate Research, PA)

Mariusz Fecko (PhD 1999) Timing and control issues in conformance testing of protocols (Telcordia, NJ)

Rahmi Marasli (PhD 1997) Performance analysis of partial-order reliable transport (Google, Pittsburgh, PA)

Woojik Chun (PhD 1992) Test generation for protocols specified in Estelle (Chungnam National U., S. Korea)

Samuel Chamberlain (PhD 1991) Estelle enhancements for specifying distributed systems (Army Research Lab, MD (retired))

Darren New (PhD 1991) Protocol visualization in Estelle (CircleZebra Corp, CA)

Lillian 'Boots' Cassel (PhD 1987) LAN Internet measurement (Villanova U., PA)

The  Protocol Engineering Laboratory (PEL) directed by Professor Paul Amer at the University of Delaware is dedicated to the research, development, and improvement of new and existing computer network protocols. PEL researchers are investigating innovative transport protocol alternatives to TCP and UDP (such as SCTP) emphasizing these alternatives within army networks to provide efficient communications under mobile, ad-hoc network conditions.

Present/Past Sponsors
  • Google, Inc
  • ARL - CTA - Collaborative Tech Alliance in Communications and Networking - a consortium of 17 academic and industrial research partners.  
  • CISCO Systems, Inc 
  • ARL - ATIRP- Fed Research Lab in Telecommunications/Info Dist'n 
  • Delmarva Power 
  • US Army Research Office 
  • US Army CECOM 
  • National Science Foundation (NCR-9314056)
Current Research
Innovative Transport Layer Protocols
The ongoing development of alternative transport protocols (e.g., SCTP) which provide several benefits over traditional transport protocols such as TCP and UDP, especially in supporting army and/or multimedia applications.  Current focus is on transport layer multihoming and multistreaming. [Read More]
ADARA Networks Contract
OpenFlow is a recently developed open standard for configuring and controlling networking switches. Major switch vendors are now adding OpenFlow support to their product lines. OpenFlow is suitable for switches that need to run at line-rate with high port densities, such as in University environments. Openflow is ideally suited for researchers that need to run experiments in production environments. OpenVSwitch is open source code that provides switching capability to devices running the Linux operating system, and it supports the OpenFlow standard. Sponsored by ADARA Networks, Professor Amer and his students are enhancing OpenVSwitch's performance by providing wildcard matching in the Linux kernel.
Past Research
Estelle: Formal Protocol Specification and Testing
Estelle is a standard formal description technique (ISO9074) created within the International Organization for Standardization (ISO) Open Systems Interconnection (OSI) project, used for the formal specification of communications protocols. [Read More]
Tbit tests for ACM CCR "Misbehaviors in TCP SACK Generation"
This ACM CCR paper identifies OS that improperly implement TCP Selective Acknowledgments. The Tbit tests that we used and the results of our applying the tbit tests can be found in the following directory: [ tbit tests]

MPTCP NR-SACKs Packet Formats (modified MP_CAPABLE and DSS options)
[ Download ]

SCTP Firefox 3.0.11
SCTP Firefox 3.0.11 is a modified version on Firefox 3.0.11 that runs over SCTP instead of TCP. HTTP requests are pipelined over multiple SCTP streams which avoids head-of-line blocking between objects on different streams and allows multiple objects to be rendered simultaneously. For the particular case of pages with many progressive images and moderate bandwidth connections with some loss, this gives the appearance that the page is loading much faster than with HTTP over TCP. The current version of SCTP Firefox 3.0.11 has been tested on FreeBSD 7.2, Linux 2.6.28 and Mac OS X 10.5.8. [ Readme | Download ]

SCTP Patch for Mozilla's NSPR
The SCTP patch for Netscape Portable Runtime (NSPR) adds support for SCTP into NSPR. Patches available for both NSPR 4.7.6 and 4.8.2. [ Readme | Download 4.7.6 | Download 4.8.2 | Changes ]

ns-2 SCTP module
Our ns-2 SCTP module has been merged into the main distribution of ns-2, and is included in the latest release (as of ns-2.29).

APACHE over SCTP streams
The modifications are available as a patch to httpd 2.0.55, and adds support for APACHE over SCTP streams. [Readme | Download ]

tcpdump with SCTP support
As of version 3.7, tcpdump now decodes SCTP traffic using Univ of Delaware extension. Download from

SPDY Project
SPDY over SCTP project supported by Google. (note: dictionary contains non-ASCII characters for the name and value length fields)
[ proposed SPDY's initial dictionary for zlib compression ]
[ HTTP header requests used to derive SPDY's initial dictionary ]
[ HTTP header replies used to derive SPDY's initial dictionary ]
[ HTTP header requests used to evaluate SPDY's initial dictionary ]
[ HTTP header replies used to evaluate SPDY's initial dictionary ]

Wireshark TCP flowgraph extension
During our research on TCP flows using SACKs, we found Wireshark's existing TCP flow graph to be a valuable tool to visualize TCP flows. This patch extends the flow graph as follows. It: [ Download]

  • divides the "comments" column to two columns based on which direction the packets flow
  • displays TCP Selective Acks in the "comments" column
  • displays gaps between packets to emphasize gaps in time
  • displays truncated packets. If the right edge of a SACK block of a TCP packet is truncated during capture, the truncated SACK block is displayed as left_edge - [|tcp]
  • When a TCP packet is selected by the user, those TCP packets that are SACKed by the selected packet are highlighted.

Comments or Questions? E-mail: Professor Paul Amer  [amer at cis(dot)udel(dot)edu]