(一)IP协议
IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP、IGMP数据都是以IP数据报格式传输。
1. IP协议特点
IP协议的特点是,提供不可靠、无连接的数据报传送服务。
- 不可靠,它不能保证IP数据报能成功地到达目的地。任何要求的可靠性必须由上层来提供(如TCP)。
- 无连接,IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。
三个有用的命令:ifconfig
、netstat
、route
IP协议要求在网络中传输时要求以 big endian 字节序,即网络字节序。在传输数据前必须转换成网络字节序。
2. IP路由选择
2.1 路由表
# 查看和修改IP路由表
route - show / manipulate the IP routing table
路由表主要包含下面这些信息:
- 目的IP地址
- 下一站(或吓一跳)路由器的IP地址,或有直接连接的网络IP地址
- 标志
- 为数据报的传输指定一个网络接口
route
命令
[root@thor ]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.66.91.254 0.0.0.0 UG 0 0 0 bond0
10.66.91.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0
link-local 0.0.0.0 255.255.0.0 U 1004 0 0 bond0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
2)netstat -r
命令
[root@thor ]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 10.66.91.254 0.0.0.0 UG 0 0 0 bond0
10.66.91.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0
link-local 0.0.0.0 255.255.0.0 U 0 0 0 bond0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
2.2 IP路由选择过程
- 搜索路由表,寻找能与目的IP地址完全匹配的表目。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口(取决于标志段的值);
- 搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口;
- 搜索路由表,寻找标为“默认(default)”的表目。如果找到,则把报文发送给该表目指定的下一站路由器;
- 如果以上都没有成功,那么该数据报不能被传送,返回一个“主机不可达”或“网络不可达”的错误。