传输层(TCP/UDP)协议

这篇具有很好参考价值的文章主要介绍了传输层(TCP/UDP)协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、TCP/IP协议栈

1.TCP/IP介绍

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

IP(Internet Protocol)因特网互联协议

TCP/IP是一个Protocol Stack,包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等许多协议,叫TCP/IP只是因为其中使用并且最具代表性的是这两个协议。

2.TCP特性

1.工作在传输层

2.面向连接协议

3.全双工协议

4.半关闭

5.错误检查

6.将数据打包成段并排序

7.确认机制

8.数据恢复、重传

9.流量控制、滑动窗口

源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口在某一时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个,2^16=65536那么范围就在0~65535之间

序列号:表示本报文段所发送数据的第一个字节的编号,在TCP连接中所传送的字节流的每一个字节都会按顺序编号,由于序列号由32位表示,所以每2^32个字节就会出现序列号回绕,再次从0开始无限循环

确认号(ACK):表示接收方期望收到发送方下一个报文段的第一个字节数据的编号,也就是告诉发送方我希望你下次发送的数据的第一个字节数据的编号以此确认号,传输是否有问题?

数据偏移/首部长度:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选项部分,需要指定这个TCP报文段到底有多长。他指出TCP报文段的数据起始处距离TCP报文段的起始处有多远,该字段的单位是32位(4个字节为计算单位)4位二进制最大表示15,所以数据偏移也就是TCP首部最大60字节

URG(紧急位)表示本报文段中发送的数据是否包含紧急数据,后面的紧急指针字段(urgent pointer)只有当URG=1时才有效

ACK(确认位)表示是否前面确认号字段是否有效,只有当ACK=1时,前面的确认号字段才有效,TCP规定,连接建立后,ACK必须为1,带ACK标志的TCP报文段称为确认报文段

PSH(急切位)提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接受后续数据腾出空间,如果为1,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序不将接收到的数据读走,就会一直停留在TCP接收缓冲区中

RST(重置位)如果收到一个RST=1的报文,说明与主机的连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。

SYN(同步位)在建立连接时使用,用来同步序号,当SYN=1,ACK=0时,表示这是一个请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接,SYN=1时说明这是一个请求建立连接或同意建立连接的报文。

FIN(断开位)表示通知对方本端要关闭连接了,标记数据是否发送完毕,如果FIN=1,即告诉对方:我的数据已经发送完毕,你可以断开连接了。这种带FIN标志的TCP报文段称为结束报文段

窗口大小:表示现在允许对方发送的数据量,也就是告诉对方,从本报文段的确认号开始允许对方发送的数据量,达到此值,需要ACK确认后才能再继续传送后面数据

校验和:提供额外的可靠性紧急指针(标记紧急数据在数据字段中的位置)

选项部分:其最大长度可根据TCP首部长度进行推算,TCP首部长度用4位表示,选项部分最长为:(2^4-1)*4-20=40字节

3.tcp3次握手

当PC1想和PC2建立连接时,将连接信息写入报文

1.PC1发送一个建立连接的请求报文:报文的序号(seq=x)和同步位(SYN=1)

2.当PC2收到消息后,回复一个报文:报文的序号(seq=y)和确认号(ACK=x+1)注:这里的x+1是PC2希望你下一次发送x+1序号的报文给我。控制位(SYN=1):请求建立连接和确认位(ACK=1):同意建立连接

3.收到PC2同意建立连接的报文后,发送一个报文:报文的序号(x+1)和确认号(y+1)和确认位ACK=1封装进去

传输层(TCP/UDP)协议,网络

4.tcp4次挥手

当PC1想和PC2断开连接时,将断开连接信息写入报文

1.发送断开位FIN=1确认位ACK=1

2.PC2接收到报文后发送确认位ACK=1,但不是立马断开

3.PC2传输完数据后,再发送一条报文断开位FIN=1和确认位ACK=1

4.PC1接收到报文后再发送一条确认位ACK=1报文,并等待2倍的时间回复确认信息确认收到

二、UDP协议

1.udp特性

1.工作在传输层

2.提供不可靠的网络访问

3.非面向连接协议

4.有限的错误检查

5.传输性能高

6.无数据恢复特性文章来源地址https://www.toymoban.com/news/detail-851878.html

到了这里,关于传输层(TCP/UDP)协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE】网络原理——传输层协议:UDP和TCP

    目录 1、简单了解应用层协议 2、传输层UDP协议 3、传输层TCP协议  3.1、TCP报文介绍 3.2、TCP实现可靠传输的核心机制 3.2.1、确认应答 3.2.2、超时重传  3.3、连接管理 (三次挥手,四次握手) 3.3.1、建立连接(三次握手) 3.3.2、断开连接(四次挥手)  3.4、滑动窗口  3.5、流量

    2024年02月10日
    浏览(58)
  • 网络基础二——传输层协议UDP与TCP

    ​ 传输层协议有UDP协议、TCP协议等; ​ 两个远端机器通过 使用\\\"源IP\\\",“源端口号”,“目的IP”,“目的端口号”,\\\"协议号\\\"来标识一次通信 ; 9.1端口号的划分 ​ 0-1023:知名端口号,HTTP,HTTPS,FTP,SSH等应用层协议,他们的端口号都是固定的;如:ssh使用的是22号端口,

    2024年04月12日
    浏览(21)
  • 【网络】传输层——UDP | TCP(协议格式&&确认应答&&超时重传&&连接管理)

    🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言: 你只管努力,剩下的交给时间! 现在是传输层,在应用层中的报文(报头 + 有效载荷)就不能被叫做报文了,而是叫做 数据段 (报头 + 有效载荷),传输层的有效载荷就是应用层的完整报文。 端口号(port):标识了一个主机上

    2024年02月13日
    浏览(19)
  • Java中网络的基本介绍。网络通信,网络,ip地址,域名,端口,网络通信协议,TCP/IP传输过程,网络通信协议模型,TCP协议,UDP协议

    - 网络通信 概念:网络通信是指 通过计算机网络进行信息传输的过程 ,包括数据传输、语音通话、视频会议等。在网络通信中,数据被分成一系列的数据包,并通过网络传输到目的地。在数据传输过程中,需要确保数据的完整性、准确性和安全性。常见的网络通信协议有T

    2024年02月10日
    浏览(29)
  • 传输层(TCP/UDP)协议

    TCP(Transmission Control Protocol)传输控制协议 IP(Internet Protocol)因特网互联协议 TCP/IP是一个Protocol Stack,包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等许多协议,叫TCP/IP只是因为其中使用并且最具代表性的是这两个协议。 1.工作在传输层 2.面向连接协议 3.全双工协议 4.半关

    2024年04月15日
    浏览(20)
  • 传输层协议: TCP 、UDP

    TCP在数据传输前,先要进行链接测试(三次握手),如果测试通过才会发送真实数据。     TCP将若干字节构成一个分组,叫报文段     TCP报文封装在IP数据报中;    面向连接,慢    稳定;   1 TCP报文的首部格式                源端口号:为发送方进程对应的端口号  

    2024年02月04日
    浏览(17)
  • 传输层--TCP/UDP协议

    目录 一、TCP/UDP协议介绍 1、UDP(User Datagram Protocol)--用户数据报协议 1.1 UDP报文格式  1.2 UDP协议的特性 2、TCP(Transmission Control Protocol )--传输控制协议 2.1 TCP报文格式 2.2 TCP协议的特性 2.3 TCP三次握手 2.4 四次挥手  三、TCP和UDP的区别 四、telnet协议--telnet协议--远程管理协议 UDP是无

    2024年02月21日
    浏览(17)
  • 传输层协议----UDP/TCP

    传输层的作用就是负责数据能够从发送端传输到接收端. 正文开始! 端口号(Port)标识了一个主机上进行通信的不同的应用程序; 在TCP/IP协议中中,用\\\"源IP\\\",“源端口号”,“目的IP”,“目的端口号”,\\\"协议号\\\"这样的一个五元组来标识一个通信(在Linux中可以通过netstat -n查看) 0~1023:知

    2023年04月08日
    浏览(17)
  • 【Linux】传输层协议:UDP和TCP

    但人不能永远浪漫下去,那会走向自我毁灭的。浪漫都是水字旁,会把人淹死的。人最终还是要进入一个规则体系,所谓,随心所欲不逾矩嘛 1. 在网络通信中,通信的本质实际就是两台主机上的进程在网络环境中进行通信,也就是数据的传输,而我们总说TCP/IP协议栈,这两个

    2024年02月12日
    浏览(20)
  • 计网传输层协议:UDP和TCP

    🍂 程序员在应用层要做的事情 在网络通信的过程中, 应用层描述了应用程序如何理解和使用网络中的通信数据, 和程序员打交道最多的就是应用层了, 针对不同的业务场景, 很多时候程序员需要去自定义应用层协议, 自定义协议主要需要完成下面的两件事情: 结合业务场景和需

    2024年02月02日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包