TCP与UDP的特点及其应用

一、TCP

传输控制协议(Transmission Control Protocol)

1.tcp特点

(1) TCP是面向连接的,数据传输前需要先建立链接
(2) TCP只支持一对一的传输
(3) 面向字节流,即把应用层传来的报文看成字节流,然后将字节流拆分成大小不等的数据块,并添加TCP首部信息,TCP首部信息为20字节
(4 TCP支持传输可靠性的多种措施,包括传输顺序、重发机制、流量控制、拥塞控制和滑动窗口机制等

2.tcp的链接过程

TCP的连接过程中需要完成3次握手来保证链接的可靠性。第一次握手需要在服务端完成TCB的创建,并且进入到LISTEN状态下完成,然后通过想服务器发送请求连接报文,包括首部的同步位SYN=1,初始序号seq=x,然后客户端进入SYN-SENT状态;然后第二次握手是在服务器收到请求连接后,向客户端发送同意建立连接的确认报文,包括SYN=1,ACK=1,确认号ack=x+1,及初始序号seq=y,然后客户端进入SYN-RCVD状态;第三次则是客户端想服务端回复确认进入链接的报文,包含SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y,让后客户端进入ESTABLISHED状态,服务端受到消息后也随之进入到ESTABLISHED状态。
上述过程不能简化为两次握手,简化为两次握手会出现服务器收到已失效的链接请求后,建立无效链接,从而浪费服务其资源

3.tcp的断开过程

tcp在数据传输完成后,可由双方中的任意一方来发起断开链接的请求。假定发起断开链接的是主机A,而等待接收第一次断开连接的主机为B。第一次挥手时,A的报文格式为FIN=1,序号seq=u,然后A进入到FIN_WAIT_1状态,表示A没有数据要发送给B了;第二次则是B收到A断开的消息后,发送同意断开链接的ACK报文数据,格式为ACK=1,确认号ack=u+1,序号seq=v,然后B进入CLOSE-WAIT状态,而A收到确认消息后进入FIN_WAIT_2状态;由于tcp是全双工通过,所以断开时通讯双方都要同时断开,不然会造成一方断开,一方在在等待接受消息状态,造成资源浪费,所以第三次则是B发送请求断开的报文,格式为FIN=1,ACK=1,序号seq=w,确认号ack=u+1,然后B进入LAST_ACK状态;在A收到B发来的断开请求后,会发送确认信息进行第四次挥手,报文格式为ACK=1,seq=u+1,ack=w+1,然后A进入TIME_WAIT状态,而B在收到第四次挥手的确认信息后直接进入CLOSE状态,A会在进入TIME_WAIT后等待2MSL时间进入CLOSE状态。
在断开连接的过程中,不能只进行3次挥手,因为发起断开连接只能放松FIN报文,而确认断开只能发送ACK报文,如果去需要保证双方都能安全断开,则双方都需要发送一次断开请求报文,而在受到对方的请求后也必须放送一条确认报文,所以只能进行四次挥手

4.tcp的应用

TCP对应的协议:
(1)SSH:它是专为远程登录会话和其他网络服务提供安全性的协议,使用22号端口
(2)FTP:定义了文件传输协议,使用21端口
(3)Telnet:一种用于远程登陆的协议,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。
(4)SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
(5)POP:它是和SMTP对应,POP用于接收邮件。POP协议所用的是110端口,常用第3版,因此也叫POP3
(6)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议,默认端口80

二、UDP

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

1.udp特点

(1)udp数据传输不需要建立连接,仅提供基本的数据传输能力
(2)udp是面向数据报的,不能保证数据的安全和准确性
(3)udp支持多对多,多对一,一对多和一对一的交互通讯

2.udp的应用

UDP对应的协议:
(1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
(2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势
(3) TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值