读书笔记---第三章 IP:网际协议

本文详细解析了IPv4首部的各个字段及其作用,包括版本号、首部长度、服务类型、总长度、标识字段、TTL、首部校验和等关键信息,并解释了bigendian字节序在网络传输中的重要性。

分析图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格式,则必须在传输数据之前把首部转换成网络字节序。

 

目前的协议版本号是4,因此I P有时也称作I P v 4。

 

首部长度指的是首部占32 bit字的数目,包括任何选项。由于它是一个4比特字段,因此
首部最长为6 0个字节。

 

服务类型(TO S)字段包括一个3 bit的优先权子字段(现在已被忽略),4 bit的TO S子字
段和1 bit未用位但必须置0。4 bit的TO S分别代表:最小时延、最大吞吐量、最高可靠性和最
小费用。4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。

 

Te l n e t和R l o g i n这两个交互应用要求最小的传输时延,因为人们主要用它们来传输少量的
交互数据。另一方面, F T P文件传输则要求有最大的吞吐量。最高可靠性被指明给网络管理
(S N M P)和路由选择协议。用户网络新闻( Usenet news, NNTP)是唯一要求最小费用的应
用。
现在大多数的T C P / I P实现都不支持TO S特性,但是自4.3BSD Reno以后的新版系统都对它
进行了设置。另外,新的路由协议如O S P F和I S - I S都能根据这些字段的值进行路由决策。

 

总长度字段是指整个I P数据报的长度,以字节为单位。利用首部长度字段和总长度字段,
就可以知道I P数据报中数据内容的起始位置和长度。由于该字段长1 6比特,所以I P数据报最
长可达6 5 5 3 5字节(回忆图2 - 5,超级通道的M T U为6 5 5 3 5。它的意思其实不是一个真正的
M T U—它使用了最长的I P数据报)。当数据报被分片时,该字段的值也随着变化,这一点将
在11 . 5节中进一步描述。
尽管可以传送一个长达6 5 5 3 5字节的I P数据报,但是大多数的链路层都会对它进行分片。
而且,主机也要求不能接收超过5 7 6字节的数据报。由于T C P把用户数据分成若干片,因此一
般来说这个限制不会影响T C P。在后面的章节中将遇到大量使用U D P的应用( R I P,T F T P,
B O O T P,D N S,以及S N M P),它们都限制用户数据报长度为5 1 2字节,小于5 7 6字节。但是,
事实上现在大多数的实现(特别是那些支持网络文件系统N F S的实现)允许超过8 1 9 2字节的
I P数据报。
总长度字段是I P首部中必要的内容,因为一些数据链路(如以太网)需要填充一些数据
以达到最小长度。尽管以太网的最小帧长为4 6字节(见图2 - 1),但是I P数据可能会更短。如
果没有总长度字段,那么I P层就不知道4 6字节中有多少是I P数据报的内容。

 

标识字段唯一地标识主机发送的每一份数据报。

 

T T L(t i m e - t o - l i v e)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据
报的生存时间。T T L的初始值由源主机设置(通常为3 2或6 4),一旦经过一个处理它的路由器,
它的值就减去1。当该字段的值为0时,数据报就被丢弃,并发送I C M P报文通知源主机

 

首部检验和字段是根据I P首部计算的检验和码。它不对首部后面的数据进行计算。I C M P、
I G M P、U D P和T C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。
为了计算一份数据报的I P检验和,首先把检验和字段置为0。然后,对首部中每个16 bit
进行二进制反码求和(整个首部看成是由一串16 bit的字组成),结果存在检验和字段中。当
收到一份I P数据报后,同样对首部中每个16 bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,
那么接收方计算的结果应该为全1。如果结果不是全1(即检验和错误),那么I P就丢弃收到的
数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。

 

每一份I P数据报都包含源I P地址和目的I P地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值