2.5.6. ip协议

分类寻址:

IPV4被分为五大类:ABCDE,商业应用中只用到A、B、C三类。
A类为:点分四组中的第一组地址范围为0~127的IP地址。已二进制来看就是“首位为0”
B类:128~191.二进制首位为10
C类:192~223.二进制首位为110
D类:224~239.二进制首位为1110
E类:240~255.二进制首位为1111

A类:0.0.0.0~127.255.255.255
B类:128.0.0.0~191.255.255.255
C类:192.0.0.0~223.255.255.255
D类:224.0.0.0~239.255.255.255
E类:240.0.0.0~247.255.255.255

内网地址范围(RPC1918):

A类 10.0.0.0到10.255.255.255
B类 172.16.0.0到172.31.255.255
C类 192.168.0.0到192.168.255.255
../../_images/ip_addr1.png

IP协议:

IP协议是TCP/IP协议的核心
所有的TCP, UDP, ICMP, IGCP的数据都以IP数据格式传输
../../_images/ip_1.png

八位的TTL字段:

这个字段规定该数据包在穿过多少个路由之后才会被抛弃
某个ip数据包每穿过一个路由器,该数据包的TTL数值就会减少1,当该数据包的TTL成为零,它就会被自动抛弃这个字段的最大值也就是255,也就是说一个协议包也就在路由器里面穿行255次就会被抛弃了,根据系统的不同,这个数字也不一样,一般是32或者是64
Tracerouter这个工具就是用这个原理工作的,tranceroute的-m选项要求最大值是255

IP路由选择:

路由器或者主机将会用如下的方式来处理某一个IP数据包:
1.如果IP数据包的TTL(生命周期)以到,则该IP数据包就被抛弃
2.搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一致的目标主机,则将该包发向目标主机
3.搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要“子网掩码(1.3.)”的协助。如果找到路由器,则将该包发向路由器。
4.搜索路由表,如果匹配同子网路由器失败,则匹配同网号(第一章有讲解)路由器,如果找到路由器,则将该包发向路由器。
5.搜索路由表,如果以上都失败了,就搜索默认路由,如果默认路由存在,则发包
6.如果都失败了,就丢掉这个包。

子网寻址:

IP地址 = 网络号码+子网号+主机号
如一个B类IP:210.30/16
子网掩码为:255.255.255.0
那一个确定的ip:210.30.109.134
210.30是网络号
134主机号
109是子网号码

IP选路,动态选路

静态IP选路:

% 一个简单的路由表
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.11.0    *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.11.1    0.0.0.0         UG    0      0        0 eth0

五种不同的flag:

U表明该路由可用
G表明该路由是到一个网关
  如果没有这个标志,说明和Destination是直连的
  而相应的Gateway应该直接给出Destination的地址
H表明该路由是到一个主机
  如果没有该标志,说明Destination是一个网络
  换句话说Destination就应该写成一个网络号和子网号的组合,而不包括主机号(主机号码处为0)
  例如 192.168.11.0
D表明该路由是为重定向报文创建的
M该路由已经被重定向报文修改