计算机网络基础知识


1、OSI七层模型架构

  • 物理层
    • 负责原始比特流在物理介质(如网线、光纤)上的传输
    • 定义电压规范、物理拓扑和比特编码方式‌
    • 典型设备:网卡‌
  • 数据链路层
    • 将比特流封装为帧,添加MAC地址实现设备间直接通信
    • 提供错误检测和流量控制机制‌
    • 典型设备:交换机
  • 网络层
    • 实现跨网络的数据路由和转发
    • 使用IP地址进行逻辑寻址,选择最优传输路径‌
    • 典型设备:路由器
  • 传输层
    • 提供端到端的可靠数据传输服务
    • 关键协议:TCP(面向连接)和UDP(无连接)‌
    • 功能包括数据分段、流量控制和错误恢复
  • 会话层
    • 管理通信会话的建立、维护和终止
    • 处理会话同步问题(如断点续传)‌
  • 表示层
    • 负责数据格式转换、加密解密和压缩解压
    • 确保应用程序能正确解析数据格式‌
  • 应用层
    • 直接为应用程序提供网络服务接口
    • 典型协议:HTTP(网页)、FTP(文件传输)‌
总结
应用层:网络服务与用户的接口交互
表示层;数据的表示、安全、压缩
会话层:建立、管理、中止会话
传输层:定义传输数据的协议端口号、流控和差错校验
网络层:进行逻辑地址寻址,实现跨网络的数据路由和转发
数据链路层:建立逻辑链接、硬件寻址、差错校验
物理层:建立、维护、断开物理链接

2、常用的端口号

协议端口号说明
HTTP80超文本传输协议
HTTPS443SSL/TLS 协议加密‌的 HTTP 协议
FTP20/21文件传输协议
SMTP25邮件传输协议
DNS53域名解析
SSH22安全外壳协议
DHCP67/68基于 ‌UDP 协议‌的应用层协议
TELNET23远程终端协议

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.0169.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 工作原理

  1. PC1想发送数据给PC2, 会先检查自己的ARP缓存表。
  2. 如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址
  3. 交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答, 并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息
  4. 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 一方终止发送数据后,仍然可以接收数据

当仅完成两次挥手之后,服务端能否给客户端发送数据呢?
可以,因为数据还没传完

为什么是四次挥手不是三次挥手?
因为当服务端还有数据没有传完的情况
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值