到底什么是TCP/IP协议栈,看完这篇你就明白!

一谈到tcp/ip 协议栈,相信不少小白都处于暴躁的边缘,只懂其一不知其二。没关系,看完这篇你就知道啦!
我们先简单了解下tcp/ip协议,该协议最早得名于上世纪80年代,由于其优异性,很快便成为主流网络通信协议。后面出现的各类协议(http、ip、dns、tcp、arp等)都被整体纳入这一协议体系中去,被统称为“tcp/ip 协议栈”,“tcp/ip 协议栈”名称就是这么由此而来的。
对应这一协议栈,同时发展出了tcp/ip 参考模型,该模型是一个抽象的分层模型,tcp/ip 协议栈中的所有协议被归类到这一模型的4个层次中(四个层分别是:链路层、网络层、传输层、应用层),每一层都呼叫它的下一层所提供的协议来完成其需求,各个层次间互相协作,由此完成了互联网通信的主要工作。
*由于osi协议栈比较复杂,且tcp和ip两大协议在业界被广泛使用,所以tcp/ip参考模型成为了互联网的主流参考模型*
为了让你对通信过程有一个更好的理解,我将以http请求通信的过程为例子,从 tcp/ip 四个层次出发,对应各个层次的通信实体,看各个协议是如何在这些通信实体中发生作用。
在这之前我们先了解下网络通信中的三个地址:ip 地址、mac 地址以及端口号,三者分别代表:
ip地址:网络中互联的主机和路由器的标识
mac 地址:每个网卡硬件的物理地址
端口号:识别同一个主机上不同的应用程序,也可以理解为程序地址
当你输入一个网址并按下回车键的时候:应用层协议会先对该请求包做格式定义;紧接着传输层协议加上双方的端口号,确认双方通信的应用程序;然后网络层协议加上双方的ip地址,确认双方的网络位置;最后链路层协议加上双方的mac地址,确认双方的物理位置,以太网协议会通过对电信号数据进行分组,形成数据帧,再采用广播方式,通过传输介质发送给对方主机。而对于不同网段,该数据包先会转发给网关路由器,经过多次转发后,最终被发送到目标主机。目标机接收到数据包后,采用对应的协议,对帧数据进行组装,然后再通过一层一层的协议进行解析,最终被应用层的协议解析并交给服务器处理。在这个过程中,各项协议确保了传输过程的实现以及数据的安全。
ip地址相当于是人所在的区域,mac地址相当于是人的身份证号码,对于网络传输最终都是以mac地址来实现的。
我们来梳理一下每层模型的职责:
应用层:定义数据格式,并按照对应的格式解读数据传输层:定义端口,确认主机上应用程序的身份,并将数据包交给对应的应用程序网络层:定义ip地址,确认主机所在的网络位置,并通过ip进行mac寻址,对外网数据包进行路由转发链路层:以字节为单位对0和1进行分组,定义数据帧,确认主机的物理地址,传输数据以上内容是对tcp/ip四层模型做了简单的介绍,而实际上每一层模型都有很多协议,每个协议要做的事情也很多,但我们首先得有一个清晰的脉络结构,把基本的作用都掌握了,然后再去丰富细节,就比较好理解了。
关注我,用最通俗的文字带你了解物联网~

小米MAX2什么时候上市?最新消息:小米6都发布了,我的小米MAX2呢?
小米MIX2最新消息:屏占比大于93%+骁龙835+安卓7.1,国产旗舰不输三星
100G以太网为8K有效负载做好准备
CES2017各种重磅新品及技术,感受不一样的精彩!
陶瓷覆铜板在光伏发电系统的重要作用
到底什么是TCP/IP协议栈,看完这篇你就明白!
LO驱动器表面贴装和LO驱动器裸模/模块的区别
小型UPS电源电路
ThreadLocal源码解析及实战应用
中国移动发布了2019年至2020年一体化电源产品集中采购招标公告
360推出一款真无线蓝牙耳机 首发价169元
打开流程自动化新大门!Power Automate RPA 托管方案详解
ZYNQ7020的PS端的基本开发流程
NVIDIA打造中国特供GPU:居然只砍了一刀!
艾德克斯对时下较先进领域发布一系列先进仪器
使用橡皮擦清洁PCB板会不会导致ESD的产生?
In-Circuit Programming for the
HomePod :用真实去营造出梦幻的场景
LDO线性稳压器的工作原理及选型参数
ReactOS开源系统最新进展公布,支持64位Win应用