计算机网络的发展大致
1. 初期阶段(1960年代 - 1970年代)
- 1960年代:计算机网络的雏形最早出现在20世纪60年代,主要是为了共享大型计算资源。早期的网络开发由美国国防部资助,用于军事和学术目的。
- ARPANET(1969年):这是世界上第一个分组交换网络,由美国国防部高级研究计划局(ARPA)开发,是现代互联网的前身。ARPANET的建立证明了不同位置的计算机可以通过网络实现通信。
- NCP协议(1970年):最早的网络控制协议,用于处理数据传输,后来被TCP/IP取代。
2. 互联网的诞生与普及(1980年代 - 1990年代)
-
1980年代初:
- TCP/IP协议(1983年):TCP/IP(传输控制协议/网际协议)成为ARPANET的标准协议,标志着现代互联网的正式诞生。它使不同类型的计算机和网络能够通过共同的协议进行通信。
- 域名系统(DNS, 1984年):为了解决IP地址难以记忆的问题,DNS系统被引入,将易记的域名(如example.com)映射到IP地址,极大简化了互联网的使用。
-
1990年代:
- 万维网(WWW, 1991年):蒂姆·伯纳斯-李发明了万维网,开发了第一个网页浏览器和HTML标记语言,使互联网不仅仅局限于科学和政府机构,还向公众开放,成为信息和通信的全球平台。
- 互联网大规模普及:随着ISP(互联网服务提供商)提供接入服务,互联网开始迅速普及。电子邮件、网页浏览、FTP等应用得到广泛使用。
3. 高速宽带与无线网络的兴起(2000年代)
- 宽带互联网:随着ADSL、光纤技术的发展,互联网接入速度大幅提升,用户可以高速下载和上传数据,这为流媒体、在线游戏和高清视频等新应用铺平了道路。
- 无线网络(Wi-Fi):Wi-Fi技术在这一阶段开始大规模普及,允许用户通过无线方式连接互联网,大大增加了上网的便利性。
4. 移动互联网和云计算(2010年代)
- 智能手机的普及:智能手机和移动互联网的发展推动了全球信息网络的扩展。4G移动通信技术允许用户随时随地通过智能设备连接互联网,使用社交媒体、视频流和云存储等应用。
- 云计算:云计算的出现使得数据和服务可以通过互联网进行远程存储和访问,降低了企业部署和管理IT基础设施的成本。
5. 未来发展方向(2020年代及以后)
- 5G网络:5G技术的推出提供了更高的带宽、更低的延迟和更高的连接密度,推动了自动驾驶、物联网(IoT)和增强现实/虚拟现实(AR/VR)等前沿应用的发展。
- 物联网(IoT):越来越多的设备(如家用电器、汽车、医疗设备)连接到互联网,形成了物联网,这为智能家居、智慧城市和工业自动化等提供了基础。
- 量子网络:基于量子计算和量子通信技术的量子网络正在研究中,未来可能会彻底改变信息传输的安全性和效率。
计算机网络设备
计算机网络设备是确保数据通信畅通的基础硬件。常见的网络设备包括:
1. 网络接口卡(NIC - Network Interface Card)
- 功能:网络接口卡(也称为网卡)是计算机连接到网络的硬件组件。每台连接到网络的设备都需要一个网卡。网卡负责将计算机的数字信号转换为网络上能够传输的数据包,并接收并解码来自网络的数据包。
- 类型:
- 有线网卡:通过以太网电缆连接到网络。
- 无线网卡(Wi-Fi):通过无线信号连接到网络。
2. 交换机(Switch)2层,3层
- 功能:交换机用于在局域网(LAN)中连接多个设备(如计算机、打印机等)。它通过检查每个数据包中的目标地址,并根据该地址只将数据转发到目标设备,而不是广播到所有设备,提升了网络效率。
- 工作在 OSI 模型的第 2 层(数据链路层),通过 MAC 地址来转发数据。
3. 路由器(Router)
- 功能:路由器用于连接不同的网络,如连接局域网(LAN)和广域网(WAN),并决定数据包的传输路径。它通过检查 IP 地址,将数据从一个网络传输到另一个网络。
- 工作在 OSI 模型的第 3 层(网络层),通过 IP 地址进行数据路由选择。
- 路由器常用于家庭网络和企业网络中,用于连接本地网络和互联网。
4. 集线器(Hub)x 2004已经淘汰过时;傻x
- 功能:集线器也是用来连接局域网中的多台设备的设备,但不同于交换机,集线器会将收到的数据包广播到所有连接的设备,而不是针对某一个目标设备。集线器是一种较为简单的网络设备,效率较低,现代网络中已很少使用。
- 工作在 OSI 模型的第 1 层(物理层)。
5. 调制解调器(Modem)
- 功能:调制解调器用于将数字信号转换为模拟信号,或反向操作,使计算机能通过电话线、光纤或有线电视线路等连接到互联网。它们常用于家庭宽带或企业互联网连接中。
- 类型:
- DSL 调制解调器:用于通过电话线进行宽带连接。
- 光纤调制解调器:用于光纤网络连接。
- 有线调制解调器:用于有线电视线路网络连接。
6. 网关(Gateway)
- 功能:网关是网络之间的接口,通常用于连接不同协议的网络。它不仅能够连接局域网和广域网,还能在不同的协议栈之间进行转换,使不同的网络设备能够通信。
- 工作在 OSI 模型的第 4-7 层,常作为应用层的设备。
7. 防火墙(Firewall)
- 功能:防火墙是一种网络安全设备,负责监控和控制网络流量。它根据预定义的安全规则来允许或拒绝进出网络的数据包,从而保护网络免受外部攻击。
- 类型:
- 软件防火墙:安装在计算机或服务器上。
- 硬件防火墙:独立的设备,通常用于企业网络。
网络模型
网络中的数据传输是通过一系列的协议和层次结构完成的。在计算机网络中,常见的数据传输模型是 OSI(开放系统互联)模型 和 **TCP/IP 模型**应用最广
。虽然这两种模型有差异,但它们的核心思想是相似的。
1. OSI 模型中的数据传输
OSI 模型将网络通信分为 7 层,从物理层到应用层,每一层都有其专门的功能。
-
第 1 层:物理层
- 负责原始比特流的传输,即电信号或光信号在物理介质上的传递,如电缆、光纤、无线电波等。
- 设备:集线器、网线、无线电塔。
-
第 2 层:数据链路层
- 负责建立和管理物理链路,确保数据帧能够无误地传输。它通过 MAC 地址标识网络设备,并负责错误检测与纠正。
- 设备:网卡、交换机。
-
第 3 层:网络层
- 负责数据包的路由选择和传输。网络层通过 IP 地址识别设备,并决定数据包通过哪个路由器到达目标。
- 设备:路由器。
-
第 4 层:传输层
- 负责数据的可靠传输,包括流量控制、分段、重组和错误检测。传输层协议主要有 TCP(面向连接)和 UDP(非连接)。
- TCP(传输控制协议):确保数据包有序且无丢失地传输。
- UDP(用户数据报协议):提供较低延迟但不保证可靠性的传输。
-
第 5 层:会话层
-
第 6 层:表示层
-
第 7 层:应用层
- 直接与用户交互,提供如 HTTP、FTP、SMTP 等网络服务。应用层协议负责处理应用程序和网络之间的接口。
2. TCP/IP 模型中的数据传输
TCP/IP 模型是实际应用最广泛的网络传输模型,主要用于互联网。它将网络通信分为 4 层:
- 网络接口层:对应 OSI 模型的物理层和数据链路层,负责底层硬件通信。
- 网络层(Internet Layer):对应 OSI 模型的网络层,主要协议是 IP 协议,负责数据包的寻址和路由选择。
- 传输层(Transport Layer):对应 OSI 模型的传输层,主要有 TCP 和 UDP 协议。
- 应用层(Application Layer):对应 OSI 模型的应用层、表示层和会话层,提供用户所需的网络服务。
数据传输过程的详细介绍
-
数据封装和解封装
- 在发送数据时,应用层生成数据,经过每一层后,数据都会被添加上一层的协议头,形成封装数据包。在接收端,数据通过各层后会相应地去除协议头,完成解封装。
-
数据包分片与重组
- 如果数据包过大,传输层会将其分成多个片段,每个片段独立传输,最终由接收端重新组装。
-
数据传输过程示例
- 假设用户在浏览网页:
- 用户在浏览器中输入 URL,请求发送到应用层,应用层使用 HTTP 协议处理请求,并将其传递给传输层。
- 传输层使用 TCP 协议将数据分成多个段,并添加序列号,用以确保数据到达后能正确组装。
- 网络层将 TCP 段打包成 IP 数据包,查找目标 IP 地址,并决定数据传输的路由。
- 数据链路层将 IP 数据包封装成帧,并通过网卡发送到物理层。
- 数据通过物理网络传输,依次经过交换机、路由器等设备,最终到达目标服务器。
- 服务器逆向解封装数据,并响应请求,数据再经过相同路径返回给用户。
- 网络设备 如路由器、交换机、网卡等在网络中扮演着不同的角色,负责数据的传递、路由选择、和网络管理。
- 数据传输 涉及从应用层到物理层的多层协议与操作,通过封装和解封装、数据分片、路由选择等过程,数据可以在全球范围内从一台设备传递到另一台设备。
计算机网络配置
计算机网络配置是指将计算机、网络设备和软件正确设置,以确保网络通信的正常运行。配置通常包括网络硬件的设置、IP地址分配、路由配置、DNS设置、网络安全配置等。以下是常见的网络配置步骤和要点:
IP地址配置
每台连接到网络的计算机或设备都需要一个唯一的IP地址来进行通信。IP地址分为IPv4和IPv6,常见的配置方法有:
IP 地址的分类
类别 |
起始地址 |
结束地址 |
网络位数 |
主机位数 |
用途说明 |
A |
0.0.0.0 |
127.255.255.255 |
8 |
24 |
用于大型网络(如政府、机构) |
B |
128.0.0.0 |
191.255.255.255 |
16 |
16 |
中型网络(如企业网络) |
C |
192.0.0.0 |
223.255.255.255 |
24 |
8 |
小型网络(如局域网) |
D |
224.0.0.0 |
239.255.255.255 |
- |
- |
多播地址(不用于普通主机) |
E |
240.0.0.0 |
255.255.255.255 |
- |
- |
预留地址(实验性用途) |
1. A 类 IP 地址 单播
- 范围:
0.0.0.0 - 127.255.255.255
- 网络位数:8 位
- 主机位数:24 位
- 子网掩码:默认子网掩码是
255.0.0.0
,即 /8
- 可用主机数:
2^24 - 2 = 16,777,214
台主机(减去网络地址和广播地址)
- 用途:A 类地址分配给大型网络或机构,如政府和大型组织。
示例:10.0.0.0 - 10.255.255.255
是常见的 A 类私有 IP 地址段。
2. B 类 IP 地址 单播
- 范围:
128.0.0.0 - 191.255.255.255
- 网络位数:16 位
- 主机位数:16 位
- 子网掩码:默认子网掩码是
255.255.0.0
,即 /16
- 可用主机数:
2^16 - 2 = 65,534
台主机
- 用途:B 类地址用于中型到大型网络,如中型企业和校园网。
示例:172.16.0.0 - 172.31.255.255
是常见的 B 类私有 IP 地址段。
3. C 类 IP 地址 单播
- 范围:
192.0.0.0 - 223.255.255.255
- 网络位数:24 位
- 主机位数:8 位
- 子网掩码:默认子网掩码是
255.255.255.0
,即 /24
- 可用主机数:
2^8 - 2 = 254
台主机
- 用途:C 类地址适用于小型网络,主要用于局域网(LAN)。
示例:192.168.0.0 - 192.168.255.255
是常见的 C 类私有 IP 地址段。
4. D 类 IP 地址 组播
- 范围:
224.0.0.0 - 239.255.255.255
- 用途:D 类地址专用于 多播,即将数据传送给多个目标主机,但不用于普通主机通信。
- 特点:没有子网掩码或可用主机数的概念。
5. E 类 IP 地址
- 范围:
240.0.0.0 - 255.255.255.255
- 用途:E 类地址是预留的,通常用于实验性和未来的用途,并不用于公共网络的分配。
- 特点:不用于普通通信。
私有 IP 地址范围
除了公网 IP 地址,某些 IP 地址范围被保留作为私有网络的地址,用于本地网络,不通过互联网路由:
- A 类私有地址:
10.0.0.0 - 10.255.255.255
- B 类私有地址:
172.16.0.0 - 172.31.255.255
- C 类私有地址:
192.168.0.0 - 192.168.255.255
这些私有地址可以在内部网络中使用,不会与公网 IP 冲突。通过 NAT(网络地址转换) 技术,私有 IP 地址可以与外部互联网通信。
理想型配置
- **A 类 IP 地址**:适用于大型网络,网络部分占 8 位。
- **B 类 IP 地址**:适用于中型网络,网络部分占 16 位。
- **C 类 IP 地址**:适用于小型网络,网络部分占 24 位。
- **D 类 IP 地址**:用于多播,不用于主机间通信。
- **E 类 IP 地址**:保留用于实验性目的。
子网掩码
子网掩码 是用来划分 IP 地址的网络部分和主机部分的工具。它帮助设备判断一台主机是否和它在同一个子网内,从而决定数据包是直接发送给目标设备,还是通过路由器转发。
- 子网掩码格式:子网掩码和 IP 地址一样,都是由 32 位二进制数字组成,通常以点分十进制的形式表示,例如
255.255.255.0
。
- 网络部分:在子网掩码中,
1
表示网络部分,0
表示主机部分。例如 255.255.255.0
(即 11111111.11111111.11111111.00000000
)表示前 24 位是网络部分,后 8 位是主机部分。
- 网络地址(Network Address):由子网掩码中的
1
部分确定。
- 主机地址(Host Address):由子网掩码中的
0
部分确定,表示在该网络中可用于标识的主机。
例子:
- IP 地址:192.168.1.10
- 子网掩码:255.255.255.0(即
/24
,表示前 24 位为网络部分)
IP 地址和子网划分的计算
默认网关配置
- 功能:默认网关是计算机与外部网络(如互联网)通信的出口。通常,默认网关是网络中的路由器或防火墙设备的IP地址。
- 配置方法:在静态IP地址配置时,网关地址需要手动设置;使用DHCP时,网关地址由DHCP服务器自动分配。
DNS,相当于人的小名
DNS服务器配置
nslookup DNS调试工具
ipconfig /displaydns 查看DNS缓存
ipconfig /flushdns 清空DNS缓存
- 功能:DNS(域名系统)将域名解析为IP地址,使用户可以通过易记的域名(如google.com)访问网站,而不需要记住复杂的IP地址。
- 配置方法:
- 手动配置:在网络设置中手动输入DNS服务器的地址,如
Google的公共DNS服务器(8.8.8.8)
。
114.114.114.114
223.5.5.5 阿里
8.8.8.8 谷歌
- 自动配置:通过DHCP服务器自动分配DNS服务器地址。
DNS(域名系统,Domain Name System) 是互联网中的核心服务之一,用于将域名解析为 IP 地址,以便用户可以通过可读的域名(如 www.example.com
)访问网站,而不是记忆复杂的 IP 地址。DNS 分类和解析流程是理解其工作原理的关键部分。
DNS 的分类
DNS 可以根据其角色和功能分为以下几类:
1. 按功能分类
-
根域名服务器(Root Name Servers):
- 顶级的 DNS 服务器,负责管理互联网 DNS 的根区域。全世界共有 13 台组根服务器,它们维护了顶级域名(如 .com, .net, .org)的服务器列表。
- 当用户访问某个网站时,根服务器是域名解析的起点。
-
顶级域名服务器(TLD Name Servers):
- 管理特定的顶级域名(TLD),如
.com
, .net
, .org
, .edu
等。
- 这些服务器记录了与特定顶级域相关的授权 DNS 服务器的信息。
-
权威域名服务器(Authoritative DNS Servers):
- 权威服务器保存特定域名的 DNS 记录,直接响应对该域的查询。它们提供网站的实际 IP 地址。
- 当查询到权威 DNS 服务器时,它会直接返回目标域的 IP 地址。
-
递归解析器(Recursive DNS Resolvers):
- 递归解析器负责接收用户的 DNS 查询,并通过向多个 DNS 服务器发出请求来找到最终的 IP 地址。
- 递归解析器会缓存查询结果,以便加速未来的查询。
2. 按 DNS 服务器的具体类型分类
-
递归 DNS 服务器(Recursive DNS Server):
- 通常由 ISP 或公共 DNS 提供服务,用户通过递归服务器发送域名查询请求,递归服务器会查询多个 DNS 服务器,直到找到最终的 IP 地址。
-
本地域名服务器(Local DNS Server):
- 这是用户或企业的局域网内部 DNS 服务器。它负责为本地网络内的设备提供 DNS 服务,并可能包含企业内部的域名解析记录。
-
缓存 DNS 服务器(Caching DNS Server):
- 该服务器会缓存 DNS 记录,以减少递归解析的次数。它根据先前查询的结果缓存域名和 IP 对应关系,从而加速未来相同查询的解析。
-
动态 DNS(Dynamic DNS, DDNS):
- 动态 DNS 可以将动态 IP 地址映射到固定的域名上,通常用于动态 IP 环境(如家庭网络)。当 IP 地址改变时,DDNS 服务会自动更新记录。
DNS 解析流程
DNS 解析是一个递归和分层的过程。下面是一个典型的 DNS 查询流程:
1. 用户发出 DNS 查询请求
- 当用户在浏览器中输入一个域名(如
www.example.com
),操作系统会检查本地缓存是否已有该域名的解析结果。如果本地缓存没有结果,操作系统会将查询请求发送到配置的 DNS 递归解析器(通常是 ISP 提供的 DNS 服务器)。
2. 递归解析器查询根 DNS 服务器
根域名服务器确实有13个逻辑实例,这13个逻辑根域名服务器标识为A到M
- 递归解析器收到查询请求后,会首先查询 根域名服务器,请求它告知
.com
顶级域的 TLD 服务器的地址。
- 根 DNS 服务器返回
.com
顶级域名服务器的地址。
3. 递归解析器查询顶级域名服务器(TLD 服务器)
- 递归解析器使用从根服务器获得的信息,查询
.com
的 顶级域名服务器,请求获得 example.com
的授权 DNS 服务器地址。
- 顶级域名服务器返回
example.com
权威 DNS 服务器的地址。
4. 递归解析器查询权威 DNS 服务器
- 递归解析器向
example.com
的 权威 DNS 服务器 发送请求,询问 www.example.com
的 IP 地址。
- 权威服务器返回
www.example.com
的具体 IP 地址。
5. 递归解析器返回结果并缓存
- 递归解析器将获得的 IP 地址返回给用户设备,并将结果缓存一段时间,以便将来加速相同查询的解析。
- 用户设备接收到 IP 地址后,向对应的 IP 发起连接,完成网页加载。
DNS 解析流程图解
用户设备 -----> 本地缓存查找是否已有DNS记录
↓
递归解析器
↓
根域名服务器
↓
顶级域名服务器 (TLD)
↓
权威域名服务器 (Authoritative DNS)
↓
返回 IP 地址
↓
用户设备连接到 IP
DNS 缓存
常见的域名后缀
域名后缀,也称为顶级域名(Top-Level Domains, TLDs),是互联网地址的最后一部分,位于网址的最后。它们可以帮助标识网站的类型或地理位置。以下是一些常见的域名后缀:
- .com - 商业组织(commercial organizations)
- .org - 非营利性组织(non-profit organizations)
- .net - 网络服务提供商(network providers)
- .edu - 教育机构(educational institutions),主要在美国使用
- .gov - 政府实体(government entities),主要在美国使用
- .mil - 美国军事部门(U.S. military)
- .int - 国际组织(international organizations)
- .biz - 企业(businesses)
- .info - 提供信息的网站(informational sites)
- .name - 个人姓名(individuals or personal names)
- .pro - 某些专业人员(certain professionals)
- .mobi - 移动设备优化的网站(websites optimized for mobile devices)
- .coop - 合作社(cooperatives)
- .aero - 航空业(air transport industry)
- .asia - 亚洲地区的网站(sites associated with Asia)
- .cat - 加泰罗尼亚语相关的文化与社区(Catalan language and culture)
- .jobs - 就业相关服务(employment-related services)
- .tel - 用于存储联系信息(contact information storage)
- .travel - 旅游业(travel industry)
- .xxx - 成人内容(adult content)
此外,还有国家代码顶级域名(Country Code Top-Level Domains, ccTLDs),这些通常代表特定国家或地区,例如:
- .cn - 中国(China)
- .de - 德国(Germany)
- .fr - 法国(France)
- .jp - 日本(Japan)
- .uk - 英国(United Kingdom)
- .us - 美国(United States)
近年来,还引入了更多新的通用顶级域名(New Generic Top-Level Domains, nTLDs),如:
- .app - 应用程序相关的网站
- .blog - 博客
- .cloud - 云技术相关
- .design - 设计师或设计公司
- .dev - 开发者和科技行业
- .io - 常被科技公司使用
- .tech - 技术相关的网站
- .shop - 电子商务商店
选择合适的域名后缀可以帮助用户更好地理解您的网站性质,并且对于品牌塑造和SEO也可能有积极的影响。
路由配置
- 功能:路由器负责将数据包在不同网络之间进行转发。路由配置确保本地网络与外部网络(如互联网)之间的数据传输。
- 静态路由:管理员手动配置路由路径,适用于小型网络或特殊网络拓扑。
- 动态路由:通过路由协议(如RIP、OSPF)自动更新和选择最佳路由路径,适用于大规模网络。
无线网络配置(Wi-Fi)
- 功能:Wi-Fi是无线局域网(WLAN)的一种形式,允许设备通过无线方式连接到网络。
- 配置方法:
- 在路由器或无线接入点(AP)上设置SSID(无线网络名称)。
- 配置无线加密方式(如WPA2或WPA3),并设置强密码。
- 选择无线信道,以避免与其他无线网络信号干扰。
- 在设备上连接到指定的SSID,输入密码。
防火墙与安全配置
- 功能:防火墙用于过滤和控制进出网络的流量,以增强网络的安全性。可以在路由器、计算机或独立的防火墙设备上配置防火墙规则。
- 配置方法:
- 设置允许或拒绝的IP地址或端口范围。
- 配置NAT(网络地址转换)规则,以隐藏内部网络的IP地址。
- 启用入侵检测系统(IDS)或入侵防御系统(IPS)以实时监控网络流量。