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

news2024/10/3 0:31:13

在这里插入图片描述

文章目录

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

一.计算机网络分层架构

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

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

在这里插入图片描述

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

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

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

计算机网络通信的本质

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

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

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

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

局域网通信

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

跨局域网通信

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

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

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

全球互联的通信脉络

在这里插入图片描述

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

四.网络编程概述

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

在这里插入图片描述

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

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

相关文章

分页查询的使用

背景 在业务中我们在前端总是需要展示数据,将后端得到的数据进行分页处理,通过pagehelper实现动态的分页查询,将查询页数和分页数通过前端发送到后端,后端使用pagehelper,底层是封装threadlocal得到页数和分页数并动态…

Redis快的秘密,高性能设计epoll和IO多路复用探究

Redis快的原因,高性能设计epoll和IO多路复用探究 1、多路复用需要解决的问题 并发多客户端连接,在多路复用之前最简单和典型的方案:同步阻塞网络IO模型 这种模式的特点就是用一个进程来处理一个网络连接(即一个用户请求&#x…

仅使用 Python 创建的 Web 应用程序(前端版本)第06章_登录页面

从本章开始,我们将创建每个页面。 本栏的例子 可以访问这里, WTS 首先是登录页面。 完成后的图像如下 创建过程如下 No类型内容1Model创建继承BaseDataModel的数据类User、Session2MockDB创建用户表并添加管理员/成员用户3Service创建AuthAPIClient、UserAPIClient4Page定义…

20240122面试练习题10

1. Redis为什么执行这么快? 二、Redis为什么这么快? 1、完全基于内存,数据存在内存中,绝大部分请求是纯粹的内存操作,非常快速,跟传统的磁盘文件数据存储相比,避免了通过磁盘IO读取到内存这部分…

(2024,-DAE,去噪 DM,去噪 AE,影响 SSRL 性能的关键成分,PCA 潜在空间)解构自监督学习的去噪扩散模型

Deconstructing Denoising Diffusion Models for Self-Supervised Learning 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 4. 解构去噪扩散模型 4.1. 用于自监督学习的重新…

洛谷C++简单题练习day6—P1830 城市轰炸

day6--P1830 城市轰炸--1.26 习题概述 题目背景 一个大小为 nm 的城市遭到了 x 次轰炸,每次都炸了一个每条边都与边界平行的矩形。 题目描述 在轰炸后,有 y 个关键点,指挥官想知道,它们有没有受到过轰炸,如果有&a…

Android Settings 显示电池点亮百分比

如题,Android 原生 Settings 里有个 电池电量百分比 的选项,打开后电池电量百分比会显示在状态栏。 基于 Android 13 , 代码在 ./packages/apps/Settings/src/com/android/settings/display/BatteryPercentagePreferenceController.java &am…

CSS如何设置谷歌浏览器字体小于12px

第一种方法 在浏览器的设置中修改,不过只能修改自己的浏览器字体大小,用户的不行 点击设置 找到自定义字体 修改字体大小 第二种方法 使用2D转换 scale() 当我们想设置字体大小为6px的时候 大家要记住,只能在块盒与行块盒中设置&#xf…

6.【SpringBoot3】登录优化-redis

1. SpringBoot 集成 redis 示例 在之前实现的登录接口中,用户登录成功后会生成一个令牌响应给浏览器,之后浏览器访问其他接口时,都要携带该令牌,接受拦截器的检验,如果令牌有效就放行,允许访问后续接口&am…

【代码随想录-数组】二分查找

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

如何在Vue项目中应用TypeScript?

文章目录 一、前言二、使用Componentcomputed、data、methodspropswatchemit 三 、总结 一、前言 与link类似 在VUE项目中应用typescript,我们需要引入一个库vue-property-decorator, 其是基于vue-class-component库而来,这个库vue官方推出…

基于固件库的RT-THREAD移植

为什么要使用操作系统 当我们进入嵌入式这个领域的时候, 往往首先接触的都是单片机编程, 单片机编程又首选 51 单片机来入门。 这里面说的单片机编程通常都是指裸机编程,即不加入任何 RTOS(Real Time Operation System 实时操作系…

独占指针:unique_ptr 与 函数调用 笔记

推荐B站视频: 2.unique_ptr_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p2&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 3.unique_ptr与函数调用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p3&vd_sourcea934d…

如何阅读xml电子发票

xml电子发票是官方给出的电子存档的文件格式,本质是文本,所以文件很小,大量发票存储,能够更加凸显优势。 但是xml电子发票不方便阅读,因为里面是xml格式,对于财务人员来讲,看“代码”简直太难了…

Android App开发基础(3)——App的设计规范

3 App的设计规范 本节介绍了App工程的源码设计规范,首先App将看得见的界面设计与看不见的代码逻辑区分开,然后利用XML标记描绘应用界面,同时使用Java代码书写程序逻辑,从而形成App前后端分离的设计规约,有利于提高App集…

CSMA/CD 协议——笔记

目录 CSMA/CD 协议 以太网采取的 2 种重要措施 CSMA/CD 协议的要点 CSMA/CD 协议工作流程 碰撞后重传的时机 CSMA/CD 协议的要点 CSMA/CD 协议 最早的以太网:将许多计算机都连接到一根总线上。 总线特点:易于实现广播通信,简单&…

Linux详细笔记大全

第0章 Linux基础入门 什么是计算机 计算机的组成: 控制器,是整个计算机的中枢神经,根据程序要求进行控制,协调计算机各部分工作及内存与外设的访问等。 运算器,功能是对数据进行各种算术运算和逻辑运算。 存储器,功能是存储程序、数据和各种信号、命令等信息。 输入设备…

JavaScript 学习笔记(WEB APIs Day6)

「写在前面」 本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容: 1. JavaScript 学习笔记(Day1) 2. JavaSc…

网页首页案例(使用框架:继上一篇博客结尾)

文章目录 新认识的快捷键1.先写好组件并导入App.vue2.往组件中一个一个填内容3.整体静态完成后,发现某些小部分相同,其实可以分装成小组件4.最后通过js动态渲染 新认识的快捷键 1.Ctrl滚轮按住往下拖可以部分选中 .用同样的方法选中下面的111&#xff0…

temu跨境电商怎么样?做temu蓝海项目有哪些优势?

在全球电商市场激烈的竞争中,Temu跨境电商平台以其独特的优势和策略,逐渐崭露头角。对于许多想要拓展海外市场的商家来说,Temu的蓝海项目提供了一个充满机遇的新平台。本文将深入探讨Temu跨境电商的优势以及在蓝海市场中的发展前景。 全球化市…