IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络 第三层 网络层 -> 正文阅读

[网络协议]计算机网络 第三层 网络层

第四章 网络层

大纲

谢仁希王道
网络层提供的两种服务p113,4.1P37,2.1.5
网际协议IPp115,4.2P143,P194,P1354.3.1 & 4.3.2 & 4.3.4的1,2 & 4.8 4.1.1
划分子网和构造超网p135,4.3P148,4.3.3
网际控制报文协议ICMPp147,4.4P152,4.3.4的4
互联网路由选择协议p151,4.5P177, P139,4.5 4.2.1和4.2.2
虚拟专用网VPNp185,
网络地址转换NATp187,p147,

4.1 网络层提供的两种服务

4.1.1 数据报和虚电路

这两种服务方式都由网络层提供;且数据报方式虚电路方式
分组交换(物理层)的两种方式。

补充概念:

  1. 无连接服务数据报为网络层提供):不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
  2. 连接服务虚电路为网络层提供):首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组, 系列分组传输路径相同,传输结束后拆除连接。

1. 数据报服务

报文被拆成若干个带有序号的数据单元,并在网络层加上地址等控制信息后形成的就是数据报分组(即网络层的PDU)。

数据报服务的流程:主机A现将分组逐个发往与它直接相连的交换结点A,交换结点A缓存收到的分组后查找自己的转发表,按照转发表转发出去(由于不同时刻的网络状态不同,所以转发表也不尽相同)。

特点:

  1. 不需要事先建立连接可随时发送分组,网络中的结点随时可接受结点。
  2. 尽最大努力交付不保证可靠性,传输路径可能不同,也不一定按序到达终点。
  3. 分组要包括发送端和接收端的完整地址,以便分组进行独立传输。
  4. 分组在交换结点存储转发时,要排队等候处理,会有一定的时延。交换结点还可以根据情况丢弃部分分组,所以会导致丢失分组
  5. 网络具有冗余路径,所以对故障的适应能力强
  6. 延时一般较小,提高了网络的吞吐量。
  7. 通信双方不独占某条链路,资源利用率高
  8. 分组在某一条链路上传送时不占用网络的其他资源,资源是共享的。
  9. 不同的分组可以走不同的路径,也可以按不同的顺序不分先后的到达目的结点。

2. 虚电路

试图将数据报方式与电路交换方式结合起来,发挥两者的优点,来达到最优的数据交换效果

整个通信分为三个阶段:虚电路建立、数据传输、虚电路释放。

特点:

  1. 通信链路的建立和拆除需要时间开销,所以对于交互式应用小量的短分组情况有点浪费,但长时间、频繁的数据交换效率较高
  2. 路由选择体现在连接建立阶段,连接建立后,就确定了传输路径。
  3. 提供了可靠的通信功能,能保证每个分组正确且有序的到达
  4. 分组通过虚电路上的每个节点时,节点只进行差错检测,不进行路由选择。
  5. 一次通信的所有分组都通过虚电路顺序传送分组不需携带源地址、目的地址等信息,但要包含虚电路号相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
  6. 有一个致命的弱点:若网络中的某个结点或者某条链路出现故障而彻底失效,所有经过该结点或该链路的虚电路将遭到破坏。
  7. 每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对 两个数据端点的流量进行控制,两个端系统之间也可以有多条虚电路为不同的进程服务

注意:网络中的传输是否有确认与网络层提供的两种服务没有任何关系。

3. 比较与区别

数据报服务和虚电路服务的比较
虚电路服务数据报服务
思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证
连接的建立必须有不需要
目的地址仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号每个分组都有完整的目的地址
路由选择属于同一条虚电路的分组按照同一路由转发每个分组独立地进行路由选择和转发
分组顺序保证分组的有序到达不保证分组的有序到达
对网络故障的适应性所有经过故障结点的虚电路均不能正常工作出故障的结点丢失分组,其他分组路径选择发生变化时可以正常传输
差错处理和流量控制可由分组交换网负责,也可由用户主机负责由用户主机进行流量控制,不保证数据报的可靠性

注:TCP/IP 体系的网络层提供的是数据报服务。


4.2 网际协议 IP

IPv1、2、3、5从未使用过。

一些概念

  1. 与 IP 协议配套使用的还有三个协议:ARP、ICMP、IGMP。
  2. TCP/IP 体系结构中网络层通常被称为网际层或者 IP 层。
  3. IP 协议消除了异构网络之间的差异性,使得在网络层看来就好像是一个网络一样。
  4. 一个 IP 地址在整个互联网范围内是唯一的。

4.2.1 虚拟互连网络

1.一些中间设备

层次设备
网络层以上网关
网络层路由器
数据链路层网桥(或者叫桥接器)
物理层转发器

2.虚拟互连网络

? 虚拟互连网络就是指使用相同的网际协议 IP 把互连起来的计算机网络。
使用 IP 协议就可以使性能各异的网络在网络层上看起来好像是一个统一的网络。

互联网可以由多个异构网络互连组成。


4.2.2 分类的 IP 地址

1.IP 地址及其表示方法

? IP 地址的编址方法经过了三个历史阶段
? 1)分类的 IP 地址
? 2)子网的划分
? 3)构成超网

一个 IP 地址在整个互联网范围内是唯一的。

2.常用的三种类别的 IP 地址

1)A类网络

A类地址的网络号字段占一个字节,且只有7位可以使用(第1位固定为0)。
可指派的网络号是 126 个(即 2 7 ? 2 2^7-2 27?2 )少的两个网络号是
1:IP 网络号全 0 表示 “这个(this)”。(是网络号!!!只有8位 如:0000 0000)是一个保留地址,意思是 “ 本网络”;
2:网络号为 127 (0111 1111)保留作为本地软件,环回测试本主机进程之间的通信之用。如果一个主机发送的一个目的地址为环回地址(例如:127.0.0.1)的 IP 数据报,则本机中的协议处理软件就处理数据报中的数据,而不会把数据报发送到任何网络。划重点:目的地址是环回地址的 IP 数据报永远不会出现在任何网络上,因为网络号为 127 的地址根本不是一个网络地址。

A 类地址的主机号占 3 个字节,因此每一个A类网络的最大主机数是 2 24 ? 2 2^{24} -2 224?2,少的两个主机号是:
1)全 0 表示该 IP 地址是 “本主机” 所连接到的***单个网络地址***。
(是主机号(后24位)如:一个主机的 IP 地址为 5.6.7.8,则该主机所在的网络地址就是 5.0.0.0),
2)全 1 表示 “所有的(all)”,全 1 的表主机号字段示该网络上的所有主机。

2)B类网络

网络号占 2个字节 16位,但前两位固定为 (10) 所以剩下14位可以自由分配,但注意:128.0.0.0 是不指派的,可以指派的最小网络地址为 128.1.0.0,故总数为 2 14 ? 1 2^{14}-1 214?1

主机号占 2 个字节,扣除全0 和 全1 的主机号,剩下 2 16 ? 2 2^{16}-2 216?2 个主机数。

总地址空间 2 30 2^{30} 230 个地址,占总 IP 地址空间的 25%。

3)C类网络

网络号有 3个字节,最前三位固定为 (110),剩下 24 -3 = 21位,而且 192.0.0.0 也是不指派的, 所以可以指派的最小网络地址是 192.0.1.0,所以可指派的网络总数为 2 21 ? 1 = 2097151 2^{21}-1=2097151 221?1=2097151

每个网络主机号占 8位,而且 全0(XXXX.XXXX.XXXX.0000) 和 全1(XXXX.XXXX.XXXX.1111)也都是不指派的,所以C类网络每个网络的最大主机数是 2 8 ? 2 = 254 2^{8}-2=254 28?2=254 个。

总地址空间 2 29 2^{29} 229

4)总结三类网络

IP 地址的指派范围
网络类别最大可指派的网络第一个可指派的网络最后一个可指派的网络最大地址空间
A 126 = 2 7 ? 2 126=2^7-2 126=27?21.X.X.X126.X.X.X 2 31 2^{31} 231
B 16383 = 2 14 ? 1 16383=2^{14}-1 16383=214?1128.1.X.X191.255.X.X 2 30 2^{30} 230
C 2097151 = 2 21 ? 1 2097151=2^{21}-1 2097151=221?1192.0.1.X223.255.255.X.X 2 29 2^{29} 229
网络类别最大可指派的主机第一个可指派的主机最后一个可指派的主机
A 16777214 = 2 24 ? 2 16777214=2^{24}-2 16777214=224?2X.0.0.1X.255.255.254
B 65534 = 2 16 ? 2 65534=2^{16}-2 65534=216?2X.X.0.1X.X.255.254
C 254 = 2 8 ? 2 254=2^8-2 254=28?2X.X.X.1X.X.X.254

注:主机号 全0 表示本机,全1 表示所有主机。

5)IP 地址的一些特点

1.IP地址是一种分等级的地址结构。
2.实际上 IP 地址是标志一台主机(或路由器)和一条链路的接口。
3.一个路由器至少连接两个网络,所以一个路由器至少拥有 2个不同的 IP 地址.
4.用网桥或者转发器连接起来的若干个局域网仍然为一个网络,因为这些局域网具有相同的网络号。具有不同网络号的局域网必须通过路由器相连。
5.互联网同等对待每一个 IP 地址

6)需要注意的点:

  • 同一个局域网上的主机或者路由器的 IP 地址中网络号必须一样
  • 网桥(它只在数据链路层工作)互联的网段仍然是一个局域网,
    只能有一个网络号
  • 路由器总是具有两个或两个以上的 IP 地址。
  • 路由器的每一个接口都由一个不同网络号的 IP 地址
    (因为路由器连接的都是两个网段)
  • 当两个路由器直接相连时,在连线两端的接口处,
    可以分配也可以不分配 IP 地址。
  • 如果两个路由器直接相连,并且在两端接口处分配了 IP 地址,这是一种只包含一段线路的特殊“网络”。是无编号网络或者叫无名网络

4.2.3 IP 地址与硬件地址

物理地址 数据链路层物理层使用的地址。
IP 地址网络层和以上各层使用的地址,是一种逻辑地址
(因为IP 地址是用软件实现的)

IP数据报一旦交给数据链路层,就被封装成 MAC 帧了。 MAC 帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都写在 MAC 帧的首部中。

数据链路层看不见数据报的 IP 地址。

不同层次、不同区间的源地址和目的地址
1)网络层写入 IP 数据报首部的地址从未发生改变
2)数据链路层写入 MAC 帧首部的地址一直在改变

请添加图片描述

如上图所示,在数据链路层写入 MAC 帧首部的地址
源地址目的地址
H A 1 {HA_1} HA1? H A 3 HA_3 HA3?
H A 4 HA_4 HA4? H A 5 HA_5 HA5?
H A 6 HA_6 HA6? H A 2 HA_2 HA2?

强调几点

1)在 IP 层抽象的互联网上只能看到 IP 数据报。
2)数据报首部的源地址和目的地址在传输的过程中始终不变。
3)数据报中间经过的几个路由器的IP地址并不出现在 IP 数据报的首部中。
4)路由器只根据目的站的 IP 地址的网络号进行路由选择。
5)局域网的链路层,只能看见 MAC 帧,IP 数据报是被封装在 MAC 帧中作为
数据部分的。
6)MAC 帧在不同的网络上传送时,MAC 帧首部中的源地址和目的地址要发送 变化,数据链路层在收到一个帧之后,要丢弃原来的 MAC 帧的首部和尾部, 在转发时,在数据链路层要重新加上 MAC 帧的新的首部和尾部。
(问:直通式交换机只检查 6 字节的目的地址,然后直接转发,那么直通式 交换机在转发的过程中是否去掉了原来MAC 帧的首部和尾部,然后
又重新加上 MAC 帧的新的首部和尾部呢?)
7)IP 层抽象的互联网屏蔽了下层这些很复杂的细节。只要是在网络层讨论问 题,就可以用统一的、抽象的 IP 地址来研究主机和主机或路由器之间的
通信,而无需考虑下层是如何将数据送到我们要求的地方的。


4.2.4 地址解析协议 ARP

4.2.5 IP 数据报的格式

4.2.6 IP 层转发分组的流程

4.3 划分子网和构造超网

4.4 网际控制协议 ICMP

4.5 互联网的路由选择协议

4.6 虚拟专用网 VPN 和网络地址转换 NAT

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 11:06:18  更:2021-09-08 11:06:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/24 5:28:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码