当前位置: 首页 > news >正文

计算机网络体系架构认知--网络协议栈

在这里插入图片描述

文章目录

  • 一.计算机网络分层架构
    • 各协议层和计算机系统的联系
    • 从整体上理解计算机网络通信
      • 计算机网络通信的本质
  • 二.Mac地址,IP地址和进程端口号
  • 三.局域网通信与跨局域网通信
    • 局域网通信
    • 跨局域网通信
    • 全球互联的通信脉络
  • 四.网络编程概述

一.计算机网络分层架构

  • 实现计算机长距离网络通信需要解决很多问题(比如数据完整性,主机定位等等问题),工程人员将计网通信问题划分成了七个层次,每一个层次针对特定的通信问题制定了特定的通信协议,协议层之间耦合度低,协议层内部高聚合,形成了全球统一且便于维护和扩展的计算机网络硬软件架构
    在这里插入图片描述
  • 每个层次的作用概述
分层名称主要功能
5应用层(内部实现表示层和会话层)针对特定应用制定通信协议,建立通信管理和数据格式转换
4传输层确保数据传输的可靠性保证
3网络层主机地址管理和路由选择
2链路层设备之间传送和识别数据帧
1物理层光电信号传输

各协议层和计算机系统的联系

在这里插入图片描述

  • 传输层网络层是在操作系统的内核中实现的

从整体上理解计算机网络通信

  • 有效数据在某台主机的进程中产生,自上而下通过各层协议进行协议包的封装(协议包中包含具体的协议信息,比如通信主机标识信息等等),然后经过物理介质到达另一台主机,随后自下而上通过各层协议进行协议包的解析(完成协议信息的传递和识别),最后将有效数据送达目标进程
    在这里插入图片描述

计算机网络通信的本质

  • 计算机网络通信的本质:跨主机的进程间通信,过程中贯穿两个通信主机各层协议栈进行通信报文的封装和解包

二.Mac地址,IP地址和进程端口号

  • 网卡是计算机系统用于网络通信的基础硬件,每个网卡在出厂时都有一个Mac地址,Mac地址在数据链路层标识一台计算机
  • 网络层一般统一采用IP协议,IP协议中,每台计算机都有一个IP地址,IP地址可以在全球范围内唯一地标识一台计算机
  • 网络通信中,应用层使用端口号标识操作系统中的各个进程
  • IP地址和进程端口号组合起来可以在全球范围内唯一地标识一个进程,构成网络通信的定位基础
    在这里插入图片描述

三.局域网通信与跨局域网通信

局域网通信

  • 狭义上的局域网: 多台计算机在数据链路层使用同种协议(比如以太网协议)并且在物理上直接相联系(比如接在同一条以太网线上)
  • 由于物理上的紧密联系,各主机在局域网中会存在数据碰撞问题从而导致通信效率降低
    在这里插入图片描述

跨局域网通信

  • 处在不同局域网的计算机的数据链路层可能会采用不同的协议,进行网络通信过程中,需要借助路由器完成报文的转发协议重组

  • 路由器在网络层进行工作,不同局域网之间的一种网络通信图示:
    在这里插入图片描述

  • 网络层IP协议借助路由器屏蔽了底层网络的差异化,实现了全球主机的软件虚拟层,网络层的这一重要地位使得它被写进了操作系统的内核

全球互联的通信脉络

在这里插入图片描述

  • IP地址的字段中含有不同局域网的标识信息,指导路由器进行通信路径规划

四.网络编程概述

  • Linux中一切皆文件,进程以文件读写的方式和网卡进行数据交互
  • 进程进行网络通信之前,要通过操作系统传输层提供的系统调用接口选择指定的网络层协议传输层协议,并且绑定ip地址和进程端口号建立网络数据通路
  • 入网进程的系统视角:
    在这里插入图片描述

在这里插入图片描述

相关文章:

计算机网络体系架构认知--网络协议栈

文章目录 一.计算机网络分层架构各协议层和计算机系统的联系从整体上理解计算机网络通信计算机网络通信的本质 二.Mac地址,IP地址和进程端口号三.局域网通信与跨局域网通信局域网通信跨局域网通信全球互联的通信脉络 四.网络编程概述 一.计算机网络分层架构 实现计算机长距离网…...

Ubuntu 22.04 安装tomcat

tomcat是常用的Java服务容器,这篇文章我们就来讲讲如何安装它。 更新软件包 首先是更新软件包,这是最常规的操作 sudo apt update 然后是开始安装,不多一会就可以安装好了 sudo apt install tomcat9 然后看一下状态 sudo systemctl status tomcat9 发现虽然启动了,但…...

记录:Ubuntu 18.04 X86 上通过CMake 指定编译器工具链交叉编译。

最好是通过 cmake 命令行来设置,要不然你只有在 CMakeFiles.txt 里面自己写判断语句了。 要用 cmake 交叉编译,必须设置连接器,要不然会使用当前系统的 ld,就是 /usr/bin/ld。 但是其它平台是不会ld上的,elf格式都不…...

requests,js逆向练习

自上而下排除jquery源码,点进去utils 发现第一次请求是getTime 再次运行此断点才是登录,这个时候密码已经被加密了 查看上级js页面,发现加密函数 进去看函数加密过程 得到结果RSA python代码 import base64 import jsonimport requests f…...

Chrome 插件调试

http://blog.haoji.me/chrome-plugin-develop.html#te-bie-zhu-yi-background-de-bao-cuo 手把手:Chrome浏览器开发系列(四):调试我们开发的插件 - 掘金...

云轴科技ZStack成为交通运输业上云用云推进中心首批成员单位

近日,中国信息通信研究院、中国交通运输协会信息专业委员会联合发起成立“交通运输业上云用云推进中心”,上海云轴信息科技有限公司(简称云轴科技ZStack)凭借优秀的产品技术创新能力和在交通运输领域的实践经验成为首批成员单位并…...

代码随想录算法训练营31期day4,力扣24+19+02.07+142

24,动指针 class Solution { public:ListNode* swapPairs(ListNode* head) {//建立虚拟头结点auto dummynew ListNode(-1);dummy->nexthead;for(auto pdummy;p->next&&p->next->next;){auto ap->next;auto ba->next;p->nextb;a->n…...

eNSP学习——利用单臂路由实现VLAN间路由

目录 原理概述 实验内容 实验目的 实验步骤 实验拓扑 实验编址 配置步骤 创建VLAN并配置Access、Trunk接口 配置路由器子接口和IP地址 配置路由器子接口封装VLAN 测试结果 原理概述 在以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响&#…...

ISO27001认证:企业与个人发展的必备之选

ISO27001认证,对于企业和个人来说,都具有极高的价值和重要性。作为国际权威的信息安全管理体系标准,它为企业提供了保障信息安全、防范风险和提升竞争力的有力工具。 💼对企业的价值: ISO27001认证可以帮助企业满足国家…...

SpringBoot使用druid

SpringBoot使用druid 一、前言二、配置1、pom依赖2、配置文件yml3、配置类 一、前言 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C…...

TongWeb8交流常见问答集

问题1:今后用到你们TongWeb产品该联系谁? 答复: 1. 商务问题,如:报价、license授权、合同等请联系销售。 2. TongWeb技术问题,未签项目联系售前,已签项目联系售后。有指定项目经理的项目&…...

GBASE南大通用分享-mysql中的load data infile用法

GBASE南大通用分享 mysql中的load data infile用法 LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE file_name.txt [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY \t] [OPTIONALLY] ENCLOSED BY ] [ESCAPED BY \\ ]] [LINES TERMINATED BY \n] [IGNORE number L…...

Ubuntu18编译jdk8源码

环境 系统 ubuntu18 Linux ubuntu 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux jdk源码openjdk-8u41-src-b04-14_jan_2020.zip bootJdk jdk-8u391-linux-x64.tar.gz ps -e|grep ssh sudo apt-get install ssh…...

《开始使用PyQT》 第01章 PyQT入门 02 安装Python3和PyQT6

02 安装Python3和PyQT6 《开始使用PyQT》 第01章 PyQT入门 02 安装Python3和PyQT6 So that all readers are on the same page, let’s begin by installing or updating your version of Python. 为了让所有读者都能理解,让我们从安装或更新 Python 版本开始。 …...

Java集合-Map接口(key-value)

Map接口的特点:①KV键值对方式存储②Key键唯一,Value允许重复③无序。 Map有四个实现类:1.HashMap类2.LinkedHashMap类3.TreeMap类4.Hashtable类 1.HashMap类: 存储结构:哈希表 数组Node[ ] 链表(红黑…...

【操作系统】实验九 写一个设备驱动程序

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…...

基于密码技术的身份认证——基于对称密码体制的身份认证

一、符号说明: A→B:表示通信实体A向通信实体B发送消息; Ek(x):表示用认证双方共享的密钥K对x进行加密; Text1,Text2,……,Text n属于可选项; ||:表示比特…...

算法36:单调栈结构、子数组最小乘积的最大值问题(力扣1586)----单调栈

单调栈:就是在栈中实现数据的单调性。即从栈底到栈顶,要么递增,要么递减。 那么,使用单调栈,可以解决什么问题呢? 给定一个可能含有重复值的数组arr,i位置的数一定存在如下两个信息 1&#x…...

django mysql in 有序返回

from django.db.models import * ordering f"FIELD(id, {,.join([str(_) for _ in ids])})" # 默认就按照算法返回的 id 排序p_data_result PeptidesDataResult.objects.using("polypeptide").filter(id__inids).values().extra(select{ordering: orderi…...

c++24.1.26嵌套if语句

嵌套if语句:if语句中的if语句 实践:...

Windows 11 系统清理终极指南:如何用开源工具轻松移除臃肿软件

Windows 11 系统清理终极指南:如何用开源工具轻松移除臃肿软件 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutte…...

【Tidyverse 2.0终极实战指南】:零配置自动化报告生成,3步完成插件下载、安装与RStudio无缝集成

更多请点击: https://intelliparadigm.com 第一章:Tidyverse 2.0自动化报告生态全景概览 Tidyverse 2.0 不再仅是一组风格统一的 R 包集合,而是一个以声明式语法驱动、可扩展、可复用的自动化报告生成生态系统。其核心演进在于将数据处理&am…...

2025届学术党必备的五大AI辅助写作神器横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 使文本里人工智能生成所留痕迹得以降低,能够采用下面这些指令优化策略。首先&…...

在OpenClawAgent工作流中集成Taotoken作为模型供应商的配置指南

在OpenClawAgent工作流中集成Taotoken作为模型供应商的配置指南 1. 准备工作 在开始配置前,请确保已安装OpenClaw框架并创建Taotoken账户。登录Taotoken控制台获取API Key,并在模型广场查看可用模型ID。OpenClaw要求Node.js 16或更高版本运行环境。 2…...

OpenClaw-Skills:标准化脚本封装与自动化工具生态构建指南

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫ZSeven-W/openclaw-skills。光看名字,你可能会有点摸不着头脑——“OpenClaw”是什么?“Skills”又指什么技能?作为一个在开源社区和自动化工具领域摸爬滚打了十来年…...

通过TaotokenAPI管理功能实现团队密钥分发与调用审计

通过Taotoken API管理功能实现团队密钥分发与调用审计 1. 团队API Key管理基础 在Taotoken平台上,团队管理员可以通过控制台集中管理多个API Key。每个Key可以设置独立的权限范围和使用配额,便于分配给不同成员或项目使用。登录控制台后,导航…...

2026论文降AIGC软件TOP5实测排行:嘎嘎降综合最强免费1000字试用!

2026 年的毕业季来得比想象中更紧。各高校对论文 AIGC 检测的要求又收紧了一档:211 和 985 高校规定本科论文 AI 率要低于 20%,硕士要求 AI 率不高于 15%,普通高校一般要求 AI 率控制在 30% 以内。AIGC 检测率一旦超标,最坏的结果…...

从零开始将OpenClaw助手工具接入Taotoken的完整步骤

从零开始将OpenClaw助手工具接入Taotoken的完整步骤 1. 获取Taotoken API Key与模型ID 在开始配置前,需要先在Taotoken平台获取API Key和模型ID。登录Taotoken控制台后,在「API密钥」页面可以创建新的密钥,建议为OpenClaw单独创建一个密钥以…...

Ollama部署DeepSeek-R1-Distill-Qwen-7B完整指南:支持中文长文本理解与结构化输出

Ollama部署DeepSeek-R1-Distill-Qwen-7B完整指南:支持中文长文本理解与结构化输出 你是不是也遇到过这样的问题:想找一个能理解中文长文档、还能帮你整理出清晰结构的AI助手,结果发现要么是英文模型对中文支持不好,要么就是处理长…...

告别拖拽!Qt Designer信号与槽的三种连接方式,新手选哪种效率最高?

告别拖拽!Qt Designer信号与槽的三种连接方式,新手选哪种效率最高? 刚接触Qt开发的初学者,往往会在信号与槽的连接方式上陷入选择困难。面对Qt Designer提供的三种不同方法,究竟哪种更适合当前项目需求?哪种…...