什么是TCP/IP协议?
计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议 (protocol).
也就是说,TCP/IP 是互联网相关各类协议族的总称 。
TCP/IP 的分层管理
TCP/IP协议里最重要的一点就是分层 。TCP/IP协议族按层次分别为 应用层,传输层,网络层,数据链路层,物理层 。当然也有按不同的模型分为4层或者7层的 。
为什么要分层呢?
把 TCP/IP 协议分层之后,如果后期某个地方设计修改,那么就无需全部替换,只需要将变动的层替换 。而且从设计上来说,也变得简单了 。处于应用层上的应用可以只考虑分派给自己的任务,而不需要弄清对方在地球上哪个地方,怎样传输,如果确保到达率等问题 。
如上图所示,我们将TCP/IP分为5层,越靠下越接近硬件 。我们由下到上来了解一下这些分层 。
物理层
该层负责 比特流在节点之间的传输,即负责物理传输,这一层的协议既与链路有关,也与传输的介质有关 。通俗来说就是把计算机连接起来的物理手段 。
数据链路层
控制网络层与物理层之间的通信,主要功能是保证物理线路上进行可靠的数据传递 。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧 。帧是用来移动数据结构的结构包,他不仅包含原始数据,还包含发送方和接收方的物理地址以及纠错和控制信息 。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达 。如果在传达数据时,接收点检测到所传数据中有差错,就要通知发送方重发这一帧 。
网络层
决定如何将数据从发送发路由到接收方 。网络层通过综合考虑发送优先权,网络拥塞程度,服务质量以及可选路由的花费等来决定从网络中的A节点到B节点的最佳途径 。即建立主机到主机的通信 。
传输层
该层为两台主机上的应用程序提供端到端的通信 。传输层有两个传输协议:TCP(传输控制协议)和 UDP(用户数据报协议) 。其中,TCP是一个可靠的面向连接的协议,udp是不可靠的或者说无连接的协议
应用层
应用程序收到传输层的数据后,接下来就要进行解读 。解读必须事先规定好格式,而应用层就是规定应用程序的数据格式 。主要的协议有:HTTP.FTP,Telent等 。
TCP与UDP
TCP/UDP 都是传输层协议,但是两者具有不同的特效,同时也具有不同的应用场景 。
面向报文
面向报文的传输方式是应用层交给UDP多长的报文,UDP发送多长的报文,即一次发送一个报文 。因此,应用程序必须选择合适大小的报文 。
面向字节流
虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序看成是一连串的无结构的字节流 。TCP有一个缓冲,当应该程序传送的数据块太长,TCP就可以把它划分短一些再传送 。
TCP的三次握手与四次挥手
具体过程如下:
第一次握手:建立连接 。客户端发送连接请求报文段,并将syn(标记位)设置为1,Squence Number(数据包序号)(seq)为x,接下来等待服务端确认,客户端进入SYN_SENT状态(请求连接);
第二次握手:服务端收到客户端的 SYN 报文段,对 SYN 报文段进行确认,设置 ack(确认号)为 x+1(即seq+1 ; 同时自己还要发送 SYN 请求信息,将 SYN 设置为1, seq为 y 。服务端将上述所有信息放到 SYN+ACK 报文段中,一并发送给客户端,此时服务器进入 SYN_RECV状态 。
推荐阅读
- 写分过程非竖式计算是什么意思
- 满满的回忆杀是什么意思 满满的回忆杀是什么梗
- 淘冶情操是什么意思
- 电视重影是什么原因怎么办 电视机出现重影的解决方法
- witmind是什么牌子
- otg是什么 手机中的otg连接有何用处
- 毛森骨立是什么生肖
- 2与9的和一定是什么数
- 新年吃汤圆寓意是什么
- 贴吧lb是什么意思