传输层TCP协议连接的建立和断开
作者:百变鹏仔日期:2023-08-04 08:42:00浏览:8分类:游戏攻略
什么是TCP呢?
由三个单词组成的Transport Control Protocol,字面理解是传输控制协议,可以理解为比特同学要想在网络泳池里游泳,那么他必须学习传输层控制技能,并且要掌握相应的动作——协议,他才能在畅游世界网络这个超大型游泳池。
TCP:一个传输层协议,提供Host-To-Host的可靠传输,支持全双工,是一个面向连接的协议。
TCP工作在传输层,它的上层是应用层,应用就是人们常用的微信、抖音、王者荣耀等服务工作的协议。两台不同的设备使用微信聊天,发送语音,需要实现Host-To-Host的数据通信,那么就可以直接调用TCP协议进行。
调用TCP通信时需要指定通信的端口,不同的端口对应不同应用,不同IP对应不同的主机,也就是不同的设备。这就涉及到网络地址—— IP地址 ,工作在网络层,当然TCP层只负责把对应的IP地址和端口传给网络层即可,具体业务由网络层来实现。
互联网层,即Network Layer ,提供地址和地址间的通信,只关注地址到地址Address-To-Address间通信,具体设备间通信由数据链路层实现,数据链路层关注MAC地址间通信,具体的物理设备,传输介质由物理层负责。
以上就是TCP/IP协议常用的层级分割,最终目的就是为Host-To-Host服务,实现应用到应用的通信服务。
什么是连接和会话呢?
连接事需要通信双方相互配合来实现的,是双方达成的一种即时的状态约定,保证通信双方都在线,都有能力为接下来的数据传输做出尽快的响应,我们称之为 连接 。
连接是网络行为状态的记录,既然连接需要双方共同努力,那么就需要双方都有一个对象来记忆当前传输的数据类型,对方的端口、已经传输了多少,效率怎么样等等一些关注点。
那么与之相关联的另一个名词 会话(Session) ,是什么意思呢,会话是应用的行为。大家每次用微信聊天时都会有一个窗口,用来发送信息,你来我往,这个窗口中会有很多条信息,我们称之为会话,当我们在会话进行中,连接一定是在通信状态的。聊一会,累了,退出微信了,但是一般我们不会删除我们的会话内容,这时会话还在,但是连接已经中断。
双工/单工问题
想想自己理解的是什么?
单工:任何时间,数据只能单向发送,单工至少需要一条线路
半全双工:某一时候可以双向发送数据,至少需要一条线路
全双工:任何时刻都可以双向发送数据,大于一条线路
这里线路不一定真实存在物理线路,可能采用模拟的形式实现
TCP是一个全双工协议,数据任何时刻都可以双向发送 ,这说明服务器和客户端可以根据需要选择任意时刻发送和接收信息,所以呢都可以被称为主机(Host)
可靠性的定义
TCP可以提供可靠性,那么可靠性具体的实现方式是什么呢?
可靠性指数据无损传输 。发送主机按照顺序发送数据,数据通过网络传输,收不同网络条件限制,数据不会按照发送时的顺序到达接收方,这时我们就需要一种算法来保证接收方可以还原出发送方的顺序。这里还有一个概念叫 多播 ,发送方同时发送给多个接收方信息,如果接收方中有一个接收到了这条信息,我们的可靠性就必须保证其他接收方也必须接收到相同的信息,这里我们不讨论多播。
TCP的握手和挥手
TCP是一个面向连接的连接的协议, 握手 是建立连接的过程, 挥手 是断开连接的过程。
TCP的基本操作
以上三种操作以后,另一方必须立即给发起方返回一个 ACK(Ackknowledgement) ,这是TCP保证可靠性的要求。如果一方不回复发送方ACK,发送方则认为接收方没有收到信息,会重新发送。
建立连接的过程-三次握手
三次握手的形成和TCP要求每次发送方发送信息以后,接收方必须返回ACK确认有直接的关系
上图描述了TCP建立连接的过程,分为6步:
TCP建立连接的过程如上,那么为什么是三次呢?
第二步服务端做准备,因为是首次收到发送数据请求,无需处理,可以立刻进入数据交互状态,所以可以立刻发送给客户端SYN,告诉客户端,我已准备好,所以第三步和第四步可以合并为一次握手——ACK-SYN,然后客户端回应ACK,连接建立完成
以上就是三次握手了
具体在数据交互过程,ACK和SYN等需要用标识位来标记,在实际应用中,我们一般使用1来表示开启,0表示关闭。
那么四次挥手为什么是四次呢,主要是因为,挥手时服务端收到FIN以后,不能马上回复FIN,因为自身还有任务没有处理完,所以上面所说的6步中,第3、4步就不能一起回复,只能先回复ACK,等自身任务处理完毕,才能告诉客户端,我已经准备好,可以关闭连接,这样就需要4次数据交互,如下图:
王者荣耀互联网延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。
网络延迟程度的定义:
1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
31~50ms:良好,可以正常游戏,没有明显的延迟情况
51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
>100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
计算方法:1秒=1000毫秒(例:30ms为0.03秒)
基站延迟:
4G流量主要看覆盖,离基站越近延迟越低,还有4G穿墙弱,在墙多的室内就会发生基站延迟
越是发达地区延迟越低,因为王者荣耀服务器都是在发达地区。
扩展资料:
互联网时延、延时、延迟的区别:
时延指的是一个报文进入一台设备以致这台设备所经历的实践,实际上考验的是报文在这台设备上消耗的时间,时间越短,这台设备的性能越高。
延时是指一个操作和另个一个操作之间停顿的时间。
延迟是指你点击某些内容与查看内容之间的延迟。
这是你的数据请求到达服务器(如网站),然后数据返回给你所需的时间。
百度百科-网络延迟
鹏仔 微信 15129739599百科狗 baikegou.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
- 上一篇:已经是第一篇了
- 下一篇:已经是最后一篇了
猜你还喜欢
- 05-21 无畏激战游戏攻略
- 05-21 游戏机藏起来2攻略
- 05-21 魔法王座游戏攻略
- 05-21 富人国攻略游戏
- 05-20 airraid游戏攻略
- 05-20 魔域小游戏2.4攻略
- 05-19 足球经纪人游戏攻略
- 05-19 三国无双5游戏攻略
- 05-19 奇迹世界游戏攻略
- 05-19 psp攻略妹子的游戏
- 05-19 梦幻花园游戏53攻略
- 05-19 辰龙游戏捕鱼攻略
- 搜索