看文这篇保证你了解掌握【TCP/IP 五层模型】!

文章介绍了网络通信中的协议分层原理,重点讲解了TCP/IP五层模型,包括应用层、传输层、网络层、数据链路层和物理层的作用。通过封装和分用的过程解释了数据如何在网络中传输,并以发送QQ消息为例进行了详细说明。此外,还提到了中间设备如交换机和路由器在转发过程中的角色。
摘要由CSDN通过智能技术生成

1. 协议分层

在网络通信中,需要约定的协议,其实是非常复杂的!面对复杂的环境,就需要复杂的协议,但是太复杂也不好。
协议是拆分很多的,那么就针对有些小的协议,作用或者定位类似的进行分类,同时针对这些不同的类别,进行分层(相当于约定了层级和层级的关系,要求上层协议调用下层,下层给上层提供支持,不能跨层调用)
简单的画个图来描述下,上层调用下层,下层给上层提供支持的含义
在这里插入图片描述
只有两个相邻的层级才可以交互,不可以跨级进行交互。

分层的好处:

  • 分层之后就可以做到,层次之间,耦合程度比较低,上层协议不必了解下层的细节,下层也不必了解上层的细节
  • 方便的对某一层的协议进行替换

2. 具体如何分层

有两种模型:

  • OSI 七层网络模型(仅仅存在教科书上的)在这里插入图片描述

  • TCP/IP 五层网路模型(当下最广泛的网络模型)在这里插入图片描述

本文我们主要介绍 TCP/IP 五层网络模型!

2.1 应用层

关注传输的数据的用途,应用层就是程序猿写的应用层序

2.2 传输层

不考虑中间路径,只关注起点和终点

2.3 网络层

主要负责两个遥远的节点之间,路径规划

2.4 数据链路层

主要关注两个相邻节点之间的传输,是通过网线/光纤/无线哪一种方式连接

2.5 物理层

网络通信的基础设施,网线,光纤,网线接口,类似于网络上的高速公路

3. 在协议分层的背景下,数据如何通过网络传输?

首先需要了解两个概念:封装 & 分用

  • 封装:发送方发送数据,要把数据从上到下,依次交给对应的层次的协议,进行封装
  • 分用:接收方收到数据,要把数据从下到上,依次交给对应的层次的协议,进行解析

为了能够大家可以更加详细了解,整个过程,我们以一个 发送QQ 消息为例子,大概来介绍下这个过程!

在一个月黑风高的夜晚,张三决定向女神表白,此时他打开了QQ,在输入输入的一行文字:我喜欢你!并点击发送按钮
在这里插入图片描述

那么这一句话到底是怎么发送过去的呢? 此处只是模拟,真实的数据包可能更复杂的多

    1. 应用层(QQ应用程序)拿到上述用户数据,进行封装,封装成应用成数据包在这里插入图片描述
    1. 传输层拿到上述数据,应用层通过调用传输层提供的API,来处理这个数据(传输层有很多协议,此处以UDP为例)在这里插入图片描述
      此处,UDP协议再给应用数据包加上一个UDP报头,就是为了再贴一层标签,从而再标签上填写必要的属性。传输层协议,最关键的属性,就是源端口和目的端口
    1. 网络层拿到上述数据后(此处采用IP协议)在这里插入图片描述
    1. 数据链路层(最典型的协议以太网)在这里插入图片描述
      mac 地址是物理地址,也是描述一个主机的位置,但是IP是用来进行路径规划的,而当下的mac是描述数据链路层,两个即将传输的相邻节点。
    1. 物理层接收上述数据,将上述本质上是 0101 的二进制数据转换成光信号/电信号/电磁波信号,进行传输了!

那接收方又如何解析的呢?
接收的过程正好和上述过程相反,
发送,从上到下,依次封装,新增报头
接收,从下到上,依次分用,去掉报头

    1. 物理层,网卡,收到高低电平信号,然后解析还原成二进制数据
    1. 数据链路层,此时就把上述二进制数据 当作一个以太网数据,进行去掉帧头,帧尾,取出中间的载荷,交给上方的网络层在这里插入图片描述
    1. 网络层,去掉IP报头在这里插入图片描述
  • 4.传输层,去掉UDP报头在这里插入图片描述
    1. 应用层,此时由QQ程序来解析应用层数据包,取出字段,放到程序界面在这里插入图片描述

4. 模拟经典真实的转发过程

在这里插入图片描述

  • 中间的交换机:只需要封装分用到 数据链路层(只需要改源mac和目的mac)
  • 中间的路由器:则需要封装分用到 网络层(也需要改mac,同时还需要根据目的ip进行下一阶段的路径规划)
  • 通常来说,交换机是进行“二层转发”,路由器进行“三层转发”

BMVC(British Machine Vision Conference)和ICIP(International Conference on Image Processing)都是计算机视觉领域的重要学术会议,它们都提供了一个交流和展示最新研究成果的平台。选择参加哪个会议取决于你的具体需求和兴趣。 1. BMVC:BMVC是一个由英国计算机视觉学会(British Machine Vision Association,BMVA)主办的国际会议。BMVC是计算机视觉领域的顶级会议之一,吸引了来自世界各地的学术界和工业界的研究人员。BMVC的重点是机器视觉和图像分析领域的研究,涵盖了广泛的主题,包括图像处理、目标检测与识别、图像分割、三维视觉等。如果你对英国的计算机视觉研究感兴趣,或者想要了解该领域最新的研究动态,参加BMVC是一个不错的选择。 2. ICIP:ICIP是由IEEE Signal Processing Society主办的国际会议,也是图像处理领域的重要会议之一。ICIP涵盖了从图像获取、处理和分析到图像应用的广泛范围。该会议汇集了来自学术界和工业界的专家,提供了一个交流和讨论最新研究成果的平台。如果你对图像处理的基础理论、算法和应用感兴趣,或者想要与世界各地的研究人员建立联系,参加ICIP是一个不错的选择。 总的来说,选择参加BMVC还是ICIP取决于你的研究方向、兴趣和目标。你可以根据自己的需求仔细查阅两个会议的往届论文、议程和主题,以及考虑参会成本和地点等因素,来做出最适合你的选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个想打拳的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值