ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

传输层协议

2022-01-14 09:03:13  阅读:135  来源: 互联网

标签:协议 报文 确认 TCP 发送 传输层 端口号


传输层协议

目录

一、TCP协议

1.1、TCP协议的特点

1、工作在传输层;

2、面向连接协议;

3、全双工协议;

4、半关闭;

5、错误检查;

6、将数据打包成段,排序;

7、确认机制;

8、数据恢复,重传;

9、流量控制,滑动窗口;

1.2、TCP报文格式

源端口号:发送方进程的端口号。

目标端口号:接收端进程的端口号。接收端收到数据段后,根据这个端口号来确定把数据送给哪个应用程序的进程。

序号:发送端为每个字节进行编号。便于接收端正确重组。当TCP从进程接收数据字节时,把它们分片成数据段存储在发送缓存中,并对每一个字节进行编号。当数据到达目的地后,按收端会按照这个序号把数据重新排列,保证数据的正确性

确认号:对发送端的确认信息。接收端响应消息时将会用它来告诉发送端这个序号之前的数据段都已经收到,如确认号是x。就是表示前X-1个数据段都已经收到

首部长度:用它可以确定TCP首部数据结构的字节长度。一般情况下TCP首部是20字节,但首部长度最大可以扩展为60字节

控制位:
URG:紧急位-紧急指针有效位

ACK:确认位。只有当ACk=1时,确认序列时字段才有效:当ACK=0时,确认号字段无效。

PSH:急迫位。标志位为1时,要求接收方尽快将数据段送达应用层。

RST:重置位。当RST值为1时。通知重新建立TCP连接。

SYN:同步(连接)位。同步序号位,TCP需要建立连接时将这个值设为1。

FIN:断开位。当TCP完成数据传输需要断开连接时,提出断开连接的一方将这个值设为1

窗口大小:说明本地可接收数据段的数目。这个值的大小是可变的,当网络通畅时接收端响应消息会将这个窗口值变大以加快传输速度,当网络不稳定时减小这个值可保证网络数据的可靠传输,TCP中的流量控制机制就是依靠变化窗口的大小交现的。比如下载速度从一开始的几KB逐渐提升到几MB的过程。

校验和:用来做差错控制。字段验的范围包括首部和数据这两部分。数据段在发送时和到达目的地时会进行校验和计算,若这两次的校验和一致,则说明数据基木是正确的,否则将认为该数据已被破坏,接收端将丢弃该数据。

选项:在TCP首部可以有多达40字节的可选信息。例如,最大报文段长度Mss (Maximun Segment size)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是Mss个字书。

1.3、端口号分类

1、系统端口或特权端口:0-1023;

2、用户端口或注册端口:1024-49151;

3、动态或私有端口:49152-65535;

1.4、TCP三次握手

1、首先A向B发送一段TCP报文,其中:

SYN=1表示请求连接;

seq=x为序列号;

2,B向A发送一段TCP报文,其中:

SYN=1表示请求连接;

ACK=1表示确认请求;

seq=y为序列号;

ack=x+1 收到A的序号Seq并将其值加1作为自己确认号ack的值 ;

3、A再向B发送一段TCP报文,其中:

ACK=1表示确认请求;

seq=x+1这时A的序号为1;

ack=y+1表示收到A端序号Seq,并将其值加1作为自己的确认号Ack的值;

1.5、TCP四次握手

1、首先A向B发送一段TCP报文,其中:

FIN=1表示请求断开;

seq=u为序列号;

2,B向A发送一段TCP报文,其中:

ACK=1表示确认请求;

seq=v表示序列号;

ack=u+1Seq序列号x+1,表示确认收到了客户端的请求;

3、A向B发送一段TCP报文,其中:

FIN=1表示请求断开连接;

ACK=1表示确认;

seq=w为序列号;

ack=u+1Seq序列号x+1,表示确认收到了客户端的请求;

4、B向A发送一段TCP报文,其中:

ACK=1表示确认请求;

seq=u+1为其序列号;

ack=w+1为其确认号;

1.6、常见的TPC端口及其功能

常见协议 默认端口号 协议作用
FTP 21 文件上传下载
HTTP 80 超文本传输
HTTPS 443 加密传输
POP3 110 邮件接收
SMTP 25 邮件传输
DNS 53 域名解析
SSH 22 安全的远程登录
TELNET 23 远程登录

二、UDP协议

2.1、UDP协议的特点

1、工作在传输层;

2、提供不可靠的网络访问;

3、非面向连接协议;

4、有限的错误检查;

5、传输性能高;

6、无数据恢复特性;

2.2、常见的UDP端口及其功能

常见协议 默认端口号 功能
TFTP 69 简单文件传输协议
RPC 111 远程过程调用
NTP 123 网络时间协议

标签:协议,报文,确认,TCP,发送,传输层,端口号
来源: https://www.cnblogs.com/xkqwy/p/15800446.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有