IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 传输层协议介绍 -> 正文阅读

[网络协议]传输层协议介绍

目录

一、TCP协议

1、TCP连接

二、UDP

总结


TCP和UDP

TCP/IP协议族的传输层协议

TCP(Transmission Control Protocol )传输控制协议,协议号6

UDP (User Datagram Protocol )用户数据报协议,协议号17

一、TCP协议

TCP是面向连接的、可靠的进程到进程通信的协议

TCP提供全双工服务,即数据可在同一时间双向传输

TCP报文段

TCP将若干个字节构成一个分组,叫报文段(Segment)

TCP报文段封装在lP数据报中

序号:发送端为每个字节进行编号,便于接收端正确重组

确认号:用于确认发送端的信息

窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的

SYN:同步序号位,TCP需要建立连接时将该值设为1

ACK:确认序号位,当该位为1时,用于确认发送方的数据

FIN:当TCP断开连接时将该位置为1

1、TCP连接

TCP建立连接的过程称为三次握手

?三次握手原理:
客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应。
为什么要三次握手?
因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用。

TCP断开连接的过程称为四次挥手


四次断开原理:
客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK。
三次握手握三次,为什么断开要断四次?
数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次。
TCP半关闭状态是什么情况?
客户机向服务器发送了FIN请求,服务器也给予了ACK响应。但是,服务器向客户机之间还有数据要传输,因此服务器并没有向客户机立即发送FIN请求。

常用的TCP端口号及功能

端口

协议说明
21? ?FTPFTP服务器所开放的控制端口
23TELNET用于远程登录,可以控制管理目标计算机
25SMTPSMTP服务器开放的端口,用于发送邮件
80HTTP超文本传输协议
110?pop3用于邮件的接收

端口号

客户端根据需要那种服务,从而发送到特定的目的端口

端口划分为三个类别,其范围介于1到65,535之间。

一公认端口

与通用网络应用程序相关联的目的端口称为公认端口。这些端口的范围从1到1023。

一注册端口

端口1024到49151可作为源端口或目的端口使用。组织可使用这些端口注册即时消息等应用程序。

一私有端口

端口49152到65535通常作为源端口使用。

二、UDP

区别

UDP:无连接、不可靠的传输协议

花费的开销小、传输速度快

而TCP:

是面向连接可靠的传输层协议

分段、重组、重传

滑动窗口

适用于对可靠要求较高的场合

UDP报文的首部格式

源端口号(16)目标端口号(16)
UDP长度(16)UDP校验和(16)

UDP长度:用来指出UDP的总长度,为首部加上数据

校验和:用来完成对UDP数据的产错检验,它是UDP协议提供的唯一的可靠机制
常用的UDP端口号及其功能

端口协议说明
69TFTP简单文件传输协议
111RPC远程过程调用
123NTP网络时间协议

总结

TCP是一个可靠的面向连接的协议

TCP建立连接要经历三次握手

TCP断开连接要经历四次挥手

UDP是一个不可靠无连接的协议

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 15:27:26  更:2021-08-20 15:28:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 18:45:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码