概论
TCP/IP协议栈
OSI(开放式系统互联模型)参考模型
数据链路层是局域网内相邻设备之间通过MAC地址层层转发
TCP/IP(传输控制协议/互联网协议模型)参考模型
通讯协议(Protocol)三要素
协议就是一种规则
- 语法:定义了数据的格式、编码和信号等级,即“如何讲”。它规定了数据传输的具体格式和规则,包括电平的高低等,确保数据在传输过程中的正确性和兼容性。
- 语义:涉及数据的内容、含义以及控制信息,即“讲什么”。它明确了数据传输的具体内容和目的,包括数据单元使用的格式、信息单元应该包含的信息与含义等,保证了数据传输的准确性和有效性。
- 同步:规定了交流的时序,即何时发送数据、何时接收数据以及如何处理传输中的错误和延迟。同步机制保证了通信的可靠性和效率。
这三个要素共同构成了通信协议的基础,使得不同设备或系统之间能够进行有效的数据传输和交换。通过遵循这些规则,可以确保信息在复杂的网络环境中准确无误地传输到指定的目的地。
分层的优点
分层架构使网络设计更为模块化,便于管理和维护。每一层可以独立开发和修改,降低了系统复杂性,并允许不同的协议和技术在不同层次上共存。此外,分层也提高了网络的互操作性和扩展性,使得新技术能够容易地融入现有体系中。
层次间的关系
在网络分层模型中,各层之间通过接口进行交互,通常采用严格的上下层关系。每一层提供服务给上层,并从下层获取服务。数据在传输过程中会在不同层次间封装和解封装,确保数据的完整性和可靠性。典型的模型有OSI模型和TCP/IP模型,每个层次都具有特定的功能和责任。
节点通讯流程
节点间的通讯流程通常涉及数据的生成、封装、传输和解封装。首先,源节点生成数据并将其传递到应用层;然后,数据在各层逐层封装,添加头部信息。接着,数据通过物理介质传输到目标节点,最后在目标节点逐层解封装,直到到达应用层,完成通讯过程。这一流程确保了数据在复杂网络环境中的可靠传输。
网络层
IPV4地址
- 内网:局域网Loacl,私有
- 外网:广域网Intent共有
- 静态:手动,固定
- 动态:DHCP,动态分配
冲突域
在计算机网络中,冲突域(Collision Domain)是指在网络中,两个或多个设备同时发送数据时可能会发生冲突的区域。当两个或更多的设备在同一时间发送数据到共享的通信媒介上时,它们发送的信号可能会相互干扰,导致数据传输失败,这种情况称为冲突(Collision)
广播域
广播域(Broadcast Domain)是网络中所有设备接收广播消息的区域。在广播域内,从一个设备发送的广播信息可以被该域内的所有其他设备接收到。广播是一种特殊的网络传输方式,它允许一个设备发送一个单一的包,这个包可以被广播域内的所有设备接收。
网络地址计算办法
通过将IP地址与子网掩码的二进制进行逻辑与运算得到。它标识了网络上的一个特定网络。
无类别编制(CIDR)
无类别域间路由(Classless Inter-Domain Routing,简称CIDR)是一种用于IP地址分配和路由聚合的网络技术。CIDR解决了传统的A、B、C类地址划分所带来的问题,提高了IP地址的使用效率,并简化了路由表。
基本概念
在CIDR出现之前,IP地址被分为A、B、C、D和E五类,每一类地址有固定的位数用于网络部分和主机部分。这种分类方法限制了IP地址的灵活性,导致了许多地址的浪费,尤其是在小型网络中。
CIDR通过引入可变长度的子网掩码(Variable Length Subnet Mask,VLSM)来克服这些限制。在CIDR中,不再有固定的A、B、C类地址,而是使用一个斜线符号(/)后面跟一个数字来表示子网掩码的位数。这个数字称为前缀长度(prefix length),它指定了IP地址中用于网络部分的位数。
CIDR表示法
CIDR表示法将IP地址和子网掩码合并为一个单一的表示。例如,一个CIDR地址可能表示为 192.168.1.0/24
。这里,192.168.1.0
是IP地址,/24
表示前缀长度为24位,意味着子网掩码的前24位是网络部分,剩下的8位是主机部分。
例: 192.192.192.0/24 网络 划分为4个网络后,每个网络的网络地址和有效地址范围?
步骤 1: 确定原始网络范围
网络地址: 192.192.192.0/24子网掩码 /24 表示 24 个二进制位用于网络部分,剩下 8 位用于主机部分。
原始子网掩码 (十进制): 255.255.255.0
二进制形式: 11111111.11111111.11111111.00000000
这个子网掩码允许 256 个 IP 地址 (从 192.192.192.0 到 192.192.192.255),其中包括网络地址和广播地址。步骤 2: 确定新的子网掩码
将 192.192.192.0/24 划分为 4 个子网。为了划分子网,我们需要额外的位数来区分子网。需要划分 4 个子网:2² = 4,因此需要 2 位来划分子网。
新的子网掩码为 /24 + 2 = /26。
新的子网掩码是 255.255.255.192,其二进制形式为 11111111.11111111.11111111.11000000。这个掩码意味着网络部分为 26 位,主机部分为 6 位。步骤 3: 计算子网块大小
新的子网掩码 /26 将每个子网划分为 64 个地址(2⁶ = 64),其中 2 个地址分别用于网络地址和广播地址。每个子网的块大小为 64:
第一个子网: 192.192.192.0 到 192.192.192.63
第二个子网: 192.192.192.64 到 192.192.192.127
第三个子网: 192.192.192.128 到 192.192.192.191
第四个子网: 192.192.192.192 到 192.192.192.255
步骤 4: 计算每个子网的网络地址、广播地址和有效地址范围
子网1:网络地址: 192.192.192.0
广播地址: 192.192.192.63
有效主机地址: 192.192.192.1 - 192.192.192.62
子网2:网络地址: 192.192.192.64
广播地址: 192.192.192.127
有效主机地址: 192.192.192.65 - 192.192.192.126
子网3:网络地址: 192.192.192.128
广播地址: 192.192.192.191
有效主机地址: 192.192.192.129 - 192.192.192.190
子网4:网络地址: 192.192.192.192
广播地址: 192.192.192.255
有效主机地址: 192.192.192.193 - 192.192.192.254
验证
通过子网掩码 /26,每个子网有 64 个 IP 地址(包括网络地址和广播地址),有效主机地址为 64 - 2 = 62。
IPv6
链路本地地址(link-local address)
链路本地地址的前缀是 fe80::/10
,即前 10 位固定为 1111 1110 10
,对应十六进制 fe80
。链路本地地址的后 64 位通常是根据网络接口的硬件地址(例如 MAC 地址)自动生成的,一种常见的生成方式是根据设备的 MAC 地址使用 EUI-64 格式来生成 IPv6 地址。EUI-64 生成链路本地地址的方式包括以下步骤:
- 拆分 MAC 地址为两部分,并插入
ff:fe
中间。 - 将 MAC 地址的第一个字节的第 7 位翻转(即将局部/全局位从
0
变成1
,或从1
变成0
)。
假设设备的 MAC 地址是 12:34:56:78:9A:BC
,生成的链路本地地址过程如下:
- 将 MAC 地址拆分为
12:34:56
和78:9A:BC
。 - 插入
ff:fe
:12:34:56:ff:fe:78:9A:BC
。 - 翻转第一个字节的第 7 位:
12
的二进制是0001 0010
,翻转第 7 位后变为0001 0011
,即13
。 - 结果:
13:34:56:ff:fe:78:9A:BC
。 - 最终链路本地地址是:
fe80::1334:56ff:fe78:9abc
。