博客
关于我
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/

你可能感兴趣的文章
MySQL5.7新增Performance Schema表
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Webpack 之 basic chunk graph
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
Mysql8 数据库安装及主从配置 | Spring Cloud 2
查看>>
mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MYSQL8.0以上忘记root密码
查看>>
Mysql8.0以上重置初始密码的方法
查看>>
mysql8.0新特性-自增变量的持久化
查看>>
Mysql8.0注意url变更写法
查看>>
Mysql8.0的特性
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8修改密码的方法
查看>>
Mysql8在Centos上安装后忘记root密码如何重新设置
查看>>
Mysql8在Windows上离线安装时忘记root密码
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>