码迷,mamicode.com
首页 > 其他好文 > 详细

tcpip第三章

时间:2017-10-06 18:38:19      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:不同   icmp   程序   个数   搜索   不同的   stat   并且   长度   

1,ip协议不可靠、无连接特性介绍

不可靠:计算机A往计算机B发送数据报1,若途径的路由器缓存已满,或者ttl(time to live 生存周期)到了,则路由器直接丢弃数据包1,并产生icmp数据包返回给计算机A。

无连接:计算机A向计算机B发送数据报1,2.其中数据包1先于数据包2发送。由于无连接性,两个数据包是独立发送的,故数据包2可能比数据包1先到达计算机B。

2,IP数据报格式:

技术分享

4位版本:区分ipv4和ipv6

4位首部长度:单位4字节,4位可以有16个值。16*4为64.即理论上IP数据报的首部长度最大为64字节。但书本说最大有60个字节,未说明原因。知道原因的小伙伴谢谢指正。

8位服务类型如下:

技术分享

16位IP数据报总长度。利用首部长度和总长度,可以知道数据内容的起始位置和长度。并且我们知道,IP数据报的长度最小为46字节(以太网MTU为46-1500字节)。有些情况下,数据内容不足以到达46字节的时候,需要填充一些数据已达到这个要求。这时候就需要通过总长度来区分非填充的数据。

16位标识:每个ip数据报都有个唯一的标识。初始值设置为系统引导时的时间。每发送一份数据报该值都会加1.

3位标志和13位偏移量后面讲分片时候再讲。

ttl:路由器的最大跳数。每经过一个路由器,ip数据报的ttl减1,当ttl减到0,路由器将丢弃该数据报,并产生一个icmp数据报给源主机。ttl的初始值一般为32或64.

16位的CRC(首部检验和):将首部每两个字节进行反码,所得的结果求和后记录为CRC,当经过路由器后,ttl减1,CRC加1.这样保证当数据报到达目的主机可以根据CRC值来判断数据报是否出现错误。CRC全为1时正确的。若不正确,则直接丢弃该数据报,不产生icmp数据报。可以通过上层协议解决可靠性。

选项:都是4字节的。主要功能:时间戳、宽松源站选路、严格源站选路等。不同的机器实现不同,所以选项功能一般不通用。

3,路由表:所含字段

目的主机/网络IP地址、下一跳路由器IP地址、发送接口、标志

目的主机/网络:网络地址,主机号为0.

下一跳路由器IP地址:所需要经过的下一跳路由器ip地址。

发送接口:一个主机可能有多个接口,我们称之为多接口主机。需要指定以哪一个接口发送到下一跳路由器。

标志:标志一个目的主机/网络IP地址时主机地址还是网络地址。也可以标志下一跳路由器时否为最终路由器。

4,搜索路由表的简单算法:

寻找是否有与目的IP地址完全匹配的表目,如果有,则直接按照该表目指定的接口发送到指定的下一跳路由器。

否则,寻找是否有与目的IP地址网络号匹配的表目,如果有,如上所述的操作。

否则,寻找路由器的默认表目,如果有,如上所述的操作。

否则,给应用程序返回主机不可达或网络不可达。

技术分享技术分享

5,子网掩码

技术分享

通过IP地址可以确定是哪类IP地址(A、B、C、D、E),通过哪类IP地址可以确定网络号与子网号的界限,通过子网掩码可以确定子网和号的界限。子网可以减少外网路由器的路由表规模。试想,30个c类地址可以通过一个B类地址(划分30个子网)来实现。从而减少外部路由器的路由表规模。当然对于内网路由器的路由表时不透明的。

6,ifconfig、netstat命令可以查看网络接口信息。

7,IP的未来

CIDR(无类别的域间选择)。第十章进行介绍。

 

tcpip第三章

标签:不同   icmp   程序   个数   搜索   不同的   stat   并且   长度   

原文地址:http://www.cnblogs.com/zhoubiao20170424/p/7631895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!