协议:在计算机中扮演着重要的角色,规定数据通信和交互的规则和约定。
协议的作用:
1.通信规范:数据格式,传输方式,消息结构(报文),编码规则等,确保通信的可靠性,一致性,互操作性(有来有往)
2.数据交换:数据在网络中的交换方式,数据包的组成方式,传输顺序,错误检测,纠正机制,保证数据传输的正确性和完整性。
3.安全性:协议可以规定数据的加密和身份认证机制,保障通信的安全,可以防止数据被为经受的人访问,篡改,泄露。
4.设备互联:不同设备和不同系统之间能够互相连接和通信,不同厂家的设备实现互操作性
5.网络管理:定义网络管理和监控的规范,通过指定的协议管理员可以追踪和管理网络中的设备,配置,故障,以确保网络的正常运行
TCP传输协议:面对链接的,可靠的进程到进程的通信协议。TCP提供的全双工服务,数据可以在同一时间双向传输。
每个TCP都有发送缓存和接收缓存,用来临时存储数据,可以提高访问速度,访问缓存速度比较快
特点:通信双方必须要建立连接,并且是规范的,有步骤的。
UDP:用户数据报协议/流媒体协议
是无连接的,不保证可靠性的传输层协议,发送端不关心发送的数据是否到达了接收方,数据出错也不关心,接收方也不会对发送方作出回应。可靠性是由其他上层协议来保证。
特点:传输数据的效率更快,效率更高(直播都是流媒体协议)
source port 源端口 destination port 目的端口
Flags 控制位
URG:紧急位,紧急指针有效位,URG=1,有效
ACK:确认位,当ACK=1,确保的序列号字段才有效
Ack:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号,确认传输是否有问题
SEQ:tcp报文的序号
SYN:同步位,连接位,同步序号的位置,tcp需要建立连接时,SYN=1建立连接
FIN:断开位,tcp完成数据传输后,需要断开连接,提出断开连接的一方,要把FIN设为1
PSH:急迫位,设为1时,要求接收方,尽快的把数据发送应用层
RST:重置位,RST=1,要求重新建立tcp连接
WIN: 接收缓存区的空闲空间
tcp连接 三次握手

tcp断开连接 四次挥手

tcp:1.tcp是基于连接控制的,双方都需要进行响应2.数据传输是加密的,数据通信的安全性较高3.传输速度比较慢,不论是建立连接还是断开连接,都有一定的过程
tcp半关闭状态:乙方已经停止发送数据,但是另一方还需要继续发送数据
一方先发送FIN=1,这时候表示不再发送数据,但是接收数据不受影响,另一方回应ACK=1,告诉对方,确认发送方不发数据,但是接收方还要继续传输数据。接收方传完数据,就进入最后的回收阶段
tcp报文段


常见使用tcp协议的端口号及其功能
http----80 nginx----80 mysql-----3306 ftp-----21/20 ssh------22 https------443
UDP协议

程序:未执行的代码 进程:运行的代码就是进程 线程:进程的实际执行者






