网络层的传输协议有哪些(传输协议有哪些)

传输层协议介绍

目录

    • 传输层协议介绍
  • TCP 协议
      • TCP报文段:
      • TCP三次握手和四次挥手
      • UDP协议

TCP 协议

在 TCP/IP 协议栈中,传输层有两个协议: TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 协议传输更加稳定可靠,UDP 协议传输效率更高。这两个协议各有特点,在实际应用中,根据实际应用的需要,选择不同的传输层协议。比如:Web、邮箱等对可靠性要求高的服务,都使用 TCP 协议来传输; 对于即时通讯、DHCP 等要求快速完成信息传递的服务,就使用 UDP 协议来传输。TCP 是面向连接的、可靠的进程到进程通信的协议。TCP 提供全双工服务,即数据可在同一时间双向传输,每一个 TCP 都有发送缓存和接收缓存,用来临时存储数据

TCP报文段:

传输层协议介绍

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

目标端口号:接收端进程的端口号:接收端进程

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

当TCP从进程接送数据字节是

确认号:对发送端确认信息

首部长度:用它可以确认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的过程

校验和:用来做差错控制。字段检验的范围包括首部和数据这两部分。数据段在发送时和到达目的地时会进行校验和计算,若这两次的校验和一致,则说明

数据基本是正确的,否则将认为该数据已被破坏,接收端将丢弃该数据。

紧急指针:和URG配合使用,当URP=1时有效

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

TCP三次握手和四次挥手

TCP的连接的过程为三次握手

传输层协议介绍

就像两个同学对话,A同学问B同学,你能听到我说话吗?A向B发送一个能不能听到说话的一个连接请求,B同学收到A同学说的话,这时候就是第一次握手成功,证明A-B这条路是没问题的,然后B同学会回答A同学,我可以听到,你能听到我说话吗?,这时候相当于B发送一个确认以及连接请求给A,这是第二次握手,A收到以后再次告诉B,我也可以听到你说话,这时候是A向B再次发送一个确认,这就是第三次握手,这时候证明B到A这条路也没问题,两条路都是通的,这就是我对三次握手的白话理解。

TCP四次挥手

传输层协议介绍

四次断开,更好理解一点,A告诉B,我传给你的东西传完了,我要跟你断开了,B收到以后告诉A,那你断吧,然后B再告诉A,我给你的东西也传完了,我也断开了,A收到以后再告诉B,那你断吧

UDP协议

相比 TCP 协议而言,UDP 是一个无连接、不保证可靠性的传输层协议,也就是说发送端不关心发送的数据是否到达目标主机、数据是否出错等,收到数据的主机也不会告诉发送方是否收到了数据,它的可靠性由上层协议来保障。既然 UDP 有这样的缺点,那为什么进程还愿意使用它呢?因为 UDP 也有优点, UDP 的首部结构简单,在数据传输时能实现最小的开销,如果进程想发送很短的报文而不关心可靠性,就可以使用 UDP。使用 UDP 发送很短的报文时,在发送端和接收端之间的交互要比使用 TCP 时少得多。因此,相比 TCP 协议,UDP 传输数据速度更快,效率更高。

UDP 首部的格式:

传输层协议介绍

各字段的含义如下。 源端口号:用来标识数据发送端的进程,和 TCP 协议的端口号类似。 目的端口号:用来标识数据接收端的进程,和 TCP 协议的端口号类似。 UDP 长度:用来指出 UDP 的总长度,为首部加上数据。 校验和:用来完成对 UDP 数据的差错检验,它的计算与 TCP 校验和类似。这是 UDP提供的唯一可靠机制。UDP 在实际工作中的应用范围很广。例如,聊天工具 QQ 在处理发送短消息时就是使用了 UDP 的方式。不难想象,如果发送十几个字的短消息也使用 TCP 进行一系列的验证,将导致传输率大大下降。有谁愿意用一个“反应迟钝”的软件进行网络聊天呢?在网络飞速发展的今天,网络技术日新月异,对于常用的简单数据传输来说,UDP 不失为一个很好的选择

(0)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@ZLME.COM 举报,一经查实,立刻删除。

相关推荐