计算机网络——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.mfbz.cn/a/652237.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Overall Accuracy(OA)、Average Accuracy(AAcc)计算公式

四个重要的指标: True Positive(TP)、False Positive(FP)、True Negative(TN)和False Negative(FN)。 TP表示分类器预测结果为正样本,实际也为正样本&#xf…

第16篇:JTAG UART IP应用<三>

Q:如何通过HAL API函数库访问JTAG UART? A:Quartus硬件工程以及Platform Designer系统也和第一个Nios II工程--Hello_World的Quartus硬件工程一样。 Nios II软件工程对应的C程序调用HAL API函数,如open用于打开和创建文件&#…

感觉是通俗易懂的大模型入门(一)

最近人工智能非常火爆,大家可能经常听到AI、深度学习、大语言模型等名词。但真正能够将它们拆开来细致讲解的内容并不多。我大学就是学这个的,毕业后一直从事这个领域的工作。所以我打算今年陆续做一些这方面的科普,也借此机会复习巩固一下自己的知识体系。 今天就算是第一期,…

POLYGON - Elven Realm - Low Poly 3D Art by Synty(低多边形精灵王国)

Synty Studios™展示:POLYGON-精灵王国 精灵王国隐藏在群山之间,远离非魔法生物的控制。 精灵人以符文之花为动力,将其作为病房、电源、武器附魔和连接他们陆地之间的门户。 主要功能 -700多项独特资产 -模块化建筑系统,包括悬崖和瀑布。 -包括详细的演示场景 资产 角色(x…

基于Cortex的MCU设计

基于Cortex的MCU设计 今日更新的存货文档,发现日更文章还是很花时间的。保证一周更新三篇文章就行啦,本篇文章的内容起始主要取自于《Cortex-M3 权威指南》和知网下载的论文。写的不详细,想进一步了解的就去看这篇文档或网上找别的资料&#…

mysql实战——mysql5.7保姆级安装教程

1、上传 上传5.7压缩包到/usr/local目录下 2、解压 cd /usr/local tar -zxvf mysql--5.7.38-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.38-linux-glibc2.12-x86_64/ mysql 3、创建mysql用户组和用户 groupadd mysql useradd -g mysql mysql 4、创建数据目录data&#xf…

如何设置远程桌面连接?

远程桌面连接是一种方便快捷的远程访问工具,可以帮助用户在不同地区间快速组建局域网,解决复杂网络环境下的远程连接问题。本文将针对使用远程桌面连接的操作步骤进行详细介绍,以帮助大家快速上手。 步骤一:下载并安装远程桌面连接…

柳宗元,政治坎坷与文学辉煌的交织

💡 如果想阅读最新的文章,或者有技术问题需要交流和沟通,可搜索并关注微信公众号“希望睿智”。 柳宗元,字子厚,生于唐代宗大历年间(公元773年),卒于唐宪宗元和年间(公元…

Python批量docx或doc文档转换pdf

说明: 1、因为项目需要,需要手动将十几个word文档转换成pdf文档 2、python请安装3.9.0以上,否则一些依赖库无法正常用 #! /usr/bin/python3 # -*- coding: utf-8 -*-import os import comtypes.client# 批量将docx文件转换pdf文件 def docx_t…

OpenBMC相关的网站

openbmc官方网站 https://github.com/openbmchttps://github.com/openbmc Dashboard [Jenkins]https://jenkins.openbmc.org/ https://gerrit.openbmc.org/Gerrit Code Reviewhttps://gerrit.openbmc.org/ Searchhttps://grok.openbmc.org/ openbmc参考网站 https://www.c…

脱产二战Top3:终将梦校纳入囊中!

这个系列会邀请上岸学长学姐进行经验分享~ 今天分享经验的同学是小马哥819全程班的学员,二战高分上岸上海交通大学! 经验分享 在去年考研上交失利后,我选择了在家脱产二战一年,所幸还算取得了比较理想的结果。 我本科中部地区…

攒粒是什么?怎么用攒粒赚钱?

攒粒简介 攒粒的前身是91问问,隶属于上海道道永泉市场调查有限公司,是一家专业的全球在线调研服务公司,也是是国内排名前列的社区调查之一,10年在线调研,600万会员亲身体验,提供网络调查、市场调查、问卷调…

KAN(Kolmogorov-Arnold Network)的理解 1

系列文章目录 第一部分 KAN的理解——数学背景 文章目录 系列文章目录前言KAN背后的数学原理:Kolmogorov-Arnold representation theorem 前言 这里记录我对于KAN的探索过程,每次会尝试理解解释一部分问题。欢迎大家和我一起讨论。 KAN tutorial KAN背…

如何从 Android 恢复已删除的相机照片?(7 种行之有效的方法)

如今,随着智能手机的不断创新和突破,我们可以毫不费力地用安卓手机相机拍摄高清照片。然而,随着安卓手机中相机照片的积累,有时我们可能会因为各种原因丢失这些相机照片。那么如何从安卓设备恢复已删除的相机照片就成了困扰许多人…

Megatron-LM源码系列(八): Context Parallel并行

1. Context Parallel并行原理介绍 megatron中的context并行(简称CP)与sequence并行(简称SP)不同点在于,SP只针对Layernorm和Dropout输出的activation在sequence维度上进行切分,CP则是对所有的input输入和所有的输出activation在sequence维度上进行切分&…

06.部署jpress

安装mariadb数据 yum -y install mariadb-server #启动并设置开启自启动 systemctl start mariadb.service systemctl enable mariadb.service数据库准备 [rootweb01 ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id…

HCIP-Datacom-ARST自选题库_10_其他多选【48道题】

1.为什么说可以通过提高链路带宽容量来提高网络的QoS? 链路带宽的增加减小了拥塞发生的几率从而减少了云包的数量 链路带宽的增加可以增加控制协议的可用带宽 链路带宽的增加意味着更小的延迟和抖动 链路带宽的增加可以支持更高的流量 2.当拥塞发生时,通常会影…

VectorDBBench在windows的调试

VectorDBBench在windows的调试 VectorDBBench是一款向量数据库基准测试工具,支持milvus、Zilliz Cloud、Elastic Search、Qdrant Cloud、Weaviate Cloud 、 PgVector、PgVectorRS等,可以测试其QPS、时延、recall。 VectorDBBench是一款使用python编写的…

如何实现倾斜摄影三维模型OSGB格式轻量化

如何实现倾斜摄影三维模型OSGB格式轻量化 倾斜摄影三维模型以其高精度和真实感受在城市规划、建筑设计和虚拟漫游等领域发挥着重要作用。然而,由于其庞大的数据量和复杂的几何结构,给数据存储、传输和可视化带来了挑战。为了解决这个问题,倾斜…

KT6368A蓝牙芯片AT命令会被透传出去,指令对为什么会被透传出去

一、简介 KT6368A再被连接之后,AT命令会被透传出去。被透传的这组AT命令是符合文档要求,不应被透传,实际却经常被透传。并且可以每次都复现 详细描述 有问题部分的串口数据监控结果如下:其中41 54 2B 42 4D 46 30 41 46 42 43 3…