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

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

相关文章

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

SpringBoot 中 CommandLineRunner的作用示例详解

《SpringBoot中CommandLineRunner的作用示例详解》SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的... 目录1、CommandLineRunnerSpringBoot中CommandLineRunner的作用

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller