网络基础(一)计算机网络基本和概念
计算机网络基本和概念
概念
计算机网络主要是由一些通用的,可编程的硬件互联而成,这些硬件并非专门用来实现某一个目的,而是通过可编程的硬件来传送多种类型的数据,并能支持广泛和日益增长的应用。
简单的说,计算机网络包含的设备并不仅仅是个人pc,包含手机,服务器,智能设备 等一切可编程的联网的设备,这些设备组成一个巨大的网络。借助这个网络,才能实现各个设备之间的通信。
网络分类
网络分为多种,根据范围可以分为
广域网WAN (Wide Area Network) 广域网的范围通常为几十到几千公里,主要任务是长距离进行网络传输。
城域网MAN (Metropolitan Area Network) 城域网 作用范围是一个城市,作为范围5到 50 km。
局域网 LAN (Local Area NetWork) 局域网一般是比较小的范围,比如家庭,比如学校企业等小范围的网络。

关联和联系
生活中的例子

我们平常使用的路由器 都是有一个WAN 口,几个LAN 口。
WAN 指的就是广域网,而LAN 指的就是局域网,所以外部的网线需要插入到 WAN口,而电脑PC设备属于局域网设备,所以插入lan口。
网络协议
网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
在计算机之间数据传输需要符合某个约定,才能使发送方和接收方都能识别发送的信息。
比如:一个中国人用中文写了一封信给一个不懂中文外国人,外国人因为看不懂,而不知道什么意思。而这个外国人用西班牙语写了一个封西班牙语信给一个中国人,而中国人也看不懂。最后,两人商量好,都使用会的英语来写信,就可以畅快的沟通了。
而网络协议可以近似的看做计算机的传输过程中的通信语言,规定了通信传输过程中不同传输阶段使用那些协议。
网络协议有很多种,比如http https tcp udp imcp arp 等等。后面会详细的说明各自的用途。
计算机的连接
网络之间要想连通那么需要连通介质,比如网线 ,光纤,无线网 ,电话线,同轴电缆等。
网络标识地址
每个网卡上都有一个全球唯一的mac地址,在数据传输的时候会携带发送源和发送目标的mac地址,用来找到对应的传输对象。
但是因为mac地址不太容易表示,所以我们一般用ip地址来表示一个网络地址,在传输的过程中会涉及到IP地址转MAC地址的过程,可以说 只有找到了mac地址才能找到要传输的目标地址。
直通线和交叉线
网线是日常使用很多的一种网络连接介质。一般用在电脑和路由器上。
一般来说,双绞线的制作方式有两种国际标准,分别为EIA/TIA568A以及EIA/TIA568B。在介绍这两种线之前,我们先来了解这两种标准。T568A排线顺序从左到右依次为:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕。T568B排线顺序从左到右依次为:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。
直通线就是在接网线的时候 两边使用相同的标准接法。
交叉线是在接网线的时候,两边使用不同的标准接法。
直通线连接不同的设备,交叉线连接相同的设备。
使用电脑网线直连

- 将2台pc机以网线的方式直接连接(网线使用交叉线)
- 配置2台pc的ip地址
使用此种方式,就相当于在2台pc之间建立了一个简单的网络连接,其中一台电脑可以开放共享文件,另一台电脑可以访问共享文件。
发送的ARP包的mac 地址是 全是 f 的,表示广播 FFFF.FFFF.FFFF
分析传输方式
当在pc1 ip 为 192.168.1.10 的主机上,执行命令
1 | ping 192.168.1.12 |
主机1 将能够收到主机2 的响应。
此操作过程如下,假设左边为主机1 右边为主机2
- 在执行ping ip命令的时候,首先检查本机是否缓存目标ip的mac地址,缓存了,就像目标mac地址发送一个IMCP 协议到主机2。
- 如果本机没有缓存,表示无法识别192.168.1.12 的ip 是什么,会先发送一个ARP协议,ARP协议是个广播协议,会向当前的网络中广播192.168.1.12 这个ip寻求此ip地址的mac地址,当主机2 收到ARP信号的时候,因为自己的ip就是指定的寻求mac地址的指定ip,就讲自己的mac地址返回给主机2
- 当主机1 拿到主机2的mac地址后,就把mac地址也加到imcp的请求信息中发送出去,当主机2拿到IMCP的数据后,从数据中拿到源的mac地址和ip并响应。
同轴电缆连接
同轴电缆是一种电线及信号传输线,一般是由四层物料造成:最内里是一条导电铜线,线的外面有一层塑胶(作绝缘体、电介质之用)围拢,绝缘体外面又有一层薄的网状导电体(一般为铜或合金),然后导电体外面是最外层的绝缘物料作为外皮。

有线电视传输用的很多是同轴电缆,当然也可以用来传输网络信息。(早期广电网络一般 使用 光纤+同轴电缆混合网)网向用户提供宽带服务)
这种连接方式基本已经被淘汰了。同轴电缆的网络传输效率低,是半双工通信。
半双工通信: 一方有数据传输,另一方将无法传输。属于单行道.
集线器
集线器用于将多个pc机连接到一起。使相互之间可以互相访问.

集线器可以看做只是一个路口,并不做任何的功能。

集线器的连接方式
通过集线器发送的请求,会沿着网线向所有路径发送请求,因为它并不知道对应的ip的mac地址的位置
当在pc1 执行 ping 192.168.1.13 命令的时候
- 首先pc1 并不知道192.168.1.13 ip的mac地址,会向发送一个ARP协议。
- ARP协议发送到集线器,集线器将Arp请求除了发送源的所有路径 (pc2,pc3,pc4)都发送arp请求
- pc2 和pc3 的机器接收到要找到 192.168.1.13 的arp请求后,因为自身不是此ip,就讲此请求忽略,什么也不做。
- pc4 收到arp请求后,将自身的mac地址响应,发送到集线器。集线器再向所有除了来源的路径 (pc1,pc2,pc3)发送arp的请求,pc1 就拿到了pc4的mac地址
- pc1 拿到pc4 的 mac地址后,发送IMCP协议请求到集线器,集线器发送所有路径 (pc2,pc3,pc4),其他非目标地址的pc 执行丢弃,什么也不做,只有pc4,执行响应,再发送数据到集线器
- 集线器再次向除了来源的所有路径发送(pc1,pc2,p3),直到pc1 收到响应,其他丢弃数据。
集线器是半双工通信,并且容易冲突。
网桥
集线器能够承载的网络数量是有限的,为了能够承载更多的网络,可以使用网桥设备连接集线器。

网桥是只有2个接口的网络设备。

网桥可以在2个集线器中的一个桥接功能。
与集线器不同的是,网桥能够记录ip 和mac地址的映射表
因为网桥的存在,在数据发送到网桥后,当网桥缓存到ip 和mac的记录后,下一次请求的时候,它就能够得知,对应的ip地址的mac地址信息,并返回给来源主机。
因为网桥可以记忆IP 和MAC地址的映射。所以:
- ARP协议通过网桥的时候,能够记住对应的IP的MAC地址是什么,并且知道对应的MAC是在网桥的左边还是在右边
- 再次请求经过网桥后,网桥可以通过缓存的mac地址返回给请求源要请求的mac地址
- 在发送请求的时候,能够判断对应的ip地址是在网桥的左边还是右边,达到减少网络传输的浪费。比如 pc1 去请求pc3,因为网桥能够知道pc3 在网桥的左边,所以不会将请求通过到网桥的右边。
交换机
交换机可以看做是集线器和网桥的合并。因为拓展了集线器的多接口扩展功能,并且还支持了网桥的记忆功能。
交换机也是目前使用的比较多的一种网络设备。


交换机的连接方式
请求过程:
- pc1 执行 ping 192.168.1.12
- 首先pc1 发送ARP请求,请求数据到交换机
- 交换机向pc2 pc3 pc4 发送ARP请求,请求到pc2 和pc3 因为目标地址不是自己,所以丢弃,pc4 响应arp请求到交换机
- 交换机 已经记录了pc1的位置和信息,所以pc4的arp响应直接发送给pc1
- pc1 接着发送IMCP请求,交换机已经记录了192.168.1.12 的mac地址,所以IMCP请求,直接发送给pc4
交换器的传输性能高,是全双工通信。
路由器
以上的设备进行通信的时候,都有一个限制,即都需要在同一个网段。如果不在同一个网段将无法通信。
而路由器实现的功能就是将不同的网段进行连接和路由。
当客户端发送一个数据包的时候,会先查看目标地址和自身地址是否在一个网段,如果在一个网段就发送ARP广播。
如果不在一个网段,那么就将数据包发送到网关地址。所以当不在同一个网段的经过交换机的网络设备将无法连通。
而路由器可以配置多个网关,可以将多个不同的网段经过路由器连接到一起。以达到多个网段的路由左右。

如图:左右2个不同的网段。连接路由器不同的网口,不同的网口配置不同的网关。
- 当192.168.1.10 将要发送一个 192.168.2.10 的请求的时候,检查到不再一个网段,那么请求的目标地址将替换成网关地址 192.168.1.1,首先发送到网关,但是网关的mac地址还不知道
- 发送ARP协议获取路由器的mac地址,通过交换机发送到 192.168.1.11 和 192.168.1.1, 路由器将自身的mac地址返回给192.168.1.10
- 获取到网关的mac地址后,发送成功的IMCP协议到网关,路由器接收到请求后,通过另一个192.168.2.1的端口转发,请求的源地址变成了192.168.2.1 的地址,而目标地址还是192.168.2.10
- 路由器还也不知道目标的mac地址,那么由路由器的192.168.2.1 发送一个ARP请求,ARP请求返回后,路由器就知道了192.168.2.10 的mac地址。第一次的请求就结束,因为发送源拿不到目标mac地址,所以会超时。
- 第二次请求,还是由192.168.1.10 发送,此时发送Arp协议,从路由器的缓存中拿到目标的mac地址,最终能够请求成功。
路由器的转发
默认情况下,在不同的网络之前需要路由器的转发,而路由器只知道跟它直接管理的网段,如果这个网段不是这个路由器管理的,需要通过配置静态路由或动态路由告诉路由器。比如一个路由 又连接了另一个路由器的情况。

连接要点:
- 左边路由器为路由器A,右边为路由器B
- 路由器A的左边网段为 192.168.1.0/24 串口ip 为 192.168.3.1
- 路由器B的右边网段为 192.168.2.0/24 串口ip为 192.168.3.2 串口ip 和路由器在同一个网段
- 路由器A 配置静态路由规则 192.168.2.0/24 此网段的网络下一跳地址为 192.168.3.2 (路由器B),那么192.168.2.0/24的请求会被转发到路由器B ,路由器将能够正常处理此网段的请求
- 同理,路由器B配置静态路由规则 192.168.1.0/24 ,此网段的网站下一跳地址为 192.168.3.1 (路由器A),那么 192.168.1.0/24 的请求会被转发到路由器A。
通过静态路由配置可以配置少量网络的跳转。
而如果当网络比较多的时候,需要使用路由选择协议自动获取路由信息。
注意:路由器直接用的是串口连接
NAT 转换
NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
因为公网地址是有限的,而为了满足同时上网的需求,通过nat转换将内网的ip地址转换成公网ip地址,解决ip地址不足的问题。
从内网发出的网络请求经过nat 转换,会将内网的ip地址转成外网地址。同时发出的网络请求的响应也得能知道是内网的哪个主机发送的。执行此操作的设备 是NAT 网关。
转换方式有多种
静态转换 手动配置内网和外网ip的映射信息。这种方式没啥用,并不能解决ip地址不足的问题。
动态地址转换 这种方式相当于有一个外网的ip地址池,随机向内网的请求分片对应的内网ip地址。在内网地址略大于外网可用ip的时候这种方式是可用的,但是在当下ip地址严重不足的情况下是不能满足需求的,当所有内网主机在上网的时候还是会出现ip地址不足的问题。
网络地址端口转换 NAPT 这种方式是只有一个外网ip地址。所有内网主机都使用同一个ip地址,不同的是不同的主机在发送数据的时候使用不同的端口号,通过端口号来区分不同的内网主机。这是一种最节省外网ip地址和最常用的一种方式。(在网络发送的时候发送端和接收端都会开启一个端口号)
IP地址和MAC地址
MAC地址 (Media Access Control Address)
在网络传输中需要一个唯一标识地址,用来标识网络的位置。而MAC地址 别称局域网地址、以太网地址、物理地址,直译为媒体存取控制位址,是用来确认网络设备位置的位址。
mac 地址也叫做物理地址。
windows 查看本机的mac地址
1 | >ipconfig/all |

其中的物理地址即是无线网卡的ip地址。
mac地址是跟网卡有关系的,并不是跟计算机本省相关的。
在每个网卡出厂的时候,写入到网卡中一个全球唯一的6字节的mac地址,用来标识唯一的网络地址。
在两个计算机中访问的时候,只有一台计算器知道另一台计算机的mac地址,也就是知道另一个计算机的接收数据的地址,才能将数据包发送给另一个计算机。
mac 地址格式
全3字节是 厂商标识,标识是哪个网卡生产商,后3位是各个厂商制定的网络接口标识符,用来处理唯一性。
92:dc:03 63:5d:b4
网卡生产商 网络唯一表示位
FF-FF-FF-FF-FF-FF 表示的是广播地址,ARP协议的目标地址就是这个。
ip地址
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
ip地址分为ipv4 和ipv6 表示ip的表示的版本,其中ipv4已经使用完,而ipv6能够表达的ip数量更加的多。
目前常用的是ipv4,因为ipv6还没有彻底普及。
IP地址的格式
IPV4的格式是32bit的数字。在表示的时候使用点隔开。
比如: 192.168.1.1 101.42.164.200
因为是由4个8bit 组成。所以每个占位符的范围是 0-255 .
最大能表示的是 255.255.255.255
IP地址分为2部分,一部分是 网络ID,一部分是主机id。
针对不同的IP网段,这个两部分是不同的。
比如 局域网内 192.168.1.23 子网掩码是 255.255.255.0 的时候,网络ID 是 192.168.1 主机ID是 23 ,也就是说通过网络ID定位到某个网络,通过主机ID定位到具体的网络内的主机或设备。
在ip地址端中 比如 192.168.1.1 - 192.168.1.255 并不是所有ip地址都是可用的,其中每个网段的第一个地址是网关地址,主机不可用,网段的最后一个地址 255 是广播地址,主机不可用。
IP地址和子网掩码的关系
在日常生活中配置主机网络的时候,基本上都要配置这么几个参数

主机IP地址 ==》 配置当前主机的指定IP
网关地址 ==》 配置网关地址
子网掩码
DNS服务器地址 ==》 DNS服务器提供域名到IP的转换映射服务
子网掩码 用在配合IP地址算出所在网段。
举例说明:
配置IP: 192.168.199.100
配置子网掩码:255.255.255.0
将2个值进行按位于将得到网段,因为子网掩码的格式和ip地址的格式是一样的,也是32bit的数字,并且执行按位于的时候,当位上都是1的得到1 否则得到0.
1 | 192.168.199.100 二进制为 11000000 10101000 11000111 01100100 |
因为255 已经是8bit的最大值了,所有位上都是1,那么执行按位与将获得本身,最后一位又是0,按位与将获得0
同样此ip 192.168.199.100 ,如果子网掩码是 255.255.0.0 那么网段将是 192.168.0.0 网段。
有的时候能看到这种表示 192.168.1.2/24 这个24 表示的是子网掩码 255.255.255.0 ,24 表示子网掩码从最左边数有24 个1
IP计算工具 https://tool.520101.com/wangluo/ipjisuan/
ip地址分类
根据子网掩码和主机位的不同 ip地址可以分为4类;
| 类别 | ip地址范围 | 子网掩码 | 主机数 | 用途 |
|---|---|---|---|---|
| A 类 | 1.0.0.0-127.255.255.255 | 255.0.0.0 | 2^24 -2=16777214 | 大范围网络 |
| B类 | 128.0.0.0-191.255.255.255 | 255.255.0.0 | 2^16-2=65534 | 中范围网络 |
| C类 | 192.0.0.0-233.255.255.255 | 255.255.255.0 | 2^8-2=254 | 小范围网络 |
| D类 | 224.0.0.0-239.255.255.255 | 没有 | 16-2=14 | 多播 |
| E类 | 240.0.0.0-255.255.255.255 | 没有 | 16-2=14 | 保留使用 |
对于不同的类别的网络,主要的区别在于网络id 和主机数。如果网络内的主机数比较的多,那么就用范围大的能够容纳更多主机数的网络,而如果主机数量少,就使用小范围的网络,一般家庭使用的都是C类网络,而像一般的云服务器给分配的IP一般是A类网络。
子网划分
什么是子网划分?
子网划分就是IP地址的主机位的一部分作为网络位,划分成了多个子网。
以最常用的C 类网络来举例说明,比如此网段 192.168.1.0/24
此网络以二进制表示为 11000000 10101000 00000001 00000000

简单的说就是对当前的网段再次进行切分,切分成多个小的网段。
为什么子网切分
- 减少网络ip的浪费,在不需要那么多的主机的时候
- 减少网络流量,在进行广播的时候减少网络流量
- 方便网络管理,将不同的网段进行隔离
等长子网划分
通过将网络位向主机位借位的方式,能够对当前子网进行等长划分。
实例: 192.168.1.0 子网掩码 255.255.255.0 此子网
划分2个子网
主机位右移1位。 子网掩码配置成 255.255.255.128

划分4个子网
主机位右移2位。 子网掩码配置成 255.255.255.192

在做等长子网划分的时候,每次可以划分的个数为2的倍数,并且子网掩码的位数 每次向右移动一位。网络位移动一位。得到多个网络段。
变长子网划分
上面的子网划分都是等比例的划分,因为他们的子网掩码是一样的,所以可以等比例划分。而如果多个子网的子网掩码都不一样,那么多个子网将不是等长划分的,比如
A B C D 类网段,属于多个子网,并且子网掩码并不相同。
网络工具网站 https://www.bejson.com/convert/subnetmask/
超网重组
IP地址的 网络标识位向右移动 ,主机数减少,网络标识位增加 完成子网的划分,并且单网段的主机数减少了,而超网重组是将IP中的主机位向左移动,网络标识位减少,主机数增加,达到网段中主机数的增加。
举例说明:
192.168.1.0/24 此网段可以承载 253 个主机(排除网关和广播)此时子网掩码是 255.255.255.0
1 | 网络位 |
此时的子网掩码将是 255.255.254.0
网关: 192.168.0.0
主机地址:192.168.0.1-192.168.1.254 可用主机增加到510个
广播地址:192.168.1.255
总结
发送网络请求需要知道对应的mac地址,会先发送ARP广播协议获取目标ip的mac地址。
集线器 同轴电缆都没有缓存网络信息的功能,交换机,网桥能够记录网络信息,比如ip和mac信息
交换机只能管理同一个网段的主机,不同网段的主机连通需要使用路由器
内网主机的请求发送到主机需要nat转换中的 网络地址端口转换 转成公网ip地址 + 内网唯一端口号标识
ip 和子网掩码 执行按位与得到所在网段
在发送网络请求的时候,首先使用目标ip地址和自身的子网掩码 进行按位与 获取到发送的网段,如果是同一个网段就发送目标主机,如果不是同一个网段就将目标地址替换成网关(mac地址不变),由网关来处理请求的路由
子网划分 就是子网掩码和网络标识位向右移动,将主机位划给网络位,得到多个较小的子网端,超网重组就是子网掩码和网站标识位向左移动,将网络位划给主机位,得到一个较大的子网端,容纳更多的主机数。


