HCIA-R&S Notes 02 传输层协议简述

传输层协议

TCP

传输控制协议(Transmission Control Protocol)
可靠 慢 面向连接的协议
保证可靠的四种方法:

  1. 建立连接(三次握手)
    在这里插入图片描述
  • PC向S发送一个SYN消息,携带一个序列号seq假设为a。
  • S有没有接收到PC发来的消息PC并不知道,所以S接收到SYN消息之后应该恢复一个确认消息ACK,携带一个确认号ack为a+1,让PC知道S已经收到seq为a的SYN消息了。
    如果只是到这里就结束了,证明PC发送的消息S可以接收到,这点PC和S都知道,但是S并不知道PC有没有收到自己发过去的ACK消息,所以S决定也让PC回个消息确认一下PC收到了没。
    所以S在发送ACK消息给PC确认的时候,顺便也发了个SYN消息,携带一个seq为b。
  • PC收到了S发来的ACK和SYN消息之后,回复一个ACK消息,携带ack为b+1,seq为a+1。

根据上述过程,我们很容易可以发现ack的作用,就是确认上一个报文,同时也是下一个报文的序列号

  1. 丢包重传
    在这里插入图片描述
  • PC和S通信过程中,PC一直给S发包,顺序号依次是a+2,a+3,a+4,但是很不幸的事发生了——seq为a+4这个包丢了!
  • 这个时候,如果S不告诉PC,PC就永远不知道丢了个包,也就无法保证数据的可靠性,聪明的S想到个办法,就是给PC发送确认信息。
  • S会给PC发送确认信息,携带的ack的值为收到的最大seq+1(也就是a+4),PC就会重新发送seq为a+4的包,从而保证了数据的可靠性。
  1. 窗口大小(滑动窗口)
    有个大佬说的特别好,链接:link

  2. 断开连接(四次分手)
    原理和建立连接的三次握手差不多,唯一的区别就是S在回复PC的时候,ACK和FIN会分成两个报文发送。

UDP

用户数据报协议(User Datagram Protocol)
不可靠 快 无连接的协议
UDP头部:

0-1516-31
源端口目的端口
长度校验和

长度:UDP长度+数据长度
没有确认机制

本人也是小白菜,如有错误请指出!谢谢大佬!!最后,图是我徒手画的!非常简陋很抱歉!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值