开发者社区> 小威要向诸佬学习呀> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CSMA/CD协议

简介: CSMA/CD协议
+关注继续查看

1.4.3 IP数据报
IP数据报格式:

名称 注释 大小
版本 Version ipv4或者ipv6 4位
首部长度 IHL 此处数值再乘以4才是真正大小,同时因为IP数据报固定长度为20字节,所以此处最小值为5,即二进制的0101 4位
区分服务 DSCP + ECN 希望获得哪种服务,用的比较少 8位
总长度 Total Length 首部+数据的长度,最大为2^16-1=65535 16位
标识 Identification 用来表示是哪一个数据报的分片,不同的分片标识各不相同 8位
标志 Flags 用来表示是否分片和分片是否结束 3位,但实际有用的只有后两位
片偏移 Fragment Offset 用来标记分片之后,该分片在原来的数据报的位置,以8字节为单位 13位
生存时间 Time To Live 即TTL,没经过一个路由器TTL-1,0时自动放弃,根据系统不同默认的TTL不同 8位
协议 Protocol 用来标记协议名的字段值,如TCP,UDP,ICMP等等 8位
首部检验和 Header Checksum 检验首部的字段是否出错,出错就丢弃此数据报
源地址 Source IP Address 发送方ip地址 32位
目的地址 Destination IP Address 接收方ip地址 32位
可选字段 Options 用来排错等安全检测 未知,可在0-40位之间
填充 将数据报对齐成4字节的整数倍,数值全部为0 未知,根据可选字段来定
计算偏移量时记住是以0开始的就行,以每一篇最开始的除以8得到的数值就是偏移量
解释一下
为什么A类最大是126.xxx.xxx.xxx?
因为网络号最开始第一位是0,一共八位,所以二进制表示位0xxxxxxx,最大就是2^7-1=127,但是因为127.xxx.xxx.xxx是特殊ip地址,所以将其去掉
为什么B类最大是191.255.xxx.xxx?
因为网络号最开始第一位是10,一共八位,所以二进制表示位10xxxxxx,最大就是10111111=191,最小就是10000000=128,无特殊ip地址
为什么C类最大是223.255.xxx.xxx?
因为网络号最开始第一位是110,一共八位,所以二进制表示位110xxxxx,最大就是11011111=223,最小就是10000000=192,无特殊ip地址
1.4.4.2 子网划分和子网掩码
1.4.4.2.1 子网划分和子网掩码
总结一下,就是ip利用率太低造成对ip资源的浪费,所以需要子网划分提高ip利用率
1.4.4.2.2 子网掩码
子网掩码就是用来和ip地址一起计算子网的地址的
方法就是讲子网掩码逐位写成二进制然后而原来ip地址进行与运算,就可以得到子网ip地址
因为255是11111111,所以如果写着255的话,ip地址和子网ip地址对应的地方的数值就相同
这道题可以看出来,即使子网掩码不同,相同ip地址对应的子网ip地址也可能相同
但是子网掩码不同,划分的子网数目不同
为什么划分的子网数目不同?或者说怎么算划分的子网位数目?
以255.255.192.0为例,255是11111111即八个1,192是11000000即2个1,一共是82+2=18个1,一共有32位地址,所以剩余有32-18=14位
以255.255.224.0为例,255是11111111即八个1,224是11100000即3个1,一共是82+3=19个1,一共有32位地址,所以剩余有32-19=13位
注释:
1.这里特定主机路由就是指找特定的处理这里这个ip地址的路由
2.默认路由会将这个数据报发给另一个路由,直至找到对应的路由,或者TTL耗尽被丢弃
使用CIDR可以聚合网络
如图,通过缩短前缀,R1和R2就可以合并在206.1.0.0/16的子网下
但是这样转发表之中就会有多个匹配结果,所以我们使用最长前缀匹配

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
物联网协议的王者:MQTT
MQTT是一种轻量级的开放式消息传递协议,它为资源受限的网络客户端提供了一种在低带宽环境中分发遥测信息的简单方法,采用发布/订阅通信模式,用于机器对机器 ( M2M ) 通信。
68 0
浅谈物联网开发最热协议—MQTT协议
浅谈物联网开发最热协议—MQTT协议
141 0
DTD的编写
DTD的编写
34 0
我的mqtt协议和emqttd开源项目个人理解(12) - Hook使用和连接Kafka发送消息,使用ekaf库
我的mqtt协议和emqttd开源项目个人理解(12) - Hook使用和连接Kafka发送消息,使用ekaf库
107 0
我的mqtt协议和emqttd开源项目个人理解(14) - 使用redis插件来实现访问控制
我的mqtt协议和emqttd开源项目个人理解(14) - 使用redis插件来实现访问控制
148 0
我的mqtt协议和emqttd开源项目个人理解(5) - hook的使用,源码分析
我的mqtt协议和emqttd开源项目个人理解(5) - hook的使用,源码分析
54 0
消息推送标准协议:MQTT
随着物联网(Internet of Things,IoT)的兴起,机器之间(Machine-to-Machine,M2M)的大规模信息沟通成为重要的课堂,之前HTTP的请求/回答(Request/Response)模式不再合适,取而代之的是发布/订阅(Publish/Subscribe)模式。
5568 0
+关注
小威要向诸佬学习呀
每天保持进步就好
64
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载