计算机网络的体系结构的各层在整个过程中起到什么作用?

2024-01-26 18:36

本文主要是介绍计算机网络的体系结构的各层在整个过程中起到什么作用?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ps:本文章的图片内容来源都是来自于湖科大教书匠的视频,声明:仅供自己复习,里面加上了自己的理解

这里附上视频链接地址:1.6 计算机网络体系结构(4)—专用术语_哔哩哔哩_bilibili

目录

🚀计算机网络体系结构分层思想举例

🚀体系结构的各层在整个过程中起到什么作用?

🚀路由器的处理过程?

🚀Web服务器处理过程?


🚀计算机网络体系结构分层思想举例

应用进程间基于网络的通信

🚀体系结构的各层在整个过程中起到什么作用?

应用层:按照HTTP协议构建HTTP请求报文,并交付给运输层处理

运输层:给HTTP请求报文添加TCP首部,使其成为TCP报文段,首部作用是区分应用进程,以及实现可靠传输,并将TCP报文段交给网络层处理

网络层:网络层给TCP报文段添加一个IP首部,使之成为IP数据报,并将IP数据报交付给数据链路层处理

数据链路层:数据链路层给IP数据报添加一个首部,一个尾部,使之成为帧,首部的作用主要是为了让帧能够在一段链路上或一个网路上传输,能够被相应的目的的主机接收。帧尾部作用是为了让目的主机检查所接收到的帧是否有误码,数据链路层将帧交付给物理层

物理层:物理层将帧看作比特流,因此物理层还会给比特流前面添加前导码,作用是为了让目的主机做好接收帧的准备,物理层添加了前导码的比特流,变换成相应的信号发送到传输媒体,信号通过传输媒体到达路由器

🚀路由器的处理过程?

物理层将信号变换为比特流,然后去掉前导码后,将其交付给数据链路层,这实际上交付的是帧,数据链路层将帧的首部和尾部去掉后,将其交付给网络层,实际交付的是IP数据报,网络层解析IP数据报的首部,从中提取出目的网络地址,然后查找自身的路由表,确定转发端口,方便进行转发

网络层将IP数据报交付给数据链路层,数据链路层给IP数据报添加一个首部和一个尾部使之成为帧

数据链路层将帧交付给物理层,物理层将帧看作是比特流,由于网络N2是以太网,因此物理层还会给该比特流前面添加前导码

物理层将添加有前导码的比特流变换成相应的信号发送到传输媒体

信号通过传输媒体到达Web服务器

🚀Web服务器处理过程?

物理层将信号变为比特流,然后去掉前导码后将其交付给数据链路层,这实际上交付的是帧

数据链路层将帧的首部和尾部去掉后,将其交付给网路层,这实际上交付的是IP数据报,

网路层将IP数据报的首部去掉之后,将其交付给运输层,这实际上交付的是TCP报文段

运输层将TCP的报文段首部去掉后,将其交付给应用层,实际上交付的是HTTP请求报文

应用层对HTTP请求报文进行解析,然后给主机发回HTTP响应报文

与之前的过程类似,HTTP响应报文需要在Web服务器层层封装

然后通过物理层变换成相应的信号,再通过传输媒体传输到路由器

路由器转发响应报文给主机,主机通过物理层将收到的信号转化为物理层,之后通过逐层解封,最终取出HTTP响应报文


希望对你有帮助!

这篇关于计算机网络的体系结构的各层在整个过程中起到什么作用?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/647700

相关文章

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

Linux部署jar包过程

《Linux部署jar包过程》文章介绍了在Linux系统上部署Java(jar)包时需要注意的几个关键点,包括统一JDK版本、添加打包插件、修改数据库密码以及正确执行jar包的方法... 目录linux部署jar包1.统一jdk版本2.打包插件依赖3.修改密码4.执行jar包总结Linux部署jar包部署