IP:网际协议

我们看到网络接口如何把到达的 I P分组放到I P输入队列i p i n t r q中去,并如
何调用一个软件中断。因为硬件中断的优先级比软件中断的要高,所以在发生一次软件中断
之前,有的分组可能会被放到队列中。在软件中断处理中, i p i n t r函数不断从i p i n t r q中
移走和处理分组,直到队列为空。在最终的目的地, I P把分组重装为数据报,并通过函数调用
把该数据报直接传给适当的运输层协议。如果分组没有到达最后的目的地,并且如果主机被
配置成一个路由器,则 I P把分组传给i p _ f o r w a r d。传输协议和i p _ f o r w a r d把要输出的分
组传给i p _ o u t p u t,由i p _ o u t p u t完成I P首部、选择输出接口以及在必要时对分组分片。
最终的分组被传给合适的网络接口输出函数。
当产生差错时, I P丢弃该分组,并在某些条件下向分组的源站发出一个差错报文。这些
报文是I C M P (第11章)的一部分。N e t / 3通过调用i c m p _ e r r o r发出I C M P差错报文,i c m p _
e r r o r接收一个m b u f,其中包含差错分组、发现的差错类型以及一个选项码,提供依赖于差
错类型的附加信息。

为了更准确地讨论 I n t e r n e t协议处理,我们必须定义一些名词。下图 显示了在不同的
I n t e r n e t层之间传递数据时用来描述数据的名词。
我们把传输协议交给 I P的数据称为报文。典型的报文包含一个运输层首部和应用程序数
据。下图所示的传输协议是U D P。I P在报文的首部前加上它自己的首部形成一个数据报。如
果在选定的网络中,数据报的长度太大, I P就把数据报分裂成几个分片,每个分片中含有它
自己的I P首部和一段原来数据报的数据。下图 显示了一个数据报被分成三个分片。
当提交给数据链路层进行传送时,一个 I P分片或一个很小的无需分片的 I P数据报称为分
组。数据链路层在分组前面加上它自己的首部,并发送得到的帧。

 

posted @ 2019-08-24 21:21  莫孟林  阅读(257)  评论(0编辑  收藏  举报