Linux网络基础

发布于:2025-04-09 ⋅ 阅读:(96) ⋅ 点赞:(0)

Linux网络基础

12.1 计算机网络发展模式简述

独立模式

各台计算机相互独立运行,不进行通信。

适用于早期的计算环境,每台机器各自完成任务,不具备资源共享能力。

网络互联

多台计算机通过一定的通信方式(如网线、无线)连接在一起,可以进行数据传输与资源共享。

典型设备:网卡、集线器(Hub)、交换机(Switch等。

局域网 LAN

通常在一个建筑物或一个组织内部连接多台计算机。

使用交换机和路由器等网络设备实现高效通信。

速度较快,延迟低,适用于办公网络、学校、家庭等小范围环境。

广域网 WAN

将地理位置相距较远的多个局域网连接起来,例如跨城市、跨国家。

需要依赖运营商的网络基础设施(如光缆、卫星等)。

互联网(Internet)就是最大的广域网。

12.2 协议

为什么要有协议?

设想一个场景:

小明只会说中文,小美只会说英文,他们想通过对讲机交流,但听不懂对方说什么 —— 这时就需要一个共同的“交流规则”。

在计算机网络中,计算机之间本来不能自然“听懂”对方的语言,也就是说:

每台计算机硬件/操作系统不同

网络环境复杂

没有统一标准,通信就会混乱甚至失败

所以我们必须定义一套大家都遵守的通信规则——这就是网络协议(Protocol),协议的存在也可以降低成本,

协议的概念以及协议的本质?

什么是协议?

协议是计算机网络中通信双方必须共同遵守的规则集合。

这个规则包括:

通信的格式:数据怎么封装

通信的顺序:先谁说、后谁说,谁先发起、谁回应

错误处理:丢包了怎么办?重传机制如何做?

数据表示:比如字符编码、比特顺序等

常见的网络协议有:

HTTP:浏览器访问网页的协议

TCP/IP:互联网通信的核心协议

FTP:文件传输协议

DNS:域名解析协议

协议的本质是什么?

协议的本质是约定俗成的规则,让通信变得可理解、可预测。

协议为什么要分层?

协议分层的目的是降低复杂度、提高灵活性和可维护性。

网络通信是一个非常复杂的过程,包括数据打包、传输、路由、接收、解析等等 ——

如果所有功能都堆在一起,不仅难以设计,也难以维护和扩展。

所以,计算机科学家们借鉴了“模块化设计”的思想,把协议体系分为多层,每层各司其职,互不干扰

两种常见的协议分层模型:

OSI七层模型(理论模型)

应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

TCP/IP四层模型(实际应用中更常用)

应用层、传输层、网络层、网络接口层

12.3 OSI七层模型

OSI开放系统互联模型ISO制定,把网络通信划分为 7 层,每一层解决一类特定问题。

层级

名称

功能

常见协议

对应设备

7

应用层

提供网络服务给用户程序

HTTPFTPSMTP

软件

6

表示层

数据格式转换、加解密、压缩

JPEGMP3SSL/TLS

5

会话层

建立、管理和终止会话

NetBIOSRPC

4

传输层

提供端到端可靠传输或快速传输

TCPUDP

操作系统协议栈(逻辑功能)

3

网络层

寻址和路由,选路径

IPICMPIPSec

路由器

2

数据链路层

局域网通信、MAC寻址、帧传输

EthernetPPPARP

交换机、网卡

1

物理层

比特传输、电气信号、接口标准

RJ45、光纤、5类线标准等

集线器、中继器、网线、光纤

补充:

应用、表示、会话层:这三层多由操作系统和软件层面来完成,比如浏览器处理 HTTP、TLS 加密等,不靠物理设备。

传输层:虽然没有专门的硬件,但 TCP/UDP 运行在操作系统内核中,有时会配合防火墙、负载均衡器工作。

网络层:核心设备是 路由器,负责不同网络之间的数据转发(跨网段通信)。

数据链路层:交换机工作在这一层,实现局域网内的数据帧转发;网卡也在这一层负责帧的组装和识别。

物理层:是最底层,涉及传输媒介和物理信号,像网线、光纤、集线器、调制解调器(光猫)、接口标准都属于这里。

12.4 TCP/IP四层模型

TCP/IP 四层模型是我们今天互联网通信的实际基础模型,相比OSI七层,它更简洁实用。主要由应用层、传输层、网络层、链路层组成。

1.应用层

直接面向用户,提供各种 网络应用服务

常见协议:

协议                                        作用

HTTP / HTTPS                网页传输协议(浏览器访问)

FTP                                  文件传输协议

DNS                                 域名解析协议(网址 → IP)

SMTP / POP3 / IMAP     邮件发送与接收协议

SSH / Telnet                    远程登录控制协议

举例:

你用浏览器访问一个网站

就会触发:

DNS:将域名转为 IP 地址

HTTP:发出网页请求并接收响应

2. 传输层

解决 “主机到主机” 的通信问题,数据怎么从一个程序发送到另一个程序

常见协议:

协议                           特点                                                用途举例

TCP       面向连接、可靠(有确认、重传、顺序)     访问网页、登录账号、下载文件

UDP      无连接、不可靠但更快(无确认、无顺序) 视频直播、语音通话、游戏

浏览器访问网页时用 TCP,确保网页数据完整; 微信语音消息/直播时用 UDP,稍微丢一点包也无妨,但要快。

3. 网络层

让“两台设备之间”的通信成为可能,实现跨网段传输

作用:

IP寻址 + 路由转发

找到“哪一台设备”是目标

常见协议:

协议                                               作用

IP(IPv4 / IPv6)           提供逻辑地址(如 192.168.1.1)

ICMP                               网络测试工具(如 ping)用它

ARP                                 IP地址 ↔ MAC地址转换

举例:

访问某网站,数据要从你电脑走到目标服务器,必须经过路由器转发,这一切由 IP 层控制。

4. 链路层

负责局域网内设备通信,直接与网卡、交换机等打交道

作用:

将数据封装成帧,在物理介质上传输

使用 MAC地址 识别设备

协议 / 技术                                         说明

以太网                             最常见的局域网通信协议

Wi-Fi(无线局域网)   无线连接协议

PPP                                  拨号上网协议

驱动程序 / 网卡            实现底层传输逻辑

四层之间的配合流程(打包发数据)

应用层:我要发 HTTP 请求(浏览器)

传输层:用 TCP 连接,拆成小段 + 加编号

网络层:附上目标 IP 地址,查路由表

链路层:查目标 MAC 地址,用网线/Wi-Fi 发送帧

对方收到后,每一层反过来解析,直到应用层显示网页

常见协议

关键概念

设备

应用层

HTTP, DNS, FTP

服务内容

浏览器、邮件客户端等

传输层

TCP, UDP

端口号、可靠性

操作系统内核

网络层

IP, ICMP, ARP

IP地址、路由

路由器

链路层

Ethernet, Wi-Fi

MAC地址、帧

网卡、交换机、集线器

12.5 网络传输基本流程

应用层(产生数据)

传输层(打包分段,加编号)

网络层(加上IP地址)

链路层(加上MAC地址,发送出去)

数据走网络(交换机、路由器等转发)

目标主机收到数据帧

链路层(读MAC)

网络层(查IP)

传输层(数据重组)

应用层(网页/聊天显示出来)

12.6 数据包的封装与分用

什么是封装和分用?

封装

发送数据时,每一层都加上一层“头部信息(header)”来处理自己的任务。

应用层:产生数据(如网页请求内容)

传输层:加上TCP/UDP头(端口号、序号等)

网络层:加上IP头(源/目的IP地址)

链路层:加上MAC头(源/目的MAC地址)

[应用层]      :数据(网页请求)(帧)

       ↓

[传输层]      :TCP头 + 应用层数据

       ↓

[网络层]      :IP头 + TCP头 + 数据

       ↓

[链路层]      :MAC头 + IP头 + TCP头 + 数据

最终生成一个完整的数据帧送出。

分用

接收数据时,每一层根据头部内容判断怎么处理,然后把“外壳”一层层剥掉,还原出原始数据。

12.7 网络中的地址管理

IP地址

IP地址是网络中每台设备的唯一标识符,用于定位设备并进行数据传输。它分为两种类型:

IPv4(Internet Protocol version 4):由四个8位(即1字节)组成,总共32位,通常以四个十进制数表示,范围从0到255(如:192.168.1.1)。

IPv6(Internet Protocol version 6):由于IPv4地址空间有限,IPv6为每个设备提供了更多的地址,使用128位表示,通常以八组16进制数表示(如:2001:0db8:85a3:0000:0000:8a2e:0370:7334)。

IP地址有两种类型:

公有IP:用于设备之间的全球通信。每个设备连接到互联网时,都有一个唯一的公有IP地址。

私有IP:用于局域网(LAN)内部设备之间的通信,不能直接在互联网中使用。例如,常见的私有IP地址范围包括:

10.0.0.0 到 10.255.255.255

172.16.0.0 到 172.31.255.255

192.168.0.0 到 192.168.255.255

MAC地址:

MAC地址是硬件设备的唯一标识符,通常被分配给网卡(NIC)。它用于局域网中识别设备,属于数据链路层地址。MAC地址通常由48位组成(6个字节),通常以16进制表示(如:00:1A:2B:3C:4D:5E)。

每个网络接口设备(例如Wi-Fi卡、以太网卡)都有唯一的MAC地址。MAC地址在设备启动时由制造商设置,通常无法修改。它在局域网内用于数据帧的发送与接收,设备通过MAC地址来进行直接通信。

关键区别:

IP地址用于在广域网(如互联网)中定位设备,类似于地址,用来引导数据包到达特定地点。

MAC地址用于局域网中设备的物理识别,类似于门牌号,它在本地网络中起作用,确保数据正确地发送到目标设备。