IP协议与ethernet协议

news2024/11/24 14:55:50

一、IP协议

1.IP协议作用和意义

(1)计算机网络体系结构

(2)网络互联使用路由器

 

 (3)IP网的意义

        当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。

        如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)。

(4)分组在互联网中的传送

(5)分组传输路径

2.IP数据报首部格式

(1)IP数据报的格式

(2)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 层将数据部分上交给那个处理过程。

(3)IP数据报首部中的协议

IP 协议支持多种协议,IP 数据报可以封装多种协议 PDU。

 常用的一些协议和相应的协议字段值

 3.IP数据报分片

 

IP分片:

  当IP数据报的长度超过帧的MTU时,它将被分片传输。分片可能发生在发送端,也可能发送在中转路由器上,而且可能在传输过程中被多次分片,但只有在最终的目标机器上,这些分片才会被内核中的IP模块重新组装。
  IP的分片和重组需要的信息由头部的三个字段提供:16位数据报标识、3位标志、13位偏移。一个IP数据报的每个分片都具有自己的IP头部,他们具有相同的标识值,但具有不同的片偏移。并且除了最后一个分片外,其他分片都将设置MF标志。此外,每个分片的IP头部的总长度字段将被设置为该分片的长度。
  以太网帧的MTU是1500字节,因此他携带的IP数据报的数据部分最多是1480字节(因为头部占了20字节)。

举例

  考虑现在用IP数据报封装一个长度位1481字节的ICMP报文(考虑到ICMP的8字节的头部,得到其数据部分长度为1473字节),则该数据报在使用以太网帧传输时必须被分片。
在这里插入图片描述
  第二个IP分片不包含ICMP头部信息,因为IP模块重组该ICMP报文的时候只需要一份ICMP头部信息,重复传送这个信息没有益处。1473字节的ICMP报文数据的前1472字节被IP模块复制到第一个IP分片中,使其总长度为1500字节,从而满足MTU的要求,而多出来的最后一个字节被复制到第二个IP分片中。
  此时第一个IP数据报片偏移为0,第二个IP数据报中的片偏移为1472/8=184。 

 二、以太网协议

1.计算机网络体系结构

 2.数据链路层的地位

 3.数据链路层信道类型

4.以太网V2的MAC帧格式

 5.无效的MAC帧

数据字段的长度与长度字段的值不一致;

帧的长度不是整数个字节;

用收到的帧检验序列 FCS 查出有差错;

数据字段的长度不在 46 ~ 1500 字节之间。

有效的 MAC 帧长度为 64 ~ 1518 字节之间。

        对于检查出的无效 MAC 帧就简单地丢弃。

        以太网不负责重传丢弃的帧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/614876.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue.js 中的渲染函数是什么?如何使用渲染函数?

Vue.js 中的渲染函数是什么?如何使用渲染函数? Vue.js 是一款流行的前端框架,它提供了许多方便的工具和 API,用于构建交互式的用户界面。其中,渲染函数是 Vue.js 中一个强大的工具,它可以让我们以编程的方…

深度解析java异步多线程优化版

快速使用需求:我不要理解一堆理论想直接用 操作说明 ITask.java PutEsTask.java TaskExecutor.java TaskQueue.java TestMain.java请把这几个类文件复制下去,运行testMain的方法,根据TestMain的运行日志,【1】-> 【8】不同需求…

2.3 网络设计与redis、memcached、nginx组件

目录 一、网络模块需要处理哪些事情二、reactor网络设计模型三、网络模块与业务的关系四、redis、memcached、nginx1、redis2、memcached3、ngnix4、总结 一、网络模块需要处理哪些事情 网络编程主要关注客户端与服务端交互的四个问题: 1、连接建立 2、消息到达 3、…

《不要挑战人性》笔记(一)

恒河猴实验 代母实验 将刚出生的小猴子与母亲分开,让它与绒布妈妈跟铁丝妈妈生活在一起。铁丝妈妈身上有食物,绒布没有食物,小猴子更喜欢绒布妈妈,即使它在铁丝妈妈那里得到了食物。绒布妈妈身上设置机关,攻击小猴子&a…

OAuth2 工作流程详解

我们之前谈到了使用saml作为SSO单点登录认证。本文讲解oauth2.0协议,oauth2.0协议避免了客户端直接访问受保护资源 什么是OAuth OAuth是一种安全的开放协议,用于在不相关的服务之间授权用户。换句话说,它使一个服务能够访问托管在其他服务上…

Flutter 笔记 | GetX

官网:https://pub.dev/packages/get 中文文档:https://github.com/jonataslaw/getx/blob/master/README.zh-cn.md 关于 GetX 现在Flutter的状态管理方案很多,redux、bloc、state、provider、Getx。 provider是官方提供的状态管理解决方案&…

小程序分包详解

一:什么是小程序分包 分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。 二:为什么使用分包 小程序第一版 推出 小程序代码包不能超过1MB 大小&…

java SSM 教代会审批管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教代会管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码 和数据库,系统主要采用…

计算机网络开荒2-应用层

文章目录 一、网络应用体系结构2.1 客户机/服务器结构(Client-Server,C/S)2.2 点对点结构(Peer-to-peer,P2P)2.3 混合结构(Hybrid) 二、网路应用的进程通信2.1 套接字Socket2.2 应用层协议的内容 三、网络应用的需求与传输层服务四、Web4.1 HTTP4.1.1 HTTP连接类型4.1.1.1 非持…

mysql慢sql优化实战:in order by优化处理

背景 线上查询慢的问题日益突出,专门写一个帖子记录一下处理过程,会定期更新优化处理方案 套餐余量统计查询菜单,数据库查询时间一分钟五十秒,优化之后耗时109毫秒,性能提升很大.所有时间统计均以数据库层面进行统计.用户使用层面因为有数据传输、带宽、业务逻辑处理等因素…

只要7分钟,教你从0-1搭建BI系统,这份大佬整理的指南免费送!

在BI行业干了快十年了,做过制造业供应链的BI项目,也跟过零售电商、房地产、银行的BI建设,经常有朋友咨询关于BI建设的内容,今天总结了一套BI项目建设指南,直接分享给大家,觉得不错记得点赞收藏。 通常情况…

实战【金融评分卡】

金融评分卡 网站:百融、同盾 1.导入 信贷评分卡是一种用于评估个人或企业申请贷款的工具,就像-个评分表-样。我们可以把它看作是银行或金融机构用来判断某人是否有资格获得贷款的一-种方式。 想象一下,你是一个银行家,有很多人向你申请贷款,比如个人贷…

cas单点登录-服务端部署

一.需求描述 公司开发系统越来越多,每个系统都有自己的登录认证流程,给用户很繁琐的体验,统一认证单点登录迫在眉睫 二.流程图 三.本地运行cas服务端 1.拉取cas服务端代码,切换到对应分支(我使用的是6.4.x&#xff…

proxmox7.4 安装后配置

关于proxmox7安装和配置的博文,倒是不少。可惜鱼龙混杂,踩了不少坑,如今实践成功后,做一分享。 proxmox7.4安装(与安装linux系统类似) 1.去官网https://proxmox.com/en/downloads 下载安装镜像,注意: 下…

iTOP-3588开发板Android12源码定制开发uboot开发

uboot 开发-Uboot 源码是 v2017.09 版本。目前在该平台上已经支持 RK 所有主流在售芯片。支持 的功能主要有:  支持 RK Android 固件启动;  支持 Android AOSP 固件启动;  支持 Linux Distro 固件启动;  支持 Rockchip miniloader 和 SPL/TPL 两种 Pre-loader 引导…

对比才知差距!海尔“精华洗”用实验告诉用户

《怪诞关系学》一书中讲到,人生来会与他人做比较,对比是天性,竞争是必然。用高深点的话讲,人是通过对比身边的事物和同类来定位自身的,只有对比才知道差距有多大。“仰观宇宙之大,俯察品类之盛”&#xff0…

Python如何批量合并70个doc和docx文件

目录 一、问题的提出 二、算法分析 三、代码展示 四、注意事项 有一位朋友发来70多个数名命名的doc和docx文件,问我有没有vba代码,可以把这些文件按照数字大小的顺序合并。我试着用了chatgpt,搞了一串vba代码行不通,于时我就找…

【PyQt5】(01)PyQt的详细介绍

文章目录 前言一、PyQt的前世今生1.1 PyQt6、PyQt5和PyQt41.2 商业版和开源版1.3 支持的操作系统 二、 PyQt的优点三、PyQt的应用场景总结 前言 PyQt是使用Python语言编写的QT库的界面工具包。QT是一个跨平台的C应用程序开发框架,可以用于创建高性能、高可靠性、图形…

高频面试八股文用法篇(六) 说说反射及其作用

目录 什么是反射? 反射的作用 反射的优缺点 反射的用途 什么是反射? 动态语言。 当程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。Java 并不是动态语言,但是它却又一个非常突出的动态相关的机制&am…

Permission denied, please try again.

如果你是容器或者二进制安装启动的gitlab,在克隆代码一直有这样的问题 正克隆到 h5... git192.168.0s password: Permission denied, please try again. 服务ipgit 192.168.40.15 gitlab192.168.40.17 1、 docker run -d --name gitlab -p 80:80 -p 224:22 -p 4…