IP协议及以太网协议

文章目录

IP协议

IP协议在网络体系中的位置

  • 当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节
  • 如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)

IP协议的核心功能

  • 异构网络互联:屏蔽底层网络差异,提供统一的网络层服务
  • 无连接服务:不需要建立连接,每个数据报独立处理
  • 尽力而为交付:不保证可靠性,可能丢失、重复、失序
  • 路由选择:为数据报选择最佳传输路径
  • 分组交换:数据分割为IP数据报独立传输

IP网络的透明性

latex 复制代码
主机A(以太网) → 路由器 → 网络B(WiFi) → 路由器 → 主机C(蜂窝网络)
        │                            │                            │
  数据链路层帧                  IP数据报                    数据链路层帧
        │                            │                            │
  物理层比特流                 IP路由转发                   物理层比特流

IP层使上层应用感觉像是在一个统一的网络上通信

IP 数据报首部格式

  • 版本:占 4 位,指 IP 协议的版本,目前的 IP 协议版本号为 4 (即 IPv4)
  • 首部长度:占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节
  • 区分服务:占 8 位,用来获得更好的服务,只有在使用区分服务(DiffServ)时,这个字段才起作用,在一般的情况下都不使用这个字段
  • 总长度:占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU
  • 标识 (identification) :占 16 位,它是一个计数器,用来产生 IP 数据报的标识
  • 标志(flag) :占 3 位,目前只有前两位有意义
    • 标志字段的最低位是 MF (More Fragment)。MF=1 表示后面还有分片,MF=0 表示最后一个分片
    • 标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF=0 时才允许分片
  • 片偏移:占 13 位,较长的分组在分片后某片在原分组中的相对位置,片偏移以 8 个字节为偏移单位
  • 生存时间:占 8 位,记为 TTL (Time To Live),指示数据报在网络中可通过的路由器数的最大值
  • 协议:占 8 位,指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给那个处理过程
协议名 ICMP IGMP IP TCP EGP IGP UDP IPv6 ESP AH ICMP-IPv6 OSPF
协议字段值 1 2 4 6 8 9 17 41 50 51 58 89

IP数据报分片

IP 数据报首部中与分片有关的字段中的数值

总长度 标识 MF DF 片偏移
原始数据报 3820 12345 0 0 0
数据报片1 1420 12345 1 0 0
数据报片2 1420 12345 1 0 175
数据报片3 1020 12345 0 0 350

以太网协议

以太网协议在网络体系中的位置

数据链路层的地位

数据链路层信道类型

  • 点对点信道
  • 广播信道
    • 使用一对多的广播通信方式
    • 必须使用专用的共享信道协议来协调这些主机的数据发送

以太网 V2 的 MAC 帧格式

无效的MAC帧

  • 数据字段的长度与长度字段的值不一致
  • 帧的长度不是整数个字节
  • 用收到的帧检验序列 FCS 查出有差错
  • 数据字段的长度不在 46 ~ 1500 字节之间
  • 有效的 MAC 帧长度为 64 ~ 1518 字节之间

对于检查出的无效 MAC 帧就简单地丢弃,以太网不负责重传丢弃的帧

相关推荐
青岛前景互联信息技术有限公司38 分钟前
以新标准为底座,前景互联打造高危场景智能接处警新体系
大数据·网络·人工智能
大飞记Python1 小时前
Linux命令速查手册(测试开发4年实战总结,附PDF)
linux·网络·pdf
卖萌的斜阳1 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
单片机·网络协议·tcp/ip
Sirius Wu1 小时前
OpenClaw(UpClaw)三层Tool全链路治理深度详解
网络·人工智能·架构·aigc
用户8334423966141 小时前
Qt6 实现 TCP/UDP/组播 透明中继抓包工具 | 流量录制回放 | 工业设备调试
网络协议
源图客1 小时前
云途物流API开发-鉴权认证(Java)
java·网络·python
huashengzsj2 小时前
Shopify个人建站如何搭建独立站:从零开始的完整指南
前端·网络·人工智能
云飞云共享云桌面3 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
mounter6253 小时前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
CryptoPP3 小时前
BSE股票K线数据接入实战:从接口调用到前端图表展示
大数据·前端·网络·人工智能·websocket·网络协议