Under the heading Opening a Socket, where you said "The IP packet is then handed off to the physical network layer", it should be Data Link Layer instead of Physical Layer. After that, where you said "gateway address" I would say "gateway MAC address".
Finally, where you list WiFi, and Cellular data network, you are listing the physical layer (layer 2), so instead of Ethernet (layer 1) you should list twisted pair for people with telephone base ISPs, and coax for people with cable based ISPs.
Under the heading Opening a Socket, where you said "The IP packet is then handed off to the physical network layer", it should be Data Link Layer instead of Physical Layer. After that, where you said "gateway address" I would say "gateway MAC address".
Finally, where you list WiFi, and Cellular data network, you are listing the physical layer (layer 2), so instead of Ethernet (layer 1) you should list twisted pair for people with telephone base ISPs, and coax for people with cable based ISPs.