【计算机网络】4.1 网络层

1.概述

网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。网络层的作用:将分组(数据分割成小块)从一台主机移动到另一台主机,从而提供了主机到主机的通信服务、各种形式的进程到进程之间的通信。通过IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。

网络层的作用

 IP 协议配套使用的有三个协议:

(1)地址解析协议 ARP(Address Resolution Protocol)

(2)网际控制报文协议 ICMP(Internet Control Message Protocol)

(3)网际组管理协议 IGMP(Internet Group Management Protocol)

2. IP 数据报格式

IP数据报的格式

(1)版本

 有 4(IPv4)和 6(IPv6)两个值。

(2)首部长度

占 4 位,因此最大值为 15,最小值为5(固定部分长度为 20 字节)。值为 1 表示的是 1 个 32 位字即 4 字节,所以首部长度的取值是5*4个字节~15*4个字节。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。

(3)区分服务

用来获得更好的服务,一般情况下不使用。

(4)总长度

包括首部长度和数据部分长度。

(5)标识

在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。

(6)片偏移

和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节

数据报分片

(7)生存时间

TTL,它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。

(8)协议

指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。

(9)首部检验和

因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。

3. IP 地址编址方式

3.1 分类

IP地址是有两部分组成:网络号主机号,其中不同分类具有不同的网络号长度,并且是固定的。

IP 地址 ::= {< 网络号 >, < 主机号 >}

IP地址分类

下面以IPv4为例:

3.1.1 IP地址的格式

常见的类似192.168.1.2这种格式的就是IPv4。IPv4的IP地址由4段组成,段之间用点隔开,每段由8位二进制数组成,所以其范围用二进制表示就是00000000-11111111,用十进制表示就是0-255之间。所以IP地址由4段共32位组成,其二进制范围是00000000.00000000.00000000.00000000—11111111.11111111.11111111.11111111,十进制表示就是0.0.0.0–255.255.255.255,一共是(4294967296,近43亿)个IP地址。

3.1.2 IP地址分类

(1)A类IP地址

A类IP地址

(2)B类IP地址

B类IP地址的前16位是网络地址,网络地址的前两位必须是10,所以B类网络地址共有2^14=16384个。后16位是主机地址,但全0和全1的主机地址被保留,所以每个B类网络可以容纳2^16-2=65534台主机。B类IP地址的范围是128.0.0.1-191.255.255.254(二进制为10000000.00000000.00000000.00000001 - 10111111.11111111.11111111.11111110)。B类IP地址一般用于中型网络。

B类IP地址

(3)C类IP地址

C类IP地址的前24位是网络地址,网络地址的前两位必须是110,所以C类网络地址共有2^21=2097152个。后8位是主机地址,但全0和全1的主机地址被保留,所以每个C类网络可以容纳2^8-2= 254台主机。C类IP地址的范围是192.0.0.1-233.255.255.254(二进制为11000000.00000000.00000000.00000001 - 11011111.11111111.11111111.11111110)。C类IP地址一般用于小型网络。

C类IP地址

3.2 子网划分

通过在主机号中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。

IP 地址 ::= {< 网络号 >, < 子网号 >, < 主机号 >}

要使用子网,必须配置子网掩码。一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网占两个比特,那么子网掩码为 11111111 11111111 11000000 00000000,也就是 255.255.192.0。

注意:外部网络看不到子网的存在

3.2.1 子网掩码的组成

子网掩码和IP地址相同点:分成4段,每段用点隔开,用二进制表示每段都是8位。不同点:子网掩码的前面部分全部是1,后面部分全部是0。如下例子:

A类IP地址的默认子网掩码是255.0.0.0,即11111111 00000000 00000000 00000000

B类IP地址的默认子网掩码是255.255.0.0,即11111111 11111111 00000000 00000000

C类IP地址的默认子网掩码是255.255.255.0,即11111111 11111111 11111111 00000000

3.2.2 子网掩码的含义

子网掩码是用于将一个IP地址划分成网络地址和主机地址2个部分,必须和IP地址一起使用。子网掩码中1的个数表示IP地址的前面多少位表示网络地址,0的格式表示IP地址后面多少位表示主机地址

例子:一个规模100人的公司申请了一个C类IP地址网段218.17.21.0,可以容纳254台主机。公司分行政、财务、市场、销售、售后、研发六个部门,每个部门有十几台主机,现在需要按照部门来划分子网,使用子网掩码怎么划分呢?说明:C类IP地址网段218.17.21.0默认前面3段(24位)表示网络地址,最后面1段(8位)表示主机地址,即默认子网掩码是255.255.255.0。

步骤1:将IP地址的最后8位(00000001~11111110)再分成2部分,前面一部分表示子网地址,后面一部分表示主机地址

步骤2:由于公司有6个部门,使用前面3位表示子网地址,后面5位表示主机地址,这样可以划分成2^3=8个子网,每个子网有2^5-2=30台主机。因此,前面27位表示网络地址,后面5位表示主机地址。

步骤3:行政部的子网地址是11111111 11111111 11111111 00100000,主机地址是11111111 11111111 11111111 00100001~11111111 11111111 11111111 00111110(实际IP地址范围是218.17.21.1–218.17.21.30)。说明:主机地址全0和全1是保留的。

步骤4:同理,市场部的子网地址是11111111 11111111 11111111 01000000,主机地址是11111111 11111111 11111111 01000001~11111111 11111111 11111111 01011110(实际IP地址范围是218.17.21.33–218.17.21.62)。

3.3 无分类

无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。

IP 地址 ::= {< 网络前缀号 >, < 主机号 >}

CIDR 的记法上采用在 IP 地址后面加上网络前缀长度的方法,例如 128.14.35.7/20 表示前 20 位为网络前缀。

CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为网络前缀的长度。

一个 CIDR 地址块中有很多地址,一个 CIDR 表示的网络就可以表示原来的很多个网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表项的数量。把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为 构成超网 。

在路由表中的项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一个匹配结果,应当采用最长前缀匹配来确定应该匹配哪一个。

4. 地址解析协议 ARP

网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。因此在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变

网络配置

ARP 协议实现由 IP 地址得到 MAC 地址:

ARP协议的作用

每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表

如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组,主机 B 收到该请求后会发送 ARP 响应分组给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。

ARP协议的工作原理

5. 网际控制报文协议 ICMP

ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会,封装在 IP 数据报中,不属于高层协议。

ICMP 报文分为差错报告报文和询问报文,常见 ICMP 报文类型,如下所示:

常见ICMP报文类型

(1)Ping

Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。

Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。

(2)Traceroute

Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点的路径

Traceroute 发送的 IP 数据报封装的是无法交付的 UDP 用户数据报,并由目的主机发送终点不可达差错报告报文,步骤如下。

①源主机向目的主机发送一连串的 IP 数据报。第一个数据报 P1 的生存时间 TTL 设置为 1,当 P1 到达路径上的第一个路由器 R1 时,R1 收下它并把 TTL 减 1,此时 TTL 等于 0,R1 就把 P1 丢弃,并向源主机发送一个 ICMP 时间超过差错报告报文;

②源主机接着发送第二个数据报 P2,并把 TTL 设置为 2。P2 先到达 R1,R1 收下后把 TTL 减 1 再转发给 R2,R2 收下后也把 TTL 减 1,由于此时 TTL 等于 0,R2 就丢弃 P2,并向源主机发送一个 ICMP 时间超过差错报文。

③不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP,因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。

④之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容