毫无疑问,IP是整个TCP/IP体系中最为重要的,也是最核心的协议。在体系中,IP直接连接硬件接口,对上,所有的TCP、UDP、ICMP、IGMP数据都以IP数据报格式传输。
IP的传输有两大特征:不可靠和无连接。不可靠性意味着它不能保证IP数据报一定会成功的达到目的地,只负责传输,而不保证什么。记住,任何可靠性的保证都要由上层服务来提供,如TCP。无连接这个术语的意思是IP并不维护任何关于后续数据报的状态信息。对IP来说,每个IP数据报的地位都是相等的。所以,当你向某个目的方依次发送2个IP报A和B(先A后B),B可能先于A到达。
IP首部:
一般来说,若不包括可选项的话,IP首部一共有20字节。
版本号及首部长度:第一个字节Byte包括2部分,前4bit表示版本号,现在我们用的版本叫IPv4,其值为4固定不变.后4bit表示首部长度,需要注意的是,其单位为4byte,也就是说一般的IP报文(即没有可选项)的首部长度值为5(4byte)
服务类型(TOS):一共一个byte,包括3bit的优先权子字节(现在已被忽略,你不用管它),4bit的TOS子字段和1bit的未用位。4bit的TOS分别表示:最小时延、最大吞吐量、最高可靠性和最小费用。4bit中只能置其中一个为1,或者全为0.未用位必须置0.
IP报总长度:占2byte,指整个IP数据报的总长度,以字节为单位。理论上说,IP报文一共可达65535字节,但实际上,IP报文的长度远远小于这个值的。IP报文在以太网,也就是我们一般用的网,最小报文长度为46字节。
16bit的标识字段,3bit的标志,13位片偏移:这三个值我在前面的TCP协议简介中简单讲到过。以后若讨论到IP的分片和 重组的时候再详细讨论。
TTL(Time-to-live)生存时间字段:占1个byte这个字段限定了数据报可以经过的最多路由器个数,指定了数据报的生存时间。其初始值由源主机设置(通常为32或64),IP报没进过一个路由,其值就减一。当TTL的值减至0时,该IP报文就会被丢弃。
协议字段:占1byte。这个值可以识别是哪种协议向IP发送报文。
首部检验和:占3byte,即16bit。在前面讲TCP时讲过,检验和是路由或主机判断IP报文有没有被修改或者错误的一个保证。注意,这里的检验和只对IP首部进行检验,而不涉及IP报文中的数据。TCP、UDP等报文首部有各自的首部检验和保证其正确性。
源IP地址和目的IP地址:这个理解起来应该简单吧。都是32bit的。
PS,关于检验和的求法:首先将首部检验和置0,然后对IP报文中每16bit进行二进制反码求和,结果存在检验和中。当接收方在接收到一个IP数据报时,同样对首部进行16bit反码求和,由于接收方在计算的时候算进了首部的检验和,因此结果将是全1的。若结果不全是1,IP报文将被丢弃。还要注意的是,由于TTL在经过路由器时会减1,因此,检验和要相应加1,而不用重算。
IP路由选择:
从概念上来讲,IP路由选择是简单的,特别是对主机来说。
IP的路由选择其实就类似于递归算法,它简单的将IP寻路分为2种情况:主机和目的主机直接相连,或者,数据报将发送到默认的路由器,并假定此路由与目的主机相连,由它来寻路。
IP路由选择是一个逐跳式的过程。IP层会在内存中存储一个路由表,这个表保存了与该主机相连的路由信息。当一个IP达到,IP层会搜索路由表,并在其中找到最合适的下一站路由来发送信息。这个算法是复杂的,这里也就不详细讨论了,等我弄懂了再说。
分享到:
相关推荐
3.3 IP路由选择 27 3.4 子网寻址 30 3.5 子网掩码 32 3.6 特殊情况的IP地址 33 3.7 一个子网的例子 33 3.8 ifconfig命令 35 3.9 netstat命令 36 3.10 IP的未来 36 3.11 小结 37 第4章 ARP:地址解析协议 38 4.1 引言...
非扫描版TCP/IP详解卷一,你值得拥有: 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序...
TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1TCP/IP详解 卷1
“TCP / IP详解,卷1:协议”是一本完整而详细的TCP / IP协议指南。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP / IP实现之间传输的不同操作系统。对tcpdump的输出的研究可以帮助理解不同...
《TCP/IP详解卷1:协议》描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者LawrenceBerkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传 输的不同分组。对tcpdump输出的研究可以帮助...
TCP/IP详解三卷,这个是卷一,压缩包里包含了中文版和英文版。 卷二和卷三点我ID,都在我的资源里。 《TCP/IP详解卷1:协议》描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者LawrenceBerkeley...
而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的操作系统中(如Sunos4.1.3、Soloris2.2、AIX3.2.2)的应用与工作方式,这样可以以动态方式讲述TCP/IP的知识,使读者可以轻松掌握TCP/IP的知识:路由协议...
TCP/IP详解 第一卷(完整) TCP IP 详解 路由 计算机网络
tcp/ip详解卷一:协议 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 ...
3.3 IP路由选择 27 3.4 子网寻址 30 3.5 子网掩码 32 3.6 特殊情况的IP地址 33 3.7 一个子网的例子 33 3.8 ifconfig命令 35 3.9 netstat命令 36 3.10 IP的未来 36 3.11 小结 37 第4章 ARP:地址解析协议 38 4.1 引言...
《TCP/IP详解卷1:协议》描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者LawrenceBerkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助...
3.3 IP路由选择 27 3.4 子网寻址 30 3.5 子网掩码 32 3.6 特殊情况的IP地址 33 3.7 一个子网的例子 33 3.8 ifconfig命令 35 3.9 netstat命令 36 3.10 IP的未来 36 3.11 小结 37 第4章 ARP:地址解析协议 38 4.1 引言...
《TCP/IP详解卷1:协议》是网络构建原型——4.4BSD的建造者的倾力之作,《TCP/IP解析》中的第1卷,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量...
而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的操作系统中(如Sunos4.1.3、Soloris2.2、AIX3.2.2)的应用与工作方式,这样可以以动态方式讲述TCP/IP的知识,使读者可以轻松掌握TCP/IP的知识:路由协议...
3.3 IP路由选择 27 3.4 子网寻址 30 3.5 子网掩码 32 3.6 特殊情况的IP地址 33 3.7 一个子网的例子 33 3.8 ifconfig命令 35 3.9 netstat命令 36 3.10 IP的未来 36 3.11 小结 37 第4章 ARP:地址解析协议 38 4.1 引言...
也是tcp/ip详解,是卷一实现篇,很清晰,是所有章节在一起的,附录有习题答案和一些配置事项
3.3 IP路由选择 27 3.4 子网寻址 30 3.5 子网掩码 32 3.6 特殊情况的IP地址 33 3.7 一个子网的例子 33 3.8 ifconfig命令 35 3.9 netstat命令 36 3.10 IP的未来 36 3.11 小结 37 第4章 ARP:地址解析协议 38 4.1 引言...
《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...
TCP-IP详解卷一:协议 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程...