博客
关于我
linux 网络协议分析---3
阅读量:804 次
发布时间:2023-02-01

本文共 1421 字,大约阅读时间需要 4 分钟。

Linux网络模型及其常用协议分析

本章主要介绍Linux网络模型以及常用的网络协议分析(以太网协议、IP协议、TCP协议、UDP协议)。

一、网络模型

TCP/IP网络模型分为四个协议层,分别完成以下功能:

  • 网络接口层

    负责将IP数据在已有网络介质上传输。TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能,而是定义如地址解析协议(ARP)等协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。

  • 网间层

    对应OSI七层参考模型的网络层。其主要功能包括:

    • 包装、寻址和路由IP数据报。
    • 使用网间控制报文协议(ICMP)提供网络诊断信息。
    • 包括IP协议(IP)、路由信息协议(RIP)等。
  • 传输层

    对应OSI七层参考模型的传输层,提供两种端到端的通信服务:

    • TCP协议提供可靠的数据流运输服务。
    • UDP协议提供不可靠的用户数据报服务。
  • 应用层

    负责数据处理和用户应用的通信。常见协议包括:FTP、HTTP、Telnet、SMTP等。

  • OSI层与TCP/IP层对应关系:

    OSI七层模型 TCP/IP四层模型 传输的数据
    应用层 应用层 数据
    表示层 应用层 数据
    会话层 应用层 数据
    传输层 传输层
    网络层 网络层 数据报
    数据链路层 网络接口层
    物理层 网络接口层 比特流

    二、协议分析

    网络协议是网络设备(如计算机、路由器等)之间通信的规则集合。现代网络采用分层结构,每一层建立在下一层之上,向上层屏蔽下层实现细节。

  • 协议架构

    不同层的协议包称谓不同:链路层为帧,网络层为数据报,传输层为段。

  • 协议层数据包处理

    数据包从物理层开始传输,经过网络接口层处理后成为帧,进入传输介质。到达目标主机后,每一层协议逐步剥去首部,最终将应用层数据交给应用程序。

  • 以太网帧结构

    帧中包含:

    • 源地址和目标地址:48位硬件地址(MAC地址)。
    • 数据长度:规定最小46字节,最大1500字节(MTU)。
    • 标识:帧识别号。
    • 标志:MF(更fragment)、DF(不分片)。
    • 片偏移:12位,指向原始分组中的位置。
    • 生存时间(TTL):路由器处理次数。
    • 协议:ETH(以太网)、IP、ARP等。
  • IP协议格式

    IP数据报字段包括:

    • 版本:4位,表示IP协议为IPv4。
    • 首部长度:4位,可表示最大首部长度为60字节。
    • 区分服务:8位,用于 DiffServ时有效。
    • 总长度:16位,最大值为65535字节。
    • 标识:16位,数据报计数器。
    • 标志:3位,MF、DF字段。
    • 片偏移:12位,分组位置相对值(以8字节为单位)。
    • 生存时间:8位,路由器可经过次数。
    • 协议:8位,指定数据使用协议。
    • 首部检验和:16位,检验首部完整性。
    • 源地址和目的地址:各4字节。
  • TCP协议格式

    TCP段字段包括:

    • 源端口和目的端口:各2字节,socket唯一标识连接。
    • 序号:4字节,数据字节序号。
    • 确认号:4字节,期望数据包序号。
    • 数据偏移:4比特,首部长度。
    • 控制位:6比特,URG、ACK、PSH、RST、SYN、FIN。
    • 窗口:2字节,期望接收窗口大小。
    • 校验和:16字节,伪首部+数据检验。
    • 紧急指针:紧急位有效时指定紧急数据序号。
    • 选项:例如MSS最大段大小。
  • UDP协议格式

    UDP数据报字段包括:

    • 源地址和目的地址:各4字节。
    • 长度:16位,最大值65535字节。
    • 协议:8位,指定数据报使用协议。
    • 首部检验和:16位,验证首部完整性。
  • 转载地址:http://zewfk.baihongyu.com/

    你可能感兴趣的文章
    mysql优化--索引原理
    查看>>
    MySQL优化之BTree索引使用规则
    查看>>
    MySQL优化之推荐使用规范
    查看>>
    Webpack Critical CSS 提取与内联教程
    查看>>
    mysql优化概述(范式.索引.定位慢查询)
    查看>>
    MySQL优化的一些需要注意的地方
    查看>>
    mysql优化相关
    查看>>
    MySql优化系列-优化版造数据(存储过程+函数+修改存储引擎)-2
    查看>>
    MySql优化系列-进阶版造数据(load data statment)-3
    查看>>
    MySql优化系列-造数据(存储过程+函数)-1
    查看>>
    MySQL优化配置详解
    查看>>
    Mysql优化高级篇(全)
    查看>>
    mysql会员求积分_MySql-统计所有会员的最高前10次的积分和
    查看>>
    mysql会对联合索性排序优化_MySQL索引优化实战
    查看>>
    MySQL作为服务端的配置过程与实际案例
    查看>>
    Mysql使用命令行备份数据
    查看>>
    MySQL保姆级教程(SQL语法基础篇)从小白到高手的进阶指南,收藏这一篇就够了
    查看>>
    MySQL修改root密码的各种方法
    查看>>
    MySQL修改root密码的多种方法
    查看>>
    mysql修改一列属性
    查看>>