文章目录
1、OSI七层模型架构
- 物理层
- 负责原始比特流在物理介质(如网线、光纤)上的传输
- 定义电压规范、物理拓扑和比特编码方式
- 典型设备:网卡
- 数据链路层
- 将比特流封装为帧,添加MAC地址实现设备间直接通信
- 提供错误检测和流量控制机制
- 典型设备:交换机
- 网络层
- 实现跨网络的数据路由和转发
- 使用IP地址进行逻辑寻址,选择最优传输路径
- 典型设备:路由器
- 传输层
- 提供端到端的可靠数据传输服务
- 关键协议:TCP(面向连接)和UDP(无连接)
- 功能包括数据分段、流量控制和错误恢复
- 会话层
- 管理通信会话的建立、维护和终止
- 处理会话同步问题(如断点续传)
- 表示层
- 负责数据格式转换、加密解密和压缩解压
- 确保应用程序能正确解析数据格式
- 应用层
- 直接为应用程序提供网络服务接口
- 典型协议:HTTP(网页)、FTP(文件传输)
总结
应用层:网络服务与用户的接口交互
表示层;数据的表示、安全、压缩
会话层:建立、管理、中止会话
传输层:定义传输数据的协议端口号、流控和差错校验
网络层:进行逻辑地址寻址,实现跨网络的数据路由和转发
数据链路层:建立逻辑链接、硬件寻址、差错校验
物理层:建立、维护、断开物理链接
2、常用的端口号
| 协议 | 端口号 | 说明 |
|---|---|---|
| HTTP | 80 | 超文本传输协议 |
| HTTPS | 443 | SSL/TLS 协议加密的 HTTP 协议 |
| FTP | 20/21 | 文件传输协议 |
| SMTP | 25 | 邮件传输协议 |
| DNS | 53 | 域名解析 |
| SSH | 22 | 安全外壳协议 |
| DHCP | 67/68 | 基于 UDP 协议的应用层协议 |
| TELNET | 23 | 远程终端协议 |
3、子网划分
IPv4
由32位二进制数组成,分成四组,每组八位。如:11000000.10101000.00000000.00000010
为了便于配置通常表示成十进制形式。如:192.168.0.2
IPv6
由128位组成,一般用冒号分隔,十六进制表示
IP地址分为A、B、C、D、E五类
- A类地址范围: 1.0.0.1~126.255.255.254
- A类地址=网络部分+主机部分+主机部分+主机部分
- 默认子网掩码为/8,即255.0.0.0
- B类地址范围:128.0.0.1~~191.255.255.254
- B类地址=网络部分+网络部分+主机部分+主机部分
- 默认子网掩码为/16,即255.255.0.0
- C类地址范围:192.0.0.1~~223.255.255.254
- c类地址=网络部分+网络部分+网络部分+主机部分
- 默认子网掩码为/24,即255.255.255.0
- D类地址范围:224.0.0.1~239.255.255.254
- 用于组播通信的地址
- E类地址范围:240.0.0.1~255.255.255.254
- 用于科学研究的保留地址
以127开头的IP地址都代表本机(广播地址127.255.255.255除外)
127.0.0.1为本机回环地址
169.254.0.0~169.254.255.255 DHCP服务失效时分配的地址
私有网络地址
指内部网络或主机的IP地址,IANA(互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet上被分配,可在一个单位或公司内部使用
- A类私有地址:10.0.0.0~10.255.255.255 10.0.0.0/8
- B类私有地址:172.16.0.0一172.31.255.255 172.16.0.0/12
- C类私有地址:192.168.0.0~192.168.255.255 192.168.0.0/16
子网划分
网段组成:网络地址,可用IP,广播地址。下面举例:
192.168.1.189/24
子网掩码:255.255.255.0 或 /24
网关192.168.1.1 或 192.168.1.254
网络号:192.168.1.0
可用IP:192.168.1.1~192.168.1.254
广播地址:192.168.1.255
- 子网数=2^n,其中n为子网部分位数,例:/26,n=26-24
- 主机数(可用IP)=2^N - 2,其中N为主机部分位数:N=32-26
4、交换机的基本原理
4.1 数据链路层
概念
数据链路层就像快递公司的“打包和配送部门”,负责把网络层的数据(包)包装成“帧”,然后通过物理层(网线、光纤等)发送出去
功能
- 建立链接、维护与拆除
- 帧包装、帧传输、帧同步
- 帧的差错恢复:采用重传的方法进行
- 流量控制:确保中间传输设备的稳定及收发双方传输速率的匹配
4.2 以太网
计算机联网必需的硬件是安装在计算机上的网卡。通信中,用来标识主机身份的地址就是制作在网卡上的一个硬件地址。每块网卡在生产出来后,除了具有基本的功能外,都有一个全球唯一的编号来标识自己,这个地址就是MAC 地址,即网卡的物理地址
MAC 地址由 48 位二进制数组成,通常分成六段,用十六进制表示,如 00-D0-09-A1-D7-B7
以太网帧格式
- 前导码(7字节)
- 帧起始定界符(1字节)
- MAC 地址(12字节)
- 目标MAC
- 源MAC
- 类型(2字节)
- 数据(46~1500字节)
- FCS(4字节)
4.3 交换机工作原理
4.3.1 工作原理
流程
- 初始状态
- mac地址学习
- 广播未知数据帧
- 接收方回应
- 实现单播通信
总结
通过mac地址学习,实现单播通信
4.3.2 工作模式
- 单工:只能发或收
- 双工:能发也能收,不能同时发和收
- 全双工:能同时收发
5、网络层(路由器)
5.1 网络层的功能
- IP地址编址与逻辑寻址
- 网络层通过IP协议为全网设备分配唯一的逻辑地址(IPv4/IPv6),实现跨网络的主机标识
- 异构网络互联
- 通过路由器等设备实现不同传输媒介(如以太网、Wi-Fi、5G)或不同协议网络(如IPv4与IPv6)的互联互通,屏蔽底层差异,形成统一的全局通信环境
- 路由选择与分组转发
- 基于路由算法(如OSPF、BGP)动态计算最优路径,并依据IP包头中的目的地址进行分组转发
- 技术意义:网络层是实现“端到端”通信的关键,其核心协议(如IP、ICMP)确保了全球互联网的可扩展性和连通性。若缺少此层,数据将无法跨越不同子网传输,仅能局限于本地链路通信。
5.2 IP数据包格式
IP数据包分为头部(Header)和数据(Data)两部分
- 头部
- 版本
- 首部长度
- 优先级与服务类型
- 总长度
- 标识符、标志、段偏移量
- 标识符:给数据包编号,方便分片后重组
- 标志:比如 不要分片(DF) 或 还有更多分片(MF)
- 段偏移量:告诉接收方这个分片在原数据中的位置
- 如果数据太大,把它切成多个小包(分片) 。通过 标识符 、 标志 、 段偏移量 这三个字段控制分片和重组
- TTL
- 协议号
- 首部校验和
- 检查头部是否在传输中出错(如果错了就丢掉)
- 源地址 & 目标地址
- 可选项
- 额外功能,比如安全标签,一般不用
- 数据
5.3 ICMP 协议
ICMP(Internet控制报文协议)是互联网的"错误报告员"和"网络小助手",主要有三个核心特点
- 网络故障报警
- 当你的数据包在路上出问题时(比如目标服务器宕机、网络断连),ICMP会立刻返回错误报告
- 套着IP外壳传输
- ICMP消息是通过IP数据包运送的(IP协议号=1)属于网络层协议
- 两大核心任务
- 发错误通知(比如"目标不可达"、“网络超时”) 传控制消息(比如ping检测是否在线、traceroute查快递路线)
5.4 ARP协议
5.4.1 概念
ARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址的,是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层,为什么呢,因为在网络层看来,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路中都有着自己的一套寻址机制,如在以太网中使用MAC地址进行寻址,以标识不同的主机,那么就需要有一个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所有ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽,每当有一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次看来,他们只标识IP地址,从不跟硬件打交道
5.4.2 工作原理
- PC1想发送数据给PC2, 会先检查自己的ARP缓存表。
- 如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址
- 交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答, 并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息
- PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信
路由器:根据路由表选择最佳路径到达对端。
5.4.3 ARP相关命令
arp -a ## 查看arp缓存表
arp -d [IP] ## 删除arp缓存表
arp -s IP MAC ## 删除arp静态绑定
6、传输层
6.1 TCP & UDP
- TCP
- 特点
- 面向连接:必须先“握手”建立连接
- 可靠传输:数据丢了会重传
- 流量控制:根据接收方的能力调整发送速度
- 特点
- UDP
- 特点
- 无连接:直接发数据,不握手
- 不可靠:数据可能丢失
- 速度快:适合实时应用(视频、语音、游戏)
- 特点
6.2 TCP-三次握手
- 当客户端向服务器发送请求连接的报文
- Seq序列号=x(x为随机) SYN=1(表示发送连接请求)
- 服务器端收到客户端发来的请求报文后,同意建立连接,则向客户端发送确认报文
- Seq序列号=y(这时服务器也会产生一个序列号y,和客户端的序号不相关)
- Ack确认号=x+1(Seq序列号x+1,表示确认收到了客户端的请求)
- ACK=1(表示这是条确认请求)
- SYN=1(同时也发送一个建立连接的请求)
- 客户端进程收到服务端进程的确认后,还要向服务端给出确认,然后连接成功建立
- Seq序列号=x+1(这时客户端的序号为1)
- Ack确认号=y+1(表示确认收到了服务器的连接请求)
- ACK=1(表示这是确认报文)
为什么要三次握手?
确认双方的收发能力:确保客户端和服务器都能发送和接收数据
6.3 TCP-四次挥手
第一次挥手:客户端发送Fin + Ack给服务端,表示自己要断开连接,这个时候客户端端已经没有数据要发送了
第二次挥手:服务端接收到客户端发送的断开请求连接,那么这个时候服务端需要发送一个Ack=1用于确定客户请求断开的信息成功接收了
第三次挥手:服务端如果所有的数据已经接收完毕,这个时候就会发送一个Fin=1,而
Ack=0用于表示服务端已经没有数据要发送了,需要关闭连接
第四次挥手:客户端端需要发送一个Ack=1表示这个服务端接收到了Server的关闭请求
信息,这样一来双方的就都关闭了
ps:半关闭的概念:TCP 一方终止发送数据后,仍然可以接收数据
当仅完成两次挥手之后,服务端能否给客户端发送数据呢?
可以,因为数据还没传完
为什么是四次挥手不是三次挥手?
因为当服务端还有数据没有传完的情况
1778

被折叠的 条评论
为什么被折叠?



