首页
搜索
历史搜索
首页 > 新闻中心 > 技术应用

关于TCP/IP协议栈,你知道多少呢?

2023-01-04 09:32:07| 来源:聚英电子| | 0

  一谈到TCP/IP 协议栈,相信不少小白都处于暴躁的边缘,只懂其一不知其二。没关系,看完这篇你就知道啦!

关于TCP/IP协议栈,你知道多少呢?

  协议定义的是一系列的通信标准, 通信双方需要共同按照这一标准进行正常的数据收发;信的双方需要共同按照这一个标准进行正常的数据收发;(两人,说共同的语言,不然不能交流,一个听不懂外语的和说外语的交流)

  协议栈是协议的具体实现形式, 通俗的理解就是用代码实现的函数库, 以便于开发人员调用。

  协议栈是通常是一个层级结构。协议栈是网络中各层协议的总和,其形象的反映了 一个网络中文件传输过程;由上层协议到底层协议,再由底层协议到上层协议。

  某个协议的实现代码称为协议栈

  BLE协议栈主要用来对你的应用数据进行层层封包,以生成一个满足BLE协议的空中数据包,也就是说,把应用数据包裹在一系列的帧头(header)和帧尾(tail)中。

TCP/IP 协议栈

  我们先简单了解下TCP/IP协议,该协议最早得名于上世纪80年代,由美国国防部提出并应用于arpa网(即阿帕网,互联网的鼻祖)项目,由于其优异性,很快便成为主流网络通信协议。后面出现的各类协议(http、ip、dns、tcp、arp等)都被整体纳入这一协议体系中去,被统称为“TCP/IP 协议栈”,“TCP/IP 协议栈”名称就是这么由此而来的。

  对应这一协议栈,同时发展出了TCP/IP 参考模型,该模型是一个抽象的分层模型,TCP/IP 协议栈中的所有协议被归类到这一模型的4个层次中(四个层分别是:链路层、网络层、传输层、应用层),每一层都呼叫它的下一层所提供的协议来完成其需求,各个层次间互相协作,由此完成了互联网通信的主要工作。

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

  为了让你对通信过程有一个更好的理解,我将以http请求通信的过程为例子,从 TCP/IP 四个层次出发,对应各个层次的通信实体,看各个协议是如何在这些通信实体中发生作用。

TCP/IP协议栈

  在这之前我们先了解下网络通信中的三个地址:IP 地址、Mac 地址以及端口号,三者分别代表:

  IP地址:网络中互联的主机和路由器的标识

  Mac 地址:每个网卡硬件的物理地址

  端口号:识别同一个主机上不同的应用程序,也可以理解为程序地址

  当你输入一个网址并按下回车键的时候:应用层协议会先对该请求包做格式定义;紧接着传输层协议加上双方的端口号,确认双方通信的应用程序;然后网络层协议加上双方的IP地址,确认双方的网络位置;最后链路层协议加上双方的MAC地址,确认双方的物理位置,以太网协议会通过对电信号数据进行分组,形成数据帧,再采用广播方式,通过传输介质发送给对方主机。而对于不同网段,该数据包先会转发给网关路由器,经过多次转发后,最终被发送到目标主机。目标机接收到数据包后,采用对应的协议,对帧数据进行组装,然后再通过一层一层的协议进行解析,最终被应用层的协议解析并交给服务器处理。在这个过程中,各项协议确保了传输过程的实现以及数据的安全。

  IP地址相当于是人所在的区域,MAC地址相当于是人的身份证号码,对于网络传输最终都是以MAC地址来实现的。

  我们来梳理一下每层模型的职责:

  1. 应用层:定义数据格式,并按照对应的格式解读数据

  2. 传输层:定义端口,确认主机上应用程序的身份,并将数据包交给对应的应用程序

  3. 网络层:定义IP地址,确认主机所在的网络位置,并通过IP进行MAC寻址,对外网数据包进行路由转发

  4. 链路层:以字节为单位对0和1进行分组,定义数据帧,确认主机的物理地址,传输数据

  以上内容是对TCP/IP四层模型做了简单的介绍,而实际上每一层模型都有很多协议,每个协议要做的事情也很多,但我们首先得有一个清晰的脉络结构,把基本的作用都掌握了,然后再去丰富细节,就比较好理解了。


联系销售
销售王经理微信 销售王经理
微信公众号 微信公众号
服务热线
400-6688-400