什么是TCP协议

本文介绍了TCP/IP协议的核心组成部分,比较了TCP和UDP的差异,详细阐述了TCP的三次握手过程以及滑动窗口的作用。同时,讲解了TCP的四次挥手用于关闭连接的机制。
摘要由CSDN通过智能技术生成

1. 什么是tcp/ip协议?

Tcp/ip协议是一个协议簇,是一系列协议的总称,其中最核心的就是ip协议和tcp协议,tcp/ip协议包括:ip、tcp、icmp(internet控制报文协议)、udp(用户数据报协议)、arp等,他们共同构成了一个复杂但是有层次的协议栈。Tcp/ip一共有四层,从上到下分别为:应用层、传输层、网络层、链接层。

IP协议:Internet Protocol的缩写,主要用于解决寻址和路由问题

Tcp协议:“Transmission Control P ro to co l”是传输协议,它位于IP协议之上,基于IP协议提供可靠的、字节流形式的通信。

2. TCP协议和UDP协议的区别?

TCP协议是有连接状态的,udp是无连接状态的

Tcp传输的数据是以字节流的形式,udp是报文信息的形式

Tcp传递的信息是更安全,更有保证的,但是udp是尽量去送到

TCP传递的数据是有序性的,udp是无序的

Tcp是更消耗资源的

3. TCP的三次握手,为什么需要三次握手

在tcp/ip协议中,tcp协议提供了可靠的连接服务,采用三次握手建立一次连接

TCP的第一次握手:建立连接时,客户端向服务器端发送SYN包(syn=1),进入syn_send状态,等待服务器确认。(syn=1,seq=x)

TCP的第二次握手:服务端收到SYN包,必须确认客户的syn包,同时自己也发送一个syn+ack给客户端,此时服务器进入syn_recv状态。(syn=1,ACK=1,seq=y,ack=k+1)

TCP的第三次握手:客户端收到服务器端的syn+ack包,向服务器发送确认包ack,此包发送完毕,客户包和服务器端进入established状态,三次握手完成。(ack=1,seq=x+1,ack=y+1)

Tcp flags:

Urg:紧急指针标志,为0表示无效,1表示有效

ACK:确认序号标志,为1表示确认号有效,为0表示报文中不含确认号信息,忽略

PSH:push标志,收到后尽快交给应用层序

RST:重置连接标志,

SYN:同步确认号,用于建立连接过程,如果syn=1,ack=0用户表示没有使用捎带的确认域,(syn=1,ack=1,表示捎带确认)

FIN:finish标志,用于释放连接

为什么三次握手:如果第一次握手后,

4. TCP的滑动窗口作用

保证tcp的可靠性

保证tcp的流控特性

5. Tcp的四次挥手

四次挥手的目的时为了关闭连接

第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,客户端进入FIN_WAIT_1状态

第二次挥手:Server收到Client的FIN后,发送一个ack给client,确认需要为收到序号+1,server进入close_wait状态

第三次挥手:server发送一个FIN给client,用来关闭server到client的数据传送,server进入last_ack状态

第四次挥手:client收到server的FIN后,client进入time_wait状态,接着发送一个ack给server,确认序号为收到序号+1,server进入close状态,完成四次挥手。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值