网络基础2

一、IP数据封装与解封装过程

1.分层模型

应用层:是用户与网络的接口,直接为用户的应用程序提供服务,规定了应用程序如何使用网络服务,以及数据的格式、编码等。常见的应用层协议有 HTTP(超文本传输协议,用于网页浏览 )、FTP(文件传输协议,用于文件上传和下载 )、SMTP(简单邮件传输协议,用于发送邮件 )、POP3(邮局协议版本 3,用于接收邮件 )、DNS(域名系统,用于将域名解析为 IP 地址 )等。

传输层:建立源端口到目的端口的连接,实现数据发送进程到数据接受进程之间的数据通信。它对上层应用隐藏了网络层的细节,确保数据能够正确、有序地传输。主要协议有 TCP(传输控制协议)和 UDP(用户数据报协议) 。TCP 提供面向连接的、可靠的字节流服务,通过三次握手建立连接,采用确认、重传、滑动窗口等机制保证数据的可靠传输;UDP 提供无连接的、不可靠的数据包服务,传输效率高,常用于对实时性要求高但对数据准确性要求相对较低的场景。

网络层:负责为不同网络之间的通信提供逻辑地址(如 IP 地址)进行路由选择和分组转发,实现数据包从源端到目的端的路径选择。它可以跨越多个数据链路,将数据从一个网络传输到另一个网络。常见的协议有 IP(网际协议)、ICMP(互联网控制报文协议)、IGP(内部网关协议,如 RIP、OSPF )、BGP(边界网关协议)等。

数据链路层:将物理层传来的原始比特流组织成数据帧,并进行差错控制、流量控制以及链路管理。通过添加帧头和帧尾,包含源 MAC 地址、目的 MAC 地址等信息,实现同一链路中相邻节点间的数据传输。常见的协议有以太网协议、PPP(点对点协议)等。

物理层:负责在物理介质(如双绞线、光纤、无线电波等)上传输原始的比特流,定义了物理设备的接口标准、传输介质的特性、信号的编码方式、数据传输速率、传输距离等。

2.对等通信

思考题:对等通信,如何保证?(如何让接收方正确识别发送方的封装格式?)

通过上层协议标识符实现对等通信。

(1)定义:

当数据在网络中传输时,每一层接收数据后,需要通过标识符确定 “该数据应由上层的哪个协议处理”,避免解析错误。

(2)示例:

1. 数据链路层:以太网帧头部的 “类型字段”
  • 位置:以太网帧头部的第 3-4 字节(16 位)。
  • 作用:标识帧承载的上层协议(如 IP、ARP 等),常见取值:
    • 0x0800:IPv4 协议(上层为 IP 数据包);
    • 0x0806:ARP 协议(地址解析协议);
    • 0x86DD:IPv6 协议。
  • 示例:以太网交换机收到帧后,通过类型字段判断是否为 IP 数据帧,若是则转发至网络层。

类型 (2字节):表示上层协议

类型,例如: 0x0800:IPv4协议         0x0806:ARP协议          0x86DD:IPv6协议

2. 网络层:IP 协议头部的 “协议字段”
  • 位置:IP 数据包头部的第 9 字节(8 位)。
  • 作用:标识 IP 包的上层协议类型,常见取值如下:
    协议值对应上层协议示例场景
    6TCP网页浏览(HTTP 基于 TCP)
    17UDP视频直播(RTMP 基于 UDP)
    1ICMP网络诊断(ping 命令)
  • 示例:当 IP 包的协议字段为 6 时,接收方网络层会将数据交给传输层的 TCP 模块处理。
3.传输层:TCP/UDP 头部的 “端口号”
  • 虽然端口号主要用于标识应用进程,但也间接标识了上层应用协议
  • 作用:传输层通过源端口和目的端口号,将数据交付给应用层的对应进程(如 80 端口对应 HTTP 服务,25 端口对应 SMTP 邮件服务)。
  • 示例:TCP 头部的目的端口为 80 时,传输层会将数据交给应用层的 HTTP 服务器进程处理。

3.ARP协议:将 IP 地址解析为对应的 MAC 地址

4.不同网段路由转发

(1)数据发送初始阶段(PC31 侧)

  1. 应用层到传输层、网络层封装
    PC31有数据要发往 PC13,先在应用层按对应协议封装数据,接着传输层添加端口号等信息,网络层则封装源 IP(192.168.3.31 )和目标 IP(192.168.1.13 ),形成 IP 数据包 。
  2. 数据链路层封装
    网络层的 IP 数据包传到数据链路层,PC31 需获取网关的 MAC 地址 。若 PC31 ARP 表无对应记录,会发 ARP 请求(广播帧,询问 192.168.3.1 的 MAC ),收到路由器的回包后,PC31 中的ARP 表会有路由器的mac地址;若已有记录,直接用该 MAC 作为目的 MAC,自身 MAC 作为源 MAC,结合 FCS(帧校验序列 )封装成以太网帧,通过物理层发送到路由器 R1 的 Fa0/3 接口 。

(2)路由器 R1 转发处理阶段

  1. 接收与解封装
    R1 的 Fa0/3 接口收到以太网帧,先检查目的 MAC 是自身 Fa0/3 的 MAC ,确认接收。然后数据链路层拆除 MAC 头、FCS ,将 IP 数据包交给网络层 。
  2. 路由表查找
    网络层查看 IP 数据包的目标 IP(192.168.1.13 ),在 R1 路由表中匹配。因目标网段 192.168.1.0/24 是直连路由,对应出接口为 Fa0/1 ,确定从 Fa0/1 接口转发 。
  3. 重新封装(数据链路层)
    IP 数据包转到 Fa0/1 接口的数据链路层,需获取 PC13 的 MAC 地址 。R1 查 Fa0/1 接口的 ARP 表,若有 PC13对应的 MAC 记录,就用该 MAC 作为新目的 MAC,Fa0/1 接口的 MAC 作为新源 MAC ,重新封装以太网帧(添加 MAC 头、FCS );若没有,R1 会发 ARP 请求(在 192.168.1.0/24 网段广播,询问 192.168.1.13 的 MAC ),获取后再封装 。
  4. 转发数据
    封装好的新以太网帧从 R1 的 Fa0/1 接口发送出去,进入 PC13 所在的网段 。

(3)数据接收阶段(PC13 侧)

  1. 接收与解封装
    PC13 收到以太网帧,检查目的 MAC 是自身 MAC ,数据链路层拆除 MAC 头、FCS ,将 IP 数据包交给网络层 。网络层检查目标 IP 是自身(192.168.1.13 ),再拆除 IP 头,将数据交给传输层 ,传输层按端口号交给对应应用层程序处理,最终完成 PC31 到 PC13 的数据访问。 

整个过程核心是 路由器基于路由表做跨网段转发,且每经过一次路由器转发,数据链路层的 MAC 头会重新封装(更换源、目的 MAC ),但网络层的 IP 头(源、目标 IP )保持不变 ,以此保障不同网段主机间数据能准确、跨网段传输 。

5.常见的协议

注意!!

ARP(地址解析协议):是用于将IP地址解析为对应MAC地址的网络协议。是网络层协议,但是工作在数据链路层!!

应用层协议

HTTP(超文本传输协议)

  • 作用:用于 Web 网页数据传输,浏览器与服务器间请求 / 响应网页内容的基础协议,端口 80。

HTTPS(超文本传输安全协议)

  • 作用:在 HTTP 基础上增加 SSL/TLS 加密,保障网页传输安全,防止数据泄露或篡改,端口 443。

 FTP(文件传输协议)

  • 作用:实现文件在网络中的上传与下载,通过控制连接(端口 21)和数据连接(端口 20)完成可靠文件传输。

DNS(域名系统)

  • 作用:将域名解析为 IP 地址,实现用户通过域名访问网络服务,支持 UDP(常规查询)和 TCP(复杂数据传输)。

SMTP(简单邮件传输协议)

  • 作用:负责邮件从客户端发送到邮件服务器,或服务器间转发邮件,端口 25。

POP3(邮局协议第 3 版)

  • 作用:用于邮件客户端从邮件服务器接收邮件,端口 110。

Telnet

  • 作用:提供远程登录服务,允许用户通过网络控制远程主机,但数据不加密,安全性低,端口 23。

SSH(安全外壳协议)

  • 作用:替代 Telnet,通过加密实现安全的远程登录和命令执行,端口 22。

TFTP(简单文件传输协议)

  • 作用:实现简单轻量级的文件传输,适用于小文件场景,基于 UDP 传输(端口 69),牺牲可靠性换效率。

Server(445 端口)

  • 常见协议:如 SMB(服务器消息块协议),用于局域网内文件共享、打印机共享等服务,基于 TCP 端口 445。

传输层协议

TCP(传输控制协议)

  • 作用:提供可靠的、面向连接的传输服务,通过三次握手建立连接,确保数据有序、无差错传输,协议号 6。

UDP(用户数据报协议)

  • 作用:提供无连接、不可靠的传输服务,传输效率高,适用于对实时性要求高的场景(如视频、音频),协议号 17。

网络层协议

IP(网际协议)

  • 作用:负责网络中数据包的寻址和转发,为设备分配 IP 地址,实现不同网络间的通信。

ICMP(互联网控制消息协议)

  • 作用:用于网络故障诊断与控制,如发送 “ping” 请求检测网络连通性,传递网络错误信息。

ARP(地址解析协议)

  • 作用:通过已知的 IP 地址获取目标设备的 MAC 地址,实现 IP 地址到物理地址的映射。

数据链路层

局域网
广域网:
  • HDLC(高级数据链路控制):一种面向比特的同步链路协议,简单高效,常用于运营商骨干网、设备间串口连接,保障广域网数据可靠传输。
  • PPP(点对点协议):在拨号、专线等点对点链路中广泛应用,支持身份认证(如 PAP、CHAP ),能适配不同网络层协议(IP、IPX 等 ),让家庭宽带拨号、企业专线互联更规范。
  • Frame Relay(帧中继):基于分组交换的广域网技术,以 “帧” 为单位传输数据,简化了差错控制,适合对实时性要求不高、数据量大的场景(如早期企业分支互联 ),利用统计复用提升网络带宽利用率。

 

按帧格式分类(核心标准)

1. Ethernet II 帧(DIX 2.0)
  • 最常见类型:现代互联网的默认标准(占 90%+ 流量)

  • 帧结构

    plaintext

    | 目标MAC (6B) | 源MAC (6B) | 类型字段 (2B) | 数据 (46-1500B) | FCS (4B) |
  • 关键字段

    • 类型字段(Type):标识上层协议(如 0x0800=IPv4, 0x0806=ARP, 0x86DD=IPv6)

    • 无长度字段:与 IEEE 802.3 的核心区别

2. IEEE 802.3 帧(原始标准)
  • 工业控制场景遗留:基本被 Ethernet II 取代

  • 帧结构

    plaintext

    | 目标MAC (6B) | 源MAC (6B) | 长度字段 (2B) | LLC头 (3-4B) | 数据 | FCS (4B) |
  • 关键字段

    • 长度字段(Length):指示数据部分长度(≤1500)

    • LLC 头:逻辑链路控制子层头(DSAP+SSAP+Control)

3. IEEE 802.3 SNAP 帧
  • IEEE 802.3 的扩展:解决原始标准无法标识上层协议的问题

  • 帧结构

    plaintext

    | 目标MAC | 源MAC | 长度字段 | LLC头 | SNAP头 (5B) | 数据 | FCS |
  • SNAP 头组成

    • OUI(3B):组织唯一标识符(如 0x000000=以太网)

    • 类型字段(2B):同 Ethernet II 的 Type 字段(如 0x0800=IPv4)

4. IEEE 802.1Q 帧(带 VLAN 标签)
  • 支持虚拟局域网:在源MAC后插入 4字节 VLAN Tag

  • 帧结构

    plaintext

    | 目标MAC | 源MAC | 0x8100 (Tag协议标识) | Priority/CFI/VID (2B) | 类型字段 | 数据 | FCS |
  • VLAN Tag 详解

    • TPID(2B):固定 0x8100,标识 802.1Q 帧

    • TCI(2B)

      • 优先级(3bit, 0-7)

      • CFI(1bit, 规范格式指示)

      • VID(12bit, VLAN ID, 1-4094)

物理层

测试网络连通性的工具

Ping 工具

  • 基本功能:Ping 主要用于测试网络的连通性及通信质量,通过向目标主机发送 ICMP(Internet Control Message Protocol,互联网控制报文协议) echo request(回显请求)数据包,并等待目标主机返回 ICMP echo reply(回显应答)数据包,来判断源主机与目标主机之间是否能够正常通信。
  • 工作原理:当在命令行中执行ping命令时,源主机构造特定格式的 ICMP echo request 报文,其中包含标识符、序列号等信息,然后将其发送到目标主机的 IP 地址。目标主机收到 ICMP echo request 报文后,会根据接收到的报文信息构造 ICMP echo reply 报文,再将其发送回源主机。源主机通过统计发送和接收的数据包数量,计算丢包率、往返时间(RTT)等指标,以此评估网络连通性和质量。
  • 常见应用场景
    • 检查网络连接是否正常:比如判断本地计算机与网关、服务器等设备之间的网络链路是否畅通。
    • 测试网络延迟:通过显示的往返时间,可以直观了解网络延迟情况,判断网络是否卡顿。
    • 排查网络故障:在网络出现问题时,通过 Ping 不同节点,能够初步判断故障发生的位置,如内网故障还是外网故障等。

Tracert 工具

  • 基本功能:Tracert(在 Linux 和 macOS 系统中为 traceroute)主要用于探测到目标主机所经过的三层设备(如路由器)的接口 IP,从而了解数据包在网络中的传输路径。
  • 工作原理:源主机发送一系列的 IP 探测包,这些探测包的 TTL(Time To Live,生存时间)值初始设置为 1。当中间设备(路由器等)收到探测包时,会将 TTL 值减 1,若 TTL 值减为 0,设备就会丢弃该探测包,并向源主机回应 ICMP 超时错误报文。源主机收到 ICMP 超时错误报文后,就知道经过了一个中间设备,然后将下一个探测包的 TTL 值加 1 继续发送,直到目标主机收到探测包并回应 ICMP echo reply 报文,此时源主机就能获取到从自身到目标主机的完整路径信息。
  • 常见应用场景
    • 定位网络故障点:当网络出现延迟过高或丢包现象时,使用 Tracert 可以找出在哪个节点出现问题,是本地网络中的路由器,还是运营商网络中的某个设备。
    • 验证网络路径:在网络架构调整或配置新的网络连接后,通过 Tracert 可以验证数据包是否按照预期的路径传输。
    • 优化网络路由:了解数据包的实际传输路径,有助于分析网络中是否存在绕路等不合理情况,进而优化网络路由配置。
  • 示例命令:在 Windows 系统命令提示符中,执行tracert www.baidu.com,可以看到本地主机到百度网站服务器所经过的各个路由器的 IP 地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值