文章目录
计算机网络:网络层
4.1、网络层提供的两种服务
网络层关注的是如何将分组从源端沿着网络路径送达目的端。
在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接” 和 “无连接”)曾引起长期的争论。
争论焦点的实质是:在计算机通信中,可靠交付是由谁来负责,是网络,还是端系统?
两种服务:网络层应该向运输层提供怎样的服务?
- 虚电路服务
- 数据报服务
虚电路服务
这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式。
通信之前先建立虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源。
如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。
- 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
- 请注意,电路交换的电话通信是先建立了一条真正的连接。
- 因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。
数据报服务(目前因特网使用的)
互联网的先驱者提出了一种崭新的网络设计思路。
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
尽最大努力交付:
- 由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。
- 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付(包括差错处理、流量控制等) 。
- 采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
- 互连网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
虚电路服务与数据报服务的对比
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机(端系统)来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
4.2、虚拟互联网
网络互连的设备
中间设备又称为中间系统或中继(relay)系统
-
物理层中继系统:集线器(hub)
-
数据链路层中继系统:网桥(bridge)或交换机(switch)
-
网络层中继系统:路由器(router)
-
(严格意义上的网关)网络层以上的中继系统:网关(gateway)
现在说的 网关 指的是路由器的接口地址。
当中继系统是 集线器或网桥是,一般并不称之为网络互连,因为这仅仅是将一个网络扩大了,本质上还是一个网络。互联网都是指用路由器进行互连的网络。
由于历史原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关。
网关
网关也就是路由器接口地址。路由器接口使用的地址可以是本网段中任何一个地址,不过通常使用该网段的第一个可用(1)的地址或最后一个可用(254)的地址,这是为了尽可能避免和网络中的计算机地址冲突。
如果一间教室里的人是数据包的话,网关就相当于是教室的门。
网关就是到其他网段的路由器接口
不配置网关无法访问到其他网段,也就无法上网,但可以访问本网段的计算机通信
一般情况下,路由器的不同接口必须配置成不同网段的地址
虚拟互连网络的意义:
所谓的虚拟互连网络也就是逻辑互连网络,意思是互连起来的各种物理网络的异构性本来是客观存在的,当时我们利用 IP 协议就可以使这些性能各异的网络从用户角度开起来好像是一个统一的网络。
使用 IP 协议的虚拟互连网可简称为 IP 网。
使用虚拟互连网的好处是:当互联网上的主机进行通信时,就好像是在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
网络层协议 IP 是 TCP/IP 体系中最主要的协议之一。
与 IP 协议配合使用的还有四个协议:
- 地址解析协议 ARP(Address Resolution Protocol)
- 逆地址解析协议 RARP(Reverse Address Resolution Protocol)
- Internet 控制报文协议 ICMP(Internet Control Message Protocol)
- Internet 组管理协议 IGMP(Internet Group Management Protocol)
ARP 协议负责解析 MAC 地址,ICMP 协议负责报告网络故障,比如 ping 一个地址不通的原因
4.3、IP 地址(重点)
4.3.1、学习 IP 地址的预备知识
二进制 | 十进制 | 二进制 | 十进制 |
---|---|---|---|
1 | 1 | 10000000 | 128 |
10 | 2 | 11000000 | 192 |
100 | 4 | 11100000 | 224 |
1000 | 8 | 11110000 | 240 |
10000 | 16 | 11111000 | 248 |
100000 | 32 | 11111100 | 252 |
1000000 | 64 | 11111110 | 254 |
10000000 | 128 | 11111111 | 255 |
4.3.2、MAC 地址
举例:A 主机要和 F 主机进行通信
数据包的目标 IP 地址决定了数据包最终到达哪一个计算机,而目标 MAC 地址决定了该数据包下一跳要给谁,不一定是终点。
- 交换机是基于数据帧的 MAC 地址转发数据帧,路由器是基于数据包的 IP 地址转发数据包;
- IP 数据包在传输过程中不变,而经过网络设备的数据帧要用新的 MAC 地址重新封装;
- MAC 地址决定了数据帧下一跳给哪个设备接收,而 IP 地址决定了数据包的起点和终点;
一个应用
在本网段可以使用基于 MAC 地址控制代理服务器来上网
当主机 C、B 给主机 A 发送上网请求时,会携带源 MAC 地址,此时可以控制上网的 MAC 地址;
但当控制其他网段上网时,例如主机 E 给主机 A 发送上网请求,发送给 A 的源 MAC 地址为:M1,也就是路由器接口的地址,无法使用 MAC 地址来控制其他网段的计算机上网请求。
基于 MAC 地址控制代理服务器只能控制本网段的计算机;
要想控制其他网段的需要基于 IP 地址控制代理服务器;
4.3.3、IPV4 地址的组成
32 位的二进制作为 IPV4 地址,其分为两部分,网络部分和主机部分。就像电话号码有区号和电话号一样。
- 计算机的IP地址也有两部分组成
- 一部分为网络标识(Network ID),一部分为主机标识(Host ID),同一网段的计算机网络部分相同;
- 路由器连接不同网段,负责不同网段之间的数据转发;
- 交换机连接的是同一网段的计算机。
- 计算机在和其他计算机通信之前,首先要判断目标IP地址和自己的IP地址是否在一个网段,这决定了数据链层的目标MAC地址是目标计算机的还是路由器接口的MAC地址。
4.3.4、IPV4 地址格式
- IPV4 地址用 32 位二进制来表示,也就是 32 比特,换算成字节,就是 4 个字节。
- 这些位通常被分割为 4 个部分,每一部分8位二进制,中间使用符号“.”分开,分成4部分的二进制地址
- 10101100.00010000.00011110.00111000, IP地址经常被写成十进制的形式,于是,上面的IP地址可以表示为“172.16.30.56”。
- IP地址的这种表示法叫做“点分十进制表示法”。
4.3.5、IPV4 地址的分类
IP 地址分为:网络部分和主机部分;
主机部分不能全为 0 或 1(二进制),主机部分全为 0 代表这是一个网段,全为 1 代表这是一个广播地址,发的数据包都能收到
因此,对此 C 类地址而言,主机部分可用的地址的范围为:1~254
类型 | IP 地址 | 子网掩码 |
---|