传输层协议TCP三次握手,四次挥手及UDP协议

传输层协议

 1、传输层

  • 传输层位于OSI参考模型的表示层和网络层之间,位于TCP/IP模型的应用层和网络层之间。
  • 主要负责向两个主机中进程的通信提供方向。定义数据传输协议的端口号,提供端到端的通信。

 2、传输层协议

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

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

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

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

   无连接,不可靠的传输协议

   花费的开销小

3、常用端口号及功能

TCP协议连接的三次握手和断开的四次挥手

  1,TCP报文段

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

确认号:用于确认发送端的信息

窗口大小:用于说明本地可接受数据段的条目,窗口大小是可变的

SYN:同步序号位,TCP需要建立连接时将该值设为1

ACK:确认序号位,当该位为1时,用于确认发送方的数据

FIN:当TCP断开连接时将该位置值设为1

三次握手:

TCP是一个双向连接。

  • 第一次握手:客户端发送报文,SYN=1,表示想要和服务器建立连接,该报文的序号是X。此时客户端进入SYN_SENT状态
  • 第二次握手:服务器收到,并回应ACK=1,表明客户端发送的报文有效,其确认号是X+1,表示回应的是序号为X的报文的。并同时发送SYN=1,表明想和PC1建立连接,该条建立连接的请求报文序号为Y。此时,服务器进图SYN_RECV状态。

此时客户端与服务器进入半连接状态。半连接状态,服务器在等待客户端的回应,会产生进程,占用内存。而当大量客户端与服务器处于半连接状态,就会消耗大量的服务器内存。这就是DDOS攻击

  • 第三次握手:客户端收到,并回应ACK=1,表明服务器发送的报文有效,其确认号是Y+1,表明回应的是序号为Y的报文的。客户端的seq=X+1,表明是第X+1次发送报文。发送完毕,客户端和服务器进入ESTABLISHED

四次挥手

  • 第一次挥手:客户端进程发出连接释放报文FIN=1,ACK=1,停止发送数据。Seq=X,Ack=Z。客户端进入FIN_WAIT-1状态
  • 第二次挥手:服务器收到连接释放报文,发出确认报文,ACK=1。Seq=Z,Ack=X+1。此时服务端进入到CLOSE_WAIT状态。客户端接口报文,进入FIN_WAIT-2状态。此时,处于半关闭状态。服务端可以发送数据,客户端只可以发送ACK应答报文。
  • 第三次挥手:服务端将最后数据发送完毕后,发送释放报文。FIN=1,ACK=1。Ack=X,Seq=Y。 服务端进入LAST_ACK状态。
  • 第四次挥手:客户端收到服务器的连接释放报文后,发出确认。ACK=1,确认号Ack=Y+1,序号Seq=X+1

UDP协议(了解)

UDP的报文格式:

源端口号(16)目标端口号(16)
UDP(16)UDP校验和(16)

UDP长度:用来指出UDP的总长度,为首部加上数据

校验和:用来完成UDP数据的差错校验,它是UDP协议提供的唯一的可靠机制

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱show的小卤蛋

你的赞是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值