学习是快乐的--ip层笔记

周末闲着的时候看看TCP/IP的经典教程。写了些关于ip层的学习笔记希望有机会和大家交流。

 

ip特点:不可靠,无连接

ip是一个不可靠的传输协议。 如果一个路由发生错误,ip将抛弃此数据。
ICMP会发送消息给信源端。在tcp/ip中数据传输的可靠性主要依赖于上层协议。

ip并不维护任何关于后续数据报的状态信息。每个数据报处理是独立的。数据的接收顺序可

能并不同于数据的发送顺序。 所以在设计时应注意此点。

ip报文 详解见 本路径下ip报文图

                                                总字节数
版本       首部长度     TOS     总长度    标识       标志  片偏移   TTL      协议       首部校验和
  4bit(4)        4bit (5)        8bit      16bit         16bit         3bit    13bit        8bit       8bit          16bit

源ip         目的ip      【此前为ip首部 总计20字节】  TOS=服务类型    TTL=数据生存时间
32bit          32bit

选项         数据         【以下为ip数据】
不定长   不定长

ip数据以大端顺序传输 即 高字节存放在 0位 从左至右,从高到低为 0~7bit  -- 24~31bit
此顺序成为网络字节序

ip数据报文的最传输单元(MTU)是65535字节。这是由ip报文总长度字段所决定的。

ip报文在实际传输中会被链路层做分片处理。主机也不能接收超过576字节的数据报。

选项定义:
安全和处理限制  (RFC 1108[Kent 1991])
记录路径               (让每个路由器记下它的ip地址)
时间戳                   (让每个路由器都记下它的ip地址和时间)
宽松的源站选路  (为数据报指定一系列必须经过的ip地址)
严格的源站选路  (与宽松的源站选路类似,但要求只能经过指定的这些地址,不能经过其他

地址)

ip字段以32bit为界限,在必要时插入0填充字节。ip首部始终是32bit的整数倍。

ip层可以决定设备为哪种类型,如主机或路由器等。


所有的多用户操作系统都可以配置成路由器。主机和路由的最大区别在于主机不从自己的接

收端口转发数据报。

ip报文传输机制
ip层在每次接收到并转发数据前,会先搜索自己内存中的路由表。当数据报来自某个网络接

口时,ip首先检查目的ip地址是否为本机的ip地址之一或者是ip广播地址如果是,数据报就被

送到ip首部协议字段所指定的协议模块进行处理;否则,如果数据报是发送给ip层被设置为路

由器功能的则设备对数据进行转发,如果不则抛弃此报文。

路由表的样子
目的ip:可以是一个主机ip也可以是一个网络ip
下一跳:可以是一个直连的主机也可以是一个路由器
标志:     一个用来指明目的ip是主机还是网络,另一个用来指明下一跳是直连主机还是路由

器。这个标志其实就是子网掩码。
为数据报的传输指定的一个端口号


ip选路工作过程
1.  搜索路由表,寻找能与目的ip地址完全匹配的表目(网络号和主机号都完全匹配)如果找到则

把报文发送到下一跳。
2.  搜寻路由表,寻找能与网络号完全匹配的表目,如果找到,把报文发送给该表目。在这步

中也有可能将数据发送给某个主机。这要看路由表中的标志字段是怎样设置的。
3.  搜索路由表,寻找默认表目。找到把报文发送给该表目指定的下一站路由器。

如果以上步骤都失败,那么数据报将不能被传送。如果该数
据来自本机那么通常会向生成数据报的应用程序返回一个 主机不可达或网络不可达的错误。

路由器的每个端口绑定一个网络而不是一台主机。这是ip选路机制的另一个特性。

默认路由的ip体现在数据链路层的首部中,ip首部的目的ip始终是数据最终的出口ip。而数据

链路层首部中的ip会随着每次跳转发生变化。

关于ip选路默认路由的几点总结:
1.  大多数的主机和一些路由器可以用默认路由来处理任何目的,除非他在本地局域网上。
2.  数据报中的ip地址始终不发生变化。所有的路由选择决策都是基于这个ip地址
3.  每个链路层可能具有不同的数据帧首部,而且链路层的目的地址始终是下一站的链路层地

址。


子网掩码的作用
子网掩码是用来扩充网络挂载主机能力的一种编码。由于B类之后的ip地址可分配主机地址非

常有限,为了最大限度的扩充ip地址挂载主机的能力,需要使用子网掩码将B类之后的ip地址

扩充为多个子网,这样每个子网又可以挂载多个主机。用这种方法来解决ip不足的问题。

子网掩码规定全1表示子网,全0表示主机。

子网寻址
由于A类B类C类ip地址的高字节不同,所以先比较ip地址的高字节可判断出该ip地址属于哪一

类。之后判断子网掩码中全1位来区分不同的子网,最用通过全0位找到特定的主机。

例子:
ip:140.252.1.1  mask:255.255.255.0
ip:140.252.4.5  mask:255.255.255.0

由于以上ip为B类地址,所以从地16bit开始判断全1位有多少个,以此来确定子网号。上面的

mask中全1位从bit 16到 bit 23。 所以可以判定子网号位点分10进制的第3位。以上ip的子网一个

为1另一个为4。如果子网相同则再向后比较主机位。

变长子网掩码
变长子网掩码用于对以划分子网的网络进一步细化分割。如一个C类ip已经被划分为一个子网

,如果希望能在这个子网内再进行进一步的细化分割那么就可以使用变长子网掩码技术。通

过改变子网掩码中主机个数也就是0位的个数来细化子网。这几个子网互相独立但对该ip地址

以外的主机或网络来说又是透明的。
例子:
如192.168.0网段可以线划分为一个含有253台主机的子网。这样配置的掩码是:255.255.255.0
这个子网又可以进一步划分为一个含有100台主机的子网和一个含有50台主机的子网。这两个

子网的掩码分别为255  . 255  . 255   .128           和 255  .   255   .   255   .  192
                                 0xFF  0xFF  0xFF 1000 0000      0xFF   0xFF     0xFF    1100 0000
                                 最多127-2台主机                      最多63-2台主机

通过子网掩码可以区分出ip地址是网络还是主机
如一个ip:140.252.13.64  mask:255.             255.                255.                  0
                                                                           1111 1111 1111 1111   1111         1111 0000         0000
                                                                           |<---    B类ip      --->|   |<--子网号-->|  |<-- 主机号-->|    
那么上面的那个ip地址就是B类网络140.252中13子网的第64台主机
如果    ip:140.252.13.64  mask:    255.         255.               255.       224
                                                                           1111 1111 1111 1111   1111         1111 111         00000
                                                                           |<---    B类ip      --->|   |<--    子网号   -->|  |<-- 主机号-->|    
那么上面的那个ip地址就是B类网络140.252中13子网下的第64个子网
这个子网中的第一台主机的ip就是140.252.13.65

 

 

还有两张贴图一张是路由表,一张是ip报文的样子

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值