1.IP协议
IP协议是TCP/IP协议簇中最核心的协议,所有TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输,IP协议不可靠无连接。
2.IP数据报格式信息
IP首部一般长20字节,除非含有选项字段。
版本号:表示协议版本,现在协议版本号为4。
协议首部长度:表示首部站32bit字的数目,最长表示60个字节。
TOS字段:TOS包括一个3bit的优先权子字段(已忽略),4bit的TOS子字段和1bit未用位(必须置0),4bit的TOS分别表示:最小时延、最大吞吐量、最高可靠性和最小费用。
总长度字段:指整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段就可以知道IP数据报中数据内容的起始位置和长度。
标识字段:表示字段唯一地表示主机发送地每一份数据报。
TTL生存时间:设置数据报可以经过地最多路由器数。指定了数据报地生存时间,TTL的初始值由源主机设置,一旦经过一个处理它的路由器,该数据减一,直到位0.数据被丢弃。
协议字段:表示上层的协议类型,是什么协议向IP传送数据。
首部校验和:根据IP首部计算的检验和码。不对首部后面的数据进行计算。
最后为任选字段。任选字段如下:安全和处理限制、记录路径、时间戳、宽松的源站选路、严格的原站选路。
3.IP路由选择
IP路由选择,对于主机来说,如果目的主机于源主机直接相连(如点对点链路)或在一个共享网络上(以太网或令牌环网),那么IP数据报就直接送到目的主机上。否则,主机把数据报发往一默认的路由器上,由路由器来转发该数据报。
在一般体制中,IP可以从TCP、UDP、ICMP和IGMP接受数据报(即在本地生成数据报)并发送,或者从一个网络接口接收数据报(待转发数据报)并进行嘎松。IP层在内存中有一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次,当数据报来自某个网络接口时,IP首先检查目的IP地址是否为本机IP地址之一或者IP广播地址,如果是这些地址,则送往相应模块进行处理,否则:1)IP层被设置为路由器功能,对数据进行转发,否则:2)数据被丢弃;
路由表中的每一项都包含以下信息:
* 目的地址
* 下一站路由器的IP地址,或者有直连网络的IP地址
* 标志。其中一个标志指明目的IP地址是网络地址和主机地址,另一个标志指明下一站路由器是否为真正的下一站路由器,还是一个直连的接口
* 为数据报的传输指定一个网络接口
IP路由选择是逐跳进行的,IP不知道到达任何目的的完整路径(除了直连的目的),所有的IP路由选择只为数据报传输提供下一跳路由器的IP地址。
IP路由主要完成以下功能:
1)搜索路由表,寻找能于目的IP地址完全匹配的标目。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口
2)搜索路由表,需按照能与目的网络号相匹配的表目,如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口。目的网络上的所有主机都可以i通过这个表目来处置。
3)搜索路由表,寻找标为“默认”的表目。如果找到,则把报文发送给该标目指定的下一站路由器。
4.子网寻址及子网掩码
现在所有的主机都要求支持子网编址。不是将IP地址看成单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。
子网掩码:除了IP地址以外,主机还需要知道有多少比特位用于子网号及多少比特位用于主机号。这是在引导过程中通过子网呀那么来确定的。虽然IP地址一般以点分十进制表示,但是子网掩码却经常用十六进制来表示,特别是当界限不是一个字节时,因为子网掩码是一个比特掩码。
给定IP地址和子网掩码后,主机就可以确定IP数据报的目的是:1)本子网的主机;2)本网络中其他子网的主机;3)其他网络上的主机。