1.OSI七层模型
OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和管理网络通信的过程。
OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。

2.常见协议解释
2.1核心协议家族(TCP/IP协议族)
2.1.1IP协议-网络地址
互联网的地址系统,为每个设备分配唯一IP地址,负责将数据包从源主机路由到目标主机。
作用:给每台设备一个地址,让数据知道往哪送
特点:只管送,不管是否送到
类比:快递单上的收件地址
2.1.2TCP&UDP-两种传输方式
TCP
面向连接的可靠传输协议,通过三次握手建立连接,确保数据按序、完整、不丢失地送达。
特点:保证送到,不丢件
工作方式:
1.先打电话确认(三次握手)
2.每送一包都要对方签字确认
3.按顺序摆放包裹
使用场景:网页浏览、邮件、文件传输
UDP
无连接的快速传输协议,不保证可靠交付,适合对实时性要求高的应用如视频流、游戏。
特点:只管送,不保证送到工作方式:
1.直接扔包裹,不确认
2.可能丢件,可能乱序
3.速度飞快
使用场景:视频通话、在线游戏、直播
2.2应用层常见协议
2.2.1HTTP/HTTPS-网页浏览器协议
HTTP
超文本传输协议,定义客户端与服务器如何交换网页内容,是万维网数据通信的基础。
HTTP:普通明信片
内容谁都能看
地址栏:http://
HTTPS
HTTP的安全版本,通过SSL/TLS加密传输数据,保护通信隐私和完整性。
HTTPS:加密挂号信
内容加密,只有收件人能看地址栏:https://(有锁图标)
用途:所有网站访问
2.2.2DNS-网络'电话本'
域名系统协议,将人类可读的域名转换为机器可识别的IP地址。
问题:记IP地址太难(如:142.250.189.46)解决:DNS把域名转成IP
流程:
你输入"google.com
→DNS查询 →"142.250.189.46'
访问这个IP
2.2.3DHCP-自动分配地址
动态主机配置协议,自动为网络中的设备分配IP地址等网络参数。
场景:进咖啡厅连wiFi过程:
手机:"这里wiFi,给我个地址!路由器:"用192.168.1.100吧"手机:"好的,谢谢"
作用:自动获得IP,不用手动设置
2.2.4SMTP/POP3/IMAP-电子邮件协议
SMTP协议 :简单邮件传输协议,负责发送和转发电子邮件。
POP3/IMAP协议 :邮件接收协议,POP3将邮件下载到本地,IMAP在服务器管理邮件并支持多设备同步。
发邮件:SMTP(寄信局)
你的邮件 → SMTP服务器 对方邮箱
收邮件:
POP3:全部下载到本地,服务器删除IMAP:在服务器查看,可多设备同步
类比:
POP3 = 把信箱里信都拿回家IMAP =在邮局看信,信还在邮局
2.2.5FTP-文件传输
文件传输协议,专门用于在两台计算机间可靠地传输文件。
作用:专门传大文件
特点:有登录账号密码
场景:网站上传文件到服务器
2.3局域网协议
2.3.1ARP-地址翻译官
地址解析协议,将网络层的IP地址解析为链路层的MAC地址。
问题:网络用IP地址,但网卡认MAC地址
解决:ARP把IP转成MAC
过程:
电脑:"谁有IP 192.168.1.1?'
路由器:"是我,MAC是AA:BB:CC:DD:EE:FF"
电脑:"好的,记下了"
3.完整上网流程
1.【DHCP】获得IP地址
"路由器,给我个地址!
2.【DNS】查百度IP
"wm.baidu.com = 110.242.68.4"
3.【ARP】查路由器MAC地址"IP 192.168.1.1是谁?"
4.【TCP】建立可靠连接三次握手:"你好-你好-开始"
5.【HTTP】发送网页请求"给我百度首页"
6.【HTTP】接收网页内容显示百度页面
4.端口
端口是传输层的逻辑地址标识,用于区分同一IP地址上不同应用程序的网络通信端点,实现IP协议中端到端的多路复用与多路分解功能。
端口的作用对象是计算机上的应用,IP联通后,应用程序与应用程序之间通过端口来通信,比如发送微信消息不会跑到浏览器而是到对方微信
5.常见网络设备
路由器管"内外联通",交换机管"内部互通",防火墙管"安全守卫",AP管"无线覆盖"

6.tcp三次握手四次挥手
三次握手

|--------------------------------------------------------------------------------------------------------------------------------------|
| 第一次握手(客户端→服务器) * 客户端发送:SYN=1, seq=x * 含义:"我想和你建立连接,我的初始序号是x" * 服务器状态变化:CLOSED → SYN-RCVD |
| 第二次握手(服务器→客户端) * 服务器发送:SYN=1, ACK=1, seq=y, ack=x+1 * 含义:"我同意连接,我的初始序号是y,已收到你的x" * 客户端状态变化:SYN-SENT → ESTABLISHED(半连接) |
| 第三次握手(客户端→服务器) * 客户端发送:ACK=1, seq=x+1, ack=y+1 * 含义:"确认收到你的y,可以开始通信了" * 服务器状态变化:SYN-RCVD → ESTABLISHED |
[TCP三次握手]
四次挥手

|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| 第一次挥手(主动方→被动方) * 发送:FIN=1, seq=u * 含义:"我没有数据要发送了,请求关闭连接" * 主动方状态:ESTABLISHED → FIN-WAIT-1 |
| 第二次挥手(被动方→主动方) * 发送:ACK=1, seq=v, ack=u+1 * 含义:"收到你的关闭请求,但我可能还有数据要发" * 被动方状态:ESTABLISHED → CLOSE-WAIT * 主动方状态:FIN-WAIT-1 → FIN-WAIT-2 |
| 第三次挥手(被动方→主动方) * 发送:FIN=1, ACK=1, seq=w, ack=u+1 * 含义:"我也没数据了,可以关闭了" * 被动方状态:CLOSE-WAIT → LAST-ACK |
| 第四次挥手(主动方→被动方) * 发送:ACK=1, seq=u+1, ack=w+1 * 含义:"确认关闭,连接终止" * 被动方状态:LAST-ACK → CLOSED * 主动方状态:FIN-WAIT-2 → TIME-WAIT → CLOSED |
[TCP四次挥手]
7.数据包的传输过程

