背景

计算机网络的诞生背景可以追溯到20世纪60年代和70年代的美国。当时,计算机的发展迅速,但是由于计算机之间缺乏互联,使得它们之间的通信和数据共享变得非常困难。在这种情况下,计算机科学家开始研究如何将计算机连接起来,以便它们可以相互通信和共享资源。这导致了计算机网络的发展。

建立计算机网络的目的:信息传递,资源共享

前言

计算机的底层硬件只能识别高低电平(二进制),那么它是如何识别我们给它输入的文字、图片的呢?

简单地说是这样一个过程(一步一步将我们能看懂的转换为计算机能看懂的):

应用程序接收我们输入给计算机的一些参数 —> 编码 — 应用层

编码 —> 二进制 — 表示层

二进制 —> 电信号 — 介质访问控制层

处理电信号 — 物理层

网络变大

随着需要,接入网络的计算机从两台到三台,然后越来越多,自然而然网络就需要扩大。

网络变大的两个要素:

  1. 节点增多

  2. 传输距离延长

节点增多,简单地说是指网络中的设备变多了。传输距离延长,是指两台电脑的物理距离变得更远了。

随着传输距离延长,必然会面临介质传输带来的问题:

  1. 信号衰减 — 电压下降

    中继器:是工作在物理层上的连接设备。主要功能是放大信号、补偿信号衰减,用来扩大网络传输的距离。

  2. 波形失真

网络拓扑结构

网络拓扑是指网络形状,或者是网络在物理上的连通性。网络拓扑结构是指用传输媒体互连各种设备的物理布局,即用什么方式把网络中的计算机等设备连接起来。

六种基本网络拓扑结构:

  • 直线型拓扑结构

  • 环型拓扑结构

  • 星型拓扑结构(性价比高)

    集线器Hub

  • 网状拓扑结构

集线器

集线器(Hub)工作在物理层,将网线集结起来,实现最初级的网络互通。将收到的信号放大后再传递出去,扩大网络的传输距离。一般网线的最大传输距离是100M,有了集线器这个中继设备,可以扩大网络传输距离。

缺点

集线器虽然可以提供多个网口和扩大传输距离,但它并不能分辨具体信息发给谁。另外,当一台主机发消息时,其他主机不能发送消息,否则信息间会产生碰撞,碰撞后会造成数据丢失。还存在安全问题、延迟问题等。

为了解决地址问题(区分标识不同的设备):

MAC地址(Media Access Control Address)是一种用于标识网络设备的唯一地址(物理地址)。它由48位二进制数组成,以16进制表示。前3~24位是由IEEE决定如何分配给每一家制造商,且不重复,后24位是实际生产该网络设备的厂商分配的串号,具备唯一性。

交换机

为了解决Hub所带来的问题,交换机(Switch)诞生了。交换机在集线器原有的功能上,增加了寻址能力和交换功能。

交换机可以识别每台设备的MAC地址,并根据目标MAC地址将数据包转发到正确的端口。这种方式也称为存储转发。原因是交换机会先将整个数据包存储在缓存中,然后再将其转发到目标设备。

交换机可以实现(特性):

  1. 端口密度

  2. 完全没有冲突

  3. 一对一的单播

  4. 无限的传输距离

交换机转发数据包的过程:

当一个数据包来到交换机之后,交换机会根据数据包中的源目MAC地址进行转发。转发之前会先存储,根据源MAC地址记录自身接口和相连主机的MAC地址的对应关系,之后再进行转发。转发过程中会查看自身的MAC地址表,如果MAC地址表存在相应的记录,则按照MAC地址表中的记录进行转发;如果没有记录,则将数据包泛洪到所有端口,使得所有设备都可以接收到该数据包。

从某个端口收到数据,然后再从除接收端口外的所有端口转发出去,在网络中称之为泛洪

路由器

路由器(Router)用于连接多个网络并转发数据包。路由器可以在不同的网络之间进行转发,实现不同网络范围的通信。也就是说,不同网络之间必须用路由器传输数据,否则无法通信。路由器会根据自身的路由表转发数据包。

路由器可以实现:

  1. 隔离泛洪范围

  2. 单播转发

IP地址

IP地址(Internet Protocol Address)是一种用于标识网络设备的唯一地址(逻辑地址)。它是一个32位或128位的二进制数。

IP地址分为IPv4和IPv6两种类型。

IPv4是32位的地址,通常表示为4个十进制数,每个数字的取值范围是0到255。

例如:192.168.0.1(11000000.10101000.00000000.00000001)

为了方便记忆采用了点分十进制的标记方式,也就是将32位IP地址以每8位为一组,共分为4组,每组以 . 隔开,再将每组转换成十进制。


子网掩码

子网掩码(Subnet Mask)是一种用于划分IP地址的标识符。它由32位二进制数构成(必须由连续的0和连续的1构成),子网掩码的作用就是将某个IP地址划分成网络地址和主机地址两部分。

例如:

IPv4:192.168.1.1mask:255.255.255.011000000.10101000.00000001.0000000111111111.11111111.11111111.00000000前24位是网络地址,后8位是主机地址。

ARP协议

ARP协议(Address Resolution Protocol)是一种用于将IP地址转换为MAC地址的协议。

在计算机网络中,每个设备都有一个唯一的MAC地址和IP地址。MAC地址用于在局域网中标识设备,而IP地址用于在互联网中标识设备。当一台设备需要与另一台设备通信时,它需要知道目标设备的MAC地址。ARP协议就是用来解决这个问题的。

ARP的工作过程:

当一台设备需要知道另一台设备的MAC地址时,它会广播一个ARP请求,请求目标设备回复自己的MAC地址。目标设备收到请求后,会回复一个ARP响应,其中包含自己的MAC地址。这样,请求设备就可以将目标设备的MAC地址缓存起来,以便后续的通信使用。


IP地址的分类

IP 地址分类成了 5 种类型,分别是 A 类、B 类、C 类、D 类、E 类。

  1. A类地址:A类地址是指第一个字节的最高位为0的IP地址,范围从1.0.0.0到126.0.0.0。A类地址的前8位用于网络地址,后24位用于主机地址,因此A类地址最多可以支持2^24个主机。

  2. B类地址:B类地址是指第一个字节的最高位为10的IP地址,范围从128.0.0.0到191.255.0.0。B类地址的前16位用于网络地址,后16位用于主机地址,因此B类地址最多可以支持2^16个主机。

  3. C类地址:C类地址是指第一个字节的最高位为110的IP地址,范围从192.0.0.0到223.255.255.0。C类地址的前24位用于网络地址,后8位用于主机地址,因此C类地址最多可以支持2^8个主机。

  4. D类地址:D类地址是用于多播,范围从224.0.0.0到239.255.255.255。

  5. E类地址:E类地址是保留地址,用于实验和研究,范围从240.0.0.0到255.255.255.255。


特殊IP地址

  • 主机位全0的地址:这样的地址代表范围,指定某个网络。

  • 主机位全1的地址:指定某个网络下的所有主机,用于广播,广播地址。

  • 255.255.255.255受限广播地址:代表广播域内所有的主机,受到路由器的限制。

  • 0.0.0.0通配地址:用于表示所有网络接口或所有主机。

  • 127.0.0.1本地回环地址:虚拟的地址,用来测试主机的网络接口是否正常工作。

  • 169.254.0.0/16 APIPA地址:动态获取地址时,没有获取到地址情况下,自己给自己分配的地址。


无类地址

无类地址(Classless Address)是一种不依赖于IP地址分类的地址表示方法,也称为无分类域间路由选择(CIDR)。

CIDR地址表示方法使用了一个斜杠 / 和一个数字来表示网络前缀的长度,例如 192.168.1.0/24 表示网络前缀为 192.168.1.0,子网掩码为 255.255.255.0

VLSM — 可变长子网掩码(子网划分)

VLSM是一种子网掩码的使用方法,它允许在同一个网络中使用不同长度的子网掩码,从而更有效地利用IP地址空间。

192.168.1.0/25192.168.00000001.0 0000000 192.168.00000001.0 1111111 前25位为网络号,后7位为主机号
192.168.1.0/26192.168.1.00 000000 192.168.1.00 111111前26位为网络号,后6位为主机号192.168.1.1 — 192.168.1.62 可用ip地址的数量62(2^6-2)

例:一个公司分了5个部分,需要我们划分网段 172.16.0.0/16,分给5个部门。

172.16.00000000.00000000 主机号借3位,2^3=8,可以划分8个网段,每个网段可用ip地址数量(2^(32-19)-2)172.16.000 00000.00000000 19    172.16.0.1 - 172.16.31.254172.16.001 00000.00000000 19    171.16.32.1 - 172.16.63.254172.16.010 00000.00000000 19    171.16.64.1 - 172.16.95.254172.16.011 00000.00000000 19    171.16.96.1 - 172.16.127.254172.16.100 00000.00000000 19    171.16.128.1 - 172.16.159.254172.16.101 00000.00000000 19    171.16.160.1 - 172.16.191.254172.16.110 00000.00000000 19    171.16.192.1 - 172.16.223.254172.16.111 00000.00000000 19    171.16.224.1 - 172.16.255.254可以选择其中5个分给这5个部门,其余留作后续的扩展。

子网汇总

子网汇总(Supernetting)是一种将多个子网合并成一个更大的网络的方法,以便更好地利用IP地址。

子网汇总需要满足一些条件,例如,被合并的子网必须是连续的、没有重叠的,它们的子网掩码必须相同或者可以通过变换得到相同的子网掩码。

子网汇总的方法:取相同,去不同。

192.168.1.0/24和192.168.2.0/24子网汇总192.168.00000001.00000000 24192.168.00000010.00000000 24相同的部分为前22位,保留下来,剩下的10位全部补零即可:192.168.000000 00.00000000 24192.168.0.0/22