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

【计算机网络 | 第一篇】计算机网络基础知识

网络分层模型

1.OSI七层模型国际标准化组织提出的一个网络分层模型,总共有七层,其大体功能以及每一层分工如下所示:

每一层都专注做一件事,并且每一层都需要下一层提供的功能。

OSI七层模型七层结构体系清晰,理论完整,但是它比较复杂不实用,而且很多层的功能有些重复。

2.TCP/IP四层模型 是目前被广泛采用的一种模型,我们可以将TCP/IP四层模型看作OSI七层模型的精简版本,四层模型由以下组成:

1.应用层

2.传输层

3.网络层

4.网络接口层

为什么网络要分层呢?

复杂系统需要分层,因为每一层都要专注干一件事情。网络分层也是这样,每一层只专注于做一类事情。

网络分层主要有三方面原因:

1.保证各层之间相互独立:各层之间相互独立,不需要知道其他层是怎么实现的,只需要上层调用下层实现的功能即可。

2.提高了灵活性和可替代性:每一层都可以选择最合适的技术来实现,只要保证上层调用下层功能的规则不变,同时,每一层都可以根据需求进行修改和替换,不会影响整个网络的结构。

3.大问题变小化:许多复杂的问题可以通过分层来变小,这样使得复杂的计算机网络结构变得容易设计和实现。

常见网络协议

应用层常见协议:

HTTP(Hypertext Transfer Protocol,超文本传输协议):基于 TCP 协议,是一种用于传输超文本和多媒体内容的协议,主要是为 Web 浏览器与 Web 服务器之间的通信而设计的。当我们使用浏览器浏览网页的时候,我们网页就是通过 HTTP 请求进行加载的。

传输层常见协议:

  • TCP(Transmission Control Protocol,传输控制协议 ):提供 面向连接 的,可靠 的数据传输服务。
  • UDP(User Datagram Protocol,用户数据协议):提供 无连接 的,尽最大努力 的数据传输服务(不保证数据传输的可靠性),简单高效。

网络层常见协议:

IP(Internet Protocol,网际协议):TCP/IP 协议中最重要的协议之一,属于网络层的协议,主要作用是定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地。目前 IP 协议主要分为两种,一种是过去的 IPv4,另一种是较新的 IPv6,目前这两种协议都在使用,但后者已经被提议来取代前者。

什么是URL

URL(Uniform Resource Locators),即统一资源定位器。网络上的所有资源都靠 URL 来定位,每一个文件就对应着一个 URL,就像是路径地址。理论上,文件资源和 URL 一一对应。实际上也有例外,比如某些 URL 指向的文件已经被重定位到另一个位置,这样就有多个 URL 指向同一个文件。

URL组成结构:

 

从输入URL到页面展示发生了什么?(重点)

先来看一张图(来源于《图解 HTTP》):

上面有个错误,是OSPF不是OPSF。 OSPF(Open Shortest Path First,ospf)开放最短路径优先协议, 是由 Internet 工程任务组开发的路由选择协议。

总体来讲有以下几个步骤:

1.在浏览器输入指定页面的URL。

2.浏览器根据DNS协议,解析出域名对应的IP地址。

3.浏览器通过解析出的IP地址和端口号,向目标服务器发出一个TCP连接请求。

4.浏览器在TCP连接上,向服务器发出一个HTTP请求报文,请求获取网页内容。

5.服务器收到HTTP请求报文后,处理请求,并返回HTTP响应报文给浏览器。

6.浏览器收到HTTP响应报文后,解析响应体中的HTML代码,渲染网页的结构,同时根据

HTML中的其他资源的URL,再次发起HTTP请求,获取这些资源,直到页面展示完全。

7.浏览器在不需要和服务器通信时,可以主动关闭TCP连接,或者等待服务器的关闭请求。

HTTP是无状态协议,如何保存用户的状态呢?

 HTTP是一种不保存状态,即无状态协议,那么如何保存用户状态呢?Session 机制的存在就是为了解决这个问题,Session 的主要作用就是通过服务端记录用户的状态。典型应用场景是购物车,当你添加商品到购物车时,系统不知道是哪个用户操作的,因为HTTP是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了(一般情况下,服务器会在一定时间内保存这个 Session,过了时间限制,就会销毁这个 Session)。

在服务端保存 Session 的方法很多,最常用的就是内存和数据库(比如是使用内存数据库 redis 保存)。既然 Session 存放在服务器端,那么我们如何实现 Session 跟踪呢?大部分情况下,我们都是通过在 Cookie 中附加一个 Session ID 来方式来跟踪。

 如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力

http://www.xdnf.cn/news/19369.html

相关文章:

  • 【Linux】部署vfstpd服务端,让客户端通过访问不同的端口号,可以实现访问不同的目录
  • 刀片服务器的散热构造方式
  • C++17 新特性简解
  • 分享4-5月工信部排考计划
  • 评测 Doubao-1.5-thinking-pro | 豆包·深度思考模型
  • “AI问诊助手”落地武汉市中心医院,深兰科技助力医疗数智化升级
  • NOIP2015提高组.信息传递
  • 线程池 RejectedExecutionException 异常:Task ... rejected from...
  • 体验 OceanBase 参数模板功能
  • PLM系统如何支持利益相关者分析?沟通矩阵设计
  • 多活架构中如何规划数据一致性?
  • 无锡透平叶片将携尖端叶片登陆2025涡轮展,5月苏州相见
  • C++ `shared_ptr` 多线程使用
  • Python中type()函数的深度探索:类型检查与动态类创建
  • [已解决] Cribl 忘记admin 密码
  • 【java 13天进阶Day04】常用API、正则表达式,泛型、Collection集合API
  • 架构师面试(三十二):注册中心数据结构
  • 常见免杀框架的使用(3款)---【AniYaGUI1.2.0、AV_Evasion_Tool掩日、FoxBypass_V1.0】
  • 遨游科普:三防平板除了三防特性?还能实现什么功能?
  • 广搜bfs-P1443 马的遍历
  • Java学习手册:常见并发问题及解决方案
  • 如何提高单元测试的覆盖率
  • AI开发-效率提升小工具-“打盹弹窗侠”记录
  • Datawhale春训营赛题分析和总结
  • 每日文献(十四)——Part one
  • 2d深度预测
  • 【前端进阶】深入解析 Flexbox 布局中的 flex-shrink 与 gap 兼容性问题
  • 哈佛团队在Cancer Cell发表多模态医学AI模型,整合病理切片和基因组特征,为癌症预后提供新思路
  • stm32f407-01(GPIO)
  • 系统架构师2025年论文通用模板