服务器传输层协议是tcp吗,网络基础:TCP协议、UDP协议、均属于传输层协议;TCP和UDP协议有何不同?...

传输层

传输层的主要工作是定义端口,标识应用程序身份,并将数据包交给对应的应用程序实现端口到端口的通信,并且传输层引入了TCP/UDP协议。

1. 如果有大量数据包、数据包大?时间很长,网络中断,怎么控制重新传输?怎么确保数据包正确完整---传输层

传输层封装数据包,通过定义的 TCP、UDP 协议实现按序一个一个发送,保证数据完整正确性;

2. QQ发消息,你必须使用QQ接受消息,才可以正常通信;但是电脑中不是只运行了QQ,还有其他程序,怎么确定由谁来处理消息

传输层定义端口的概念-- HTTP-tcp-80端口、https是tcp的443端口?--交给特定应用处理

TCP协议

TCP (Transmission Control Protocol)传输控制协议,顾名思义,就是要对数据的传输进行一定的控制.

f5986a9f2bb5d2912ef76bb8fc572f91.png

上图为 TCP协议的基本信息

源目端口:源端口=本地端口、目的端口=目标主机端口;-----寻找应用的作用

序号:TCP 数据包很大的时候,需要分段(比如分为3段),进行三段分开发送;我怎么确认这些碎片的顺序,就会用到序号,到达目的主机时需要进行重组,重组后才可以使用这些数据

确认号:答复确认消息---比如微信发红包后不知道对方有没有收到,需要给我反馈。没有收到也是一个反馈,收到了就会收到确认消息

标志位:

ACK=1(灯亮-ACK消息-回应消息)、

FIN=0(灯不亮):(结束连接的包需要把 FIN 置位 1)

SYN=1 什么类型的包:发起连接请求的包(sym包)、接受请求的包都需要把 SYN 置位 1,FIN=1(结束连接的包需要把 FIN 置位 1)

b3867add329c6b2771677001d3fcfd49.png

客户端 client 和 服务器 server 初始都是关闭状态

客户端茫茫人海中看到了服务器,要服务器进行通信,通信之前需要进行连接,连接之前需要通过三次握手来建立连接

一次握手:

客户端要给服务器发起连接,消息内包括:什么类型的消息 SYN=1(亮灯)说明是一个发起连接请求的包请求报文,还会带一个编号是J(seq=j),服务器收到消息(星宝SYN=1),后服务器状态会发生改变Sym_REVD,说明我被客户端给撩了;

二次握手:

服务器给客户端回应,回应要发(安可包)ACK=1(亮灯)SYN =1,会把你的确认号带着ack=j+1,和服务器自己的序列号seq=k-------后状态会发生改变Sym_REVD

三次握手:

客户端需要回应服务器,我应经收到了你的消息是确认包:ACK=1(确认包)ack=k+1(基于服务器的标识)------已建立链接

三次握手比如:

男生     女生

-------------------> 认识你,交往请求消息

-------------------> 我也知道,开心~~牵手成功! ! ! |        三次挥手建立链接之后,就可以发送数据

===========  简历链接之后,经过一段时间,需要断开链接

断开连接需要 FIN = 1(译:份包)

客户端告诉服务器我们要分手请求:FIN=1,swq=n

服务器回应客户端可以:回应包ACK=1,序列号seq=n+1

服务器也发给客户端一个分手请求:FIN=1,swq=m

客户端回应服务器拜拜就拜拜:回应包 ACK=1,seq=m+1

对不起,我不喜欢你了

好的,我知道你不喜欢我了

你知道了,那分手吧,再见

好吧,分手吧,再也不见

---------------------------------------------------------------之后再做修改

UDP协议

UDP (User Datagram Protocol)用户数据报协议。

UDP 不需要连接---无连接协议 -- 不可靠的协议

目的:速度快  ---  但是有些丢包

什么场景:

视屏、IP电话、流媒体  ---  不在乎丢包,只要不卡

什么协议使用 UDP 连接

VOIP电话、DNS(域名解析协议)、SNMP(简单网络管理协议)、DHCP(动态分配地址)

5f6744ddf583fed405d07b908a408ff3.png

TCP  vs  UDP

tcp 有很正规的握手和挥手的链接过程,所以是面向连接的协议;http 是基于tcp80端口的可靠的应用层协议;tcp 是可靠的 每个包都标了一个记号,这个包丢了还可以进行重传;如果传输数据量比较大时 需要可靠的场景进行传输;速度慢没关系,必须可靠;

udp 是面向非连接的,会丢包,不可靠的;传输量小,但是速度很快;要求速度快,丢包了也无所谓;

feb4afff411fd96ec35929daaeb9af92.png

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/   谢谢!!*******

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值