TCP/IP 3.IP网际协议

介绍

IP是TCP/IP协议族中最为核心的协议。所有的 TCP、UDP、ICMP及IGMP数据都以 IP数据 报格式传输
不可靠( unreliable)的意思是它不能保证 IP数据报能成功地到达目的地。 IP仅提供最好 的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区, IP有一个简单的错误 处理算法:丢弃该数据报,然后发送 ICMP消息报给信源端。任何要求的可靠性必须由上层来 提供(如 TCP)。
无连接( connectionless)这个术语的意思是 IP并不维护任何关于后续数据报的状态信息。 每个数据报的处理是相互独立的。这也说明, IP数据报可以不按发送顺序接收。如果一信源 向相同的信宿发送两个连续的数据报(先是 A,然后是 B),每个数据报都是独立地进行路由 选择,可能选择不同的路线,因此 B可能在 A到达之前先到达。

IP首部

普通的 IP首部长为 20个字节,除非含有选项字段。

分析图3 - 1中的首部。最高位在左边,记为0 bit;最低位在右边,记为31 bit。    
4个字节的32 bit值以下面的次序传输:首先是 0~7 bit,其次8~15 bit,然后1 6~23 bit, 最后是24~31 bit。这种传输次序称作big endian字节序。由于T C P / I P首部中所有的二进制整数 在网络中传输时都要求以这种次序,因此它又称作网络字节序。以其他形式存储二进制整数 的机器,如little endian格式,则必须在传输数据之前把首部转换成网络字节序。
首部长度指的是首部占 32 bit字的数目,包括任何选项。由于它是一个 4比特字段,因此 首部最长为6 0个字节。
 T T L(t i m e - t o - l i v e)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据 报的生存时间。

最后一个字段是任选项,是数据报中的一个可变长的可选信息。目前,这些任选项定义 如下:

• 安全和处理限制(用于军事领域,详细内容参见 RFC 1108[Kent 1991])
• 记录路径(让每个路由器都记下它的 I P地址)
• 时间戳(让每个路由器都记下它的 I P地址和时间)
• 宽松的源站选路(为数据报指定一系列必须经过的 I P地址)
• 严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能 经过其他的地址)。

IP路由选择

IP路由选择是简单的,特别对于主机来说。如果目的主机与源主机直接相 连(如点对点链路)或都在一个共享网络上(以太网或令牌环网),那么I P数据报就直接送到 目的主机上。否则,主机把数据报发往一默认的路由器上,由路由器来转发该数据报。大多 数的主机都是采用这种简单机制。
I P可以从T C P、U D P、I C M P和I G M P接收数据报(即在本地生成的数据 报)并进行发送,或者从一个网络接口接收数据报(待转发的数据报)并进行发送。 I P层在 内存中有一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次。当数据报 来自某个网络接口时,I P首先检查目的I P地址是否为本机的I P地址之一或者I P广播地址。
路由表中的每一项都包含下面这些信息:
• 目的I P地址。它既可以是一个完整的主机地址,也可以是一个网络地址,由该表目中的标 志字段来指定
• 下一站(或下一跳)路由器( next-hop router)的I P地址,或者有直接连接的网络 I P地 址。下一站路由器是指一个在直接相连网络上的路由器,通过它可以转发数据报。下 一站路由器不是最终的目的,但是它可以把传送给它的数据报转发到最终目的。
• 标志。其中一个标志指明目的 I P地址是网络地址还是主机地址,另一个标志指明下一 站路由器是否为真正的下一站路由器,还是一个直接相连的接口。
• 为数据报的传输指定一个网络接口
I P路由选择主要完成以下这些功能
1) 搜索路由表,寻找能与目的 I P地址完全匹配的表目(网络号和主机号都要匹配)。如果 找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口(取决于标 志字段的值)。
2) 搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目 指定的下一站路由器或直接连接的网络接口(取决于标志字段的值)。目的网络上的所 有主机都可以通过这个表目来处置。例如,一个以太网上的所有主机都是通过这种表 目进行寻径的。 这种搜索网络的匹配方法必须考虑可能的子网掩码。关于这一点我们在下一节中进行 讨论。
3) 搜索路由表,寻找标为“默认( d e f a u l t)”的表目。如果找到,则把报文发送给该表目 指定的下一站路由器

子网掩码

给定I P地址和子网掩码以后,主机就可以确定 I P数据报的目的是:( 1)本子网上的主机; (2)本网络中其他子网中的主机;( 3)其他网络上的主机。如果知道本机的 I P地址,那么就知道 它是否为A类、B类或C类地址(从I P地址的高位可以得知),也就知道网络号和子网号之间的分 界线。而根据子网掩码就可知道子网号与主机号之间的分界线。

你可能感兴趣的:(TCP/IP 3.IP网际协议)