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

在这里插入图片描述

文章目录

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

一.计算机网络分层架构

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

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

在这里插入图片描述

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

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

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

计算机网络通信的本质

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

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

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

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

局域网通信

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

跨局域网通信

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

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

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

全球互联的通信脉络

在这里插入图片描述

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

四.网络编程概述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.Golang中类的表示与封装

目录 概述类的表示代码结果 类的封装代码结果 结束 概述 Golang中类的表示与封装 类的表示 代码 注释掉的代码,并不能拿来当赋值或获取值来使用。 package mainimport "fmt"// 类大写则代表,可以被其它包使用 type Hero struct {// 属性方法大…

RHCE作业

1.写一个脚本,完成如下功能 传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一 (1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz; (2) 如果参…

临紧光五行护盾

临紧光五行护盾基础名词解释 粒子系统仿真,离散事件系统设计临紧光五行护盾(云藏山鹰临近光五行散射)V-ATPase道装,意气实体过程光效集聚模拟器荀况数论云藏山鹰类型物粒子系统导引云藏山鹰类型物与冯诺依曼爆炸学物品分类表杨米尔…

【华为 ICT HCIA eNSP 习题汇总】——题目集10

1、以下哪个动态路由协议不能应用在 IPv6 网络中? A、IS-IS B、RIPng C、BGP4 D、OSPFv3 考点:路由技术原理 解析:(A) IS-ISv6 是在 IPv6 环境下,IS-IS 协议进行了相应的扩展和改进,以适应 IPv6…

Spring Retry 和 Guava Retrying重试机制的使用详解

点击下载《Spring Retry 和 Guava Retrying重试机制的使用详解》 1. Spring-Retry优雅地实现重试机制 在现代的分布式系统中,由于网络不稳定、服务短暂不可用或资源争用等原因,调用远程服务时偶尔会遇到失败。为了增强系统的健壮性,我们通常…

机器学习--基础概念(二)

1.分类算法 分类算法是有监督学习的一个核心问题,他从数据中学习一个分类决策函数或分类模型,对新的输入进行预测,输出变量取有限个离散值。 以下是一些常见的分类算法: 逻辑回归 (Logistic Regression): 用于二分类问题&#x…

项目风采展示【TRDa】

桌面功能介绍: 1:支持本地音乐、三方音乐控制播放展示功能; 2:支持陀螺仪 3:支持蓝牙列表显示。

STM32单片机的基本原理与应用(二)

单片机外部中断的基本原理 STM32 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 的强大之处。那么其中断是怎样实现的呢?其原理就是由GPIO口产生触发信号,通过NVIC中断控制器和EXTI外部中断控制器完成中断响应。使用外部中断可以…

Node.js Cool 框架分页数据 如果在一个状态下获取多个状态的数据

1.需求 比如你想实现 订单状态列表的获取 有可能orderStatus12 的时候 想返回 orderStatus10 11 12 13 的时候 分页返回 2.解决 query.orderProgress[] 此时条件就变成了一个数组 //订单列表async getOrderListByprogress(query) {const { userId } this.ctx.clientInfo…

RabbitMQ问题总结

:::info 使用场景 异步发送(验证码、短信、邮件。。。)MySQL 和 Redis、ES 之间的数据同步分布式事务削峰填谷… ::: 如何保证消息不丢失 上图是消息正常发送的一个过程,那在哪个环节中消息容易丢失?在哪一个环节都可能丢失 生…

opencv#32 可分离滤波

滤波的可分离性 就是将一个线性滤波变成多个线性滤波,这里面具体所指的是变成x方向的线性滤波和y方向的线性滤波。无论先做x方向的滤波还是y方向滤波,两者的叠加结果是一致的,这个性质取决于滤波操作是并行的,也就是每一个图像在滤…

vue3+echarts绘制某省区县地图

vue3echarts绘制某省区县地图 工作中经常需要画各种各样的图,echarts是使用最多的工具,接近春节,想把之前画的echarts图做一个整合,方便同事和自己随时使用,因此用vue3专门写了个web项目,考虑之后不断完善…

基于SpringBoot实现策略模式提供系统接口扩展能力

相信我们对策略模式都有耳闻,但是可能不知道它在项目中具体能有什么作用,我们需要在什么场景下才能去尽可能得去使用策略模式。 这里我简单的列出一个我之前在公司做的一个需求:跟第三方oa系统对接接口,对方需要回调我们当前系统…

R12.2 EBS 修改 APPS 密码 详细步骤

目录 前言准备修改步骤1.关闭应用层2.FNDCPASS 修改密码3. 运行 autoconfig4.单独启动 webLogic 服务5.登录weblogic,更新apps密码6.启动应用层7.验证 结尾 前言 本文的目的是修改 apps 密码,主要参考官方文档 metalink 1674462.1,请注意本文…

代码随想录算法训练营Day|层序遍历,翻转二叉树,对称二叉树

层序遍历 层序遍历一个二叉树,就是从左往右一层一层的遍历二叉树,这种遍历方式需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而…

Task04:DDPG、TD3算法

本篇博客是本人参加Datawhale组队学习第四次任务的笔记 【教程地址】https://github.com/datawhalechina/joyrl-book 【强化学习库JoyRL】https://github.com/datawhalechina/joyrl/tree/main 【JoyRL开发周报】 https://datawhale.feishu.cn/docx/OM8fdsNl0o5omoxB5nXcyzsInGe…

Delphi 7 IdHTTP POST 中文乱码得解决

WEB后台使用UTF-8进行编码,由于D7默认是ansiString,直接提交到后台会使中文乱码。 解决方法: 1.先把AnsiString转WideString 2.通过System单元中的ansitoUTF8()函数进行转换之后再提交就可以了。 代码示例: procedure postDe…

华为三层交换机之基本操作

Telnet简介 Telnet是一个应用层协议,可以在Internet上或局域网上使用。它提供了基于文本的远程终端接口,允许用户在本地计算机上登录到远程计算机,然后像在本地计算机上一样使用远程计算机的资源。Telnet客户端和服务器之间的通信是通过Telnet协议进行的…

OpenAI 降低价格并修复拒绝工作的“懒惰”GPT-4,另外ChatGPT 新增了两个小功能

OpenAI降低了GPT-3.5 Turbo模型的API访问价格,输入和输出价格分别降低了50%和25%。这对于使用API进行文本密集型应用程序的用户来说是一个好消息。 OpenAI官网:OpenAI AIGC专区:aigc 教程专区:AI绘画,AI视频&#x…

Vite+Electron快速构建一个VUE3桌面应用(二)——动态模块热重载

一. 简介 在上一篇文章ViteElectron快速构建一个VUE3桌面应用中,我们了解了如何使用Vite和Electron来快速构建一个Vue3桌面应用。但是,之前构建的应用仅仅是一个简单的版本。在开发过程中,为了更好的开发体验,在开发electron的时…