news 2026/3/1 4:08:44

系统网络编程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
系统网络编程

一、OSI模型

1.OSI七层工作模型:

应用层:为网络用户提供各种服务,如电子邮件、文件传输等。

表示层:为不同主机的通信提供统一的数据表示形式。

会话层:负责信息传输的组织和协调,管理进程会话过程。

传输层:管理网络通信两端的数据传输,提供可靠或不可靠传输服务。

网络层:负责数据传输的路由选择和网际互连。

数据链路层:负责物理相邻的主机间的数据传输,主要作用包括物理地址寻址、数据帧封 装、差错控制等。该层可分为逻辑链路控制子层(LLC)和介质访问控制子层(MAC)

物理层:负责把主机中的数据转换成电信号,再通过网络介质(双绞线、光纤、无线信道等)来传输。该层描述了通信设备的机械、电气、功能等特性。

2.TCP/IP描述互联网模型,TCP/IP把OSI模型进行了合并

应用层:应用程序

传输层:端口号tcp udp

传输层:IP地址

接口层:网卡 驱动

3.核心协议

DNS域名解析协议 把网址翻译成IP地址

DHCP:动态主机配置协议

应用层:HTTP(超文本传输协议)TFTP FTP(文件传输协议) SNMP(简单网络管理)

传输层:TCP(传输控制协议) UDP(网络数据报4协议)

网络层:IP(互联网协议) ICMP(互联网控制管理协议) RIP OSPE(路由协议)

二、IP的组成

IP地址=网络位+主机位

IP地址版本,IPv4 IPv6

三、网络配置相关

//虚拟机网络配置文件 ,设置ip(手动分配,或自动分配)。ip地址,永久生效

sudo vim /etc/network/interfaces

//进行网络设置的加载

sudo /etc/init.d/networking restart

//临时设置本机ip地址,重启后失效。

ifconfig ens33 192.168.0.13/24 up

//查本本机上所有的网络通信 有那些、

netstat -anp

四、名词解释

1.socket:套接字,打开本地网络设备后,获得的文件描述符。方便后续进行网络收发。

2.ip+port 地址+端口:地址用来识别主机,端口号用来识别应用程序

3.端口号的范围:1-65535

4.网络字节序:大端存储 网络设备使用的字节序

5.主机字节序:小端存储 目前主流的CPU

五、UDP

1.UDP:是用户数据报协议

2.特性:无连接
低延迟,
网络资源使用率低

3.函数调用步骤:

server:socket()---bind()---recvfrom()---close() 一个

client:socket()---sendto() -----close() 多个

1.int socket(int domain, int type, int protocol); 功能:程序向内核提出创建一个基于内存的套接字描述符 返回值:成功 返回申请的套接字id 失败 -1;
2.int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen); 功能:如果该函数在服务器端调用,则表示将参数1相关的文件描述符文件与参数2 指定的接口地址关联,用于从该接口接受数据。 返回值:成功 0 失败 -1
3.ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen); 功能:用于UDP协议中向对方发送数据。 返回值:成功 发送的数据长度 失败 -1
4.ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen); 功能:用于UDP协议中获取对方发送的数据。 返回值:成功 接收到的数据长度 失败 -1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 3:25:08

C/C++机票管理系统[2025-12-23]

C/C机票管理系统[2025-12-23] 课题5:机票管理系统 1、问题描述 机场每天有n个航班,每个班次都有唯一的班次号(1、2、3…n),固定的起飞时间,固定的路线(起始站、终点站)&#xff0c…

作者头像 李华
网站建设 2026/2/28 21:05:47

从 Python 到 Ollama:将微调后的 Llama-3/Qwen 一键导出为 GGUF

从 Python 到 Ollama:将微调后的 Llama-3/Qwen 一键导出为 GGUF摘要:在上一篇教程中,我们在 RTX 3090 上成功微调了 Llama-3。但现在的模型还“躺”在 Python 脚本里,不够通用。本文将教你如何利用 Unsloth 强大的导出功能&#x…

作者头像 李华
网站建设 2026/2/27 20:31:26

121. 买卖股票的最佳时机

简单 相关标签 premium lock icon 相关企业 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。…

作者头像 李华
网站建设 2026/2/28 12:49:18

初探 Python 製作一個 簡單聊天機器人

前言 透過這篇文章,我們將使用 python spacCy開發一個用於聊天機器人 本範例以 Python 為基礎,結合 spaCy 的中文語言模型,實作一個可進行基本中文對話的簡易 ChatBot。 安裝相關模型 spaCy是一個用於自然語言處理的開源軟件庫 參看: htt…

作者头像 李华
网站建设 2026/2/27 10:32:15

Spring Cloud Gateway 路由配置与动态管理详解

摘要 本文详细探讨Spring Cloud Gateway的路由配置机制,包括静态路由配置、动态路由管理、路由刷新策略等内容。通过实际代码示例和架构分析,帮助开发者掌握路由配置的最佳实践方法。 1. 路由配置基础概念 1.1 路由核心组件 Spring Cloud Gateway的路由由…

作者头像 李华