传输层协议

简介: 1、TCP协议介绍及报文格式2、TCP三次握手三次挥手3、UDP协议介绍

1、TCP协议介绍及报文格式


传输层有两个协议:TCP(传输控制协议)  UDP(用户数据协议) 。

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

TCP将若干字节构成一个分组,叫报文段,报文段封装在ip数据中。下面来个图看的明显一点:


2387773-20210521112934230-121491167.png

 

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

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

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

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

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

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

 

2、TCP三次握手与挥手  :


看图解释


2387773-20210523115001558-467623427.png


三次握手即建立关系。可以这么说 a:pc1向pc2发送报文请求连接(其中seq是序号)。


b:pc2收到请求并向pc1发送确认信息和连接请求(ACK是确认pc1请求,SYN传输是双向的pc2也要请求连接pc1)。


c:pc1收到并向pc2发送确认信息(ACK是确认pc2请求的信息)。

 

 

2387773-20210523115019052-791816093.png


四次挥手即断开连接。a:pc1向pc2发送FIN和ACK位置为1的TCP报文(我要断开数据了,我关闭TCP连接了,等待你pc2的确认)。b:pc2收到后,发送ACK报文表示自己收到了(PC2 收到连接断开报文段后即发出确认报文段(ACK=1),此时的 TCP 处于半关闭 状态,PC1 到 PC2 的连接断开。PC1 收到 PC2 的确认后,等待 PC2 发出的连接断开报文段)c:如果pc2也想断开连接就要像pc1一样发送FIN报文。等待pc1确认。d:PC1 收到 FIN 之后,一样发送一个 ACK 报文作为应答,以确保 PC2 收到自己的 ACK 报文之后才会关闭连接,待 PC2 收到 ACK 报文之后,关闭连接。


  在TCP断开连接过程中有一个半关闭,半连接的概念。半关闭:当TCP链接中A向B发送FIN请求关闭,另一端B回应ACK之后,并没有立即发送FIN给A,A处于半连接(半开关)状态,此时A可以接收B发送的数据,但是A已经不能再向B发送数据。半连接:发生在TCP三次握手中,如果A向B发起链接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。半连接攻击(SYN攻击):半连接会造成B分配的内存资源就一直这么耗着,直到资源耗尽。  

 

补充:TCP的常见端口协议放图:

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

 

 

 

 

3、UDP协议介绍


UDP是一个无连接,不保证可靠性的传输层协议,也就是说发送端不关心发送的数据是否到达主机,是否出错,收到数据的主机也不会告诉发送方是否收到了数据,它是否可靠全靠上层协议来保障。但是他也有优点,花费开销小  ,首部结构简单UDP报文格式如图:


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


UDP长度:该字段保存了UDP首部的长度跟数据的长度之和    ,   校验和用来完成对UDP数据的差错校验,它是UDP协议提供唯一的可靠机制

 给大家列举一下常见的UDP端口号,放图:


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

 

 

 




相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
网络协议 网络架构
一文搞定网络层协议
本文详细的介绍了网络层的所有的细节,学习完本章小白将打下坚实的基础。
|
7月前
|
存储 网络协议
传输层协议 UDP
传输层协议 UDP
|
7月前
|
网络协议
网络层有哪些常见协议
网络层有哪些常见协议
|
存储 网络协议 安全
【计算机网络】传输层TCP协议1
【计算机网络】传输层TCP协议
56 0
|
网络协议 安全 程序员
【计算机网络】传输层TCP协议2
【计算机网络】传输层TCP协议
52 0
|
存储 网络协议 程序员
UDP 协议【传输层协议】
UDP 协议【传输层协议】
150 0
|
缓存 网络协议 算法
TCP 协议【传输层协议】
TCP 协议【传输层协议】
179 0
|
网络协议 网络性能优化 计算机视觉
传输层Stu
传输层Stu
109 0
传输层Stu
|
缓存 网络协议 网络安全
网络层协议与应用(二)
网络层协议与应用(二)
235 0
|
域名解析 网络协议 程序员
传输层 — UDP协议
传输层 — UDP协议
253 0