|
1. 介绍
1.1. 产生原因
IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之前传送一种称之为数据报的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。
1.2. 范围
IP的责任就是把数据从源传送到目的地。它不负责保证传送可靠性,流控制,包顺序和其它对于主机到主机协议来说很普通的服务。
1.3. 接口
这个协议由主机到主机协议调用,而此协议负责调用本地网络协议将数据报传送以下一个网关或目的主机。例如TCP可以调用IP协议,在调用时传送目的地址和源地址作为参数,IP形成数据报并调用本地网络(协议)接口传送数据报。
1.4. 操作
IP实现两个基本功能:寻址和分段。IP可以根据数据报报头中包括的目的地址将数据报传送到目的地址,在此过程中IP负责选择传送的道路,这种选择道路称为路由功能。如果有些网络内只能传送小数据报,IP可以将数据报重新组装并在报头域内注明。IP模块中包括这些基本功能,这些模块存在于网络中的每台主机和网关上,而且这些模块(特别在网关上)有路由选择和其它服务功能。对IP来说,数据报之间没有什么联系,对IP不好说什么连接或逻辑链路。
IP使用四个关键技术提供服务:服务类型,生存时间,选项和报头校验码。服务类型指希望得到的服务质量。服务类型是一个参数集,这此参数是Internet能够提供服务的代表。这种服务类型由网关使用,用于在特定的网络,或是用于下下一个要经过的网络,或是下一个要对这个数据报进行路由的网关上选择实际的传送参数。生存时间是数据报可以生存的时间上限。它由发送者设置,由经过路由的地方处理。如果未到达时生存时间为零,抛弃此数据报。对于控制函数来说选项是重要的,但对于通常的通信来说它没有存在的必要。选项包括时间戳,安全和特殊路由。报头校验码保证数据的正确传输。如果校验出错,抛弃整个数据报。
IP不提供可靠的传输服务,它不提供端到端的或(路由)结点到(路由)结点的确认,对数据没有差错控制,它只使用报头的校验码,它不提供重发和流量控制。如果出错可以通过ICMP报告,ICMP在IP模块中实现。
2. 总览
2.1. 与其它协议的联系
下图显示了IP协议在协议体系中的位置。
IP上下有两个接口,一个是与主机与主机协议的接口,另一个是与本地网络的接口,本地网络可以是小型网络也可以大型网络,说不定的。
2.2. 操作模式
下面的例子可以看到操作的模型是什么。我们假设传输要经过中间网关。传送进程调用本地IP模块传送数据,同时传送目的地址和其它参数作为调用参数。IP层准备数据报头并把它加在需要传送的数据之前。IP模块为这个网络地址决定一个本地网络地址,在这里就是网关地址。IP传送数据报和本地网络地址到网络接口。本地网络接口创建一个本地网络头加在数据报上,然后向本地网络发送。
加上本地网络头的数据报到达网关后,本地网络接口去掉这个头,将结果传送给(网关上的)IP模块。这个IP模块决定决定目的主要的本地网络地址,然后再如上所述的过程传送数据报到本地网络接口。这个本地网络接口创建一个本地网络头加在数据报上,将数据报传送到目的主机。在目的主机上,本地网络接口去掉数据报上的本地网络头,将结果交给IP模块。IP模块决定数据报应该把数据报向哪一个应用程序传送,系统会发出系统调用,IP模块返回源地址和其它参数。
2.3. 功能描述
IP的功能就是把数据报在互联的网络上传送,通过将数据报在一个个IP模块间传送直到目的模块来达到目的。网络中每个主机和网关上都有IP模块。数据报在一个个模块间通过路由处理网络地址传送到目的地址。因此网络地址对于IP协议十分重要。如前所述,因为各个网络上的数据报大小可能不同,因此有必要对大的数据报进行分段。
寻址
名字,地址和路由是有区别的,名字是我们要找的,地址指出这个名字在什么地方,路由解决如何到那里的问题。IP主要处理地址的问题。把名字和地址进行映射的工作由上层协议完成。IP模块将地址和本地网络地址加以映射,而将本地网络地址和路由进行映射则是低层协议的任务。 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 |