tcp/ip详解卷一:协议 --- IP协议

1.IP协议

IP协议是TCP/IP协议簇中最核心的协议,所有TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输,IP协议不可靠无连接。

 

2.IP数据报格式信息

IP首部一般长20字节,除非含有选项字段。

版本号:表示协议版本,现在协议版本号为4。

协议首部长度:表示首部站32bit字的数目,最长表示60个字节。

TOS字段:TOS包括一个3bit的优先权子字段(已忽略),4bit的TOS子字段和1bit未用位(必须置0),4bit的TOS分别表示:最小时延、最大吞吐量、最高可靠性和最小费用。

总长度字段:指整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段就可以知道IP数据报中数据内容的起始位置和长度。

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

TTL生存时间:设置数据报可以经过地最多路由器数。指定了数据报地生存时间,TTL的初始值由源主机设置,一旦经过一个处理它的路由器,该数据减一,直到位0.数据被丢弃。

协议字段:表示上层的协议类型,是什么协议向IP传送数据。

首部校验和:根据IP首部计算的检验和码。不对首部后面的数据进行计算。

最后为任选字段。任选字段如下:安全和处理限制、记录路径、时间戳、宽松的源站选路、严格的原站选路。

 

3.IP路由选择

        IP路由选择,对于主机来说,如果目的主机于源主机直接相连(如点对点链路)或在一个共享网络上(以太网或令牌环网),那么IP数据报就直接送到目的主机上。否则,主机把数据报发往一默认的路由器上,由路由器来转发该数据报。

        在一般体制中,IP可以从TCP、UDP、ICMP和IGMP接受数据报(即在本地生成数据报)并发送,或者从一个网络接口接收数据报(待转发数据报)并进行嘎松。IP层在内存中有一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次,当数据报来自某个网络接口时,IP首先检查目的IP地址是否为本机IP地址之一或者IP广播地址,如果是这些地址,则送往相应模块进行处理,否则:1)IP层被设置为路由器功能,对数据进行转发,否则:2)数据被丢弃;

        路由表中的每一项都包含以下信息:

        * 目的地址

        * 下一站路由器的IP地址,或者有直连网络的IP地址

        * 标志。其中一个标志指明目的IP地址是网络地址和主机地址,另一个标志指明下一站路由器是否为真正的下一站路由器,还是一个直连的接口

        * 为数据报的传输指定一个网络接口

IP路由选择是逐跳进行的,IP不知道到达任何目的的完整路径(除了直连的目的),所有的IP路由选择只为数据报传输提供下一跳路由器的IP地址。

IP路由主要完成以下功能:

1)搜索路由表,寻找能于目的IP地址完全匹配的标目。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口

2)搜索路由表,需按照能与目的网络号相匹配的表目,如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口。目的网络上的所有主机都可以i通过这个表目来处置。

3)搜索路由表,寻找标为“默认”的表目。如果找到,则把报文发送给该标目指定的下一站路由器。

4.子网寻址及子网掩码

现在所有的主机都要求支持子网编址。不是将IP地址看成单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。 

子网掩码:除了IP地址以外,主机还需要知道有多少比特位用于子网号及多少比特位用于主机号。这是在引导过程中通过子网呀那么来确定的。虽然IP地址一般以点分十进制表示,但是子网掩码却经常用十六进制来表示,特别是当界限不是一个字节时,因为子网掩码是一个比特掩码。

给定IP地址和子网掩码后,主机就可以确定IP数据报的目的是:1)本子网的主机;2)本网络中其他子网的主机;3)其他网络上的主机。

编辑推荐 本书是网络构建原型——4.4BSD的建造者的倾力之作,《TCP/IP解析》中的第1,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的操作系统中(如Sunos4.1.3、Soloris2.2、AIX3.2.2)的应用与工作方式,这样可以以动态方式讲述TCP/IP的知识,使读者可以轻松掌握TCP/IP的知识:路由协议、寻址协议、组控制协议、简单邮件传输协议等。全书内容实用性强,是在校生学习TCP/IP知识的良师益友。 内容简介  《TCP/IP详解1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 作者简介 W.Richard Stevens(1951-1999)是一位非常受人尊敬的专家,除了《TCP/IP详解》三本外,他还有其他两部最为畅销的作品:《UNIX环境高级编程》和《UNIX网络编程》(两本)。 目录 译者序 前言 第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 标准化过程 10 1.11 RFC 10 1.12 标准的简单服务 11 1.13 互联网 12 1.14 实现 12 1.15 应用编程接口 12 1.16 测试网络 13 1.17 小结 13 第2章 链路层 15 2.1 引言 15 2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU 21 2.10 串行线路吞吐量计算 21 2.11 小结 22 第3章 IP:网际协议 24 3.1 引言 24 3.2 IP首部 24 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 引言 38 4.2 一个例子 38 4.3 ARP高速缓存 40 4.4 ARP的分组格式 40 4.5 ARP举例 41 4.5.1 一般的例子 41 4.5.2 对不存在主机的ARP请求 42 4.5.3 ARP高速缓存超时设置 43 4.6 ARP代理 43 4.7 免费ARP 45 4.8 arp命令 45 4.9 小结 46 第5章 RARP:逆地址解析协议 47 5.1 引言 47 5.2 RARP的分组格式 47 5.3 RARP举例 47 5.4 RARP服务器的设计 48 5.4.1 作为用户进程的RARP服务器 49 5.4.2 每个网络有多个RARP服务器 49 5.5 小结 49 第6章 ICMP:Internet控制报文协议 50 6.1 引言 50 6.2 ICMP报文的类型 50 6.3 ICMP地址掩码请求与应答 52 6.4 ICMP时间戳请求与应答 53 6.4.1 举例 54 6.4.2 另一种方法 55 6.5 ICMP端口不可达差错 56 6.6 ICMP报文的4.4BSD处理 59 6.7 小结 60 第7章 Ping程序 61 7.1 引言 61 7.2 Ping程序 61 7.2.1 LAN输出 62 7.2.2 WAN输出 63 7.2.3 线路SLIP链接 64 7.2.4 拨号SLIP链路 65 7.3 IP记录路由选项 65 7.3.1 通常的例子 66 7.3.2 异常的输出 68 7.4 IP时间戳选项 69 7.5 小结 70 第8章 Traceroute程序 71 8.1 引言 71 8.2 Traceroute 程序的操作 71 8.3 局域网输出 72 8.4 广域网输出 75 8.5 IP源站选路选项 76 8.5.1 宽松的源站选路的traceroute程序示例 78 8.5.2 严格的源站选路的traceroute程序示例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值