计算机网络

article/2025/9/7 17:50:03

OSI七层模型

  • 应用层:直接为用户提供网络服务,例如网页浏览、邮件收发
  • 表示层:处理数据格式,如加密、解密、压缩、编码等
  • 会话层:利用传输层提供的服务,在应用程序之间建立和维持会话,并能使会话获得同步
  • 传输层:提供端到端的可靠数据传输(如TCP/UDP)
  • 网络层:寻址与路由选择,决定数据从哪走(如IP协议)
  • 数据链路层:在物理传输之上实现可靠传输(如MAC地址、以太网帧)
  • 物理层:实际传输比特流的物理媒介(如网线、电信号)

TCP/IP模型:

  • 应用层:相当于会话+表示+应用
  • 传输层:
  • 网络层
  • 网络接口层:相当于数据链路+物理

网络接口层

主要负责地址的解析和逆解析

ARP(地址解析协议):将IP地址解析为机器物理地址(MAC)

RARP(逆地址解析协议):将机器物理地址解析为IP地址

数据链路层 

在物理层提供的原始比特流之上,建立一条可靠的点到点通信链路。

  • 成帧 (Framing)将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助“帧”的各个域来实现
  • 差错控制 (Error Control)处理传输中出现的差错,如位错误、丢失等
  • 流量控制 (Flow Control)确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出
  • 典型协议技术:ARP(地址解析协议):将 IP 地址解析为 MAC 地址(不属于OSI模型,但工作于链路层附近)、MAC

网络层 

网络层负责将数据从源主机传送到目标主机,即跨越多个网络,实现逻辑寻址路径选择

功能描述
逻辑寻址(IP地址)为每个主机分配唯一的 IP 地址,标识“网络中的位置”
路由选择(Routing)选择从源到目的主机的最佳路径,可能要跨越多个网络
数据包转发与封装每一跳的路由器根据目标 IP 把数据包发送给下一跳,并且会把传输层得数据段封装为数据包

分段与重组(Fragmentation)

把大于最大传输单元 MTU 的包进行分段,小包重组

常见的协议

  • IPV4:根据数据包的目的IP地址决定如何投递信息
  • IPV6
  • ICMP协议(因特网控制报文协议):检测网络连接
  • DHCP动态主机配置协议:当主机加入IP网络,允许主机从DHCP服务器动态获取IP地址,可以有效利用IP地址,方便移动主机的地址获取
  • ARP地址解析协议:因为下层协议是通过MAC地址来确定各自身份的,所以下层发送必须要MAC地址,所以将MAC解析为IP地址

传输层

传输层负责在通信主机的两个应用程序之间建立、维护并终止可靠的传输通道。传输层是端到端通信的保障者,它通过TCP 提供可靠传输,通过 UDP 提供快速传输,并通过端口号实现应用进程之间的多路复用

功能描述
端到端通信实现主机中两个进程之间的数据传输
可靠传输(TCP)确保数据不丢失、不重复、按序到达
无连接传输(UDP)更快但不可靠,适用于实时场景
差错检测与恢复检测错误数据,确认并重传
流量控制控制发送速率,防止接收方被压垮
拥塞控制网络拥堵时主动降速,防止崩溃
多路复用与解复用通过端口区分不同进程之间的数据通信
项目TCP(面向连接)UDP(无连接
连接建立连接(三次握手)无需建立连接
可靠性可靠:确认、重传、顺序不可靠:无确认、无顺序
速度(开销大)快(开销小)
顺序控制保证顺序不保证顺序
流量控制有窗口机制
拥塞控制
适用场景HTTP、FTP、SSH、邮件等视频流、语音、DNS、在线游戏等

传输需要确认主机中不同应用程序之间的端口号(Port)

TCP三次握手(建立连接):
  1. 客户端:发送 SYN(我要连)
  2. 服务端:回复 SYN+ACK(我知道了,你也来吧)
  3. 客户端:回复 ACK(我来了)
TCP四次挥手(关闭连接):
  1. 客户端:发送 FIN(我要断)
  2. 服务端:ACK(收到)
  3. 服务端:发送 FIN(我也断)
  4. 客户端:ACK(收到)

应用层

应用层负责提供各种网络应用服务的协议,实现人机交互功能,是用户与网络之间的接口。

具体协议

域名解析:DNS(53端口):域名解析,将域名转为IP地址
邮件服务
  • SMTP(25/587端口):发送邮件
  • POP3(110端口):接收邮件,离线保存
  • IMAP(143端口):接收邮件,支持多端同步
网页服务
  • HTTP(80端口):超文本传输协议
  • HTTPS(443端口):HTTP + TLS 加密通信
文件传输
  • FTP(20/21端口):标准文件传输协议
  • TFTP(69端口):精简型文件传输协议
  • SFTP(基于SSH的文件传输)
远程访问与控制
  • Telnet(23端口):早期远程终端,已淘汰
  • SSH(22端口):安全远程登录,现代主流
实时通信:DNS、WebSocket、XMPP、MQTT:适用于聊天、消息通知、物联网等场景

应用进程通信方式

  • 客户/服务器(C/S, Client/Server)方式:面向连接时,C/S通信关系一旦建立,通信就是双向的,双方地位平等,都可发送和接收数据
  • 对等(P2P,Peer to Peer)方式:对等方式是指两个进程在通信时并不区分服务的请求方和服务的提供方

封装和分用 

因为分层模型中,下层会对上层隐瞒自己的信息,所以就需要封装使上层协议使用下层协议提供的服务。

应用程序数据发送到物理网络之前,沿着协议栈从上往下一次传递,每一层协议都会在上层数据得基础上加上自己的头部信息(尾部信息),实现该层得功能

 通过分用使帧自底儿上依次传递,到达目标主机时,各层协议一次处理帧中本层负责得头部数据,以获取所需的信息,并最终将处理好的帧交给目标应用程序


http://www.hkcw.cn/article/purDdTXaPw.shtml

相关文章

【循环神经网络RNN第一期】循环神经网络RNN原理概述

目录 🧠 什么是循环神经网络(RNN)?🔁 RNN 的结构图🔄 RNN 的“记忆”与问题RNN梯度推导 🧬 LSTM:解决长期依赖问题🧱 LSTM 的核心结构LSTM总结 参考 人类在思考的时候&am…

自动驾驶与智能交通:构建未来出行的智能引擎

随着人工智能、物联网、5G和大数据等前沿技术的发展,自动驾驶汽车和智能交通系统正以前所未有的速度改变人类的出行方式。这一变革不仅是技术的融合创新,更是推动城市可持续发展的关键支撑。 一、自动驾驶与智能交通的定义 1. 自动驾驶(Auto…

5.3.1_2二叉树的层次遍历

遍历过程: 从根节点开始,从左到右一层一层遍历,如下:ABCDEFGHIJKL 初始化一个辅助队列,让根节点先入队,每次判断队列是否为空,不空则让队头节点出队访问该节点让该节点左右孩子入队尾(先左孩子…

Qt DateTimeEdit(时间⽇期的微调框)

使⽤ QDateEdit 作为⽇期的微调框. 使⽤ QTimeEdit 作为时间的微调框 使⽤ QDateTimeEdit 作为时间⽇期的微调框. 这⼏个控件⽤法⾮常相似, 我们以 QDateTimeEdit 为例进⾏介绍. QDateTimeEdit 核⼼属性 属性说明dateTime时间⽇期的值. 形如 2000/1/1 0:00:00date单纯⽇期…

NISCO里境全新VALUE系列合肥首店启幕,携手正反设计打造0压生活空间

2025年5月28日,NISCO里境全新VALUE系列全国首家旗舰店正式落子合肥,梦百合集团近三十位核心经销商代表齐聚,深度体验新系列门店的空间场景与创新产品矩阵。 作为品牌“双线并进”的重要布局,VALUE系列以高性价比为核心,聚焦二三线城市消费需求,通过沉浸式空间场景与革新性产品设…

制造企业搭建AI智能生产线怎么部署?

制造商需要精准协调生产和发货,确保订单及时交付。MES、ERP、CRM 系统与生产线集成,对生产管理流程、物料跟踪、品控、确定货期至关重要。如果某个系统发生延迟或者效率低下,会在造成整个生产环节停滞,影响最终交付,导…

Linux系统管理与编程24:基础条件准备-混搭“本地+阿里云”yum源

兰生幽谷,不为莫服而不芳; 君子行义,不为莫知而止休。 1.添加宿主机共享文件夹 Linux虚拟机可以和宿主机共享文件夹,这样有利于工具文件的共享。具体操作如下: 1)vmware workstation共享文件夹 虚拟机…

VCS elab选项 -simprofile功能

#废话不多说,直接上干货 1.简介 VCS提供的simprofile功能是用于分析仿真过程中的CPU time和machine memory消耗情况,可以协助定位一些垃圾代码写法导致的仿真资源消耗过大问题;本篇内容包含,应用此功能的必要工具准备、makefile…

30万数据 动态查出用户拥有对应 skuid 数量

项目场景: 提示:30万数据 动态查出用户拥有对应 skuid 数量: 如 skuid1 skuid2 skuid3 skuid4 … 表结构如下 CREATE TABLE eb_nft_user (id int(10) unsigned NOT NULL AUTO_INCREMENT,skuId varchar(255) NOT NULL DEFAULT COMMENT 商品…

快递物流查询接口如何用C#进行调用?

一、什么是快递物流查询接口 支持国内外1500快递公司跟踪服务,包括顺丰、圆通、韵达等主流快递公司。快递物流查询接口为连接电商平台、物流企业与终端用户之间的桥梁,正在发挥着不可替代的作用。它不仅帮助用户实时掌握包裹动态,也为物流企…

【C语言】函数指针及其应用

目录 1.1 函数指针的概念和应用 1.2 赋值与内存模型 1.3 调用方式与注意事项 二、函数指针的使用 2.1 函数指针的定义和访问 2.2 动态调度:用户输入驱动函数执行 2.3 函数指针数组进阶应用 2.4 函数作为参数的高阶抽象 三、回调函数 3.1 指针函数…

第十三章:预处理

预处理功能是C语言特有的功能,可以使用预处理和具有预处理的功能是C 语言和其他高级语言的区别之一。预处理程序包含许多有用的功能,如宏定义、条件编译等,使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。 通过本章的学习,您可以: 1、掌握…

9.4 Q1|复旦大学CHARLS发文 | 老年人肌肉减少症和轻度认知障碍

1.第一段-文章基本信息 文章题目:Sarcopenia and mild cognitive impairment among elderly adults: The first longitudinal evidence from CHARLS 中文标题:老年人肌肉减少症和轻度认知障碍:来自CHARLS 的第一个纵向证据 发表杂志&#x…

python h5py 读取mat文件的<HDF5 object reference> 问题

我用python加载matlab的mat文件 mat文件: 加载方式: mat_file h5py.File(base_dir str(N) _nodes_dataset_snr- str(snr) _M_ str(M) .mat, r) Signals mat_file["Signals"][()] Tp mat_file["Tp"][()] Tp_list mat_fil…

【数据结构】图论核心算法解析:深度优先搜索(DFS)的纵深遍历与生成树实战指南​

深度优先搜索 导读:从广度到深度,探索图的遍历奥秘一、深度优先搜索二、算法思路三、算法逻辑四、算法评价五、深度优先生成树六、有向图与无向图结语:深潜与回溯,揭开图论世界的另一面 导读:从广度到深度,…

扫地机产品异物进入吸尘口堵塞异常检测方案

扫地机产品异物进入吸尘口堵塞异常的检测方案 文章目录 扫地机产品异物进入吸尘口堵塞异常的检测方案一.背景二.石头的音频异常检测的方案2.1 音频检测触发点2.1.1时间周期2.1.2根据清洁机器人清扫模式或清扫区域污渍类型,即当清扫模式为深度清洁模式 或清扫区域污渍类型为重度…

【Mini-F5265-OB开发板试用测评】RT-Thread的移植(调通串口+LED)

前言 近期,笔者有幸获得灵动微MM32F5265开发板的体验资格。MM32F5260搭载了arm china "Star-MC1 内核"处理器,拥有高性能,主打家电和工业等高可靠性应用领域。 总结一下,有以下亮点: 本土团队打造&#x…

MySQL8.4组复制

https://dev.mysql.com/doc/refman/8.4/en/group-replication.html 1 什么是组复制 组复制主要解决了传统异步复制主机宕机时可能造成主从节点数据不一致问题MySQL Group Replication,简称MGR将原有的gtid复制功能进行可增强,支持单主模式和多主模式组复…

【笔记】Trae+Andrioid Studio+Kotlin开发安卓WebView应用

文章目录 简介依赖步骤AS(Andriod Studio)创建项目AS创建虚拟机TRAE CN 修改项目新增按键捕获功能 新增WebViewWebView加载本地资源在按键回调中向WebView注入JS代码 最终关键代码吐槽 简介 使用Trae配合Andriod Studio开发一个内嵌WebView的安卓应用, 在WebView中加载本地资源…

kibana解析Excel文件,生成mapping es导入Excel

一、Excel转为CSV格式 在线免费网站:EXCEL转CSV - 免费在线将EXCEL文件转换成CSV (cdkm.com) 二、登录kibana 点击左边菜单栏找到Machine Learning, 进入后上面菜单选择Data Visualizer,然后上穿转好的csv格式的Excel 点击导入输入建立的m…