端口号范围 0~~~65535 之间, 0~~1023 之间的端口数是用于一些之名网络服务的应用。
注意的事情是 127.0.0.1 是本地回路 ip 地址。这个端口并不需要通过网卡。直接就可以访问本机。其中 UDP 与 TCP 传输协议,是比较主要的传输协议。
TCP ,输出控制协议( Transmission Control Protocol ),是面向俩节的信息协议。
UDP ,用户是举报协议( User Datagram Protocol ),是无连接通信协议。
TCP , UDP 的数据格式:
协议类型 + 源 IP+ 目标 IP+ 源端口 + 目标端口 + 帧序号 + 帧数据
在这个格式中协议类型来区分是 UDP 还是 TCP 。
Socket 是网络驱动层提供给应用程序编程的接口和一种机制。 Socket 在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的 ip 和 port 。
Socket 与驱动程序的流程:
发送数据过程理解,应用程序创建 Socket 对象后,应用程序调用 bind 方法,绑定驱动程序(绑定的时候主要是把 ip 和端口号通知驱动程序)。然后应用程序,将数据发送到 Socket ,这个时候驱动程序会把 Socket 里面的数据处理后,通过网卡发送到指定的 ip 地址的机器上。
接受数据的过程,应用程序创建 Socket ,然后将要监听的 ip 和端口告诉驱动程序。这个时候驱动程序会把将网卡传送过来的数据处理够交给 Socket ,应用程序会反复的读取, Socket 里面的数据,然后交给应用程序。
在这个接受和发送过程中,驱动程序帮我们实现大部分的数据的拆装格式。