背景
计算机网络的诞生背景可以追溯到20世纪60年代和70年代的美国。当时,计算机的发展迅速,但是由于计算机之间缺乏互联,使得它们之间的通信和数据共享变得非常困难。在这种情况下,计算机科学家开始研究如何将计算机连接起来,以便它们可以相互通信和共享资源。这导致了计算机网络的发展。
建立计算机网络的目的:信息传递,资源共享。
前言
计算机的底层硬件只能识别高低电平(二进制),那么它是如何识别我们给它输入的文字、图片的呢?
简单地说是这样一个过程(一步一步将我们能看懂的转换为计算机能看懂的):
应用程序接收我们输入给计算机的一些参数 —> 编码 — 应用层
编码 —> 二进制 — 表示层
二进制 —> 电信号 — 介质访问控制层
处理电信号 — 物理层
网络变大
随着需要,接入网络的计算机从两台到三台,然后越来越多,自然而然网络就需要扩大。
网络变大的两个要素:
节点增多
传输距离延长
节点增多,简单地说是指网络中的设备变多了。传输距离延长,是指两台电脑的物理距离变得更远了。
随着传输距离延长,必然会面临介质传输带来的问题:
信号衰减 — 电压下降
中继器:是工作在物理层上的连接设备。主要功能是放大信号、补偿信号衰减,用来扩大网络传输的距离。
波形失真
网络拓扑结构
网络拓扑是指网络形状,或者是网络在物理上的连通性。网络拓扑结构是指用传输媒体互连各种设备的物理布局,即用什么方式把网络中的计算机等设备连接起来。
六种基本网络拓扑结构:
直线型拓扑结构
环型拓扑结构
星型拓扑结构(性价比高)
集线器Hub
网状拓扑结构
集线器
集线器(Hub)工作在物理层,将网线集结起来,实现最初级的网络互通。将收到的信号放大后再传递出去,扩大网络的传输距离。一般网线的最大传输距离是100M,有了集线器这个中继设备,可以扩大网络传输距离。
缺点
集线器虽然可以提供多个网口和扩大传输距离,但它并不能分辨具体信息发给谁。另外,当一台主机发消息时,其他主机不能发送消息,否则信息间会产生碰撞,碰撞后会造成数据丢失。还存在安全问题、延迟问题等。
为了解决地址问题(区分标识不同的设备):
MAC地址(Media Access Control Address)是一种用于标识网络设备的唯一地址(物理地址)。它由48位二进制数组成,以16进制表示。前3~24位是由IEEE决定如何分配给每一家制造商,且不重复,后24位是实际生产该网络设备的厂商分配的串号,具备唯一性。
交换机
为了解决Hub所带来的问题,交换机(Switch)诞生了。交换机在集线器原有的功能上,增加了寻址能力和交换功能。
交换机可以识别每台设备的MAC地址,并根据目标MAC地址将数据包转发到正确的端口。这种方式也称为存储转发。原因是交换机会先将整个数据包存储在缓存中,然后再将其转发到目标设备。
交换机可以实现(特性):
端口密度
完全没有冲突
一对一的单播
无限的传输距离
交换机转发数据包的过程:
当一个数据包来到交换机之后,交换机会根据数据包中的源目MAC地址进行转发。转发之前会先存储,根据源MAC地址记录自身接口和相连主机的MAC地址的对应关系,之后再进行转发。转发过程中会查看自身的MAC地址表,如果MAC地址表存在相应的记录,则按照MAC地址表中的记录进行转发;如果没有记录,则将数据包泛洪到所有端口,使得所有设备都可以接收到该数据包。
从某个端口收到数据,然后再从除接收端口外的所有端口转发出去,在网络中称之为泛洪。
路由器
路由器(Router)用于连接多个网络并转发数据包。路由器可以在不同的网络之间进行转发,实现不同网络范围的通信。也就是说,不同网络之间必须用路由器传输数据,否则无法通信。路由器会根据自身的路由表转发数据包。
路由器可以实现:
隔离泛洪范围
单播转发
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 类。
A类地址:A类地址是指第一个字节的最高位为0的IP地址,范围从1.0.0.0到126.0.0.0。A类地址的前8位用于网络地址,后24位用于主机地址,因此A类地址最多可以支持2^24个主机。
B类地址:B类地址是指第一个字节的最高位为10的IP地址,范围从128.0.0.0到191.255.0.0。B类地址的前16位用于网络地址,后16位用于主机地址,因此B类地址最多可以支持2^16个主机。
C类地址:C类地址是指第一个字节的最高位为110的IP地址,范围从192.0.0.0到223.255.255.0。C类地址的前24位用于网络地址,后8位用于主机地址,因此C类地址最多可以支持2^8个主机。
D类地址:D类地址是用于多播,范围从224.0.0.0到239.255.255.255。
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