IP协议
2015-09-23 22:30
183 查看
IP 协议
IP数据报首部的固定部分的各字段
1)版本:占4位,指IP协议的版本
2)首部长度:占4位,可表示最大数15,首部最大长度15*4字节=60字节,最小值5,
因此首部最小值是5*4字节=20字节
3)区分服务:占8位,前三位是优先权(现在已经被忽略),最后一位是未用位必须
置0,中间4位分别是最小时延、最大吞吐量、最高可靠性、最小费用(4位只能选择
一位置1)。
4)总长度:占16位,单位为字节,故最大长度=2^16-1=65535字节
5)标识:占16位,每产生一个数据报就自增一,若数据报要进行分片时,每片都是
该标识,数据报能够正确的重装成为原来的数据报。
6)标志:占3位,目前只有两位有意义,中间位DF:表示不能分片,DF=0表示能够
分片,末位MF=1表示还有分片的数据报,MF=0表示这是最后一个分片。
7)片偏移:占13位,单位是字节,表示相对于用户数据报起点的相对位置。
8)生存时间:占8位,路由器在转发之前就会将TTL减一,若是TTL位零则把数据报
丢去,若数据报的TTL=1,则说明该数据报只能在局域网内传播。
9)协议:占8位,协议字段指出该数据报携带的数据使用何种协议。
10)首部校验和:占16位,只检验数据报的首部,但不包括数据部分。检验方法:将
首部按照16位分段,所有的字段一起进行反码运算将结果输入校验部分。接收方同样
采用上述方法,将最后的结果取反,此结果为0则说明数据没有错,否则说明传输出错。
IP 层转发分组流程
1、没有划分子网的
1)从数据报的首部提取目的站的ip地址D,得出目的网络地址为N。
2)若N就是与此路由器直接相连的某个网络地址,则这种交付为直接交付,即不需
要再经过其它的路由器。这时就直接通过该网络将数据报交付给目的站D(这里包
括将目的主机地址D转换为具体的硬件地址,将数据报封装为MAC帧,再发送此帧);
否则就是间接交付,执行(3)。
3)若路由器表中有目的地址为D的特定主机路由,则将数据报传送给路由表中所指
明的下一跳路由器;否则,执行(4)。
4)若路由表中有到达网络N的路由,则将数据报传送给路由表中所指明的下一跳路
由器;否则,执行(5)。
5)若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;
否则,执行(6)。
6)报告转发分组出错。
2、具有子网掩码的
1)从收到的数据报的首部提取目的ip地址D。
2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子
网掩码和D逐比特相与,看结果是否和相应的网络地址匹配。若匹配,则将分组进
行直接交付(需要将D转换成物理地址,将数据报分装成帧发送出去),转发任务结
束。否则就是间接交付,执行(3)。
3)若路由表中有目的地址为D的特定主机路由,则将数据报传送给路由表中所指明
的下一跳路由器;否则,执行(4)。
4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),将其中的子网
掩码和D逐比特相与,其结果为N。若N与该行目的网络地址匹配,则将数据报传送给该
行指明的下一跳路由器;否则,执行(5)。
5)若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;
否则,执行(6)。
6)报告转发分组出错
IP数据报首部的固定部分的各字段
1)版本:占4位,指IP协议的版本
2)首部长度:占4位,可表示最大数15,首部最大长度15*4字节=60字节,最小值5,
因此首部最小值是5*4字节=20字节
3)区分服务:占8位,前三位是优先权(现在已经被忽略),最后一位是未用位必须
置0,中间4位分别是最小时延、最大吞吐量、最高可靠性、最小费用(4位只能选择
一位置1)。
4)总长度:占16位,单位为字节,故最大长度=2^16-1=65535字节
5)标识:占16位,每产生一个数据报就自增一,若数据报要进行分片时,每片都是
该标识,数据报能够正确的重装成为原来的数据报。
6)标志:占3位,目前只有两位有意义,中间位DF:表示不能分片,DF=0表示能够
分片,末位MF=1表示还有分片的数据报,MF=0表示这是最后一个分片。
7)片偏移:占13位,单位是字节,表示相对于用户数据报起点的相对位置。
8)生存时间:占8位,路由器在转发之前就会将TTL减一,若是TTL位零则把数据报
丢去,若数据报的TTL=1,则说明该数据报只能在局域网内传播。
9)协议:占8位,协议字段指出该数据报携带的数据使用何种协议。
10)首部校验和:占16位,只检验数据报的首部,但不包括数据部分。检验方法:将
首部按照16位分段,所有的字段一起进行反码运算将结果输入校验部分。接收方同样
采用上述方法,将最后的结果取反,此结果为0则说明数据没有错,否则说明传输出错。
IP 层转发分组流程
1、没有划分子网的
1)从数据报的首部提取目的站的ip地址D,得出目的网络地址为N。
2)若N就是与此路由器直接相连的某个网络地址,则这种交付为直接交付,即不需
要再经过其它的路由器。这时就直接通过该网络将数据报交付给目的站D(这里包
括将目的主机地址D转换为具体的硬件地址,将数据报封装为MAC帧,再发送此帧);
否则就是间接交付,执行(3)。
3)若路由器表中有目的地址为D的特定主机路由,则将数据报传送给路由表中所指
明的下一跳路由器;否则,执行(4)。
4)若路由表中有到达网络N的路由,则将数据报传送给路由表中所指明的下一跳路
由器;否则,执行(5)。
5)若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;
否则,执行(6)。
6)报告转发分组出错。
2、具有子网掩码的
1)从收到的数据报的首部提取目的ip地址D。
2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子
网掩码和D逐比特相与,看结果是否和相应的网络地址匹配。若匹配,则将分组进
行直接交付(需要将D转换成物理地址,将数据报分装成帧发送出去),转发任务结
束。否则就是间接交付,执行(3)。
3)若路由表中有目的地址为D的特定主机路由,则将数据报传送给路由表中所指明
的下一跳路由器;否则,执行(4)。
4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),将其中的子网
掩码和D逐比特相与,其结果为N。若N与该行目的网络地址匹配,则将数据报传送给该
行指明的下一跳路由器;否则,执行(5)。
5)若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;
否则,执行(6)。
6)报告转发分组出错
相关文章推荐
- [笔记] Convex Optimization 2015.09.16
- Properties类与读取properties文件
- 2015阅读计划
- Android 颜色对照表
- 伍德里奇计量经济学导论之计算机操作题的R语言实现(简单线性回归)
- Poj.2546 Circular Area【两圆相交面积】 2015/09/23
- 网络请求封装2
- AngularJS学习资源
- 接口测试工具篇随笔20150923
- 通过Canonical标签解决重复内容收录
- 通过Canonical标签解决重复内容收录
- 安卓学习之路之服务的简单的使用
- ZOJ.1597 Circular Area【两圆相交面积】 2015/09/23
- Synchronized详解
- DP?(数论+组合数学综合题:组合数性质+预处理+组合数取摸)
- 对实体--联系模型比较深入的认识
- 2015年9月23日工作日志-------------赵鑫
- 【J2EE系列】—徒手建立Web应用(HTML+Servlet+Tomcat)
- 开篇感想
- JavaScript 三种创建对象的方法