计算机网络——TCP / IP 网络模型

OSI 七层模型

七层模型是国际标准化的一个网络分层模型,大体结构可以分成七层。每层提供不同的功能。

图片来源 JavaGuide

但是这样七层结构比较复杂,不太实用,所以有了 TCP / IP 模型。

TCP / IP 网络模型

TCP / IP 网络模型可以看作是 OSI 模型的简化版本。它将 OSI 网络模型合并成了 4层结构。

应用层、表示层、会话层统一被合并成了应用层。

传输层和网络层没有变化,数据链路层和物理层合并成了物理链路层 / 网络接口层。

应用层

最上层,是用户直接接触的层。手机电脑的应用就是在应用层实现。手机和电脑不同设备需要进行通信的话,应用会把需要传输的数据交由下一层进行传输,交互的数据就叫报文不同的网络应用需要不同的应用层协议。下面是常见的协议:

HTTP:超文本传输协议。基于TCP 协议,是用于传输超文本和多媒体内容的协议,主要为 web 浏览器和服务器之间的通信。

FTP:文件传输协议。基于 TCP 协议,用于计算机之间传输文件。

DNS:域名管理系统。基于UDP 协议,用于解决域名和IP 地址的映射问题。

传输层

为两个设备之间的通信提供数据传输服务。

传输层常见的协议就是 TCP 和 UDP 

TCP:传输控制协议。大部分应用层的协议就是基于这个而协议实现的。比如 HTTP 协议。TCP 比 UDP 协议多了很多特性,比如流量控制,超时重传,拥塞控制等,目的都是数据传输的可靠性。

UDP:用户数据报协议,相较于TCP ,UDP 是面向无连接的传输,就是通过 UDP 协议传输的数据不能保证一定传到。可能会丢失,没有超时重传机制。但是实时性高。

传输层有的时候会传送很大的数据。如果直接传可能不太好控制,如果中途丢失了,那么就需要重新传。就像直接下载一个20G 的游戏安装包和下载分为20个压缩包,如果在 99.9%的位置出现了安装包损坏,那么就需要从头开始下载。压缩包只需要下载损坏的那个就行了。TCP 协议在传输大数据时,会将数据分为数据块,叫做TCP 段或者报文段。如果某个段损坏了或者中途丢失了,那么只需要重传这一个数据段即可。

接收端的接收到数据之后会将数据传给应用层。但是一台设备可能有不同的应用在接收传输数据。比如你一边用微信回复老板信息,一边用QQ 和好朋友吐槽老板,系统怎么直到你吐槽的信息要发给谁,所以在数据传输时需要一个东西来区分接收对应数据的应用,这个就是端口,传输层的报文中会包含需要接收的端口,接收方可以直到这个数据是发送给那个端口的。比如 80 端口就是 web 服务器使用的。

网络层

负责为分组交换网上的不同主机提供通信服务。也就是实际控制数据报文传输的方向路径的。

打个比方,网络层就像是快递分拣站,将到来的快递分拣,排序,分配给各地区的快递小哥,快递小哥就像是传输层,只专心负责将快递送到顾客的手上,中途要走哪条路,都有中转站进行控制分配,这就是网络层为传输层选择适合的路由,通过指定的路由找到目的的主机。

网络层最常见的协议 IP 协议,主要作用是定义数据包的格式、对数据进行路由和寻址,以便可以通过网络传播并准确到达。寻址就是告诉数据下一个目的地是哪,路由就是选择路径。寻址就像是导航,规划了很多路线,路由就是从这些路线中选择一条。

网络接口层

网络接口层可以看作是数据链路层和物理层的结合,实际的作用也就是这两层的作用。

数据在 网络层加上了IP 头部之后变成 IP 数据报,网络接口层会给 IP 数据报加上 MAC 头部,并封装成数据帧发送到网络上。也就是以太网,以太网根据 MAC 头部识别需要发送到的目的地。

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

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

相关文章

Java中常见错误-泛型擦除及桥接方法问题及解决方案

Java中泛型擦除及桥接方法 泛型擦除无界擦除上界擦除下界擦除 桥接方法演示案例wrong1wrong2wrong3right 原理总结 泛型擦除 ​ 泛型擦除是Java泛型机制的一个特性,它意味着**在编译期间,所有的泛型信息都会被移除,而在运行时,所…

[Redis]Zset类型

Zset有序集合相对于字符串、列表、哈希、集合来说会有一些陌生。 它保留了集合不能有重复成员的特点,但与集合不同的是,有序集合中的每个元素都有一个唯一的浮点类型的分数(score)与之关联,着使得有序集合中的元素是可…

Linux中,ll 命令 列出目录的内容

文章目录 1、2、3、4、5、 1、 在Linux中,ll 通常是一个别名(alias)用于 ls -l 命令。ls 命令用于列出目录的内容,而 -l 选项会以长格式(long format)显示信息,包括文件或目录的权限、所有者、…

精准检测,安全无忧:安全阀检测实践指南

安全阀作为一种重要的安全装置,在各类工业系统和设备中发挥着举足轻重的作用。 它通过自动控制内部压力,有效防止因压力过高而引发的设备损坏和事故风险,因此,对安全阀进行定期检测,确保其性能完好、工作可靠&#xf…

【开发利器】使用OpenCV算子工作流高效开发

学习《人工智能应用软件开发》,学会所有OpenCV技能就这么简单! 做真正的OpenCV开发者,从入门到入职,一步到位! OpenCV实验大师Python SDK 基于OpenCV实验大师v1.02版本提供的Python SDK 实现工作流导出与第三方应用集…

「51媒体」媒体发布会如何做媒体邀约

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体发布会的媒体邀约是一个需要精心策划和准备的过程。 策划与准备阶段: 明确目标:明确发布会的目标、核心议题、举办日期、时间和地点。 准备资料&#xff1a…

CTF本地靶场搭建——基于阿里云ACR实现动态flag题型的创建

接上文,这篇主要是结合阿里云ACR来实现动态flag题型的创建。 这里顺便也介绍一下阿里云的ACR服务。 阿里云容器镜像服务(简称 ACR)是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、…

mysql表级锁(表锁/元数据锁/意向锁)

文章目录 表级锁的分类1、表锁(分类)1.表共享读锁(read lock)2.表独占写锁(write lock)3.语法: 2、元数据锁(meta data lock )3、意向锁1.意向共享锁(IS):由语…

使用springboot+vue实现阿里云oss上传

一、前言 我们后端开发中,时常需要用到文件上传的功能,无非是保存到服务器本地或者如阿里云、七牛云这种云存储的方案。本篇介绍一种使用后台springboot结合前端vue实现阿里云oss上传的功能。 二、前端实现过程 前端实现一个通用的上传组件UploadFile…

探索魁北克:IT专业人士的移民新天地

在这个数字化飞速发展的时代,IT专业人士无疑是推动社会进步的关键力量。魁北克省,作为加拿大的科技与文化中心,正以其开放的姿态和优越的移民政策,吸引着全球IT精英的目光。今天,让我们一起探索魁北克省为IT专业人士量…

Vue.js 动画与过渡效果实战

title: Vue.js 动画与过渡效果实战 date: 2024/6/4 updated: 2024/6/4 description: 这篇文章介绍了如何在网页设计中使用过渡动画和组件效果,以及如何利用模式和列表展示信息。还提到了使用钩子实现组件间通信的方法。 categories: 前端开发 tags: 过渡动画组件…

【计算机毕业设计】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别

谷物识别系统,本系统使用Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对11种谷物图片数据集(‘大米’, ‘小米’, ‘燕麦’, ‘玉米渣’, ‘红豆’, ‘绿豆’, ‘花生仁’, ‘荞麦’, ‘黄豆’, …

nginx与busybox离线镜像安装包

目录 概述实践离线资源nginxbusybox加载上传harbor 概述 nginx与busybox离线镜像安装包制作。如有疑问,详细请参考 docker镜像的导入导出 实践 离线资源 如果懒得弄,请至此下载 nginx、busybox (2024-06-04相对今天是最新版本) nginx 先找一台装有 d…

vscode设置编辑器文件自动保存

步骤 1.打开vscode的设置 2.在搜索栏输入关键字“保存”; 在 Files: Auto Save 设置项,选择自动保存的模式

MySQL—多表查询—多表关系介绍

一、引言 提到查询,我们想到之前学习的单表查询(DQL语句)。而这一章节部分的博客我们将要去学习和了解多表查询。 对于多表查询,主要从以下7个方面进行学习。 (1)第一部分:介绍 1、多表关系 2、…

9. MySQL事务、字符集

文章目录 【 1. 事务 Transaction 】1.1 事务的基本原理1.2 MySQL 执行事务的语法和流程1.2.1 开始事务1.2.2 提交事务1.2.3 回滚(撤销)事务实例1:一致性实例2:原子性 【 2. 字符集 和 校对规则 】2.1 基本原理2.2 查看字符集查看…

MySQL—多表查询(概述、基本实操、分类)

一、引言 概述:指的是从多张表中查询数据。 二、实操 打开 DataGrip 进行尝试多表查询。 (1)表结构的准备以及数据的插入 分别是:员工表 emp 以及 部门表。员工表中字段 dept_id 是外键,关联部门表的主键 id。 em…

ARP欺骗的原理与详细步骤

ARP是什么: 我还记得在计算机网络课程当中,学过ARP协议,ARP是地址转换协议,是链路层的协议,是硬件与上层之间的接口,同时对上层提供服务。在局域网中主机与主机之间不能直接通过IP地址进行通信&#xff0c…

先进制造aps专题十一 国内软件/erp行业的现状及对aps行业的启示

看到一个帖子 中国软件行业几乎全军覆没 OSC开源社区 2024-06-03 15:58 广东 刚刚网上冲浪刷到的 网友锐评:都是客户关系型公司。 知名大 V 「Fenng」评论称: 这里所谓的软件行业公司如果立刻倒闭,才能够利好中国整个行业软件生态。有个网…

electron初学

最近有一个开发桌面端的业务,考虑到跨平台就使用了electron。 引用官网:Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows…