当前位置: 首页 > news >正文

网站建设构造学习上海做网站设计公司

网站建设构造学习,上海做网站设计公司,墨刀做的网站设计,用.cc做网站官网可以吗注#xff1a;本文为 “以太网帧、IP数据报”图解相关文章合辑。 未整理去重。 以太网帧、IP数据报的图解格式#xff08;包含相关例题讲解#xff09; Rebecca.Yan已于 2023-05-27 14:13:19 修改 一、基础知识 UDP 段、IP 数据包#xff0c;以太网帧图示 通信过程中本文为 “以太网帧、IP数据报”图解相关文章合辑。 未整理去重。 以太网帧、IP数据报的图解格式包含相关例题讲解 Rebecca.Yan已于 2023-05-27 14:13:19 修改 一、基础知识 UDP 段、IP 数据包以太网帧图示 通信过程中每层协议都要加上一个数据首部header称为封装Encapsulation, 如下图所示。 不同的协议层对数据包有不同的称谓在传输层叫做段segment在网络层主教座数据包datagram, 在链路层叫做帧frame。数据封装称帧后发到传输介质上到达目的主机后每层协议再剥掉相应的首部最后将应用层数据交给应用程序处理。 第三行是以太网帧数据包的基本格式。 测试环境 机器名macipporttcp_server00:0c:29:8b:37:da10.1.2.79502tcp_client00:50:56:c0:00:0810.1.2.112345 抓包 客户端向服务端发送 hello world’ 原始数据帧 00 0c 29 8b 37 da 00 50 56 c0 00 08 08 00 # Ethernet_II 格式数据帧首部 45 00 00 33 28 5b 40 00 80 06 ba 80 0a 01 02 01 0a 01 02 07 # ip 协议头 30 39 25 1e 84 a4 e6 82 cf f2 ea 28 50 18 10 0a 7b 45 00 00 # tcp 协议头 68 65 6c 6c 6f 20 77 6f 72 6c 64 # data 以太网数据帧构成 Ethernet_II 格式、数据帧首部 链路层 总长度 14B 以太网帧图示 其中以太网首部占用 14 字节、FCSFrame Check Sequece(帧校验码) 长 4 个字节用于检验数据在传输过程中数据是否出现了错误为 CRC32 校验码。 以太网首部占用 14 字节首位开始是目的地址占用六个字节其次是源地址占用 6 个字节然后是类型占用两个字节。以太网帧除去首部 14 字节和尾部 FCS4 字节共 18 字节剩下的中间的部分就是 IP 数据报 字段名称长度byte含义D.MAC6接收方 MAC 地址网络包接收方的 MAC 地址在局域网中使用这一地址来传输网络包S.MAC6网络包发送方 MAC 地址接收方通过它来判断是谁发送了这个包Type2使用的协议类型 TCP 通信中 IP 协议与 ARP 协议较常见 0000-05DCIEEE802.3 0800IP 协议 0806ARP 协议 86DDIPv6 以太网帧格式 目的 MAC 地址6 字节源 MAC 地址6 字节类型2 字节数据45–1500 字节CRC 1.IP 数据报 目的 MAC 地址6B源 MAC 地址6B类型 0x0800IP 数据包CRC 2.ARP 请求应答 目的 MAC 地址6B源 MAC 地址6B类型 0x0806ARP 请求应答28BCRC 3.RARP 请求应答 目的 MAC 地址6B源 MAC 地址6B类型 0x0835RARP 请求应答CRC ICMP 协议差错控制协议 ARP 协议地址解析协议 实例 Ethernet_II 格式数据帧首部 14 bytes 00 0c 29 8b 37 da # 目标 MAC 地址 00:0c:29:8b:37:da 00 50 56 c0 00 08 # 源 MAC 地址 00:50:56:c0:00:08 08 00 # IP 协议 IP 协议数据包首部 网络层 总长度 20B IP 数据报格式如下图所示IP 数据报文由首部称为报头和数据两部分组成。首部的前一部分是固定长度共 20 字节如图所示前五行为 IP 首部是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段其长度是可变的。 实例 ip 协议头 20 字节 4 # 协议版本 ipv4 5 # ip 协议头长度 5 * 4 20 字节 00 # 服务类型 000-0-0-0-0-0 00 33 # ip 包总长度 hex dec 51 字节 28 5b # ID 号 40 00 # 标志与分片偏移量 0100 0000 0000 0000 DF 位为 1 不允许分包 偏移量为 0 80 # 生存时间 dec 128 06 # 协议号 TCP 协议 ba 80 # 头部校验和 0a 01 02 01 # 发送方 ip 10.1.2.1 0a 01 02 07 # 接收方 ip 10.1.2.7 ip 协议头 头部校验和计算方法 头部校验和置 0 对 IP 头部中的每 16bit 进行二进制求和 如果和的高 16bit 不为 0则将和的高 16bit 和低 16bit 反复相加直到和的高 16bit 为 0从而获得一个 16bit 的 值 将该 16bit 的值取反存入校验和字段。 TCP 协议头 传输层 图示 总长度 20B 实例 tcp 协议头 20 字节 30 39 # 源端口 12345 25 1e # 目的端口 9502 84 a4 e6 82 # 序列号 cf f2 ea 28 # 确认序列号 5 # 首部长度 5 * 32 / 8 20 bytes 0 1 8 # 000000 保留 011000 ACK1 PSH1 10 0a # 窗口大小 4106 7b 45 # 校验和 00 00 # URG0 无效 传输的数据 68 65 6c 6c 6f 20 77 6f 72 6c 64 # ascii 码 hello world 附录 每一个数据包都带有下一个数据包的编号。如果下一个数据包没有收到那么 ACK 的编号就不会发生变化。举例来说现在收到了 4 号包但是没有收到 5 号包。ACK 就会记录期待收到 5 号包。过了一段时间5 号包收到了那么下一轮 ACK 会更新编号。如果 5 号包还是没收到但是收到了 6 号包或 7 号包那么 ACK 里面的编号不会变化总是显示 5 号包。这会导致大量重复内容的 ACK。如果发送方发现收到三个连续的重复 ACK或者超时了还没有收到任何 ACK就会确认丢包即 5 号包遗失了从而再次发送这个包。通过这种机制TCP 保证了不会有数据包丢失。 UDP 协议 例题讲解 答案 填空1:00-80-c8-5a-e3-88 填空2:00-60-2f-87-01-03 填空3:44 填空4:20 填空5:24 填空6:140.128.100.116 填空7:140.128.99.5 填空8:63 填空9:6 填空10:tcp (1) Client 段和 Server 段的以太网网卡 48 位地址是 [填空 1] 和 [填空 2] 根据以太网数据帧OSI 二层的数据包头部分别是目的 MAC 地址6 字节、源 MAC 地址6 字节、类型2 字节所以根据上图 Frame#1 帧中的前 6 个字节是 Client MAC 地址紧接着 6 个字节是 Server 端地址。 分别是 填空 1:00-80-c8-5a-e3-88 填空 2:00-60-2f-87-01-03 (2) Frame#1 帧中封装的 IP 分组的总长度 [填空 3] 44 B 首部长度 [填空 4] 20 B IP 数据长度 [填空 5] 24 B Frame1 帧总长度 58 字节由于题干说已通过侦差错校验所以这个以太网帧不包含 FCS 帧4 字节 所以 IP 数据报的长度应该是 Frame1 帧总长度 58 字节减去以太网帧首部 14 字节IP 分组的长度应该是 44 字节IP 首部长度是固定不变的 20B记下来就行,IP 数据部分长度是 44B-20B24B (3) Client 段和 Server 段的 32 位 IP 地址用点分十进制格式表示[填空 6] 和 [填空 7]。 根据 Ip 数据包的 20 字节长度中 IP 地址的排列位置可知源 Ip 地址4 字节和目的 IP 地址4 字节分别在 20 字节的后八个字节中。58-14-20832从 Frame#1 帧中的倒数第 32 个字节两个 16 进制数是 1 个字节往后数 8 个字节。 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 a b c d e f IP 首部 20 个字节 58-14B帧首部44 字节IP 数据包20 字节IP 首部24上层数据 udp/tcp 8c 80 63 05 # client Ip 地址 140.128.99.5 10001100 10000000 01100011 00000101 140 128 99 5 8c 80 64 74 # server IP 地址 140.128.100.116 10001100 10000000 01100100 01110100 140 128 100 116 (4) Frame#1 帧中封装的 IP 分组和生存时间值是 [填空 8] 协议字段值是 [填空 9]。# 63 6 先从 Frame#1 帧中找到生存时间值1 个字节对应的十六进制数144422Frame#1 帧中的第 23 个字节就是 TTL 了。TTL 的十六进制数为 3f (0011 1111), 转换成十进制为 2^6-163 协议字段1 字节值的十六进制数为 06就是十进制的 6 了。 (5) IP 分组中封装的是 [填空 10] 的数据 # tcp 由于本题建立的是 TCP 链接所以以太网帧封装的是 TCP 段。 58-14Frame 帧头-20IP 包头24 字节 24 字节 - 20 字节TCP 头部长度4 (应用层数据)也即是 seq4 字节就是 TCP 三次握手中的第一次请求建立连接的一方 以太网数据帧详细解析 逐字节分析 Qazink 于 2020-08-25 21:18:49 发布 详细解析以太网通信数据帧 测试环境 机器名macipporttcp_server00:0c:29:8b:37:da10.1.2.79502tcp_client00:50:56:c0:00:0810.1.2.112345 抓包 客户端向服务端发送 hello world’ 原始数据帧 00 0c 29 8b 37 da 00 50 56 c0 00 08 08 00 # Ethernet_II 格式数据帧首部 45 00 00 33 28 5b 40 00 80 06 ba 80 0a 01 02 01 0a 01 02 07 # ip 协议头 30 39 25 1e 84 a4 e6 82 cf f2 ea 28 50 18 10 0a 7b 45 00 00 # tcp 协议头 68 65 6c 6c 6f 20 77 6f 72 6c 64 # data 以太网数据帧构成 Ethernet_II 格式数据帧首部 链路层 总长度 14B 字段名称长度 (byte)含义D.MAC6接收方 MAC 地址网络包接收方的 MAC 地址在局域网中使用这一地址来传输网络包S.MAC6网络包发送方的 MAC 地址接收方通过它来判断是谁发送了这个包Type2使用的协议类型。TCP 通信中 IP 协议与 ARP 协议较常见 0000-05DCIEEE 802.3 0800 IP 协议 0806 ARP 协议 86DD IPv6 实例 Ethernet_II 格式数据帧首部 14 bytes 00 0c 29 8b 37 da # 目标 MAC 地址 00:0c:29:8b:37:da 00 50 56 c0 00 08 # 源 MAC 地址 00:50:56:c0:00:08 08 00 # IP 协议 IP 协议数据包首部 网络层 总长度 20B 字段名称长度 (bit)含义版本号 (Version)4协议的版本一般的值为 0100IPv4 0110IPv6头部长度IHL4Header Length, 描述 IP 包头的长度 因为在 IP 包头中有变长的可选部分。长度 值 * 4 4bit 最大 ‘1111’ 15, IP 头长度为 20 - 60 (15 * 4) 字节服务类型ToS8Type of Service服务类型 8 位 按位被如下定义 PPP DTRC0PPP定义包的优先级取值越大越重要000 普通 (Routine)001 优先的 (Priority) 010 立即的发送 (Immediate) 011 闪电式的 (Flash) 100 比闪电还闪电式的 (Flash Override) 101 CRI/TIC/ECP (找不到这个词的翻译) 110 网间控制 (Internetwork Control) 111 网络控制 (Network Control)D 时延:0: 普通1: 延迟尽量小T 吞吐量: 0: 普通 1: 流量尽量大 R 可靠性: 0: 普通 1: 可靠性尽量大 M 传输成本: 0: 普通 1: 成本尽量小 0 最后一位被保留恒定为 0总长度16Total Length IP 包总长度以字节为单位计算的 IP 包的长度 (包括头部和数据)所以 IP 包最大长度 65535 字节ID 号16该字段和 Flag 和 Fragment Offest 字段联合使用对较大的上层数据包进行分段fragment操作。路由器将一个包拆分后所有拆分开的小包被标记相同的值以便目的端设备能够区分哪个包属于被拆分开的包的一部分。标志Flags3长度 3 比特。该字段第一位不使用。第二位是 DF Don’t Fragment位DF 位设为 1 时表明路由器不能对该 上层数据包分段。如果一个上层数据包无法在不分段的情况 下进行转发则路由器会丢弃该上层数据包并返回一个错误信息。第三位是 MFMore Fragments位当路由器对一个上层数据包分段则路由器会在除了最后一个分段的 IP 包 的包头中将 MF 位设为 1。分片偏移量13Fragment Offest 表示该 IP 包在该组分片包中位置接收端 靠此来组装还原 IP 包。生存时间TTL8当 IP 包进行传送时先会对该字段赋予某个特定的值。当 IP 包经过每一个沿途的路由器的时候每个沿途的路由器会将 IP 包的 TTL 值减少 1。如果 TTL 减少为 0则该 IP 包会被丢弃。 这个字段可以防止由于路由环路而导致 IP 包在网络中不停被转发。协议号8标识了上层所使用的协议。以下是比较常用的协议号 1 ICMP 2 IGMP 6 TCP 17 UDP 88 IGRP 89 OSPF头部校验和16Header Checksum 用来做 IP 头部的正确性检测但不包含数据部分。 因为每个 路由器要改变 TTL 的值所以路由器会为每个通过的数据包重 新计算这个值。发送方 IP 地址32Source Addresses 发送方 IP 地址。除非使用 NAT否则 整个传输的过程中这两个地址不会改变接收方 IP 地址32Destination Addresses 接收方 IP 地址。除非使用 NAT否则 整个传输的过程中这两个地址不会改变可选字段一般测试使用 实例 ip 协议头 20 字节 4 # 协议版本 ipv4 5 # ip 协议头长度 5 * 4 20 字节 00 # 服务类型 000-0-0-0-0-0 00 33 # ip 包总长度 hex dec 51 字节 28 5b # ID 号 40 00 # 标志与分片偏移量 0100 0000 0000 0000 DF 位为 1 不允许分包 偏移量为 0 80 # 生存时间 dec 128 06 # 协议号 TCP 协议 ba 80 # 头部校验和 0a 01 02 01 # 发送方 ip 10.1.2.1 0a 01 02 07 # 接收方 ip 10.1.2.7 ip 协议头 头部校验和计算方法 头部校验和置 0对 IP 头部中的每 16bit 进行二进制求和如果和的高 16bit 不为 0则将和的高 16bit 和低 16bit 反复相加直到和的高 16bit 为 0从而获得一个 16bit 的 值将该 16bit 的值取反存入校验和字段。 TCP 协议头 传输层 图示 总长度 20B 字段名长度 (bit)含义源端口号16发送网络包的程序的端口号目的端口号16网络包的接收方程序的端口号序列号 seq32发送的时候TCP 协议为每个包编号sequence number 简称 SEQ以便接收的一方按照顺序还原。万一发生丢包 也可以知道丢失的是哪一个包。 当前序列号 数据长度 下一个包的序列号确认序列号 ack32期待要收到下一个数据包的编号ack 与 seq 搭配确保数据的 完整性确认号只有 ACK 位为 1 时才有效。首部长度 (数据偏移量)4表示数据部分的起始位置也可以认为表示头部的长度保留6保留未使用控制位6该字段中的每个比特分别表示以下通信控制含义。URG表示紧急指针字段有效 ACK接收数据序号字段有效一般表示数据已被接收方接收 该位只有在连接未建立时为 0连接建立后始终为 1 PSH表示通过 flush 操作发送的数据指示接收方在接收到 该报文段以后应尽快将这个报文段交给应用程序而不是 在缓冲区排队。RST强制断开连接用于异常中断的情况 SYN同步序号用于建立连接过程在连接请求中发送 SYN1 和 ACK0 应答 SYN1 和 ACK1 FIN用于释放连接为 1 时表示发送方已经没有数据发送了 即关闭本方数据流。窗口16接收方告知发送方窗口大小即无需等待确认可一起发送的数据量校验和16用来检查是否出现错误紧急指针16只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。选项和填充不定最常见的可选字段是最长报文大小又称为 MSS Maximum Segment Size每个连接方通常都在通 信的第一个报文段为建立连接而设置 SYN 标志为 1 的那 个段中指明这个选项它表示本端所能接受的最大报 文段的长度。选项长度不一定是 32 位的整数倍所以要 加填充位即在这个字段中加入额外的零以保证 TCP 头是 32 的整数倍。数据可选 实例 tcp 协议头 20 字节 30 39 # 源端口 12345 25 1e # 目的端口 9502 84 a4 e6 82 # 序列号 cf f2 ea 28 # 确认序列号 5 # 首部长度 5 * 32 / 8 20 bytes 0 1 8 # 000000 保留 011000 ACK1 PSH1 10 0a # 窗口大小 4106 7b 45 # 校验和 00 00 # URG0 无效 传输的数据 68 65 6c 6c 6f 20 77 6f 72 6c 64 # ascii 码 hello world 附录 每一个数据包都带有下一个数据包的编号。如果下一个数据包没有收到那么 ACK 的编号就不会发生变化。 举例来说现在收到了 4 号包但是没有收到 5 号包。ACK 就会记录期待收到 5 号包。过了一段时间5 号包收到了那么下一轮 ACK 会更新编号。 如果 5 号包还是没收到但是收到了 6 号包或 7 号包那么 ACK 里面的编号不会变化总是显示 5 号包。这会导致大量重复内容的 ACK。 如果发送方发现收到三个连续的重复 ACK或者超时了还没有收到任何 ACK就会确认丢包即 5 号包遗失了从而再次发送这个包。通过这种机制TCP 保证了不会有数据包丢失。 UDP 协议 Qazink via: 以太网帧、IP数据报的图解格式包含相关例题讲解_以太网帧格式-CSDN博客 Rebecca.Yan 已于 2023-05-27 14:13:19 修改 https://blog.csdn.net/weixin_45440484/article/details/129667838 以太网数据帧详细解析 逐字节分析_以太网帧包括哪些字段?-CSDN博客 Qazink 于 2020-08-25 21:18:49 发布 https://blog.csdn.net/weixin_43197795/article/details/108229234
http://www.w-s-a.com/news/323607/

相关文章:

  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路
  • 一 电子商务网站建设规划网站开发前端框架和后端框架
  • 自助网站建设系统软件自己免费建设网站
  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件
  • 个人淘宝客网站如何备案搭建一个平台要多少钱
  • nginx 网站建设淘客网站怎么做首页
  • 网站制作的基本步骤是手机网站建设 新闻
  • 水墨 网站源码工装
  • 任丘网站建设服务网站 建设原则
  • 长沙做一个网站要多少钱网站底部备案代码
  • wordpress构建自定义设置页面seo培训学什么
  • 延安有哪些做网站的公司如何建设网站?
  • 网站建设者属于广告经营者吗网站管理程序
  • 网站内容优化方法深圳市宝安区怎么样
  • 视频网站开发视频公司网站制作多少钱
  • 单页简洁手机网站模板购物软件
  • 素材网站官网低价网站建设费用预算
  • 苏州网站设计kgwl个人网站有什么外国广告做
  • 浙江省网站建设报价简单网站开发工具
  • 物流网站的建设wordpress电视直播插件下载
  • 简述网站开发流程青岛做网站建设价格低
  • 网站开发的业务需求分析杭州推广公司
  • 网站建设技术实现难点app开发需要哪些软件
  • 响水建设局网站做网站需要会哪些知识
  • 企业制作企业网站个人网站可以做百度竞价
  • 做网站找投资人wordpress 5 主题教程
  • 做国外网站汇款用途是什么wordpress图片主题晨曦