本次我和小伙伴分享的是网络七层中的传输层,我将会分成以下几步为大家进行分解说明:
1.TCP协议介绍
2.TCP报文格式
3.TCP三次握手
4.TCP四次挥手
5.UDP协议介绍
6.常见协议及其端口

一.TCP和UDP协议
传输层协议介绍、重要的TCP三次/四次挥手
1.TCP是面向连接的、可靠的进程到进程通信的协议
2.TCP提供全双工服务,即数据可在同一时间双向传输
3.TCP报文段(不超过1500字节,1.5kb)

  • TCP将若干个字节构成一个分组,叫报文段(Segment)
  • TCP报文封装在IP数据报中
    TCP报文段:
    传输层协议介绍、重要的TCP三次/四次挥手
    1.源端口号(16)
    2.目标端口号(16)
    3.序号(32):发送端为每个字节进行编号,便于接收端正确重组
    4.确认号(32):用于确认发送端的信息
    5.首部长度(4)
    6.保留(6)
    7.URG(紧急指针位):是1代表开启,是0代表关闭,不需要经过缓存直接提交给应用层,举例如下:
    甲和乙两台机器中分别都有缓存,这个时候甲向乙传输数据原先是会先到乙的缓存中,当数据全部发送结束之后再由乙的缓存传输到应用层
    8.ACK(确认):确认位
    9.PSH(快速接收传递给应用层):是1代表开启,是0代表关闭,需要经过缓存,等一批报文段到齐之后直接发送应用层,不进行排队
    10.RST(重新发送连接):重置位
    11.SYN(请求建立连接标记):1代表建立连接,
    12.FIN(请求断开连接标记):
    13.窗口大小(16):用于说明本地可接收数据段的数目,窗口大小是可变的,窗口越大传输速度越快
    14.校验和(16):差错校验
    15.紧急指针(16)
    16.选项:可选项
    二.TCP建立建立连接的过程为三次握手:(重要)
    举例:此时我们有客户端PC1/服务端PC2
    传输层协议介绍、重要的TCP三次/四次挥手
    具体过程如下:
    1. PC1发送SYN请求建立连接
    2. PC2接收后会发送ACK确认,同时发送SYN请求建立连接(双向互通)
    3. PC1发送ACK确认

三.TCP断开连接的四挥手:(重要)
举例:此时我们有客户端PC1/服务端PC2
传输层协议介绍、重要的TCP三次/四次挥手
具体过程如下:

  1. PC1发送FIN断开连接请求,并发送ACK确认位
  2. PC2加以确认ACK
  3. PC2发送FIN断开连接请求,和ACK确认位请求
  4. PC1发送ACK确认位
    但是这里需要注意的是在TCP断开连接过程中,有一个半关闭的概念。TCP一方可以终止发送数据,但仍然可以接收数据,称为半关闭。
    此处我们举例说明例如:迅雷下载东西,在页面点击下载之后使用迅雷下载,此时退出页面之后迅雷仍会继续下载
    传输层协议介绍、重要的TCP三次/四次挥手
    具体过程如下:
  5. PC1客户端发送FIN报文段,半关闭此连接
  6. PC2服务器发送ACK报文段接受半关闭,然后继续发送数据,而客户端只发送ACK确认,不再发送任何数据
  7. PC2服务器把数据都发送完成时,就发送FIN报文段,
  8. PC1发送ACK报文段,这样就关闭了连接

常用的TCP端口号及其功能:
传输层协议介绍、重要的TCP三次/四次挥手
我们来分别说一下各个端口表示的含义:

  • 21端口:FTP(20端口,数据连接/21端口,控制连接)
  • 23端口:TELNET:明文访问
  • 22端口:SSH:密文访问
  • 25端口SMTP:服务器开放的端口,用于发送邮件
  • 80端口:HTTP:超文本传输协议
  • 443端口:HTTPS:安全传输协议
  • 110端口:POP3,用于邮件的接收
  • 143端口:IAMP4:用于邮件的接收
  • 53端口:DNS

四.UDP协议:
1.无连接、不可靠的传输协议
2.花费的开销小

UDP报文的首部格式:
传输层协议介绍、重要的TCP三次/四次挥手
UDP长度:用来指出UDP的总长度,为首部加上数据
校验和:用来完成对UDP数据的差错校验,它是UDP协议提供的唯一可靠机制
常用的UDP端口号及其功能:
传输层协议介绍、重要的TCP三次/四次挥手

以上就是传输层协议的相关介绍及重要的TCP三次和四次握手的具体过程,还有一些常见的端口和相对应代表的含义,谢谢!