博客
关于我
TCP协议的介绍,三次握手,四次挥手。UDP协议介绍,TCPUDP常见的应用层协议及端口号
阅读量:302 次
发布时间:2019-03-03

本文共 1201 字,大约阅读时间需要 4 分钟。

目录

TCP协议

1.TCP协议的介绍

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

2.TCP报文段

TCP将若干个字节构成一个分组,这个分组叫报文段,TCP报文段封装在IP数据报中。在这里插入图片描述

序号:发送端为每个字节进行编号,便于接收端正确重组。
确认号:用于确认发送端的信息。
窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的。
SYN:同步序号位,TCP需要建立连接时将该值设为1。
ACK:确认序号位,当该位为1时,用于确认发送方的数据。
FIN:当TPC断开连接时将该位置掷为1。
RST:当有数据需要重传时,掷为1。
PSH:因为意外导致连接关闭或者拒绝连接时,掷为1。

3.TCP的三次握手

在这里插入图片描述

当客户端请求与服务器端建立连接,会给发送信息的序号附一个X值,同时SYN掷为1,这是第一次握手。
服务器端收到请求连接的信息,ACK=X+1表示收到请求信息,ACK掷为1。与此同时,服务器端发送一个序号为y的对请求建立连接这个信息进行确认,SYN掷为1.这是第二次握手。
客户端收到服务器端的信息后ACK掷为1并对这个序号进行确认,SYN掷为1并开始连接。这是第三次握手。
简单点理解就是:
A:今晚看电影
B:真的?
A:真的

4.TCP的四次挥手

在这里插入图片描述

客户端可以和服务器端断开,服务器端也可以和客户端断开连接。
第一次:客户端请求断开连接
第二次:服务器收到请求并准备断开连接,第一次和第二次合起来称为半关闭状态。
第三次:把所有正在传输的数据传输完
第四次:收到断开连接的请求且数据传输完毕后并断开
最后一次挥手后有一个time wait的时间,如果期间一直没有收到断开连接的请求那么经过了一个2msl的时间后完全断开,中途收到就会在那个时候直接断开。
2msl的时间是用来等断开连接的请求的时间(1到4分钟)。

UDP协议

1.UDP协议的介绍

UDP协议是无连接的不可靠的传输协议,但是该协议花费的开销小,通常用于需要快速响应但是对安全性要求不高的场景。

2.UDP报文的头部格式

在这里插入图片描述

UDP长度:用来指出UDP的总长度,为首部加上数据。
UDP校验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一的可靠机制。

TCPUDP常见的应用层协议及端口号

协议 端口号 作用
HTTP TCP80端口 用于web服务
HTTPS TCP443端口 在http的基础上进行加密,安全性更高
FTP TCP32端口 FTP服务器开放的控制端口
TELNET UDP69端口 用于远程登录,远程控制计算机
SMTP TCP25端口 SMTP服务器开放的端口,用于发送邮件
POP3 TCP110端口 用于邮件的接收
TFTP UDP69端口 用于简单的文件传输
RPC UDP111端口 远程过程调用
NTP UDP123端口 网络时间协议

转载地址:http://zqhl.baihongyu.com/

你可能感兴趣的文章
MySQL迁移到达梦:如何轻松、高质量完成迁移任务
查看>>
mysql还有哪些自带的函数呢?别到处找了,看这个就够了。
查看>>
mysql进阶 with-as 性能调优
查看>>
mysql进阶-查询优化-慢查询日志
查看>>
Mysql连接时报时区错误
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
mysql部署错误
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
mysql锁机制,主从复制
查看>>
Mysql锁机制,行锁表锁
查看>>
MySQL错误提示mysql Statement violates GTID consistency
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql面试题:为什么MySQL单表不能超过2000W条数据?
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
mysql驱动、durid、mybatis之间的关系
查看>>
mysql驱动支持中文_mysql 驱动包-Go语言中文社区
查看>>
MySQL高可用切换_(5.9)mysql高可用系列——正常主从切换测试
查看>>