学习笔记——网络参考模型——TCP/IP模型

二、TCP/IP模型

TCP/IP模型(TCP/IP协议栈):很多个互联网协议的集合,其中以TCP和IP为主,将这些协议的集合称为TCP/IP协议栈目前使用最多的协议模型

因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型。

名称

说明

4

应用层

对应OSI的:应用层、表示层、会话层

3

传输层

数据段Segment(TCP报头),对应OSI的:传输层

2

网络层

数据包Packet(IP报头),对应OSI的:网络层

1

网络接口层

比特Bit->帧Frame,对应OSI的:数据链路层、物理层

TCP/IP模型在结构上与OSI模型类似,采用分层架构,同时层与层之间联系紧密。

TCP/IP标准参考模型将OSI中的数据链路层和物理层合并为网络接入层,这种划分方式其实是有悖于现实协议制定情况的,故融合了TCP/IP标准模型和OSI模型的TCP/IP对等模型被提出,后面的讲解也都将基于这种模型。

注意:前四层主要为了传输和识别。“货物”放在高层。

应用数据+传输层 :数据段

应用数据+传输层+网络层:数据包

应用数据+传输层+网络层+数据链路层:数据帧

应用数据+传输层+网络层+数据链路层+物理层:数据流 比特流

1、TCP/IP常见协议

TCP/IP协议栈定义了一系列的标准协议。

应用层

应用层:应用层为应用软件提供接口,使应用程序能够使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等。应用层的PDU被称为Data(数据)(下左图)

TCP/IP每一层都让数据得以通过网络进行传输,这些层之间使用PDU(Packet Data Unit,协议数据单元)彼此交换信息,确保网络设备之间能够通信。

不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。

HTTP和HTTPS(Hypertext Transfer Protocol,超文本传输协议)用来访问在网页服务器上的各种页面。是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。(上右图)

帮助客户端访问万维网(World Wide Web)

网页浏览器通过翻译HTML文件来表现文本、图像、音乐、动画及视频等对象

HTTP没有加密验证机制,明文传输,安全性不足;

HTTPS使用SSL、CA证书等技术进行安全防护,越来越多的Web网站强制使用。

SMTP/POP3/IMAP

传输层

传输层是实现 "端到端"的服务[应用到应用]。

传输层:传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立"端到端"(Port to Port)的连接。传输层的PDU被称为Segment(段) (下左图)

网络层

网络层:传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机到另外一台主机之间(点到点)的传递。网络层的PDU被称为Packet(包)(上右图)

IP(Internet Protocol,互联网协议)∶将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务。

IPv4(Internet Protocol Version 4)简称IP,是目前应用最广泛的网络层协议。

IGMP(Internet Group Management Protocol,因特网组管理协议)∶负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

ICMP(Internet Control Message Protocol,网际报文控制协议)∶基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

(1)网络层协议工作过程

当采用IP作为网络层协议时,通信的双方都会被分配到一个"独一无二"的IP地址来标识自己。IP地址可被写成32位的二进制整数值形式,但为了方便人们阅读和分析,它通常被写成点分十进制的形式,即四个字节被分开用十进制表示,中间用点分隔,比如192.168.1.1。

(2)IP数据包的封装与转发

网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把源和目的IP地址都添加到该头部中。

中间经过的网络设备(如路由器),会维护一张指导IP报文转发的"地图"一—路由表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包。

IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步处理。

IP协议工作时,需要如OSPF、IS-IS、BGP等各种路由协议帮助路由器建立路由表,ICMP帮忙进行网络的控制和状态诊断。

数据链路层

(1)数据链路层基础

数据链路层:数据链路层位于网络层和物理层之间,可以向网络层的IP、IPy6等协议提供服务。数据链路层的PDU被称为Frame(帧)

以太网(Ethernet)是最常见的数据链路层协议。

LLC

Logical Link Control,逻辑链路控制

负责识别网络层的协议类型,接收上层数据包封装成帧后,向下层传递。

MAC

Media Access Control,介质访问控制负责控制与连接物理层的物理介质

处理硬件设备的物理寻址、定义网络拓扑及数据帧的传递顺序

(2)数据链路层协议

Ethernet(以太网协议):一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网组网技术。

PPP(Point-to-Point Protocol,点对点协议)∶一种点对点模式的数据链路层协议,多用于广域网。

PPPoE (Point-to-Point Protocol over Ethernet,以太网承载PPP协议)∶PPPoE提供通过简单桥接访问设备(接入设备)把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网。

物理层

物理层:数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号、电信号或者是电磁波信号。物理层的PDU装称为比特流(Bitstream)

2、数据封装转发过程

案例∶主机A通过浏览器访问服务器A的Web服务器

数据包在相同网段内或不同网段之间转发所依据的原理基本一致。

传输层封装

当主机建立了到达目的地的TCP连接后,便开始对应用数据进行封装。

网络层封装

路由查找

主机A必须要拥有到达目的地的路由

ARP

通过ARP缓存表找到下一跳的MAC地址。如果表项里没有下一跳的MAC地址,主机A会发送ARP请求。

数据链路层封装

数据发送,网关接收数据帧

查找路由,重新封装

网关检查是否具有到达目的网络的路由条目。如果存在转发路径,则为数据包添加一个新的二层帧头和帧尾,并继续转发。

数据发送至服务器

RTB以服务器A的MAC地址作为目的MAC继续转发。服务器A接收到该数据帧后,发现目的MAC为自己的MAC,于是会断续处理该数据帧。

服务器解封装

服务器A检查数据包的目的IP地址,发现目的IP与自己的IP地址相同。

服务器A剥掉数据包的IP头部后会送往上层协议TCP继续进行处理。

服务器A检查TCP头部的目的端口,然后将数据段发送给应用层的HTTP协议进行处理。

阶段总结


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

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

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

相关文章

JavaScript 动态网页实例 —— 窗口控制

除了打开和关闭窗口之外,还有很多其他控制窗口的方法。例如,可以使用 window.focus()方法使窗口获得焦点,也可以利用与其相对的window.blur 方法使窗口失去焦点。本节介绍移动窗口、改变窗口大小、窗口滚动、窗口超时操作、常用窗口事件、常用窗口扩展等窗口控制的方法和手段。…

[每周一更]-(第99期):MySQL的索引为什么用B+树?

文章目录 B树与B树的基本概念B树(Balanced Tree)B树(B-Plus Tree)对比 为什么MySQL选择B树1. **磁盘I/O效率**2. **更稳定的查询性能**3. **更高的空间利用率**4. **并发控制** 其他树结构的比较参考 索引是一种 数据结构&#x…

LeeCode热题100(两数之和)

本文纯干货,看不懂来打我! 自己先去看一下第一题的题目两数之和:. - 力扣(LeetCode) 简单来说就是让你在一个数组里面找两个数,这两个数的和必须满足等于目标值target才行。 我认为你要是没有思路的话&a…

营造科技展厅主题氛围,多媒体应用有哪些新策略?

长久以来,展厅作为线下向公众传递信息的窗口,其设计风格与内容主题紧密相连,展现出千姿百态的面貌。然而,随着数字多媒体技术的日新月异,展厅不再仅仅是传统的信息展示平台,而是成为了引领内容展示潮流的风…

【Git】git合并分支指定内容到主分支

git合并分支指定内容到主分支 在现实开发中,往往需要合并分支内容,如下图: 我们平时在其他分支修改了部分代码,如何将分支部分代码合并到主分支上面呢? 合并步骤: 1、切换当前到主分支 git checkout m…

大型制造业集团IT信息化总体规划方案(65页PPT)

方案介绍: 本大型制造业集团IT信息化总体规划方案旨在通过构建先进、高效、稳定的IT信息化系统,支撑集团各业务领域的运营和管理需求,促进集团整体运营效率和竞争力的提升。通过实施本项目,集团将能够更好地应对市场变化和客户需…

python绘制piper三线图

piper三线图 Piper三线图是一种常用于水化学分析的图表,它能够帮助我们理解和比较水样的化学成分。该图表由三个部分组成:两个三角形和一个菱形。两个三角形分别用于显示阳离子和阴离子的相对比例,而菱形部分则综合显示了这些离子比例在水样…

十四天学会Vue——Vue 组件化编程(理论+实战)(第四天)

二、 Vue组件化编程 2.1 组件化模式与传统方式编写应用做对比: 传统方式编写应用 依赖关系混乱,不好维护:例如:比如需要引入js1,js2,js3,但是js3需要用到js1、2的方法,所以js1、2…

掌控未来,爱普生SR3225SAA用于汽车钥匙、射频电路的智慧引擎

为了响应市场需求,Epson使用独家QMEMS*2技术所生产的石英振荡器,与其精巧的半导体技术所制造的射频传输器电路,开发了SR3225SAA。不仅内建的石英震荡器之频率误差仅有2 ppm,更使其封装尺寸达仅3.2 mm x 2.5 mm,为客户大…

C#中接口的显式实现与隐式实现及其相关应用案例

C#中接口的显式实现与隐式实现 最近在学习演化一款游戏项目框架时候,框架作者巧妙使用接口中方法的显式实现来变相对接口中方法进行“密封”,增加实现接口的类访问方法的“成本”。 接口的显式实现和隐式实现: 先定义一个接口,接口…

dolphinscheduler docker部署海豚mysql版本,docker重新封装正在运行服务为镜像

1.官方文档: https://dolphinscheduler.apache.org/zh-cn/docs/3.2.1/guide/installation/standalone#%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93 2.github: dolphinscheduler/docs/docs/zh/guide/howto/datasource-setting.md at 3.2.1-release apache/do…

对于vsc中的vue命令 vue.json

打开vsc 然后在左下角有一个设置 2.点击用户代码片段 3.输入 vue.json回车 将此代码粘贴 &#xff08;我的不一定都适合&#xff09; { "vue2 template": { "prefix": "v2", "body": [ "<template>", " <…

Ubuntu中PDF阅读器和编辑器

1. 福昕PDF编辑器 1.1. 下载地址 PDF阅读器下载_PDF编辑器下载_PDF软件官方下载_福昕软件官网 1.2. 安装 sudo dpkg -i signed_com.foxit.foxitpdfeditor_xxx_amd64_UOS.deb 2. WPS DPF 2.1. 下载地址 WPS Office 2019 for Linux-支持多版本下载_WPS官方网站 2.2. 使用 …

基于ES安装IK分词插件

前言 IK分词器插件是为Elasticsearch设计的中文分词插件&#xff0c;由Elasticsearch的官方团队之外的开发者medcl开发。它主要针对中文文本的分词需求&#xff0c;提供了较为准确的中文分词能力。以下是IK分词器插件的一些特点&#xff1a; 智能分词&#xff1a;IK分词器采用基…

每天学点小知识:WSL安装Ubuntu 22.04 LTS

前言 本章教会你在不使用虚拟机下使用linux&#xff0c;但是这里建议还是使用虚拟机&#xff0c;或者装一双系统&#xff0c;wsl使用linux还是有很多问题的。 1. 简介WSL WSL&#xff08;Windows Subsystem for Linux&#xff09;是微软为Windows 10及以上版本开发的一项功能…

[AIGC] Java常用的JSON库及简单示例

Java常用的JSON库及简单示例 在Java的世界里&#xff0c;JSON库广泛用于日常开发工作&#xff0c;本文将介绍几个常用的JSON库并配以简单的示例代码。 1. Gson Gson是Google提供的一个用来在Java对象和JSON数据之间进行转换的Java库。 它有一定的学习曲线&#xff0c;但一旦熟…

Redis用GEO实现附近的人功能

文章目录 ☃️概述☃️命令演示☃️API将数据库表中的数据导入到redis中去☃️实现附近功能 ☃️概述 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。…

淘宝镜像的https证书过期

错误原因&#xff1a; 淘宝镜像过期 早在 2021 年&#xff0c;淘宝就发文称&#xff0c;npm 淘宝镜像已经从 http://registry.npm.taobao.org 切换到了 http://registry.npmmirror.com。旧域名也将于 2022 年 5 月 31 日停止服务&#xff08;直到 HTTPS 证书到期才真正不能用了…

基于stm32的智能家居系统

目录 1.课题研究目的和内容 1.1 课题研究目的 1.2 课题研究内容 2.系统总体方案设计及功能模块介绍 2.1 总体方案设计 2.2 DHT11模块介绍 2.3 TFTLCD显示功能模块介绍 2.4 ESP8266WIFI模块介绍 2.5 MQ-135 空气质量模块介绍 2.6 步进电机模块介绍 2.…

solr-8.11.3

https://solr.apache.org/downloads.html https://archive.apache.org/dist/solr/solr/ F:\Document_Solr.apache.org\solr-8.11.3\bin Microsoft Windows [版本 10.0.19045.2965] (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>F: F:\> F:\>…