传输层协议TCP /UDP

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

协议的作用

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

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

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

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

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

常见的协议:

tcp:https 、ssh、ftp

TCP和UDP

tcp协议:传输控制协议

面对连接的,可靠的进程到进程的通信协议。tcp提供的全双工服务(数据在同一时间可以双向传输)

程序:未执行的代码,就是程序

进程:运行的代码就是进程

线程:进程的实际执行者

每个tcp都有发送缓存和接收缓存,用来临时的存储数据。可以提高访问速度,访问缓存速度比较快。

tcp特点:通信双方必须要建立连接,而且这个连接是有规范的,有步骤的。

udp:用户数据报协议

是无连接的,不保证可靠性的传输层协议,发送端不关心发送的数据是否到达了接收方,数据出错也不关心。接收方也不会对发送方做出回应。可靠性,主要有其他上层协议保证。

udp的特点:传输数据速度更快,效率更高。又叫流媒体协议。

直播都是流媒体。

控制位:

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

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

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

SEQ:tcp报文的序号

SYN:同步位,连接位,tcp同步序号位,tcp需要建立连接时,syn=1才是建立连接。

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

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

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

三次握手
文字描述:
三次握手即建立连接的过程
第一次握手:客户端向服务端发起连接时,会先发一个SYN包连接请求数据,进行询问,能否建立连接。
第二次握手:如果服务端同意连接,则回复一个SYN+ACK包。
第三次握手:客户端收到后回复一个ACK包,从而建立连接。
在这里插入图片描述
三次握手也可通俗理解为:
男:我喜欢你,我们在一起吧,你是我的第10任
女:我答应你了,我也很喜欢你,我知道我是你的第10任了,你是我的第8任
男:嗯嗯,我是你的第8任,那我们从现在开始就在一起了!!

四次挥手
文字描述:
第一次挥手:假设客户端主动发起连接关闭请求,他则需要向服务端发送一个FIN包,表示要关闭连接。自己进入终止等待1的状态。
第二次挥手:服务端收到了FIN包,发送一个ACK包,表示自己进入了关闭等待状态,客户端进入终止等待2状态。
第三次挥手:服务端此时还可以发送未发送的数据,而客户端也还可以接收数据,等待服务端发送完数据之后,发送一个FIN包进入最后的确认状态。
第四次挥手:客户端收到之后回复ACK包,进入超时等待状态,经过超时时间后关闭连接,而服务端收到ACK包后,立即关闭连接。
在这里插入图片描述
四次挥手通俗理解为:
男: 我觉得我们不合适,我想跟你分手,你考虑一下
女:好的知道了,让我哭一会 ToT~
女: 真的没有可能了吗,那我能再问最后一个问题吗
男 : 爱过
(ps:可见客户端真的“渣”)

tcp

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

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

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

tcp半关闭状态:

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

接收方传完了数据,就进入最后的挥手阶段。

常用的TCP端口号及其功能:

| | 默认端口号 | 协议 |
| http | 80 | tcp |
| nginx | 80 | tcp |
| mysql | 3306 | tcp |
| ftp | 21/20 | tcp |
|ssh | 22 | tcp |

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值