An open API service indexing awesome lists of open source software.

https://github.com/downdemo/snet

Experimental C++20 Linux Reactor: Select/Poll/Epoll
https://github.com/downdemo/snet

computer-networks epoll

Last synced: about 1 year ago
JSON representation

Experimental C++20 Linux Reactor: Select/Poll/Epoll

Awesome Lists containing this project

README

          

![Supported Platforms](https://img.shields.io/badge/platform-Linux-red.svg)
[![SNET-CI](https://github.com/downdemo/SNET/actions/workflows/pipeline-ci.yml/badge.svg)](https://github.com/downdemo/SNET/actions/workflows/pipeline-ci.yml)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/downdemo/SNET/blob/master/LICENSE)

## Documentation

* [tcpdump](docs/tcpdump.md)
* [Network I/O mode](docs/network_io_mode.md)
* [Socket API](docs/socket_api.md)
* [I/O multiplexing API](docs/io_multiplexing_api.md)

## Build

```sh
make
```

## [RFC](https://www.rfc-editor.org/)

* Ethernet: [RFC 894, A Standard for the Transmission of IP Datagrams over Ethernet Networks](https://www.rfc-editor.org/rfc/rfc894.html)
* ARP: [RFC 826, An Ethernet Address Resolution Protocol](https://www.rfc-editor.org/rfc/rfc826.html)
* PPP: [RFC 1661, The Point-to-Point Protocol (PPP)](https://www.rfc-editor.org/rfc/rfc1661.html)
* PPPoE: [RFC 2516, A Method for Transmitting PPP Over Ethernet (PPPoE)](https://www.rfc-editor.org/rfc/rfc2516.html)
* ICMPv4: [RFC 792, INTERNET CONTROL MESSAGE PROTOCOL](https://www.rfc-editor.org/rfc/rfc792.html)
* ICMPv6: [RFC 2463, Internet Control Message Protocol (ICMPv6)](https://www.rfc-editor.org/rfc/rfc2463.html)
* IPv4: [RFC 791, INTERNET PROTOCOL](https://www.rfc-editor.org/rfc/rfc791.html)
* IPv6: [RFC 8200, Internet Protocol, Version 6 (IPv6) Specification](https://www.rfc-editor.org/rfc/rfc8200.html)
* IANA IPv4 Address Space Registry: [RFC 1466, Guidelines for Management of IP Address Space](https://www.rfc-editor.org/rfc/rfc1466.html)
* Private IPv4 addresses: [RFC 1918, Address Allocation for Private Internets](https://www.rfc-editor.org/rfc/rfc1918.html)
* Private IPv6 addresses: [RFC 4193, Unique Local IPv6 Unicast Addresses](https://www.rfc-editor.org/rfc/rfc4193.html)
* NAT: [RFC 2663, IP Network Address Translator (NAT) Terminology and Considerations](https://www.rfc-editor.org/rfc/rfc2663.html)
* IGMPv3: [RFC 3376, Internet Group Management Protocol, Version 3](https://www.rfc-editor.org/rfc/rfc3376.html)
* IPSec: [RFC 2401, Security Architecture for the Internet Protocol](https://www.rfc-editor.org/rfc/rfc2401.html)
* PPTP: [RFC 2637, Point-to-Point Tunneling Protocol (PPTP)](https://www.rfc-editor.org/rfc/rfc2637.html)
* L2TP: [RFC 2661, Layer Two Tunneling Protocol "L2TP"](https://www.rfc-editor.org/rfc/rfc2661.html)
* TCP: [RFC 793, TRANSMISSION CONTROL PROTOCOL](https://www.rfc-editor.org/rfc/rfc793.html)
* TCP Extensions: [RFC 1323, TCP Extensions for High Performance](https://www.rfc-editor.org/rfc/rfc1323.html)
* UDP: [RFC 768, User Datagram Protocol](https://www.rfc-editor.org/rfc/rfc768.html)
* SOCKS5: [RFC 1928, SOCKS Protocol Version 5](https://www.rfc-editor.org/rfc/rfc1928.html)
* PNG: [RFC 2083, PNG (Portable Network Graphics) Specification Version 1.0](https://www.rfc-editor.org/rfc/rfc2083.html)
* JSON: [RFC 7159, The JavaScript Object Notation (JSON) Data Interchange Format](https://www.rfc-editor.org/rfc/rfc7159.html)
* SIP: [RFC 3261, SIP: Session Initiation Protocol](https://www.rfc-editor.org/rfc/rfc3261.html)
* RTP: [RFC 3550, RTP: A Transport Protocol for Real-Time Applications](https://www.rfc-editor.org/rfc/rfc3550.html)
* SSL: [RFC 6101, The Secure Sockets Layer (SSL) Protocol Version 3.0](https://www.rfc-editor.org/rfc/rfc6101.html)
* TLS 1.3: [RFC 8446, The Transport Layer Security (TLS) Protocol Version 1.3](https://www.rfc-editor.org/rfc/rfc8446.html)
* X.509: [RFC 8017, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile](https://www.rfc-editor.org/rfc/rfc5280.html)
* PKCS #1: [RFC 8017, PKCS #1: RSA Cryptography Specifications Version 2.2](https://www.rfc-editor.org/rfc/rfc8017.html)
* PKCS #8: [RFC 5208, Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification Version 1.2](https://www.rfc-editor.org/rfc/rfc5208.html)
* PKCS #12: [RFC 7972, PKCS #12: Personal Information Exchange Syntax v1.1](https://www.rfc-editor.org/rfc/rfc7292.html)
* HTTP/1.1: [RFC 7230, Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing](https://www.rfc-editor.org/rfc/rfc7230.html)
* HTTP/2: [RFC 7540, Hypertext Transfer Protocol Version 2 (HTTP/2)](https://www.rfc-editor.org/rfc/rfc7540.html)
* HTTP/3: [RFC 9114, HTTP/3](https://www.rfc-editor.org/rfc/rfc9114.html)
* QUIC: [RFC 9000, QUIC: A UDP-Based Multiplexed and Secure Transport](https://www.rfc-editor.org/rfc/rfc9000.html)
* HTTPS: [RFC 2818, HTTP Over TLS](https://www.rfc-editor.org/rfc/rfc2818.html)
* WebSocket: [RFC 6455, The WebSocket Protocol](https://www.rfc-editor.org/rfc/rfc6455.html)
* TELNET: [RFC 854, TELNET PROTOCOL SPECIFICATION](https://www.rfc-editor.org/rfc/rfc854.html)
* SSH: [RFC 4254, The Secure Shell (SSH) Connection Protocol](https://www.rfc-editor.org/rfc/rfc4254.html)
* DNS: [RFC 1034, DOMAIN NAMES](https://www.rfc-editor.org/rfc/rfc1034.html)
* DHCP: [RFC 2131, Dynamic Host Configuration Protocol](https://www.rfc-editor.org/rfc/rfc2131.html)
* NTP: [RFC 1305, Network Time Protocol (Version 3)](https://www.rfc-editor.org/rfc/rfc1305.html)
* TZif: [RFC 8536, The Time Zone Information Format (TZif)](https://www.rfc-editor.org/rfc/rfc8536.html)
* FTP: [RFC 959, FILE TRANSFER PROTOCOL (FTP)](https://www.rfc-editor.org/rfc/rfc959.html)
* NFSv4.2: [RFC 7862, Network File System (NFS) Version 4 Minor Version 2 Protocol](https://www.rfc-editor.org/rfc/rfc7862.html)
* NNTP: [RFC 977, Network News Transfer Protocol](https://www.rfc-editor.org/rfc/rfc977.html)
* POP3: [RFC 1939, Post Office Protocol - Version 3](https://www.rfc-editor.org/rfc/rfc1939.html)
* IMAP4: [RFC 1730, INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4](https://www.rfc-editor.org/rfc/rfc1730.html)
* SMTP: [RFC 2821, Simple Mail Transfer Protocol](https://www.rfc-editor.org/rfc/rfc2821.html)