linux学习进展 网络基础

在Linux学习进程中,我们此前重点掌握了进程、线程的操作与同步机制,而实际应用中,Linux系统几乎都运行在网络环境下------远程登录、文件传输、服务部署、程序通信等场景,都离不开计算机网络的支撑。本节课我们将从基础概念入手,逐步拆解网络、互联网、IP地址、MAC地址、端口及网络协议的核心知识,为后续学习Linux网络编程、网络配置打下坚实基础,实现理论与Linux实操的初步结合。

一、网络的核心定义与组成

简单来说,网络是由若干结点和连接这些结点的链路共同组成的集合,结点是网络中的核心设备,链路则是连接结点的物理传输通道,二者协同构成数据传输的基础框架。

1. 网络结点

网络结点承担着数据转发、产生或消费数据的角色,常见的核心结点分为以下几类,适配不同的网络功能需求:

计算机:包括Linux服务器、客户端(笔记本、台式机),是网络中数据的核心产生者和消费者,也是我们后续操作的主要载体;

交换机:主要用于局域网内部的数据转发,将多个主机连接成一个局部网络,实现同一局域网内主机之间的高效通信,不具备跨网络转发能力;

路由器:互联网的核心连接设备,用于连接不同的网络(如局域网与广域网),实现不同网络之间的数据转发和寻址,是构建互联网的关键;

集线器:早期的网络连接设备,功能简单,仅能将多个主机连接在一起,不分发数据(所有数据广播发送),效率低下,目前已基本被交换机替代。

2. 传输介质

传输介质是连接网络结点、传递数据的物理载体,其性能直接影响数据传输速度、距离和稳定性,常见的传输介质主要有三类:

双绞线:最常用的传输介质,成本低、易铺设、维护简单,适用于局域网(如办公室、家庭网络),传输距离有限(通常不超过100米),是Linux服务器日常部署中最常用的介质;

同轴电缆:抗干扰能力强于双绞线,曾广泛用于有线电视、早期局域网,目前逐渐被双绞线和光纤替代,仅在部分特殊场景中使用;

光纤:传输速度快、抗干扰能力极强、传输距离远(可达几十甚至上百公里),适用于长距离、高速率的数据传输(如互联网骨干网、大型企业的核心网络),稳定性是三类介质中最优的。

二、互联网的本质

单个网络的覆盖范围有限,比如一个办公室的局域网、一个小区的私有网络,无法实现跨地域的设备通信。而互联网,就是将多个不同的网络(局域网、城域网、广域网等)通过路由器连接起来,形成的一个全球性的、互联互通的大型网络。

目前,全世界最大的互联网就是我们日常使用的因特网,它覆盖了全球几乎所有的国家和地区,将世界各地的计算机、服务器、网络设备串联在一起,打破地域限制,让我们能够跨地域访问信息、传递数据------比如通过Linux服务器远程访问异地的数据库,或是通过浏览器访问国外的网站,本质上都是依托因特网实现的。

简单总结:网络是"局部连接",解决小范围设备通信;互联网是"全局连接",解决跨地域设备通信,而路由器正是实现这种"全局连接"的核心设备。

三、IP地址:互联网中的"唯一身份标识"

当多个网络连接成互联网后,海量的设备如何被精准定位?答案就是IP地址。IP地址 是给因特网上的每一个主机(或路由器)的每一个网络接口分配的、全世界范围内唯一的标识符,其核心作用是寻址------通过IP地址,我们可以在全球互联网中精准找到某一台设备,就像现实生活中的"身份证号"。

1. IP地址的两种类别格式

目前IP地址主要分为IPv4和IPv6两种,二者在地址长度、格式和资源量上有明显区别,分别适配不同的网络发展需求:

IPv4:最常用的IP地址格式,采用32位二进制数表示,用"."分成四个段(每段8位),每段用十进制表示,取值范围为0-255,格式为"A.B.C.D"。 示例:"192.168.31.1"(常见的局域网私有IP地址)、"114.114.114.114"(常用的DNS服务器IP)。IPv4地址资源有限,随着互联网设备的激增,目前已基本枯竭,日常使用中需通过NAT技术(网络地址转换)实现多设备共享一个公网IP。

IPv6:为解决IPv4地址枯竭问题而推出,采用128位二进制数表示,用":"分成8个段(每段16位),每段用4个十六进制数表示,格式为"XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX"。 示例:"2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b",IPv6地址资源极其丰富,理论上能满足未来互联网的所有设备需求,目前正逐步替代IPv4,但尚未完全普及。

注意:本节课及后续Linux网络基础学习中,若未特别说明,默认讨论的IP地址均为IPv4地址,贴合日常Linux实操场景。

2. IP地址的组成

为了便于寻址、明确目标主机的位置,每个IPv4地址(32位)都由两部分组成,二者协同实现精准定位:

网络号:用于标识主机所在的物理网络,同一个物理网络上的所有主机,其网络号完全相同,相当于现实生活中的"省/市";

主机号:用于标识同一物理网络中的具体主机,同一网络内的每台主机,其主机号唯一,互不重复,相当于现实生活中的"街道/门牌号"。

3. IPv4地址的分类

根据网络号的长度,IPv4地址分为A、B、C、D、E五类,其中A、B、C三类是日常使用中最常见的地址,D类用于组播通信,E类为保留地址(一般不用于日常场景),各类地址的核心参数如下:

A类:网络号7位,主机号24位,地址范围为0.0.0.0~127.255.255.255,适用于大型网络(如大型企业、运营商骨干网),每个A类网络可容纳的主机数量最多;

B类:网络号14位,主机号16位,地址范围为128.0.0.0~191.255.255.255,适用于中型网络(如校园网、中型企业);

C类:网络号21位,主机号8位,地址范围为192.0.0.0~223.255.255.255,适用于小型网络(如家庭局域网、小型办公室),每个C类网络最多可容纳254台主机。其中192.168.0.0~192.168.255.255为C类私有IP地址,仅用于局域网内部,无法在互联网上直接访问;

D类:开头为1110,用于组播通信(如视频会议、广播),不分配给具体主机;

E类:开头为11110,为未来网络技术预留,暂不投入日常使用。

4. Linux与Windows查看IP地址的命令

在Linux系统中,查看IP地址、网卡信息是基础操作,常用ifconfig 命令(部分新系统默认未安装,需通过sudo apt-get install net-tools安装),官方也推荐用ip addr命令替代,但ifconfig更适合新手入门,示例如下(截取核心输出):

bash 复制代码
[root@linux ~]# ifconfig
eth0: flags=4163<UP, BROADCAST, RUNNING, MULTICAST> mtu 1500 
inet 172.31.44.84  netmask 255.255.240.0  broadcast 172.31.47.255
ether 00:16:3e:06:07:44  txqueuelen 1000 (Ethernet)
lo: flags=73<UP, LOOPBACK, RUNNING> mtu 65536
inet 127.0.0.1  netmask 255.0.0.0

其中,"inet"后面的字符串即为当前主机的IPv4地址(如172.31.44.84);"lo"是本地回环接口,IP固定为127.0.0.1,用于测试本机网络是否正常。

补充:Windows系统中,查看IP地址的命令为ipconfig(与Linux的ifconfig仅差一个字母),二者功能类似,均用于查看网络接口和IP相关信息,日常操作中需注意区分。

四、MAC地址:局域网中的"物理标识"

除了IP地址,网络设备还有一个核心标识------MAC地址,也称为物理地址、硬件地址,它是固化在计算机网络适配器(网卡)的ROM中的地址,属于设备的物理属性,无法随意修改。

1. MAC地址的核心特点

长度为48位(6个字节),通常表示为12个十六进制数,每2个十六进制数之间用冒号或短横线隔开,如示例中的"00:16:3e:06:07:44"。其中前3个字节为网卡厂家标识,后3个字节为设备序列号,全球唯一,相当于网卡的"身份证号";

与IP地址的"可变更"不同,MAC地址是"固定的":如果更换了网卡(网络适配器),即使主机的位置、IP地址不变,MAC地址也会随之改变;反之,若主机更换地理位置(如笔记本从一个城市带到另一个城市),只要网卡不变,MAC地址就不会改变;

MAC地址的作用范围仅限于局域网,无法用于跨网络寻址。它专注于数据链路层,负责将数据帧从一个结点传送到同一链路的另一个结点,而跨网络寻址则需要依靠IP地址协同完成。

2. MAC地址与IP地址的协同工作

MAC地址是"局域网内的身份证",IP地址是"互联网上的身份证",二者通过ARP地址解析协议实现映射,协同完成数据传输,核心逻辑如下:

当主机A要与同一局域网内的主机B通信时,会通过ARP协议将主机B的IP地址解析为对应的MAC地址,交换机根据MAC地址将数据帧精准转发到主机B;

当主机A要与跨网络的主机C通信时,会先通过IP地址找到目标网络的路由器,再通过ARP协议解析路由器的MAC地址,将数据发送到路由器,路由器再通过IP地址转发到目标网络,最终传递到主机C。

补充:在Linux中,同样可以通过ifconfig命令查看MAC地址,输出中"ether"后面的字符串即为MAC地址(如上述示例中的"00:16:3e:06:07:44")。ARP协议会在主机上维护一张ARP表,存储IP地址与MAC地址的映射关系,可通过arp -a命令查看。

五、端口(port):主机内的"应用程序标识"

IP地址可以唯一标识互联网中的一台主机,但一台主机上可能同时运行多个网络应用------比如Linux服务器上可能同时运行SSH服务、HTTP服务、FTP服务,如何区分这些应用程序,确保数据准确传递到对应的应用?这就需要端口的帮助。

端口是主机内网络应用程序的代号,本质上是一个16位的整数,取值范围为0-65535,用于唯一标识主机上的某个网络应用程序。

核心逻辑:IP地址 + 端口号,可以在全球网络中唯一确定一台主机上的一个应用程序,二者缺一不可:

IP地址:定位"互联网中的哪台主机";

端口号:定位"该主机上的哪个应用程序"。

端口号分为两类,贴合Linux实操场景:

知名端口(0-1023):由IANA(互联网号码分配机构)分配,对应固定的应用程序,如HTTP协议默认端口80、HTTPS协议默认端口443、SSH协议(Linux远程登录)默认端口22、FTP协议(文件传输)默认端口21;

动态端口(1024-65535):用于临时分配给客户端应用程序,当客户端关闭后,端口会被释放,可重复使用。

示例:我们通过浏览器访问Linux服务器上的网页服务时,浏览器会通过IP地址找到目标服务器,再通过端口80(HTTP默认端口)找到服务器上的网页应用,从而获取网页内容;远程登录Linux服务器时,SSH客户端会通过端口22与服务器建立连接。在Linux中,可通过netstat -tulnp命令查看端口占用情况,排查应用程序的网络连接问题。

六、网络协议:网络通信的"规则约定"

不同厂家的设备(如Linux服务器、Windows客户端、交换机、路由器)、不同的操作系统,要实现互联互通,必须遵循统一的规则------这就是网络协议。网络协议是一组网络通信的规则集合,是所有网络设备和应用程序共同遵守的约定或标准,就像人与人之间交流需要共同的语言,网络通信也需要共同的"协议语言"。

网络协议的核心组成包括三部分:语义(规定通信双方要完成的动作)、语法(规定数据的格式和结构)、时序(规定通信事件的执行顺序),三者协同确保数据传输的准确性和有序性。

为了便于理解和实现,网络协议采用分层结构,最经典的是OSI七层参考模型(由ISO制定),从上到下分为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层,每层完成特定的功能,上层依赖下层提供的服务,下层为上层提供支撑。但实际应用中,更多采用TCP/IP四层模型(简化版),与OSI七层模型对应,核心协议如下:

物理层:负责将二进制数据转换为物理信号,通过传输介质传递,对应OSI物理层,常见规范有RJ45接口、光纤传输标准等;

数据链路层:负责将物理层的信号封装为数据帧,实现局域网内的数据转发,核心协议有ARP协议(地址解析),对应OSI数据链路层;

网络层:负责跨网络的寻址和数据转发,核心协议有IP协议(寻址)、ICMP协议(网络状态反馈,如ping命令依赖该协议),对应OSI网络层;

应用层:负责为应用程序提供网络服务,核心协议有HTTP/HTTPS(网页访问)、SSH(Linux远程登录)、FTP(文件传输)、SMTP(邮件发送)等,对应OSI应用层、表示层、会话层的功能。

补充:传输层是TCP/IP模型的核心层之一,位于网络层和应用层之间,负责端到端的可靠传输,核心协议有TCP(面向连接、可靠传输,适用于文件传输、网页访问等)和UDP(无连接、低延迟,适用于视频通话、实时直播等),后续学习Linux网络编程时会重点讲解。

七、Linux网络基础实操补充

结合本节课知识点,补充几个Linux中最基础的网络实操命令,帮助大家快速上手,衔接后续学习:

ping:测试网络连通性,通过发送ICMP数据包检测目标主机是否可达,常用命令ping -c 4 www.baidu.com(指定发送4个数据包,避免无限发送),丢包率为0%表示网络通畅;

ifconfig:查看/临时配置网卡信息,如查看IP、MAC地址,临时启动/关闭网卡(sudo ifconfig eth0 down关闭网卡,sudo ifconfig eth0 up启动网卡);

arp -a:查看ARP缓存表,查看IP地址与MAC地址的映射关系;

netstat -tulnp:查看所有监听端口及对应进程,排查端口占用问题(如查看SSH服务是否正常监听端口22)。

八、总结

本节课我们系统学习了计算机网络的基础知识点,核心是掌握"网络-互联网-IP地址-MAC地址-端口-协议"的逻辑关联,结合Linux实操场景,重点回顾:

网络由结点和链路组成,核心设备有交换机、路由器,传输介质有双绞线、光纤等,是局域网通信的基础;

互联网是多个网络的互联互通,最大的互联网是因特网,路由器是跨网络通信的核心;

IP地址是互联网中的唯一标识,分IPv4和IPv6,由网络号和主机号组成,Linux中用ifconfig看;

MAC地址是局域网中的物理标识,固化在网卡上,与IP地址通过ARP协议协同实现数据传输;

端口标识主机上的应用程序,IP+端口可唯一确定网络中的应用,Linux中用netstat查看端口占用;

网络协议是通信规则,TCP/IP四层模型是实际应用的核心,各层有对应的核心协议,支撑网络通信。

相关推荐
实心儿儿2 小时前
Linux —— 基础IO - 一切皆文件 + 缓冲区
linux·运维·服务器
实心儿儿2 小时前
Linux —— 基础IO - 自己实现libc库
linux
Rust研习社2 小时前
Reqwest 兼顾简洁与高性能的现代 HTTP 客户端
开发语言·网络·后端·http·rust
RunningBComeOn2 小时前
001学习笔记
学习
大熊背2 小时前
ISP Pipeline中Lv实现方式探究之六--lv值计算再优化
网络·算法·自动曝光·lv
RTC老炮2 小时前
WebRTC下FlexFEC算法架构及原理
网络·算法·音视频·webrtc
东京老树根2 小时前
SAP学习笔记 - BTP SAP Build08 - BPA Condition,Decision Table
笔记·学习
71-32 小时前
C语言练习——数组的练习(涉及顺序、二分查找,冒泡排序)
c语言·笔记·学习·排序算法·查找算法
格林威2 小时前
面阵相机 vs 线阵相机:堡盟与Basler选型差异全解析 + Python实战演示
开发语言·网络·人工智能·python·数码相机·yolo·工业相机