关于tcp/udp/http协议的理解:

• Tcp ”面向连接”

即在正式通信前必须和对方先建立起连接.一个tcp必须要经过三次对话才能建立起来;
                                            在经历四次对话结束;(即三握四挥)

握手

  • 第一次 A向B发出连接请求数据包;
  • 第二次 B向A发送统一连接和要求同步(AB一个在发送一个在接受);
  • 第三次 A向B确认B的要求同步,之后A才向B发送文件。

让我们来举一个小例子:

小老弟 大老哥 嗨! 大老哥,我能向你打电话吗? 好啊,你什么时候打,我要得同步接收吧! 对呀,我们要同步,我现在就打!(开始通话) 小老弟 大老哥

假设A是小老弟,B为大老哥。(假设他们现在想打电话)
part 1: 小老弟对大老哥说:“嗨!大老哥,我能向你打电话吗?”
part 2: 大老哥听到后,对小老弟说:“好啊,你什么时候打,我要得同步接收吧!”
part 3: 小老弟急忙说:“对呀,我们要同步,我现在就打!”

挥手
此处讨论被动:

  • 第一次 A发送一个FIN用来关闭A到B的数据传送,B进入FIN_WAIT_1状态。这表示A没有数据要发送给B了

  • 第二次 B收到FIN后,发送一个ACK给A,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),A进入CLOSE_WAIT状态。B对A说我“同意”你的关闭请求;

  • 第三次 B发送一个FIN,用来关闭B到A的数据传送,B进入LAST_ACK状态。

  • 第四次 A收到B发送的FIN报文段,向B发送ACK报文段,然后A进入TIME_WAIT状态;B收到A的ACK报文段以后,就关闭连接;此时,A等待2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,A也可以关闭连接了。

  • ACK:确认序号有效。

  • FIN:释放一个连接。

小老弟 大老哥 我想挂电话了,大老哥 好,我同意你挂 我也想挂电话 好吧,那你先挂电话(于是大老哥“挂了“,然后小老弟也“挂了”) 小老弟 大老哥

part 1: 小老弟对大老哥说:“我想挂电话了,大老哥。”
part 2: 大老哥听到后,对小老弟说:“好,我同意你挂。”
part 3: 大老哥说:“我也想挂电话。”
part 4: 小老弟说:“好吧,那你先挂电话”
(于是大老哥“挂了“,然后小老弟也“挂了”)

传输可靠性: 可靠
速度
应用: 传输大量数据,对可靠性要求高。

• Udp “面向非连接”

即:不用事先与对方建立连接,直接发送数据包。

即小老弟将快递送到快递柜里,大老哥自己去取,没有同步要求。
传输可靠性: 不可靠。
速度
应用: 传送少量数据,对可靠性要求不高。

• Http “用于www浏览的协议”

即:超文本传送协议,是从Web服务器传输超文本到本地浏览器的传送协议建立在TCP协议的基础之上,是一种短连接,要不断向服务器发起连接请求。

特点: 是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

注:

  1. 在http1.0中客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后就自动释放连接;
  2. 在http1.1中,则可以在一次连接中处理多个请求,并可重叠进行不需要等一个请期结束后再发下一个请求。

参考资料:百度百科

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杰西啊杰西

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值