1网络协议模型
1.1【OSI】协议模型
1.1.1应用层
实际发送的数据应用层:HTTP 超文本传输协议HTTPS FTP 文件传输协议TFTP 简单文本传输协议SMTP 邮件传输协议MQTT TELNET ..
1.1.2表示层
发送的数据是否加密
1.1.3会话层
是否建立会话连接
1.1.4传输层
数据传输的方式(数据报、流式)UDP 用户数据报协议特点:1.实现机制简单2.资源开销小3.不安全不可靠TCP 传输控制协议特点:1.实现机制复杂2.资源开销大3.安全可靠
1.1.5网络层
数据的路由(如何从一个局域网到达另一个局域网) IP地址网络层:IPv4IP地址:唯一标识网络中一台主机的标号IP地址:网络位 + 主机位子网掩码:用来标识IP地址的网络位和主机位子网掩码是1的部分表示IP地址的网络位子网掩码是0的部分表示IP地址的主机位网段号:网络位不变,主机位全为0,表示网段号广播地址:网络位不变,主机位全为1,表示广播地址IP地址类型:A类1.0.0.0 - 126.255.255.255子网掩码:255.0.0.0管理超大规模网络10.0.0.0 - 10.255.255.255 B类128.0.0.0 - 191.255.255.255子网掩码:255.255.0.0 管理大中规模型网络172.16.0.0 - 172.31.255.255C类192.0.0.0 - 223.255.255.255子网掩码:255.255.255.0管理中小规模型网络 192.168.0.0 - 192.168.255.255D类224.0.0.0 - 239.0.0.0用于组播E类240.0.0.0 - 255.255.255.255 用于实验
1.1.6数据链路层
局域网下如何通信
1.1.7物理层
物理介质的连接
1.2【TCP/IP】协议模型
1.2.1应用层
传输的数据
1.2.2传输层
传输的方式
1.2.3网络层
数据如何从一台主机到达另一台主机
1.2.4网络接口层
物理介质的连接
2主机网络配置
step(1):修改虚拟机到桥接模式
点击"虚拟机"
点击"设置"
点击"网络适配器"
选择"桥接模式"
点击"确定"
step(2):将网卡桥接到无线网卡
点击"编辑"
点击"虚拟网络编辑器"
点击"更改设置"
step(3):在Ubuntu中重启网络服务
sudo /etc/init.d/networking restart
step(4):查看ip信息
linux终端:【ifconfig】
windows:【ipconfig】
3网络编程
3.1【UDP】通信
1.【UDP】通信建立的流程:
发端:【socket】 -> 【sendto】 -> 【close】
收端:【socket】 -> 【bind】 -> 【recvfrom】 -> 【close】
2.【UDP】需要注意的细节点:
(1)UDP是无连接,发端退出,收端没有任何影响
(2)UDP发送数据上限,最好不要超过1500个字节
(3)UDP是不安全不可靠的,连续且快速的传输数据容易产生数据丢失
3.【UDP】包头长度问题:
UDP包头长度:8个字节源端口号(2个字节)目的端口号(2个字节)数据包长度(2个字节)校验和(2个字节)
3.2【TCP】通信
1.【TCP】通信建立的流程:
发端:【socket】->【connect】->【send】->【recv】->【close】
收端:【socket】 -> 【bind】 -> 【listen】 -> 【accept】 -> 【send】 -> 【recv】 -> 【close】
4【wireshark】抓包工具
1.功能:
(1)用于网络通信收发端的问题排查
2.操作流程:
1.sudo wireshark打开wireshark抓包工具
2.选择抓取数据包的网卡any
3.执行通信的代码
4.停止通信
5.设定过滤条件
【ip.addr】 == 【IP地址】
【udp.port】 == 【端口】