Linux——网络概念

【Linux】-网络概念 关于网络入门的概念讲解 阅读详情

网络发展

局域网

局域网是指在有限地理范围内(如一栋建筑、一个校园、一个办公室),将各种计算机、服务器、打印机等设备通过通信线路(路由器)和网络设备连接起来,实现数据通信和资源共享的网络。

特点:

  • 覆盖范围小:通常几米到几公里
  • 高数据传输率:10 Mbps~100 Gbps
  • 低延迟、低误码率
  • 所有权归单一组织(私有网络)

广域网

广域网是指覆盖广阔地理范围(跨越城市、国家甚至大洲)的计算机网络,它连接多个局域网或其它网络,实现远距离的数据通信。

特点:

  • 覆盖范围广:几十公里到全球范围
  • 数据传输速率相对较低:通常 kbps~Gbps(核心高速,接入层可能较慢)
  • 高延迟、相对较高的误码率
  • 通常使用电信运营商提供的公共通信线路
  • 所有权多为多个组织共享或租用

协议

"协议" 是⼀种约定.

协议本质也是软件,在设计上为了更好的进行模块化,解耦合,也是被设计成为层状结构的

OSI七层模型

第1层:物理层(Physical Layer)

  • 功能:传输原始比特流(0和1),定义物理介质规范

  • 关键设备:集线器(Hub)、中继器、网线、光纤

  • 协议/标准:RS-232、V.35、IEEE 802.3(以太网物理层)

  • 数据单位:比特(Bit)

  • 示例:网线的类型(Cat5/6)、接口形状(RJ45)、电压电平、传输速率


第2层:数据链路层(Data Link Layer)

  • 功能:

    • 将比特组装成帧,进行差错检测(CRC)

    • 物理寻址(MAC地址)

    • 流量控制、介质访问控制(MAC子层)

  • 关键设备:交换机(Switch)、网桥

  • 协议:以太网(IEEE 802.3)、PPP、HDLC、帧中继

  • 数据单位:帧(Frame)

  • 重要概念:

    • MAC地址:48位硬件地址,格式如 00:1A:2B:3C:4D:5E

    • 交换机:通过MAC地址表进行转发


第3层:网络层(Network Layer)

  • 功能:

    • 逻辑寻址(IP地址)

    • 路由选择:确定数据从源到目的地的最佳路径

    • 分组转发

  • 关键设备:路由器(Router)

  • 协议:IP(IPv4/IPv6)、ICMP、ARP、RIP、OSPF、BGP

  • 数据单位:数据包/分组(Packet)

  • 重要概念:

    • IP地址:32位(IPv4)或128位(IPv6)逻辑地址

    • 路由表:路由器用于决定转发路径的表格


第4层:传输层(Transport Layer)

  • 功能:

    • 端到端连接管理

    • 可靠传输(确认、重传、排序)

    • 流量控制和拥塞控制

    • 多路复用/分解

  • 协议:TCP(可靠)、UDP(不可靠)

  • 数据单位:段(Segment - TCP)/数据报(Datagram - UDP)

  • 重要概念:

    • 端口号:区分不同应用程序(HTTP:80, HTTPS:443, DNS:53)


第5层:会话层(Session Layer)

  • 功能:

    • 建立、管理、终止应用程序之间的会话

    • 对话控制(全双工/半双工)

    • 同步检查点

  • 示例:RPC(远程过程调用)、SSH会话管理

  • 实际应用:断点续传、会话恢复


第6层:表示层(Presentation Layer)

  • 功能:

    • 数据格式转换(编码、加密、压缩)

    • 确保一个系统的应用层数据能被另一个系统理解

  • 技术示例:

    • 加密解密:SSL/TLS(虽然实际在应用层实现)

    • 压缩:gzip、ZIP

    • 编码转换:ASCII ↔ Unicode、JPEG、MPEG


第7层:应用层(Application Layer)

  • 功能:为应用程序提供网络服务接口

  • 协议:HTTP、HTTPS、FTP、SMTP、DNS、DHCP、SSH

  • 数据单位:消息/数据流

  • 注意:用户直接接触的是这一层(浏览器、电子邮件客户端等)

TCP/IP五层(四层)模型

协议的本质

所谓协议,就是通信双方都认识的结构化的数据类型,即结构体。

网络传输基本流程

局域网络传输流程图

局域网通信原理

每台主机在局域网上,要有唯一的标识来保证主机的唯一性:mac地址。

以太网 不是物理实体,而是一套由 IEEE 802.3 标准 定义的 通信协议规范。它规定了:

  • 帧格式:数据该如何包装(就像信封的书写格式)
  • 寻址方式:如何使用 MAC 地址标识设备
  • 传输机制:在共享介质上如何避免冲突(CSMA/CD)
  • 物理层规范:电缆类型、接口形状、电气信号等

MAC地址

MAC地址 用来识别数据链路层中相连的节点。

  • 长度为 48 比特,即 6 个字节。一般用 16 进制数字加上冒号 的形式来表示(例如:08:00:27:03:fb:19)。
  • 在网卡出厂时就已经确定,通常不能修改。MAC 地址通常是唯一的(虚拟机中的 MAC 地址不是真实的物理地址,可能会冲突;也有些网卡支持用户配置 MAC 地址)。
  • 在以太网中,任何时刻只允许一台机器向网络中发送数据。
  • 如果多台机器同时发送,会发生数据干扰,称之为数据碰撞。
  • 所有发送数据的主机需要进行碰撞检测与碰撞避免。
  • 在没有交换机的情况下,一个以太网就是一个碰撞域。
  • 局域网通信过程中,主机通过目标 MAC 地址判断收到的报文是否是发送给自己的。

这里可以尝试从系统角度来理解局域网通信原理。

同一个网段内的两台主机进行发送消息的过程:

而其中每层都有协议,所以当我进行上述传输流程的时候,要进行封装和解包。

报文=报头+有效载荷

不同协议层对报文有不同的称谓:

  • 在传输层叫做段(segment)

  • 在网络层叫做数据报(datagram)

  • 在链路层叫做帧(frame)

应用层数据通过协议栈发到网络上时,每层协议都会添加一个数据首部(header),这个过程称为封装(Encapsulation)。

首部中包含了诸如首部长度、载荷长度、上层协议类型等信息。

数据封装成帧后被发送到传输介质上,到达目标主机后,每层协议再依次剥离对应的首部,并根据首部中的 “上层协议字段” 将数据交给相应的上层协议处理。

总结:

各个层的协议:

两台主机通过TCP/IP协议通信过程如下:

在网络传输的过程中,数据不是直接发送给对方主机的,而是先要自定向下将数据交付给下层协议,最后由底层发送,然后由对方主机的底层来进行接受,在自底向上进行向上交付。

数据包封装和分用

完整的数据包封装:

数据包分用:

跨网络传输流程图

IP地址

IP协议有两个版本:IPv4和IPv6。今天主要学习IPv4.

  • IP地址是在IP协议中,用来标识网络中不同主机的地址。
  • IPv4地址是一个四字节的,32位的整数。
  • 用点分隔的每个数字代表一个字节,范围是0-255.

跨网络传输的本质是数据从一台计算机到另一台计算机要经过一个或多个以太网。

源IP地址与目标IP地址:

  • 源IP地址:标识发出数据包的发送主机的网络地址。

  • 目标IP地址:标识数据包在广域网(或互联网)中最终要送达的接收主机的网络地址。

IP地址和Max地址的区别:

  • IP地址在整个路由过程中,一直不变
  • Mac地址一直在变,Mac地址需要在局域网中找到能去目标IP地址的路径。
  • 目标IP地址是一个长远目标,Mac的地址是下一阶段目标,目的IP是路径选择的重要依据,mac地址是局域网转发的重要依据。

Socket编程预备

端口号

两个主机在通信,本质上是两个主机上的进程在互相通信。

一台主机上有很多进程,在网络中我们用不同的端口号来标识不同的进程。

端口号(port) 是传输层协议中的核心概念。

  • 端口号是一个 2 字节、16 位 的整数,取值范围为 0 ~ 65535。

  • 它的作用是标识主机上的一个进程,告诉操作系统当前收到的数据应当交付给哪一个进程处理。

  • IP 地址 + 端口号 共同唯一标识网络上某一台主机的某一个进程,构成了网络通信的完整端点。

  • 在同一时刻,一个端口号只能被一个进程占用(不同协议或不同 IP 可例外,如 TCP 与 UDP 可使用相同端口号)。

端口号范围划分

端口号的范围与用途可分为以下两类:

  • 0 ~ 1023:知名端口号。HTTP、FTP、SSH 等广泛应用的应用层协议,其端口号在此范围内固定分配。

  • 1024 ~ 65535:操作系统动态分配的端口号。客户端程序使用的临时端口通常由此范围分配。

理解源端口号与目的端口

在传输层协议(TCP 与 UDP)的数据段中,包含两个端口号:

  • 源端口号:标识发送数据的进程。

  • 目的端口号:标识接收数据的进程。

这两个端口号共同描述了 “数据是谁发的,要发给谁”,从而实现了主机间进程的准确通信。

理解socket

  • IP 地址用于标识互联网中唯一的一台主机,端口号(port)用于标识该主机上唯一的一个网络进程。
  • IP + Port 即可表示互联网中唯一的一个进程。

  • 网络通信的本质就是进程间通信。

  • 我们将 IP + Port 的组合称为 套接字(Socket)。

传输层的典型代表

网络协议栈:网络协议栈(Network Protocol Stack)是指网络通信中一组按照分层结构组织的协议集合。它定义了数据如何在不同层次上封装、传输和解封装,确保不同设备、不同系统之间能够可靠、有序地进行通信。

TCP协议

 TCP ( Transmission Control Protocol 传输控制协议)的特点:

  • 传输层协议
  • 有连接
  • 可靠传输。用户发送消息后消息有什么“事故”,该协议都包售后。
  • 面向字节流

字节流是一种数据传输模型,数据像水流一样以连续的字节序列形式传输,没有固定的消息边界。即不知道读取到哪个地方,比如“hello world”发送方把这两个单词分别发送,但是接收方同时接到的是两个单词。

UDP协议

UDP ( User Datagram Protocol 用户数据报协议)的特点:

  • 传输层协议
  • 无连接
  • 不可靠传输。不包售后,只管发,不管后续。
  • 面向数据报(网络层报文)

数据报会完完整整的读取和发送一句话。有明确的边界,发送方写多少,接收方就接收多少,不会粘在一起。

网络字节序(大小端)

假设一个 32位整数0x12345678(十六进制):

  • 大端序存储内存地址:0x12 | 0x34 | 0x45 | 0x78 (从左往右读)

  • 小端序存储内存地址:0x78 | 0x45 | 0x34 | 0x12 (从右往左读)

网络数据流的字节序应遵循以下规定:

  • TCP/IP 协议规定:网络数据流应采用大端字节序,即低地址存放高位字节。

  • 无论主机本身是大端机还是小端机,都必须按照 TCP/IP 规定的网络字节序发送和接收数据。

  • 如果发送主机是小端机,则需要先将数据转换为大端序再发送;如果发送主机本身就是大端机,则可直接发送。

为使网络程序具有良好的可移植性,确保同样的 C 代码在大端和小端计算机上都能正确运行,可以调用以下库函数进行网络字节序与主机字节序之间的转换。

#include <arpa/inet.h>

uint32_t htonl(uint32_t hostlong);//IP地址:主机转网络
uint16_t htons(uint16_t hostshort);//端口号:主机转网络
uint32_t ntohl(uint32_t netlong);//IP地址:网络转主机
uint16_t ntohs(uint16_t netshort);//端口号:网络转主机

注:所有发送到网络上的数据,都必须是大端的!

socket编程接口

socket 常见API(应用程序编程接口)

// 创建 socket 文件描述符 (TCP/UDP, 客户端 + 服务器)
int socket(int domain, int type, int protocol);

// 绑定端口号 (TCP/UDP, 服务器)
int bind(int socket, const struct sockaddr *address, socklen_t address_len);

// 开始监听 socket (TCP, 服务器)
int listen(int socket, int backlog);

// 接收请求 (TCP, 服务器)
int accept(int socket, struct sockaddr *address, socklen_t *address_len);

// 建立连接 (TCP, 客户端)
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

sockadddr结构

  • IPv4 和 IPv6 的地址格式定义在 <netinet/in.h> 头文件中。
  • IPv4 地址使用 sockaddr_in结构体表示,包含 16 位地址类型、16 位端口号和 32 位 IP 地址。
  • IPv4 和 IPv6 的地址类型分别定义为常量“AF_INET”和 “AF_INET6”。
  • 这样,只要取得某种 sockaddr 结构体的首地址,即使不知道具体是哪种类型的 sockaddr,  也可以根据地址类型字段确定结构体中的内容。
  • Socket API 均使用 struct sockaddr *类型表示,使用时需要强制转换为 sockaddr_in等具体类型。

 这样做的好处是提高程序的通用性,可以接收 IPv4、IPv6 以及 UNIX Domain Socket 等各种类型的sockaddr 结构体指针作为参数。

注:UNIX Domain Socket(本地进程间通信)用:sockaddr_un结构体,地址类型定义为AF_UNIX / AF_LOCAL。

IPV4结构体定义示例:

struct sockaddr_in {
    sa_family_t    sin_family;   // 地址族:AF_INET 即地址类型
    in_port_t      sin_port;     // 端口号
    struct in_addr sin_addr;     // IPv4地址 ← 就是这里
    char           sin_zero[8];  // 填充字段(通常置零)
};

sin_addr结构体定义示例:

// 定义在 <netinet/in.h> 中
struct in_addr {
    in_addr_t s_addr;  // 32位的IPv4地址(网络字节序)
};

注:sin_addr存放 IPv4地址二进制形式 的结构体成员,使用时一定要注意字节序转换

ip地址字符串转换成网络字节序的函数:

//将 点分十进制IPv4地址字符串 转换为 32位网络字节序整数

#include <arpa/inet.h>

in_addr_t inet_addr(const char *cp);

参数:cp - 点分十进制IPv4地址字符串(如 "192.168.1.1")

htonl和inet_addr函数的区别:

htonl :转变的是:主机字节序整数uint32_t(整数) → 网络字节序整数uint32_t(整数)

inet_addr:转变的是:点分十进制字符串 const char*(字符串)→ 网络字节序整数 in_addr_t(整数)

linux局域网上网原理、广域网网际互连原理、访问网站等 网关通常是一台路由器,它具有连接到互联网的接口和连接到局域网的接口。当数据包到达网关时,网关会根据目标IP地址来判断数据包应该被转发到互联网上的哪个路由器或主机。本地网关会根据目标IP地址查找路由表,并将数据包转发到下一个跳点,直到数据包到达目标网络所在的路由器。局域网中的主机通过DHCP协议获取IP地址、子网掩码、网关和DNS服务器等网络配置信息,并通过TCP/IP协议栈进行网络通信。当用户输入网站的URL地址时,本地计算机会首先向DNS服务器发送请求,请求获取该网站的IP地址。 阅读详情

相关推荐

CGNS快速入门到实战(一):CGNS静态链接库编译

近期,由于需要将CGNS格式加入到教研组自编CFD求解器DUBHE中,所以本人展开了对于CGNS的学习。CGNS快速入门到实战这一系列分成三篇文章展开叙述,具体有:(一)CGNS静态链接库编译;(二)VS配置调用CGNS静态链接库编写;(三)CGNS文件及案例展示。本篇文章重点讲述CGNS静态链接库编译。

ahang_99的博客 3817

网络协议栈--网络层--IP协议

2、路由表的Destination是目的网络地址,Genmask是子网掩码,Gateway是下一跳地址,Iface是发送接口,Flags中的U标志表示此条目有效(可以禁用某些 条目),G标志表示此条目的下一跳地址是某个路由器的地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经路由器转发;但是目前IPv6还没有普及;4、每一个家用路由器, 其实又作为运营商路由器的子网中的一个节点. 这样的运营商路由器可能会有很多级,最外层的运营商路由器, WAN口IP就是一个公网IP了.

weixin_70056514的博客 1862

杭电oj2023题题目详解(Java版)

杭电oj2023题详解

m0_51065958的博客 976

Linux系统之部署Samba服务

Linux系统之部署Samba服务

jks212454的博客 1万+

VCS多lib编译实战:如何高效处理Verilog模块重命名与分开编译

本文深入探讨了在复杂SoC设计中,如何利用VCS工具实现多库编译,以高效处理Verilog模块重命名与分开编译的工程难题。通过解析synopsys_sim.setup配置、Config映射机制,并提供完整的自动化脚本实战指南,帮助工程师构建健壮、可维护的编译环境,从而显著提升大型项目的编译效率和代码管理灵活性。

weixin_29169505的博客 357

AD20 Channel-Offset Error 解决办法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言AD20 PCB相同电路模块ROOM格式复用时出现 Channel-Offset Error 解决办法一、问题现象二、解决办法 前言 AD20 PCB相同电路模块ROOM格式复用时出现 Channel-Offset Error 解决办法 一、问题现象 我们经常在使用Room格式快速布局相同模块电路时出现以下问题, 二、解决办法 相同模块电路PCB布局复制的过程网上有很多,这里不再做赘述,步骤都差不多,只说问题根源; 1:.

m0_47201213的博客 7620

Linux网络基础

从本篇开始将进入介绍 Linux 中的网络知识,本篇是先对网络中的一些基础概念做介绍。其中主要介绍了 OSI 七层协议(TCP/IP 五层协议),以及网络传输的流程,其中主要介绍了局域网传输和广域网(跨网络)传输,其中很重要的一点是关于数据包的封装和分用,最后介绍了关于端口号和 socket,得出了网络间通信的本质是进程间通信。

m0_74830524的博客 1604

PSINS工具箱15状态组合导航仿真程序(test_SINS_GPS_153)浅析-卡尔曼滤波设置+导航解算

文章目录test_SINS_GPS_153源码poserrsetkfinitgabiaskfupdate流程 test_SINS_GPS_153源码 poserrset function poserr = poserrset(dpos0, dlon, dhgt) % position errors dpos=[dlat;dlon;dhgt] setting. % % Prototype: poserr = poserrset(dpos0) % Input: dpos0=[dlat; dlon; dhgt],

十八与她的博客 2159

【Linux】网络基础

因此,尽管客户端和服务端可能运行着不同的操作系统,它们在数据封包和解包操作上的方法是相同的。这种一致性确保了数据在不同操作系统之间能够无缝传输,确保了网络通信的顺畅进行。

gtyyky的博客 1084

JavaScript - Blob / File / base64 使用场景介绍与相互转换

前言 本文首先介绍一下这三种对象使用场景,最后介绍下它们之间互转格式的解决方案。 您前端一旦涉及到文件或图片上传到服务器, 就势必离不了Blob/File/base64三种主流的类型。 Blob MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob 您可以观察到,像一些图片处理插件(例如有名的vue-cropper)图片裁剪插件, 它们将图片处理完毕后,都将使用blob对象返回处理好的图片,供开发者用于上传服务器。

🏆 前端领域优质创作者 4491

图数据库Neo4j面试内容整理-Neo4j的性能

在执行复杂关系查询时,Neo4j 通过图结构的高效存储和查询机制,能够比传统的关系型数据库提供更快的性能,尤其是在涉及深层关系的查询时。通过合理的配置、优化查询和使用合适的硬件,Neo4j 可以处理大规模的数据集和高并发的查询请求,满足企业级应用的需求。Neo4j 在处理图数据时,通过优化图的存储、查询和遍历等方面,提供了高效的性能,特别适合用于需要处理复杂关系和多层次连接的应用场景,如社交网络、推荐系统、知识图谱等。:Neo4j 会根据查询的结构和数据的分布自动选择最优的查询计划。

不务正业的猿 585

Linux之网络基础概念

Linux之网络基础概念

2302_81120572的博客 1301

pt100和max31865测室温跳变比较大,会从23.04跳到23.47,23.75反复跳变超过了0.5的误差范围,在VDD和GND之间加上0.1和10的滤波电容也不行,如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 2087

Linux——网络基础概念

4.不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).7.数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理.IP 协议有两个版本, IPv4 和 IPv6. 我们整个的课程, 凡是提到 IP 协议, 没有特殊说明的,1.0 - 1023: 知名端口号, HTTP, FTP, SSH 等这些广为使用的应用层协议, 他们的。

2503_90270041的博客 580

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Linux网络——网络基础概念

你有没有想过为什么微信消息能秒发到朋友手机?📱为什么在浏览器输入 baidu.com 就能搜到内容?🔍为什么手机连上Wi-Fi就能刷视频?🎬答案就是:网络(Networking)在背后默默工作!今天我们就用最生活化的例子,带你轻松理解网络的基础概念。想象你要去拜访一位朋友:IP地址 = 朋友家的小区地址(如:科技园路123号)端口号 = 朋友家的具体门牌号(如:15栋2002室)没有这两个信息,你的网络数据就会像迷路的快递,永远找不到目的地!

qq_34434522的博客 1187

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Linux网络】网络基础概念

💬 hello!各位铁子们大家好哇。今日更新了Linux网络的内容TCP/IP 协议的本质是一种解决方案TCP/IP 协议能分层,前提是因为问题们本身能分层问题:主机 B 能识别 data,并且准确提取 a=10,b=20,c=30 吗?回答:答案是肯定的!因为双方都有同样的结构体类型 struct protocol。也就是说,用同样的代码实现协议,用同样的自定义数据类型,天然就具有”共识“,能够识别对方发来的数据,这就是约定。所谓协议,就是通信双方都认识的结构化的数据类型。

qinjh_的博客 2832

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【Linux 24】网络基础概念

1. 计算机网络的发展。2. OSI 参考模型和 TCP / IP 模型。3. 网络传输的基本流程。4. 网络中的地址管理。

shangguanxiu的博客 2569

Linux网络 基础概念

Linux网络基础

good good study, day day up! 1266

linux网络编程(一)——基本概念

linux网络编程(一)——基本概念

weixin_38402519的博客 483

Linux网络基础概念

linux网络相关基础概念

yanxiao07的博客 952

【Linux网络】网络基础概念深度解析

TCP/IP 协议的本质是一种解决方案TCP/IP 协议能分层前提是因为问题们本身能分层截止到目前,我们还没接触过任何协议,但是如何朴素的理解协议,我们已经可以试试了。OS 源代码一般都是用 C/C++语言写的。问题:主机 B 能识别 data,并且准确提取 a=10,b=20,c=30 吗回答:答案是肯定的!因为双方都有同样的结构体类型 struct protocol。也就是说,用同样的代码实现协议,用同样的自定义数据类型,天然就具有”共识“,能够识别对方发来的数据,这不就是约定吗?关于。

2301_77954967的博客 1517

【linux网络】网络基础概念

本篇文章介绍了网络协议等相关内容,欢迎评论和交流!

2402_82689232的博客 1060

Linux 基础之网络相关基础概念

Linux 基础之网络相关基础概念一、Linux 系统层次二、配置IP 地址的方式三、CentOS Linux 常用网络相关的配置文件常用参数:广播,所有终端都能收到。Shell 内部命令 一、Linux 系统层次 用户空间;即所有用户进程运行都运行在用户空间 内核空间;即所有的内核功能都运行在内核空间,例如网络功能就运行于内核功能,其在内核中有一个TCP/IP协议的实现模块;因此,所配置的IP地址也是在内核中生效的,仅是用户在用户空间中使用工具对IP地址进行配置及管理。配置完成后在内核所运行的内存中生效

AMimiDou_212 1176

【Linux】网络概念

1号主机发送数据,其他主机都会收到,在数据链路层判断目的mac是否是自己,不是就丢弃,是就把有效载荷交给上一层处理。如果网卡是混杂模式,那么无论是不是发给自己的,都交给上一层处理。交换机可以减少数据扩散范围,假如1号发给7号,那么交换机就可以不让数据扩散到右侧。局域网协议包含以太网,令牌环网,无线wlan。mac地址是网卡出厂就有的地址,全球唯一。数据链路层的报头包含源man和目的mac。网络层和传输层就是操作系统的一部分。多个主机同时发消息会出现数据碰撞。发送与接收,封包与解包。

林宇恒的博客 289
上一篇: Linux:线程池
下一篇: 算法篇:双指针
噜啦噜啦嘞好
博客等级 码龄3年 212粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值