TCP
传输控制协议
定义:提供一种面向连接的、可靠的、基于字节流的,传输层通信协议
功能:有流量控制和差错控制
使用TCP的应用:邮件的接收发送、文件传输、远程登录
使用TCP的场景:需要数据稳定和完整性比较高的场景多使用TCP协议
选择TCP的决定性因素(也是特点):面向连接、可靠、基于字节流
UDP
用户数据报协议
定义:提供一个无连接的、高效率的、低可靠性的,数据传输服务
使用UDP的应用:音视频聊天、在线游戏、工业物联网传输等
使用UDP的场景:需要数据时效性比较高的场景多使用UDP协议。
选择UDP的决定性因素(也是特点):无连接、高效率、低可靠性
例如:游戏虽然有时候会掉帧,但是马上就到下一个场景了。
发文件用TCP,如果丢数据就不能打开了,传的内容不对了。
端口
定义:应用程序对应的端口号,是逻辑端口号
路由器端口物理上存在的。
- netstat -ano,查看端口号是否被占用
- 例如找到了pid是9460,指令:tasklist | findstr “9460”
- |是管道符号,1|2表示在1的基础上执行2
- netsh wlan show profiles,查看连过的wifi网络,必须是无线的
- netsh wlan show profile name="wifi名字" key="clear"
socket套接字
套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元
包含进行网络通信必须的五种信息:
- 连接使用的协议
- 本地主机的IP地址
- 本地进程的协议端口
- 远地主机的IP地址
- 远地进程的协议端口
总结:协议以及双端IP和双端端口号
端口号决定应用程序,IP决定设备,协议决定发送方式
IP地址可以定位到你的设备,再到具体的应用程序,也就是端口
通过套接字,获得本地端口和ip地址,ip地址通过arp协议,获得本机mac地址。
IP地址
Internet Protocol address互联网协议地址
cmd指令:ipconfig
定义:IP地址是IP协议提供的一种统一的地址格式
它为互联网上的每一个网络和每一台主机分配一个逻辑地址
以此来屏蔽物理地址的差异
新生产的设备兼容IPv4和IPv6,向前兼容。