首页 > 代码库 > IP协议
IP协议
1.IP协议提供不可靠、无连接的数据传输服务。
不可靠是指它不能保证数据报能成功到达目的地。IP仅提供最好的传输服务。当某种错误发生时,IP协议有个简单的处理:丢弃该数据报,发送ICMP消息报给信源端。任何的可靠性必需由上层来提供。
无连接是指它不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。
2.IP首部,普通的IP首部为20字节。
上图中的首部,最高位在左边,记为0bit,最低为在右边,记为31bit.4个字节的传输顺序是从0bit到31bit,这种顺序是大端字节序,也成为网络字节序。
3.IP路由选择
IP层在内存中有一个路由表,当收到一份数据报并进行发送时,它都要对该表搜索一次。
路由表的每一项一般包括以下信息
目的IP地址。它既可以是一个完整的主机地址,也可以是一个网络号。主机地址中有若有一个非0的主机号,则表示一个指定的主机,否则表示为网络里的所有主机。
下一站路由IP的地址或者有直接连接的网络IP地址。
标志。其中一个标志说明目标IP地址是主机地址还是网络地址。另一个标志说明下一站路由器是真正的路由器还是一个直接相连的接口。
为数据报传输指定的接口。
IP路由选择是逐跳地进行的。它不知道到达目的的任何完整路径(直接相连的除外)。IP路由的选择过程如下:
搜索路由表,寻找与目的IP完全一致的项,如果找到,就发送数据报到该目的。否则下一步。
搜索路由表,寻找与目的IP一致的网络号,如果找到,就发送数据报到该目的。否则下一步。这过程一般与子网掩码有关。
搜索路由表,寻找默认表目,如果找到,就发送数据报到该目的。否则下一步。
返回错误主机不可达或者网络不可达
4.子网掩码
子网掩码是一个32bit的值。用于区分网络号和主机号。其中值为1的位留给网络号和子网号,为0的bit留给主机号。