传输层协议TCP和UDP

目录

传输层协议TCP和UDP

一、TCP

二、UDP

三、总结


​​​​​​​

传输层协议TCP和UDP

一、TCP

TCP协议——6
传输控制协议

UDP协议——17
用户数据报协议

TCP协议

TCP是面向连接的,可靠的进程到进程通信的协议

TCP提供全双工服务,即数据可在同一时间双向传输

TCP报文
TCP将若干个字节构成一个分组,叫报分段(Segment)
TCP报文封装在IP数据报中

TCP报文段

图-1 

序号:发送端为每个字节进行编号,便于接收端正确重组
确认号:用于确认发送端的信息
窗口大小:用于说明本地可以接收数段的数目,窗口大小是可变的
SYN:同步序号为,TCP需要建立连接时将数值设为1
ACK:确认序号为,当该位为1时,用于确认发送方的数据
FIN:当TCP断开连接时该位置为1

TCP建立连接的过程称为三次握手

三次握手原理
客户端向服务器发送SYN同步请求,请求与服务器建立链接,服务器收到此SYN同步请求后,
会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应

图-2 

为什么要进行三次握手

因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保护双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用

TCP断开连接的四次挥手

四次断开原理

客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK

图-3 

三次握手握三次,为什么断开要断四次?

数据传输是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次而我们有两个数据方向,因此需要断开四次

TCP半关闭状态是什么情况?

客户机向服务器发送了FIN请求,服务器也给予了ACK响应,但是服务器和客户机之间还有数据要传输,因此服务器并没有向客户机立即发送FIN请求4

常用的TCP端口号及其功能

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

图-4 

端口号划分为三类

范围1-65535

公认端口:1-1023
与通用网络应用程序相关联的目的端口(服务器)

注册端口:1024-49151
可作为源端口或目的端口使用

私有端口:49152-65535
作为源端口使用

二、UDP

UDP协议

无连接、不可靠的传输协议
花费的开销小
传输效率高


TCP协议

面向连接,可靠的传输协议
分段,重组,重传,滑动窗口
适用于对可靠性较高的场合

图-5 

UDP报文的首部格式

源端口号(16)+目标端口号(16)
UDP长度(16)+UDP校验和(16)
UDP长度:用来指UDP的总长度,为首部加上数据

图-6 

常用的UDP端口号及其功能

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

三、总结

1.TCP建立连接是三次,而断开连接是四次

2.TCP的协议号是6,UDP的协议号是17

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 传输层协议TCPUDP在建立连接时有所不同。 TCP是一种面向连接的协议,在建立连接之前,客户端和服务器端必须经过三次握手。在第一次握手中,客户端向服务器端发送连接请求报文段,服务器端收到后回复确认报文段。在第二次握手中,服务器端向客户端发送确认报文段,客户端收到后回复确认报文段。在第三次握手中,客户端向服务器端发送确认报文段,服务器端收到后回复确认报文段。这样,客户端和服务器端之间就建立了一条可靠的连接。 UDP是一种无连接的协议,在发送数据之前并不需要建立连接。客户端直接向服务器端发送数据报文,服务器端收到后回复数据报文。因为UDP是无连接的,所以数据传输的可靠性要低于TCP。但是,UDP的传输速度要快于TCP,因为它不需要建立连接和进行三次握手。 ### 回答2: 传输层协议TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)在建立连接的方式上存在一些不同。 TCP是一种面向连接的协议,其建立连接采用三次握手的方式。首先,客户端向服务器发送一个连接请求报文段,服务器接收到请求后,回复一个确认报文段作为回答。然后,客户端再向服务器发送一个确认报文段,服务器接收到后,连接建立成功。这种方式可以保证数据的可靠性和完整性,但创建连接的过程相对较慢,会占用一定的网络资源。 UDP是一种无连接的协议,其不需要建立连接。在使用UDP进行数据传输时,发送方直接将数据报发送给接收方。接收方不需要回复确认报文段或者进行其他握手操作,可以直接从数据报中提取数据。这种方式的优点是传输开销小、响应速度快,但没有建立连接的过程,无法保证数据的可靠性和顺序性。 总结来说,TCP通过三次握手的方式建立连接,以保证数据的可靠传输;而UDP则是无连接的传输方式,无需建立连接,适用于实时性要求高、数据传输简单的场景。具体应用中,根据实际需求和网络状况的不同,选择合适的传输层协议来进行数据传输。 ### 回答3: 传输层协议TCP(传输控制协议)和UDP(用户数据报协议)在建立连接的方式上有以下几点不同: 1. TCP建立连接的方式是通过三次握手,而UDP没有建立连接的过程。TCP使用三次握手来确保通信的可靠性和数据的完整性。首先,客户端发送一个SYN(同步)包给服务器端,服务器端接收到后回复一个SYN/ACK(同步/确认)包,表明服务器准备就绪;最后,客户端再发送一个ACK(确认)包给服务器,建立连接。而UDP不需要提前建立连接,直接发送数据包。 2. TCP通过可靠性确认和拥塞控制来确保数据传输的可靠性。TCP协议会检查数据包的丢失、重复、排序等情况,并根据需要重新传输丢失的数据。而UDP在传输层并没有负责这些可靠性的机制,它仅仅负责将数据封装成数据包发送给目标地址。 3. TCP是面向连接的传输协议,确保数据的有序到达目标地址,因此在数据传输过程中需要维护连接状态,占用的资源相对较多。而UDP是无连接的传输协议,发送数据时不需要建立连接和维护连接状态,因此资源消耗较小。 4. TCP提供流量控制和拥塞控制机制,根据网络状况调整传输速率,防止网络拥塞。而UDP没有自带的流量控制和拥塞控制机制,数据的传输速率控制需要应用层自己实现。 综上所述,TCPUDP在建立连接的方式、传输可靠性和资源消耗上都存在较大的差异。选择使用TCPUDP取决于应用程序对传输要求的不同,对数据可靠性要求较高的应用常常选择TCP,而对传输效率要求较高的应用常常选择UDP

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值