您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 网络/安全 > 正文

一份超详细的计算机网络基础

发表于:2023-09-04 作者:微技术之家 来源:微技术之家

随着现代科技的飞速发展,互联网已经变得无处不在,成为了我们日常生活中必不可少的一部分。然而,随之而来的是网络安全和网络文明等一系列问题。

为了更好地保护自己的权益,同时也为了维护网络环境的健康,我们需要对一些基本的网络常识有所了解。下面是一些关于网络基本常识的总结。

网络基础

(1) 互联网和因特网:互联网(Internet)是指连接全球各种计算机网络的网络,它是一个全球范围内的网络基础设施。而因特网(Internet)是互联网的核心技术,是一种基于TCP/IP协议族的广域网,它使得不同的计算机网络能够相互连接、通信和共享资源,让全球各地的计算机能够互相交流和访问信息。

(2) 计算机网络:以能够相互共享资源(硬件、软件、数据等)的方式互联起来的多台自治计算机系统的集合。互联的计算机是分布在不同地理位置的多台独立的自治计算机。集合是指联网计算机必须遵循相同的网络协议实现资源共享。

(3) 因特网的起源和发展:因特网起源于上世纪60年代末和70年代初,最初是美国国防部高级研究计划署(ARPA)的一个项目,旨在建立一种分布式的计算机网络,以实现信息的共享和通信。随着时间的推移,因特网不断发展壮大,逐渐成为全球最大的计算机网络。

(4) IP地址的划分:IP地址是互联网上用于标识和定位设备的一种地址,类似于我们现实世界中的门牌号。为了正确地将数据包送达目标设备,互联网采用了IP地址来唯一标识每个设备。IP地址由32位(IPv4)或128位(IPv6)的数字组成,用于在网络上进行路由和寻址。划分IP地址的目的是为了方便网络管理和地址分配,通过划分可以将地址空间分配给不同的网络和主机。

(5) IPv4和IPv6:IPv4(Internet Protocol version 4)是互联网最常用的IP协议版本,采用32位地址,总共可表示约42亿个唯一的地址。由于互联网的快速发展和设备增多,IPv4地址空间逐渐紧缺,因此引入了IPv6(Internet Protocol version 6)协议。IPv6采用128位的地址空间,理论上可以提供远远超过IPv4的地址数量,以满足未来互联网的发展需求。

(6) 子网掩码:子网掩码是用来划分IP地址的网络部分和主机部分的一种参数,用于确定一个IP地址所属的网络。它与IP地址进行逻辑运算后,可以提取出网络标识符和主机标识符。子网掩码中的1表示网络部分,0表示主机部分。通过正确设置子网掩码,可以实现灵活的网络划分和地址分配,提高网络的管理效率。

(7) 路由器:路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

(88) 交换模式:早期广域网的通信子网数据交换方式中,可采用电路交换和存储转发交换。存储转发交换主要采用分组交换形式,包括数据报和虚电路两种分组交换方式。

(9) 电路交换:提供面向连接的服务,资源独占。通信实时性强,适用于交互会话类通信;但是存在对突发性通信不适应,系统效率低,不具备存储数据、差错控制的能力,无法发现和纠正传输过程中发生的差错。

(10) 吞吐量表示在单位时间内通过某个网络或信道的数据量。

网络体系结构

OSI网络的七层结构

七层结构是指ISO(国际标准化组织)制定的开放系统互连参考模型,它将计算机网络通信的过程划分为七个层次。每个层次具有不同的功能和责任,从物理连接到应用程序,分别为:

(1) 物理层(Physical Layer):负责传输原始的比特流,主要定义电气、光学和机械接口的标准,例如电缆规范和传输介质。

(2) 数据链路层(Data Link Layer):在物理层之上,提供可靠的数据传输,将原始的比特流划分为数据帧,并进行错误检测和修复,确保数据的可靠性。

(3) 网络层(Network Layer):负责逻辑编址和路由选择,将数据包从源主机传输到目标主机,通过IP地址进行寻址和路由。

(4) 传输层(Transport Layer):为应用程序提供端到端的可靠通信,主要负责数据分段、流量控制、数据的可靠性和顺序保证,常见的传输协议有TCP(传输控制协议)和UDP(用户数据报协议)。

(5) 会话层(Session Layer):建立、管理和终止应用程序之间的会话连接,包括会话的控制和同步,确保通信的有序性和稳定性。

(6) 表示层(Presentation Layer):处理数据的表示和转换,例如数据的编码、解码、数据加密和解密,确保不同系统的数据格式能够互相理解。

(7) 应用层(Application Layer):提供网络服务和应用程序之间的接口,包括电子邮件、文件传输、远程登录等各种应用服务。

TCP/IP四层网络模型

TCP/IP四层模型是互联网上广泛使用的参考模型,它是基于实际协议栈发展而来的,包括:

(1) 网络接口层(Network Interface Layer):负责物理连接和数据链路操作,以太网、Wi-Fi等都在这一层工作。

(2) 网际层(Internet Layer):相当于OSI模型的网络层,负责IP寻址、路由选择和数据包的转发。

(3) 传输层(Transport Layer):相当于OSI模型的传输层,提供端到端的可靠数据传输和流量控制,主要由TCP和UDP协议实现。

(4) 应用层(Application Layer):相当于OSI模型的会话、表示和应用层,包括各种应用服务和应用协议,例如HTTP、SMTP、FTP等。

五层协议

五层协议的网络体系结构是指在中国国家标准中规定的网络体系结构,它是对传统的OSI模型和TCP/IP模型的简化和优化,主要包括五个层次:

(1) 网络接入层:负责物理接入和数据链路接入,例如以太网、Wi-Fi等。

(2) 网络层:负责数据包的路由和转发,以及IP寻址和转发。

(3) 传输层:负责端到端的可靠数据传输和流量控制,主要由TCP和UDP协议实现。

(4) 会话层:负责建立、管理和终止应用程序之间的会话连接,确保通信的有序性和稳定性。

(5) 应用层:提供各种网络应用服务和应用协议,例如HTTP、SMTP、FTP等。

这些网络体系结构模型都提供了对网络通信的层次化和功能分离的理论框架,以便更好地理解和设计计算机网络系统。

 

IPv4

IPv4是32位的地址空间,因此总共有2^32个IPv4地址,即约42.9亿个地址。

A类地址、B类地址和C类地址是IPv4地址分类中的三个主要类别,用于划分不同规模的网络。

(1) A类地址

IP地址构成:0+网络号(7bit)+主机号(24bit)
网络数量:128个网络(2^7=128)
取值范围:0.0.0.0~127.255.255.255
举例:一个A类地址网段13.0.0.0~13.255.255.255
【A类地址】– 特殊网络
0.0.0.0  ~0.255.255.255 (IEEE保留的地址,不进行分配)
10.0.0.0 ~10.255.255.255(专用的私有地址)
127.0.0.0~127.255.255.255(用于回送地址测试,如本地测试127.0.0.1)
 

(2) B类地址


IP地址构成:10+网络号(14bit)+主机号(16bit)
网络数量:16384个网络(2^14=16384)
取值范围:128.0.0.0~191.255.255.255
举例:
一个B类地址网段:130.55.0.0~130.55.255.255
每个网络中的主机数量:2^16– 2=65534– 特殊网络
172.16.0.0~172.31.255.255(专用的私有地址)。
 

(3) C类地址

IP地址构成:110+网络号(21bit)+主机号(8bit);
网络数量:2097152个网络(2^21=16384)
取值范围192.0.0.0 ~223.255.255.255
举例某一个C类地址网段:
210.46.10.0~210.46.10.255
每个网络中的主机数量:2^8– 2=254– 特殊网络
192.168.0.0~192.168.255.255(专用的私有地址)
 

注意,这些地址范围不是严格规定的,有些特殊地址和保留地址也存在。此外,A、B和C类地址的划分是IPv4早期的一种分类方案,现代的网络通常采用无类别域间路由选择(CIDR)来管理和分配IP地址,使得更灵活和高效地利用地址空间。

子网的基本概念

子网的基本概念是将一个大的IP地址空间划分成多个较小的网络,每个子网都有自己的唯一网络地址。子网划分可以提高网络的效率和安全性。由于标准分类的IP地址在分配使用时浪费严重,子网允许将网络划分成多个部分供内部使用,但是对于外部网络仍然像一个网络一样。子网技术将某一个A类网段、B类网段或C类网段,再划分成多个子网,每个子网形成单独的网络,有效解决IP地址浪费问题。

(1) 子网掩码subnet mask,也称子网屏蔽码,用来标识一个IP地址在哪一个子网内。子网掩码中网络号和子网号对应的二进制位都为1,主机号都为0。子网掩码用于标识IP地址中哪部分是网络地址,哪部分是主机地址。它是一个与IP地址相对应的32位二进制数,其中网络地址部分全为1,主机地址部分全为0。子网掩码告诉网络设备如何将IP地址划分为网络地址和主机地址,以确定数据包在局域网中的传输路径。通过使用子网掩码,可以将IP地址分段规划,充分利用IP地址空间,同时也提供更有效的路由和转发。

(2) 子网的地址结构:子网使用三级地址结构,网络号+子网号+主机号,在标准分类的主机号部分通过借位实现子网号,从而进行子网的划分。

(3) 网关(Gateway)是连接一个子网与另一个子网或外部网络的设备,它在不同网络之间进行数据包转发。网关充当一个中继站,负责将数据包从一个网络转发到另一个网络,它对外部网络屏蔽了内部网络的细节。在本地网络中,网关通常是一个路由器,它负责将数据包从一个子网路由到另一个子网。网关是实现不同网络之间通信的关键组件。

(4) DNS(Domain Name System)是一种分布式的命名系统,用于将域名(例如www.example.com)转换为对应的IP地址。当我们在浏览器中输入一个域名时,浏览器需要查询DNS服务器来获取该域名对应的IP地址,然后才能建立与目标主机的连接。DNS起到类似电话簿的作用,它将易记的域名映射到对应的IP地址,使得人们可以使用便于记忆的域名来访问网络资源。DNS的存在使得互联网更加方便、易用,并且可以支持动态的IP地址变化。

总结起来,子网掩码用于划分IP地址,网关用于不同网络之间的数据包转发,而DNS用于将域名转换为对应的IP地址,从而实现网络通信和资源访问。这些要素相互配合,构成了现代互联网的基础架构。

IPv6

IPv6(Internet Protocol version 6)的引入是因为IPv4(Internet Protocol version 4)地址空间的枯竭问题。IPv4使用32位的地址,最多可以分配约42亿个IP地址,但随着互联网的迅速发展和设备的普及,可用的IPv4地址已经枯竭。为了满足日益增长的互联网设备数量和提供更大的地址空间,IPv6被提出并逐渐推广使用。

IPv6采用128位的地址空间,相比IPv4的32位地址空间,IPv6可以提供可观的地址数量,约为3.4 x 10^38个。这使得每个地球上的每颗尘埃粒子都可以拥有大量的IPv6地址,从而解决了IPv4地址枯竭的问题。此外,IPv6还提供了一些其他改进和功能,如更好的安全性、自动地址配置、移动性支持和更高的性能。

IPv6有三种表示方法,包括:

1冒分十六进制表示法(Colon-Hexadecimal Notation)
格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
这种表示法中,每个X的前导0是可以省略的,例如:2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
20位压缩表示法(Zero Compression)
在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。
但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
FF01:0:0:0:0:0:0:1101→ FF01::1101
0:0:0:0:0:0:0:1→::1
0:0:0:0:0:0:0:0→::
3内嵌IPv4地址表示法(IPv4-Mapped Address)
为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,
此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,
而最后32b地址则使用IPv4的点分十进制表示,
例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。
 

IPv6的引入和多种表示方法的使用,为互联网的可持续发展提供了更可靠的基础结构和更广阔的地址空间。