第三章 网际协议

本文深入探讨了IP协议的核心概念,包括其不可靠和无连接的特点,IP首部结构,如版本号、首部长度、TTL字段等,并讲解了IP路由选择过程,子网寻址和子网掩码的重要性,以及ifconfig和netstat命令在配置和查询网络接口中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三章 IP:网际协议

3.1引言

   IP是最核心的协议,都是以IP数据报的格式传输。

特点:

不可靠: 不能保证IP数据报成功到达目的地,IP仅提供传输服务。可靠性有上层提供(TCP)。

   无连接: IP不维护任何关于后续数据报的状态信息,没和数据报处理都是独立的。

 

3.2IP首部

   普通的IP首部为20字节,除非含有选项字段

  

4字节的32bit按照以下格式big endian字节序,依次传输4个字节。

详细说明IP传输格式:

1.前4个bit 是版本号,IPV4/IPV6 .

2. 4位的首部长度 ::: 首部占32bit字的数目,包含选项,最长是60字节,普通的是20字节,字段的值为5.

3.8位的服务类型: 3位的优先权子字段(先已忽略), 4位的 TOS子字段,和最后 1位的 0 。 

TOS分别代表 最小时延,最大吞吐量, 最高可靠性,最小费用。只能一个为1,其余为0.全0,代表一般服务。   现在大多数TCP/IP实现不支持TOS特性。

 

4. 16位(int)总长度字段,整个ip数据报长度,以字节为单位。当数据报分片时,该值也会变化。

必要内容::: ip最小为46字节,通过总长度来区别内容和补零的。

5.16位标示字段:::唯一地标识主机发送的每一份数据报,每发送一份就加1.

6. 3位 标志字段

7. 13位片偏移字段

8.8位的 TTL生存时间:::数据报可以经过最多的路由器树。每经过一个,该字段就减1,当等于0时就丢弃,并发送ICMP报文通知源主机。

9. 8位 协议字段 ::: 区分是那个协议向IP发送的数据报。

10.    16位 首部检验和字段:::每16位取反,再取和。但是只对首部,不对后面数据计算。

11.    32位源IP地址

12.    32位目的IP地址

13.    选项: 很少被使用,除非所有主机路由都支持

纪录路径::: 让每个路由器记下它的IP地址

时间戳:::每个路由纪录下它的IP地址和时间

宽松的源路选择::: 为数据报指定一系列必须经过的IP地址。

严格的源路选择::: 只能经过指定的地址,不能经过其他地址。 

选项是32bit为界,不足补0.So->可以进行16位的首部检验。

 

3.3IP路由选择

   如果直接相连或者在同一网络,IP数据报直接送到目的主机上,否则,主机把数据报发送到默认的路由器上,由路由器转发数据报。

   IP层在内存中有路由表,收到数据报后,先检测ip地址如果是本机地址或者广播地址就出来,不是就搜索,如果在,就发到下一个指定的地址,或默认路由中。

路由表每一项都含有以下信息:

   目的IP地址  : 可以是主机地址,也可以是网络地址。

   下一跳路由的IP地址 或者直接相连的网络IP地址。

   标志: 有一个标志指明目的IP地址是网络地址还是主机地址,另一个标志指明下一站路由器还是直接接口。

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

IP路由选择完成以下功能

1.搜索路由表  寻找能与目的IP地址完全匹配的表目,如果找到,就把报文发到下一跳。

2. 搜索路由表,选择与目的网络号匹配的表目,找到就把报文发送到下一个router 或者直接相连的网络接口。

3.选择默认路由,将报文发送到这个router。

 

数据报中的目的IP地址始终不发生变化,所有的路由选择决策都是基于这个目的IP地址。

每个链路层可能具有不同的数据帧首部,而且链路层的目的地址(如果有)指向下一站的链路层地址。在SLIP链路没有,以太网可以通过ARP获得。

 

 

3.4  子网寻址

不再把IP地址单纯的视为视为网络号和一个主机号的组成。而是将主机号再分成一个子网号和一个主机号。大部分是B类的。

子网来说隐对外部router藏了内部网络组织的细节。所有的IP地址都有相同的网络号

 

 

3.5子网掩码

   除了IP地址外,主机还需要指定有多少比特用于子网号多少用于主机号。掩码是32bit的值,网络号和子网号为1,主机号为0.由此可得到子网掩码。子网掩码经常用十六进制来表示。

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

 

 

3.5特殊情况的IP地址

7个特殊的IP地址: 0 表示全0. -1 表示全1,netid ,subnetid ,hosted 分别表示不全0 或不全1的字段

 

         IP 地址                                   可以为                    描述

网络号  子网号 主机号          源端  目的段

0                            0                 OK    NO      网络上的主机

0                       主机号            OK    NO      特定的主机

127                  任何值            OK    OK      环回地址

-1                        -1                  NO    OK 受限广播(不能转发)

Netid                   -1                 NO    OK 目的是netid的广播

Netid   subetid -1                  NO    OK 子网subetid的广播

Netid       -1        -1                  NO   OK 所有子网为目的向netid广播

 

 

3.8ifconfig 命令

   现在介绍TCP/IP对网络接口进行配置和查询的命令:ifconfig 命令一般在引导时运行以配置主机上的每个接口。

如果不能直接运行,应该是环境变量PATH中没有设置。

ifconfig 

网卡信息的一些解释: 

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址) 

 

第二三行:网卡的IP地址、子网、掩码 

 

第四行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)
MTU:1500(最大传输单元):1500字节  www.2cto.com  

 

下面就是接收、发送数据包情况统计和发送接受数据字节数的统计信息。

 

3.9netstat 命令

   Netstat   命令提供系统上的接口信息  –i参数将打印出接口信息,-n参数则打印出IP地址。 还可以用它来检查路由表 。

每个接口的M T U、输入分组数、输入错误、输出分组数、输出错误、冲突以及当前的输出队列长度

 

3.11 小节

   IP首部的格式,简单讨论了首部12个字段,还介绍了IP主机路由选择:如果直接相连就传过去,否则就传给默认路由器。 

   在进行路由选择决策时,主机和路由器都是用路由表 。表中有三种类型的路由:特定主机,特定网络,默认路由

   IP路由选择是通过逐跳来实现的,数据报在传输过程中目的IP不变,但是封装在链路层的目的地址可能发生变化,一般是默认的下一个路由。

   A,B类地址可以进行子网划分—子网掩码。接口和网络相关的信息通过ifconfig 和netstat命令合一获得包括IP地址,子网掩码,广播地址以及MTU。

 

习题:

1. 环回地址必须是127.0.0.1吗?

不是,网络号时127的就可以了,但为了方便,一般选择是127.0.0.1。

2. 图中有两个网络接口的路由器

k p n o有5个接口:3个点对点链路和2 个以太网接口。R 10有4个以太网接口。g a t e w a y

有3个接口: 2个点对点链路和1 个以太网接口。最后, n e t b有1个以太网接口和2个点对点链路。

3.子网号16bit的A类地址与子网号为8bit的B类地址的子网掩码有什么不同:

A255.   255.255. 0

  网络号 16bit   留给主机的

B255.255.    255.    0

 网络号   子网号   主机的

没区别

 

4.子网掩码255.255.0.255对A类地址有效吗?

无效的 网络号和子网号为全1,主机号为全0,最后一个255 没意义? wrong 

合法的: 称为非连续的子网掩码,但是RFC建议反对使用非连续子网掩码。

5.Netstat打印的环回接口的MTU为什么是1536?

     历史遗留问题1024+512 但是打印MTU值包含了所有需要的首部字节数

6.TCP/IP协议族是基于一种数据报的网络技术,即I P层,其他的协议族则基于面向连接的网络技术。阅读文献[Clark 1988],找出数据报网络层提供的三个优点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值