A类地址 : 0.0.0.0 ~ 127.0.0.0

B类地址 : 128.0.0.0 ~ 191.255.0.0

C类地址 : 192.0.0.0 ~ 223.255.255.0

划分子网之后的IP地址

IP地址 = {, , }

例如某单位拥有一个B类IP地址, 145.13.0.0, 但凡目的地址为145.13.x.x的数据报都会被送到这个网络上的路由器R. 内部划分子网后变成 : 145.13.3.0, 145.13.7.0, 145.13.21.0. 但是对外仍表现为一个网络, 即145.13.0.0. 这样路由器R收到报文后, 再根据目的地址发到对应的子网上.

子网掩码

一般由一串1和一串0组成, 不管网络有没有划分子网, 将子网掩码和IP地址做按位与运算即可得出网络地址.

所有的网络都必须使用子网掩码, 同时在路由表中必须有子网掩码这一栏. 如果一个网络不划分子网, 那么该网络的子网掩码就是默认的子网掩码.

A类地址的默认子网掩码为255.0.0.0

B类地址的默认子网掩码为255.255.0.0

C类地址的默认子网掩码为255.255.255.0

尽管划分子网增加了灵活性, 但是却减少了能够连接在网络上的主机总数.

构成超网的IP地址

IP地址 = {, }

使用网络前缀, 无分类域间路由选择CIDR

例如, 128.14.35.7/20, 意思是前20位为网络前缀, 后12位为主机号. 另外, CIDR把网络前缀相同的连续的IP地址组成一个”CIDR地址块”

地址掩码 : CIDR使用32位的地址掩码, 类似于子网掩码.

IP数据报

在网络层, 数据是以IP数据报(IP分组)的形式传输的

IP数据报的格式

首部前20字节为固定长度, 是所有IP数据报必备的. 后4字节是可选字段, 其长度可变.

IP数据报首部固定的字段分析 :

版本号 : IP协议的版本, IPv4或IPv6

首部长度 : 记录了首部的长度, 最大为1111, 即15个32位字长, 即60字节. 当首部长度不是4字节的整数倍时, 需要使用最后的填充字段加以填充.

服务类型 : 一般无用

总长度 : 指首部和数据之和的长度. 最大为216-1 = 65535字节. 但是由于数据链路层规定每一帧的数据长度都有最大长度MTU, 以太网规定MTU为1500字节, 所以超出范围的数据报就必须进行分片处理

标识 : 每产生一个IP数据报, 计数器就+1, 并将此值赋值给标识字段. 再以后需要分片的数据报中, 标识相同说明是同一个数据报

标志 : 占3位, 最低位记为MF(More Fragment). MF = 1说明还有分片; MF = 0说明这已经是最后一个分片. 中间一位记为DF(Don’t Fragment), 意思是不能分片. 只有当DF = 0时才允许分片.

段位移 : 又称片位移, 相对于用户数据字段的起点, 该片从何处开始. 片位移以8个字节为偏移单位. 所以, 每个分片的长度一定是8字节的整数倍.

生存时间 : TTL(Time To Live). 数据报能在因特网中经过路由器的最大次数为255次, 每经过一个路由器则TTL – 1, 为0时丢弃该报文.

协议 : 记录该报文所携带的数据是使用何种协议.

首部检验和 : 只检验数据报的首部, 不检验数据部分. 不为0则丢弃报文.

源地址和目的地址 : 不解释

IP层转发分组的流程

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/tongxinshuyu/article-72995-2.html

计算机网络长度,以太网中mtu默认长度 你应该知道的计算机网络知识(2)相关推荐

  1. 计算机网络:以太网中的MTU与MSS

    以太网(Ethernet)最大的数据帧是1518字节.以太网帧的帧头的14字节和帧尾CRC校验4字节共占了18字节,剩下的承载上层协议的地方也就是Data域最大就只剩1500字节.这个值我们就把它称之 ...

  2. html文本最小长度,CSS中处理不同长度文本的几种小技巧

    CSS中处理不同长度文本的几种小技巧 [推荐教程:CSS视频教程 ] 当我们使用 CSS 构建布局时,考虑长短文本内容很重要,如果能清楚地知道当文本长度变化时需要怎么处理,可以避免很多不必要的问题. ...

  3. mysql url 长度_http中url的长度限制

    get 请求中url的最大长度限制 在网上查询之后,浏览器和服务器对url长度都有限制,现总结如下. 浏览器 1.IE IE浏览器(Microsoft Internet Explorer) 对url长 ...

  4. php 获取array的长度_php中获取数组长度的方法

    php中获取数组长度的方法 php获取数组长度的方法,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度,还有获取二维数组的方法,在php中获取数组长度方 ...

  5. android读取文件字符串长度,Android中最大文件名长度

    我正在尝试为正在创建的文件命名. 我只想知道 Android中最大文件名长度是多少? 有文件名规范吗? 我可以使用-或>之类的字符吗? 在Android上使用超过127字节的标签显然是不安全的. ...

  6. php的数组长度,php中获得数组长度的方法

    php中获得数组长度的方法 count统计数组里元素的个数: strlen是统计数组中元素的长度: 你如果想统计数组中所有元素的长度,那就用循环统计吧tqeb 代码: $a  =  array('0' ...

  7. mysql int数据类型长度_mysql中int数据类型长度的问题

    在定义了mysql中int数据类型后,后面填写的长度有什么用呢?下文将对mysql中int数据类型长度进行详细的介绍,希望对您能有所帮助. mysql中int数据类型长度最大为11位,最少为4位,不够 ...

  8. java 数组对象长度_Java中的数组长度:关于Java中数组长度的所有信息

    Java中的数组可以包含多个元素,这取决于对象是如何创建的.为了让用户执行不同的操作,必须知道数组的长度.这篇关于"Java中的数组长度"的文章旨在让我们熟悉用于获取数组长度的操 ...

  9. mysql表date类型长度_mysql中数据类型的长度解释

    11.2. 数值类型 MySQL支持所有标准SQL数值数据类型.这些类型包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT.RE ...

  10. mysql 联合索引长度_MySQL 中索引的长度的限制

    单列索引的长度的限制 (5.6里面默认不能超过767bytes,5.7不超过3072bytes): 起因是256×3-1=767.这个3是字符最大占用空间(utf8).但是在5.5以后,开始支持4个字 ...

最新文章

  1. leetcode 24: 两两交换链表中的节点
  2. Unknown lifecycle phase mvn
  3. 在路上---一个平凡人的2015年总结及2016年展望
  4. HTTP错误汇总及其解决方法
  5. Android中自定义xml文件给Spinner下拉框赋值并获取下拉选中的值
  6. 第二课 决策树与随机森林
  7. {转载}非程序员的GNU Emacs使用心得
  8. 4款深度学习框架简介,初学者该如何选择?
  9. go语言net包rpc远程调用的使用
  10. linux 跟踪运行的进程,使用 Linux 的 strace 命令跟踪/调试程序的常用选项
  11. windows10查看本机IP脚本
  12. 日常计算机使用的需求和解决方案(一)
  13. EA6900刷梅林教程超详细
  14. BSN区块链服务网络介绍
  15. 《皇帝内经》养生法则
  16. R 和 rgl 绘制 3D 结
  17. 生活随记-很有意思的评论
  18. 我爱过你吗--我看美丽心灵的永恒阳光
  19. Swagger3/thinkphp6教程
  20. 阿里云——云迁移中心

热门文章

  1. Python报错:ImportError: cannot import name 'downsample'
  2. MySQL45讲学习笔记(二)
  3. leecode试题 178. 分数排名
  4. 员工考勤iPhone客户端1.0版简介
  5. android画布橡皮,Android画板开发之橡皮擦功能
  6. 有哪些wordpress企业网站主题推荐?
  7. 如何在php网站上插入站长统计,如何为自己的Wordpress网站添加站长统计代码 | 泰泰博客...
  8. 计算机学院毕业语录,毕业的句子简单到哭的_毕业语录
  9. python获取12306火车票_Python脚本实现12306火车票查询系统
  10. mysql innerdb 索引,MySQL系列-InnoDB索引优化AHI、Change buffer