博客
关于我
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查询总成绩的前3名学生信息
查看>>
mysql查询慢排查
查看>>
MySQL查询报错ERROR:No query specified
查看>>
mysql查询数据库储存数据的占用容量大小
查看>>
MySQL查询数据库所有表名及其注释
查看>>
MySQL查询数据表中数据记录(包括多表查询)
查看>>
MySQL查询结果排序
查看>>
MYSQL查询语句优化
查看>>
mysql查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层执行原理吗?
查看>>
MySQL查询语句:揭秘专家秘籍,让你秒变数据库达人!
查看>>
mysql查询超时对PHP执行的影响
查看>>
mysql查询输出到excel文件_如何保存mysql查询输出到excel或.txt文件?
查看>>
mysql查询过程
查看>>
MySQL模拟Oracle序列sequence
查看>>
Mysql模糊查询like效率,以及更高效的写法
查看>>
MySQL死锁套路:一次诡异的批量插入死锁问题分析
查看>>
Mysql死锁问题Deadlock found when trying to get lock;try restarting transaction
查看>>
mysql每个数据库的最大连接数_MySQL数据库最大连接数
查看>>