传输层协议,三次握手,四次挥手

目录

传输层协议

什么是协议

协议的作用:

TCP

TCP特点

UDP

UDP特点

TCP报文段

控制位

三次握手

第一次握手

第二次握手

第三次握手

为什么是三次握手?不能是二次或四次吗?

四次挥手

为什么是四次挥手?不能是三次吗

TCP半关闭状态

常见的TCP协议


传输层协议

什么是协议

协议在计算中扮演着重要的角色,规定数据通信和交互的规则和约定。

协议的作用:

1.通信规范:数据格式,传输方式,消息结构(报文),编码规则等,确保通信的一致性,互操作性

2.数据交换:数据在二昂落中的交换方式,数据包的组织方式,传输顺序,错误检测,纠正机制,保证数据传输的正确性和完整性

3.安全性:协议可以规定数据的加密和身份的认证机制,保障通信安全,可以防止数据被未经授权的人访问,篡改,泄漏

4.设备互联:不同设备和不同系统之间能够互相连接和通信,不同厂商之间的不同设备实现互操作性。

5.网络管理:定义网络管理和监控的规范。通过指定的协议,管理员可以追踪管理网络中的设备、配置、故障。确保网络的正常运行。


TCP


TCP (Transmission Control Protocol )传输控制协议:

面对连接的,可靠的进程到进程的通信协议。TCP提供的全双工服务 ,数据可以在同一时间双向传输。每个TCP都有发送的缓存和接收缓存,用来临时存储数据。通信双方必须要建立连接,而且这个连接是有规范的,是有步骤的。

TCP特点

1.TCP是基于连接控制的,双方都需要进行相应

2.数据传输是加密的,数据通信的安全性较高

3.传输速度比较慢,不论是建立连接还是断开连接都有一定的过程

UDP

UDP (User Datagram Protocol )用户数据报协议也称为流媒体协议(直播都是流媒体)

UDP特点

1.是无连接的

2.不保证可靠性的数据层协议

3.发送端不关心发送的数据是否到达了接收方,数据出错也不关心,接受方也不会对发送方做出回应

4.可靠性由其他上层协议来保证

5.传输数据的速度更快,效率更高.

TCP报文段

TCP将若干个字节构成一个分组,叫报文段(Segment),TCP报文段封装在IP数据报中。

序号:发送端为每个字节进行编号,便于接收端正确重组

确认号:用于确认发送端的信息

窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的 

控制位

URG:紧急位,紧急指针有效位

ACK:确认位,只有当ACK=1,确认的序列号字段才有效lI;ACK=0,确认号字段无效。

Ack:表示接收方期望收到发送方下—个报文段的第一个字节数据的编号,确认传输是否有问题

SEQ:TCP报文的序号

SYN:同步位,连接位,同步序号位,TCP需要建立连接时,SYN=1建立连接

FIN:断开位,TCP完成数据传输之后,需要断开连接,提出断开连接的一方,要把FIN,设为1

PSH:急迫位,设为1时,要求接收方尽快的把数据放送应用层

RST:重置位,RST=1时,要求重新建立TCP连接

win:接收缓存区的空闲空间

三次握手

TCP建立连接的过程称之为三次握手

第一次握手

PC1向PC2发送SYN报文请求连接,报文内包含了序列号Seq=x,同步位SYN=1

第二次握手

PC2接受PC1所发的SYN报文后,向PC1发送ACK报文(回复确认信息),并发送SYN报文(请求建立连接)

注:Ack=x+1含义为要求PC2下次发送报文的序列号为X+1以确认身份

第三次握手

PC1接收PC2的回复,按要求回复PC2

为什么是三次握手?不能是二次或四次吗?

三次握手的主要目的是确认通信双方的接收与传输功能正常,确认双方身份,保证数据传输完整,如果减少次数,数据可能会传输不完整。不是四次的原因是在第三次握手时,双方就已经完成了确认通信双方的接收与传输功能正常,确认双方身份,所以不需要第四次握手,以此提高效率。

四次挥手

TCP断开连接的四步成为四次握手

 第一次挥手

PC1发送FIN/ACK报文,请求断开连接

第二次挥手

PC2向PC1回复确认信息

第三次挥手

PC2发送FIN/ACK报文,请求断开连接

第四次挥手

PC1向PC2回复确认信息

为什么是四次挥手?不能是三次吗

当PC1发送FIN/ACK报文时,就会停止传输数据,然而这时数据传输可能还没有结束,如果PC2直接回复FIN/ACK报文就会导致数据传输中断,数据损坏。加入回复确认信息是为了等待PC2的数据传输完毕。

注:PC1虽然不可以传输数据却可以接收数据

TCP半关闭状态

一方已经停止发送数据,但是另一方还需要继续发送数据,一方先发送FIN=1,这时候表示不再发送数据,但是接收数据不受影响。另一方回应ACK=1,确认发送不发数据了,但是接收方还要继续传输数据。接收方传完了数据,就进入最后的挥手阶段。

常见的TCP协议

http 超文本传输协议  端口为80  

nginx 高性能的HTTP和反向代理web服务器    端口为80 

https 以安全为目标的http通道,简单讲是http的安全版  端口为443 

mysql 端口为3306 

ftp  端口为21、20 

ssh 端口为22 


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值