| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算及网络第四章(网络层) -> 正文阅读 |
|
[网络协议]计算及网络第四章(网络层) |
第四章 网络层4.1 网络层概述网络层的主要任务是 实现网络互连,进而 实现数据包在各网络在之间的传输。仅实现计算机网络体系结构中的物理层和数据链路层,是不能实现数据包在互联网种各网络之间传输的。要实现该功能,就必须实现网络层。 这些异构型网络N1 ~ N7 如果只是需要各自内部通信,他们只要实现各自的物理层和数据链路层即可;但是如果要将这些异构型网络互连起来,形成一个更大的互联网,就需要实现网络层设备路由器;有时为了简单起见,可以不用画出这些网络,图中N1~N7,而将他们看做是一条链路即可 要实现网络层任务,需要解决一下主要问题:
但在实际当中,路由器是怎样知道这些路由记录?
因特网是目前全世界用户数量最多的互联网,它 使用TCP/IP协议栈。由于TCP/IP协议栈的网络层使用国际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中,网络层常称为 网际层。 网络层(网际层)除了 IP协议外,还有之前介绍过的地址解析协议ARP,还有网际控制报文协议ICMP,网际组管理协议IGMP 本章主要通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。 4.2 网络层提供的两种服务网络层提供的两种服务,一种是面向连接的虚电路服务,另一种是无连接的数据报服务。 4.2.1 面向连接的虚电路服务虚电路的核心思想是,可靠通信应由网络自身来保证。当两台计算机进行通信时,应当首先建立 网络层的连接- 虚电路VC(Virtual Circuit),以保证通信双方需要的一切资源。通信双方 沿着已建立的虚电路发送分组。目的主机的地址仅在连接建立阶段使用,之后每个 分组的首部只需携带一条虚电路的编号。如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。通信结束后,需要释放之前所建立的虚电路
虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。电路交换的电话通信是先建立了一条真正的连接,分组交换的虚连接和电路交换的连接只是类似,但并不完全一样 4.2.2 无连接的数据报服务互联网的先驱者提出了一种崭新的网络设计思路;网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务;网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号);网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。 发送方 发送给 接收方 的分组可能沿着不同路径传送: 尽最大努力交付
4.3 IPv4地址在TCP/IP体系中,IP地址是一个最基本的概念。 IP地址由因特网名字和数字分配机构**ICANN(Internet Corporation for Assigned Names and Numbers)**进行分配。
lPv4地址的编址方法经历了如下三个历史阶段: 4.3.1 IPv4地址的表示方法32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用. 4.3.2 分类编制的IPv4地址4.3.2.1 A类地址4.3.2.2 B类地址4.3.2.3 C类地址4.3.2.4 总结
4.3.3 划分子网的IPv4地址在 ARPANET 的早期,IP 地址的设计确实不够合理:
当有新的主机添加进来的时候,就需要重新申请一个网络号,这是不必要的。 所以就有了划分子网的工具:子网掩码
划分为子网络后,数据的传送流程:
4.3.3.1 子网掩码32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号
举例说明
1.
已
知
某
个
网
络
的
地
址
为
1. 已知某个网络的地址为
1.已知某个网络的地址为 解 析 解析 解析
C
类
网
络
地
址
C类网络地址
C类网络地址
主
机
号
为
主机号为
主机号为
子
网
掩
码
:
子网掩码:
子网掩码: 故 划 分 出 的 子 网 数 量 : 2 1 = 2 故划分出的子网数量:2^1=2 故划分出的子网数量:21=2 子 网 络 可 分 配 的 网 络 地 址 : 2 7 ? 2 = 126 子网络可分配的网络地址:2^7-2=126 子网络可分配的网络地址:27?2=126 例2. 默认子网掩码 总结 4.3.4 无分类编址的IPv4地址划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。
CIDR使用**“斜线记法”**,或称CIDR记法。即在IPv4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量。 如 CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。 我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节:
举例 练习 206.0.64.8/18 → \to → 206.0.0100 0000.0000 1000 最小地址:206.0.0100 0000.0000 0000即206.0.64.0 最大地址:206.0.0111 1111.1111 1111即206.0.127.255 子网掩码:255.255.192.0 地址数量: 2 14 2^{14} 214 聚合C类网的数量: 2 14 ÷ 2 8 2^{14}\div 2^8 214÷28 4.3.4.1 路由聚合(构造超网)路由器R1与五个网络以及路由器R2直接相连。路由器R1和R2互为相邻路由器,它们周期性地同通告给对方自己所知道的路由信息。若R1将直连的五个网络通告给R2,则R2的路由表会增加五条路由记录。可以找“共同前缀”,共22个比特,记为 练习:子网 解析: 192.168.4.0000 0000; 最小地址:192.168.4.0 最大地址:192.168.4.3 可分配的最小地址:192.168.4.1 可分配的最大地址:192.168.4.2 故为2. 小结 4.3.5 IPv4地址的应用规划给定一个IPv4地址快,如何将其划分成几个更小的地址块,并将这些地址块分配给互联网中不同网络,进而可以给各网络中的主机和路由器接口分配IPv4地址,一般有两种方法:定长的子网掩码FLSM,另一种是变长的子网掩码VLSM。 4.3.5.1 定长的子网掩码FLSM(Fixed Length Subnet Mask)使用同一个子网掩码来划分子网,每个子网所分配的IP地址数量相同,造成IP地址的浪费 举例 1
C
类
网
络
地
址
:
C类网络地址:
C类网络地址: 网络号 从 主 机 号 中 借 用 三 个 比 特 位 作 为 子 网 络 号 。 子 网 络 的 数 量 : 从主机号中借用三个比特位作为子网络号。子网络的数量: 从主机号中借用三个比特位作为子网络号。子网络的数量: 2 3 = 8 2^3=8 23=8
子
网
掩
码
:
子网掩码:
子网掩码: 通过上面步骤分析,就可以从子网1~ 8中任选5个子网,分配给左图中的N1~N5网络 采用定长的子网掩码划分,只能划分出 2 n 2^{n} 2n个子网,其中n是从主机号部分借用的用来作为子网号的比特数量,每个子网所分配的IP地址数量相同 但是也因为每个子网所分配的IP地址数量相同,不够灵活,容易造成IP地址的浪费 4.3.5.2 变长的子网掩码VLSM(Variable Length Subnet Mask)使用不同的子网掩码来划分子网,每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费 无分类编址的IPv4就是变长的子网掩码 应用需求:从地址块 在该地址块中给左图所示的网络N1~N5分配子块,分配原则是“每个子块的起点位置不能随意选取,只能选取块大小整数倍的地址作为起点”。建议先给大的子块分配。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 6:45:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |