Day26
1.网络开发的两大架构
早期没有网络,传文件是借助c文件中转
a文件把数据放在c文件中,b文件从c文件从中取
b文件把数据放在c文件中,a文件从c文件中取
构成了早期的一种数据的交互原理 -> socket(套接字)模型
socket(套接字)是收发数据的一个工具
后来有了网络
a文件中的数据,可以通过网络协议,转成10101电信号,进行发送
a文件借助socket发送数据
b文件借助socket接受数据
C/S
c -> client 客户端
具体制定一个软件,像qq,微信
s -> server 服务端
天河三号
B/S
B -> Brower 浏览器
通过输入网址,直接访问对方的服务器,对方的服务器响应请求之后
把对应的数据通过网络返回到浏览器中进行显示
s -> server 服务端
B/S :省去复杂漫长的下载和安装环节,节省了手机和电脑的硬盘空间
因为手机的便携性,可以随时随地不受限制的使用各式各样的功能
2.网络概念
(1)ip windows ipconfig linux ifconfig
ip 地址的最后一位0或者255,两个数字不能使用
一般最后一位0表达的时网段,255代表广播地址
(2)网段
网段的作用:
主要用来划分同一区域里的某些机器是否能够互相通信
在一个网段里可以不通过因特网,直接对话
判别的依据:
如果ip地址和子网掩码相与得到的值相同就是同一网段
#子网掩码:区分网段和主机
# 案例一
# ip 192.168.30.251
#子网掩码 255.255.255.0
11000000.10101000.00011110.11111011
11111111.11111111.11111111.00000000
11000000.10101000.00011110.00000000 网段
网段:192.168.30.0
#ip 192.168.30.33
#子网掩码 255.255.255.0
11000000.10101000.00011110.00100001
11111111.11111111.11111111.00000000
11000000.10101000.00011110.00000000 网段
网段:192.168.30.0
在一个网段可以互相通信.
# 案例二
# ip 192.168.30.251
# 子网掩码 255.255.0.0
11000000.10101000.00011110.11111011
11111111.11111111.00000000.00000000
11000000.10101000.00000000.00000000 网段
192.168.0.0
# ip 192.168.35.211
# 子网掩码 255.255.0.0
11000000.10101000.00100011.11010011
11111111.11111111.00000000.00000000
11000000.10101000.00000000.00000000
192.168.0.0
如果两个ip的网段相同就可以一起通讯
ping + ip 测试是否能够ping通
3.端口:某个程序与外界通讯的出口
范围:0~65535
ip + 端口 访问这个世界任何一台电脑里的任何一个应用
20 端口:FTP 文件传输协议(默认数据口)
21 端口:FTP文件传输协议(控制)
22 端口:SSH远程登录协议
25 端口:SMTP 服务器开放的端口,用于发送邮件
80 端口:http, 用于网页浏览端口,木马Executor开放此端口
443 端口:机遇TLS/SSL 的网页端口,能够提供加密和通过安全端口传输的另一种HTTP
3306 端口:MySQL 开放此端口
自定义端口的时候一个9000以后的端口号,不要乱用已知的端口号
4.osi 网络七层模型
应用层(应用层,表示层,会话层)
封装数据:
根据不同协议,封装成对应格式的数据信息
HTTP 超文本传输协议
HTTPS 加密传输的超文本传输协议
FTP 文件传输的协议
SMTP 电子邮件传输协议
传输层:
封装端口
指定传输的协议(TCP协议/UDP协议)
网络层:
封装ip
版本ipv4 ipv6
数据链路层:
封装mac地址
指定链路层协议arp(ip->mac)/ rarp(mac->ip)
物理层:
打成数据包,变成二进制的字节流,通过网络进行传输
交换机:从下到上拆层,物理层,链路层
路由器:从下到上拆3层,物理层,链路层,网络层
ar协议:通过ip-> mac(arp地址解析协议)
通过交换机的一次广播和一次单薄找到对应的mac物理地址
电脑a先发送arp的广播包,把mac标记成全FF-FF-FF-FF-FF-FF-FF-FF的广播地址
交换机接受到arp广播包,从下到上拆两层,到数据链路层得到mac
发现mac是全F的广播地址,重新打包,交换机开始广播,所有连接这台交换
的设备统一都会受到arp广播包,开始拆包
如果对应的是全F广播地址,直接跳过,继续向上找,如果ip不对,直接舍弃路由器允许从下到上拆3层,拆到网络层
得到ip,找到其中的网段重新把数据打包,发送给对应这个网段的那个接口(网关)
对应的接口设备是交换机,从下到到上拆2层,全F广播地址,开始发送arp广播包
数据库服务器接收arp广播包开始拆包,发现要找的机器就是自己
于是把自己的ip->mac 的对照数据,返回给对应的交换机
交换机开始单播,让ip -> mac 的对照数据返回到开始处
原主机接收到了ip -> mac 的对照关系之后,更新一下自己的arp的解析表,方便下次使用
到此结束
ip -> mac
SYN 创建连接
ACK 确定响应
FIN 断开连接
5.三次握手
客户端发送一个请求,与服务端建立连接
服务端接受请求,发出响应,并且回应也要与客户端建立连接
(服务端同意连接的请求和服务端与客户端建立连接的请求在一次响应当中完成了)
客户端接受服务端的请求之后,把消息在回复响应给服务端
6.数据传输
客户端每次发送数据时,服务端每次都有响应,发一个回执消息来确认数据
所以tcp协议,发送数据不丢包,保证数据的稳定