Write a custom directory title here
- 1. Creation of socket
-
-
- 1. Usage examples
- 2. Source code
-
- 2. Parameter description
-
- 1. The value of python 3.8 family
- 2. The value of python 3.8 type
- 3. The value of python 3.8 proto, this value is called `Assigned Internet Protocol Numbers`
- 3. Reference materials
1. Creation of socket
1. Usage examples
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
2. Source code
Source code of socket(…)
def __init__(self, family=-1, type=-1, proto=-1, fileno=None): # For user code address family and type values are IntEnum members, but # for the underlying _socket.socket they're just integers. The # constructor of _socket.socket converts the given argument to an # integer automatically. if fileno is None: if family == -1: family=AF_INET if type == -1: type = SOCK_STREAM if proto == -1: prototype = 0 ...omit three lines...
2. Parameter description
1. Value of python 3.8 family
AF_APPLETALK = 16 # AppleTalk AF_DECnet = 12 # DECet protocol sockets AF_INET = 2 # IPv4 Internet protocols AF_INET6 = 23 # IPv6 Internet protocols AF_IPX = 6 # Novell protocols AF_IRDA = 26 # Socket interface over IrDA (moved to staging in Linux 4.14, removed in Linux 4.17). AF_SNA = 11 AF_UNSPEC = 0
2. Value of python 3.8 type
SOCK_DGRAM = 2 SOCK_RAW = 3 SOCK_RDM = 4 SOCK_SEQPACKET = 5 SOCK_STREAM = 1
- SOCK_STREAM
Provides an ordered, reliable, bidirectional, connection-based byte stream. Can support out-of-band data transfer mechanisms. - SOCK_DGRAM
Supports datagrams (connectionless, unreliable, fixed maximum length messages). - SOCK_RAW
Provides raw network protocol access. - SOCK_RDM
Provides a reliable datagram layer that does not guarantee ordering. - SOCK_SEQPACKET
Provides an ordered, reliable, bidirectional connection-based data transmission path for fixed-maximum-length datagrams; the user needs to read the entire packet with each input system call.
3. The value of python 3.8 proto, this value is called Assigned Internet Protocol Numbers
IPPROTO_AH = 51 IPPROTO_CBT = 7 IPPROTO_DSTOPTS = 60 IPPROTO_EGP = 8 IPPROTO_ESP = 50 IPPROTO_FRAGMENT = 44 IPPROTO_GGP = 3 IPPROTO_HOPOPTS = 0 IPPROTO_ICLFXBM = 78 IPPROTO_ICMP = 1 IPPROTO_ICMPV6 = 58 IPPROTO_IDP = 22 IPPROTO_IGMP = 2 IPPROTO_IGP = 9 IPPROTO_IP = 0 IPPROTO_IPV4 = 4 IPPROTO_IPV6 = 41 IPPROTO_L2TP = 115 IPPROTO_MAX = 256 IPPROTO_ND = 77 IPPROTO_NONE = 59 IPPROTO_PGM = 113 IPPROTO_PIM = 103 IPPROTO_PUP = 12 IPPROTO_RAW = 255 IPPROTO_RDP = 27 IPPROTO_ROUTING = 43 IPPROTO_SCTP = 132 IPPROTO_ST = 5 IPPROTO_TCP = 6 IPPROTO_UDP = 17
- According to the latest iana data on 2023-11-07, the approved protocol numbers are as follows:
Decimal Keyword Protocol IPv6 Extension Reference Header 0 HOPOPT IPv6 Hop-by-Hop Option Y [RFC8200] 1 ICMP Internet Control Message [RFC792] 2 IGMP Internet Group Management [RFC1112] 3 GGP Gateway-to-Gateway [RFC823] 4 IPv4 IPv4 encapsulation [RFC2003] 5 ST Stream [RFC1190][RFC1819] 6 TCP Transmission Control [RFC9293] 7 CBT CBT [Tony_Ballardie] 8 EGP Exterior Gateway Protocol [RFC888][David_Mills] any private interior gateway 9 IGP (used by Cisco for their [Internet_Assigned_Numbers_Authority] IGRP) 10 BBN-RCC-MON BBN RCC Monitoring [Steve_Chipman] 11 NVP-II Network Voice Protocol [RFC741][Steve_Casner] [Boggs, D., J. Shoch, E. Taft, and R. Metcalfe, "PUP: An Internetwork 12 PUP PUP Architecture", XEROX Palo Alto Research Center, CSL-79-10, July 1979; also in IEEE Transactions on Communication, Volume COM-28, Number 4, April 1980.][[XEROX]] 13 ARGUS (deprecated) ARGUS [Robert_W_Scheifler] 14 EMCON EMCON [Bich_Nguyen] 15 XNET Cross Net Debugger [Haverty, J., "XNET Formats for Internet Protocol Version 4", IEN 158, October 1980.][Jack_Haverty] 16 CHAOS Chaos [J_Noel_Chiappa] 17 UDP User Datagram [RFC768][Jon_Postel] 18 MUX Multiplexing [Cohen, D. and J. Postel, "Multiplexing Protocol", IEN 90, USC/Information Sciences Institute, May 1979.][Jon_Postel] 19 DCN-MEAS DCN Measurement Subsystems [David_Mills] 20 HMP Host Monitoring [RFC869][Bob_Hinden] 21 PRM Packet Radio Measurement [Zaw_Sing_Su] ["The Ethernet, A Local Area Network: Data Link Layer and Physical Layer Specification", AA-K759B-TK, Digital Equipment Corporation, Maynard, MA. Also as: "The Ethernet - A Local Area Network", Version 1.0, Digital Equipment Corporation, Intel Corporation, Xerox Corporation, September 22 XNS-IDP XEROX NS IDP 1980. And: "The Ethernet, A Local Area Network: Data Link Layer and Physical Layer Specifications", Digital, Intel and Xerox, November 1982. And: XEROX, "The Ethernet, A Local Area Network: Data Link Layer and Physical Layer Specification", X3T51/80-50, Xerox Corporation, Stamford, CT., October 1980.][[XEROX]] 23 TRUNK-1 Trunk-1 [Barry_Boehm] 24 TRUNK-2 Trunk-2 [Barry_Boehm] 25 LEAF-1 Leaf-1 [Barry_Boehm] 26 LEAF-2 Leaf-2 [Barry_Boehm] 27 RDP Reliable Data Protocol [RFC908][Bob_Hinden] 28 IRTP Internet Reliable [RFC938][Trudy_Miller] Transaction 29 ISO-TP4 ISO Transport Protocol Class [RFC905][Robert_Cole] 4 30 NETBLT Bulk Data Transfer Protocol [RFC969][David_Clark] MFE Network Services [Shuttleworth, B., "A Documentary of MFENet, a National Computer 31 MFE-NSP Protocol Network", UCRL-52317, Lawrence Livermore Labs, Livermore, California, June 1977.][Barry_Howard] 32 MERIT-INP MERIT Internodal Protocol [Hans_Werner_Braun] 33 DCCP Datagram Congestion Control [RFC4340] Protocol 34 3PC Third Party Connect Protocol [Stuart_A_Friedberg] 35 IDPR Inter-Domain Policy Routing [Martha_Steenstrup] Protocol 36 XTP XTP [Greg_Chesson] 37 DDP Datagram Delivery Protocol [Wesley_Craig] 38 IDPR-CMTP IDPR Control Message [Martha_Steenstrup] Transport Proto 39 TP + + TP + + Transport Protocol [Dirk_Fromhein] 40 IL IL Transport Protocol [Dave_Presotto] 41 IPv6 IPv6 encapsulation [RFC2473] 42 SDRP Source Demand Routing [Deborah_Estrin] Protocol 43 IPv6-Route Routing Header for IPv6 Y [Steve_Deering] 44 IPv6-Frag Fragment Header for IPv6 Y [Steve_Deering] 45 IDRP Inter-Domain Routing [Sue_Hares] Protocol 46 RSVP Reservation Protocol [RFC2205][RFC3209][Bob_Braden] 47 GRE Generic Routing [RFC2784][Tony_Li] Encapsulation 48 DSR Dynamic Source Routing [RFC4728] Protocol 49 BNA BNA [Gary Salamon] 50 ESP Encap Security Payload Y [RFC4303] 51 AH Authentication Header Y [RFC4302] 52 I-NLSP Integrated Net Layer [K_Robert_Glenn] Security TUBA 53 SWIPE (deprecated) IP with Encryption [John_Ioannidis] 54 NARP NBMA Address Resolution [RFC1735] Protocol 55 Min-IPv4 Minimal IPv4 Encapsulation [RFC2004][Charlie_Perkins] Transport Layer Security 56 TLSP Protocol using Kryptonet key [Christer_Oberg] management 57 SKIP SKIP [Tom_Markson] 58 IPv6-ICMP ICMP for IPv6 [RFC8200] 59 IPv6-NoNxt No Next Header for IPv6 [RFC8200] 60 IPv6-Opts Destination Options for IPv6 Y [RFC8200] 61 any host internal protocol [Internet_Assigned_Numbers_Authority] 62 CFTP CFTP [Forsdick, H., "CFTP", Network Message, Bolt Beranek and Newman, January 1982.][Harry_Forsdick] 63 any local network [Internet_Assigned_Numbers_Authority] 64 SAT-EXPAK SATNET and Backroom EXPAK [Steven_Blumenthal] 65 KRYPTOLAN Kryptolan [Paul Liu] 66 RVD MIT Remote Virtual Disk [Michael_Greenwald] Protocol 67 IPPC Internet Pluribus Packet [Steven_Blumenthal] Core 68 any distributed file system [Internet_Assigned_Numbers_Authority] 69 SAT-MON SATNET Monitoring [Steven_Blumenthal] 70 VISA VISA Protocol [Gene_Tsudik] 71 IPCV Internet Packet Core Utility [Steven_Blumenthal] 72 CPNX Computer Protocol Network [David Mittnacht] Executive 73 CPHB Computer Protocol Heart Beat [David Mittnacht] 74 WSN Wang Span Network [Victor Dafoulas] 75 PVP Packet Video Protocol [Steve_Casner] 76 BR-SAT-MON Backroom SATNET Monitoring [Steven_Blumenthal] 77 SUN-ND SUN ND PROTOCOL-Temporary [William_Melohn] 78 WB-MON WIDEBAND Monitoring [Steven_Blumenthal] 79 WB-EXPAK WIDEBAND EXPAK [Steven_Blumenthal] 80 ISO-IP ISO Internet Protocol [Marshall_T_Rose] 81 VMTP VMTP [Dave_Cheriton] 82 SECURE-VMTP SECURE-VMTP [Dave_Cheriton] 83 VINES VINES [Brian Horn] 84 IPTM Internet Protocol Traffic [Jim_Stevens][1] Manager 85 NSFNET-IGP NSFNET-IGP [Hans_Werner_Braun] 86 DGP Dissimilar Gateway Protocol [M/A-COM Government Systems, "Dissimilar Gateway Protocol Specification, Draft Version", Contract no. CS901145, November 16, 1987.][Mike_Little] 87 TCF TCF [Guillermo_A_Loyola] 88 EIGRP EIGRP [RFC7868] 89 OSPFIGP OSPFIGP [RFC1583][RFC2328][RFC5340][John_Moy] [Welch, B., "The Sprite Remote Procedure Call System", Technical Report, 90 Sprite-RPC Sprite RPC Protocol UCB/Computer Science Dept., 86/302, University of California at Berkeley, June 1986.][Bruce Willins] 91 LARP Locus Address Resolution [Brian Horn] Protocol 92 MTP Multicast Transport Protocol [Susie_Armstrong] 93 AX.25 AX.25 Frames [Brian_Kantor] 94 IPIP IP-within-IP Encapsulation [John_Ioannidis] Protocol 95 MICP (deprecated) Mobile Internetworking [John_Ioannidis] Control Pro. 96 SCC-SP Semaphore Communications [Howard_Hart] Sec. Pro. 97 ETHERIP Ethernet-within-IP [RFC3378] Encapsulation 98 ENCAP Encapsulation Header [RFC1241][Robert_Woodburn] 99 any private encryption [Internet_Assigned_Numbers_Authority] scheme 100 GMTP GMTP [[RXB5]] 101 IFMP Ipsilon Flow Management [Bob_Hinden][November 1995, 1997.] Protocol 102 PNNI PNNI over IP [Ross_Callon] 103 PIM Protocol Independent [RFC7761][Dino_Farinacci] Multicast 104 ARIS ARIS [Nancy_Feldman] 105 SCPS SCPS [Robert_Durst] 106 QNX QNX [Michael_Hunter] 107 A/N Active Networks [Bob_Braden] 108 IPComp IP Payload Compression [RFC2393] Protocol 109 SNP Sitara Networks Protocol [Manickam_R_Sridhar] 110 Compaq-Peer Compaq Peer Protocol [Victor_Volpe] 111 IPX-in-IP IPX in IP [CJ_Lee] 112 VRRP Virtual Router Redundancy [RFC5798] Protocol 113 PGM PGM Reliable Transport [Tony_Speakman] Protocol 114 any 0-hop protocol [Internet_Assigned_Numbers_Authority] 115 L2TP Layer Two Tunneling Protocol [RFC3931][Bernard_Aboba] 116 DDX D-II Data Exchange (DDX) [John_Worley] 117 IATP Interactive Agent Transfer [John_Murphy] Protocol 118 STP Schedule Transfer Protocol [Jean_Michel_Pittet] 119 SRP SpectraLink Radio Protocol [Mark_Hamilton] 120 UTI UTI [Peter_Lothberg] 121 SMP Simple Message Protocol [Leif_Ekblad] 122 SM (deprecated) Simple Multicast Protocol [Jon_Crowcroft][draft-perlman-simple-multicast] 123 PTP Performance Transparency [Michael_Welzl] Protocol 124 ISIS over IPv4 [Tony_Przygienda] 125 FIRE [Criag_Partridge] 126 CRTP Combat Radio Transport [Robert_Sautter] Protocol 127 CRUDP Combat Radio User Datagram [Robert_Sautter] 128 SSCOPMCE [Kurt_Waber] 129 IPLT [[Hollbach]] 130 SPS Secure Packet Shield [Bill_McIntosh] 131 PIPE Private IP Encapsulation [Bernhard_Petri] within IP 132 SCTP Stream Control Transmission [Randall_R_Stewart] Protocol 133 FC Fiber Channel [Murali_Rajagopal][RFC6172] 134 RSVP-E2E-IGNORE [RFC3175] 135 Mobility Header Y [RFC6275] 136 UDPLite [RFC3828] 137 MPLS-in-IP [RFC4023] 138 manet MANET Protocols [RFC5498] 139 HIP Host Identity Protocol Y [RFC7401] 140 Shim6 Shim6 Protocol Y [RFC5533] 141 WESP Wrapped Encapsulating [RFC5840] Security Payload 142 ROHC Robust Header Compression [RFC5858] 143 Ethernet Ethernet [RFC8986] 144 AGGFRAG AGGFRAG encapsulation [RFC9347] payload for ESP 145 NSH Network Service Header N [RFC9491] 146-252 Unassigned [Internet_Assigned_Numbers_Authority] 253 Use for experimentation and Y [RFC3692] testing 254 Use for experimentation and Y [RFC3692] testing 255 Reserved [Internet_Assigned_Numbers_Authority]
3. Reference materials
-
AF – Address Families:
https://www.man7.org/linux/man-pages/man7/address_families.7.html -
Socket Types
https://www.man7.org/linux/man-pages/man2/socket.2.html -
Protocol Numbers
https://www.iana.org/assignments/protocol-numbers/protocol-numbers.txt
https://www.man7.org/linux/man-pages/man7/raw.7.html