以太网帧结构与ip报文格式详解

简介: 以太网帧结构与ip报文格式详解

以太网帧结构

在这里插入图片描述
注:

  • 当LLC-PDU中携带的是数据的时候,那么左侧的2字节表示的就是长度;当然,以太帧可以携带其他协议,当LLC-PDU中是协议的时候,2字节就代表了类型。
  • CRC为校验码。
  • 以太网帧最小为64字节,数据区取左侧46字节;最长为1518字节。

接下来详细介绍一下以太网帧的2字节类型字段
因为后面的数据区,是46--1500字节,所以如果2字节的长度/类型字段大于5DC(1500),那么这个域表示的是类型。(如:0800表示IP协议,0806表示ARP协议)
==这个1500字节,也就是我们以后会提到的以太网的MTU(最大传输单元),也就是因为这个我们在ip数据报哪里经常会听到一个IP数据报分段的概念==

如果一个以太网帧携带的是IP数据帧的话,它的帧格式是这样的:
在这里插入图片描述

IP报文格式

这个IP报文就是填在,上面以太网帧的数据区字段1500字节的东东。
在这里插入图片描述
注:

  • 在IPV4中首部最先的可选字段是不使用的,所以IPV4的首部为20字节。(巧了,这也就是我们经常会听到的以1480字节为最大一段,分割IP报文,1500-20呗)
IP报文字段 具体作用
版本 ip报文中,版本占了4位,用来表示该协议采用的是那一个版本的ip,相同版本的ip才能进行通信。一般此处的值为4,表示ipv4
首部长度(头长度) 该字段用四位表示,表示整个ip包头的长度,其中数的单位是4字节。即二进制数0000-1111(十进制数0-15),其中一个最小长度为0字节,最大长度为60字节。一般来说此处的值为0101,表示头长度为20字节。有可选部分的话就会变成24个字节
区分服务 (Tos服务字段) 该字段用8位表示。该字段一般情况下不使用。
总长度 该字段表示整个ip报文的长度,单位是1字节。能表示的最大字节为2^16-1=65535字节。不过由于链路层的MTU限制。超过1480字节后就会被分片(以太帧MTU为1500的情况下,除去20字节的包头)
标识 该字段是ip软件实现的时候自动产生的,该字段的目的不是为了接受方的按序接受而设置的,而是在ip分片以后,用来标识同一片分片的。方便ip分片的重组。
标志 该字段是与ip分片有关的。其中有三位,但只有两位是有效的,分别为MF,DF。MF标识后面是否还有分片,为1时,表示后面还有分片。DF标识是否能分片,为0表示可以分片。
片偏移 该字段是与ip分片后,相应的ip片在总的ip片的位置。该字段的单位是8字节 (下面有举例说明)
生存时间(TTL) ip分片每经过一个路由器该值减一,它的出现是为了防止路由环路,浪费带宽的问题。比如,该ip在R1路由器发送到R2路由器。R2路由器又发给R1路由器。防止这种循环。window系统默认为128.
协议 该值标识上层的协议。占8位。其中1,标识ICMP、2标识IGMP、6标识TCP、17标识UDP、89标识OSPF。
校验和(首部校验和) 该值是对整个数据包的包头进行的校验。占16位。
源地址和目的地址 标识发送ip片的源和目的ip,32位
可选部分 一般一些特殊的要求会加在这个部分。
注:
  • 片偏移:比如,一个长度为4000字节的ip报文,到达路由器。这是超过了链路层的MTU,需要进行分片,4000字节中,20字节为包头,3980字节为数据,需要分成3个ip片(链路层MTU为1500),那么第一个分片的片偏移就是0,表示该分片在3980的第0位开始,第1479位结束。第二个ip片的片偏移为185(1480/8),表示该分片开始的位置在原来ip的第1480位,结束在2959。2960-1480=1480,所以每次都是最大为1480,因为每个数据报都有头部呀第三片的片偏移为370(2960/8),表示开始的时候是2960位,结束的时候在3979位。
  • 协议:数据报进入上层传输层,就是通过这个字段来指出应将数据部分交给哪一个进程。

首部校验和的计算方法

在这里插入图片描述

目录
相关文章
|
6天前
|
网络协议 数据格式
|
6天前
|
存储 缓存 网络协议
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
|
7月前
|
缓存 网络协议 Shell
网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报
网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报
71 0
|
7月前
|
域名解析 存储 移动开发
TCP socket && UDP && TCP协议 && IP协议 && 以太网等
TCP socket && UDP && TCP协议 && IP协议 && 以太网等
40 0
|
Java API Android开发
Android10.0(Q) MTK平台增加以太网静态IP功能
Android10.0(Q) MTK平台增加以太网静态IP功能
672 0
|
Java Android开发
Android P 9.0 MTK平台 增加以太网静态IP功能
Android P 9.0 MTK平台 增加以太网静态IP功能
564 0
|
XML Java Android开发
Android8.1 MTK平台 增加以太网静态IP功能
Android8.1 MTK平台 增加以太网静态IP功能
382 0
Android8.1 MTK平台 增加以太网静态IP功能
|
网络协议 算法 网络架构
IP协议与以太网
本文主要介绍在TCP/IP五层协议模型中位于网络层和数据链路层的协议,在网络层主要是IP协议,而数据链路层的协议主要为以太网。
187 0
IP协议与以太网
|
域名解析 网络协议 算法
计算机网络【IP协议与以太网】
计算机网络【IP协议与以太网】
计算机网络【IP协议与以太网】
|
网络协议 数据安全/隐私保护 网络架构
Internet协议栈 TCP/IP模型 、以太网封装以及解封装过程、物理层、链路层、网络层、传输层、应用层的作用 OSI七层模型
物理层、链路层、网络层、传输层、应用层分别所做的事,作用,每层都需要下一层来提供服务,也就是下一层的功能使都是为了更好的服务上一层。 TCP/IP参考模型,ISO/OSI参考模型
Internet协议栈 TCP/IP模型 、以太网封装以及解封装过程、物理层、链路层、网络层、传输层、应用层的作用 OSI七层模型