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

2024-06-01 06:52

本文主要是介绍学习笔记——网络参考模型——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】

这篇关于学习笔记——网络参考模型——TCP/IP模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020286

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss