可靠的数据流传输TCP


Posted in 面试题 onMarch 15, 2016
1、TCP/IP的可靠传输服务五个特征:面向数据流、虚电路连接、有缓冲的传输、无结构的数据流、全双工的连接。
2、TCP采用了具有重传功能的肯定确认技术作为可靠数据流传输服务的基础。
3、为了提高数据流传输过程的效率,在上述基础上引入滑动窗口协议,它允许发送方在等待一个确认之前可以发送多个分组。滑动窗口协议规定只需重传未被确认的分组,且未被确认的分组数最多为窗口的大小。
4、TCP功能
TCP定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。
5、TCP连接使用是一个虚电路连接,连接使用一对端点来标识,端点定义为一对整数(host,port)其中host是主机的IP地址,port是该主机上TCP端口号。
6、TCP使用专门的滑动窗口协议机制来解决传输效率和流量控制这两个问题,TCP采用的滑动窗口机制解决了端到端的流量控制,但并未解决整个网络的拥塞控制。
7、TCP允许随时改变窗口小,通过通告值来说明接收方还能再接收多少数据,通告值增加,发送方扩大发送滑动窗口;通告值减小,发送方缩小发送窗口。
8、TCP的报文格式
报文分为两部分:报头和数据,报头携带了所需要的标识和控制信息。
确认号字段指示本机希望接收下一个字节组的序号;
顺序号字段的值是该报文段流向上的数据流的位置,即发送序号;
确认号指的是与该报文段流向相反方向的数据流。
9、TCP使用6位长的码位来指示报文段的应用目的和内容
URG紧急指针字段可用;ACK确认字段可用;PSH请求急近操作;RST连接复位;SYN同步序号;FIN发送方字节流结束。
10、TCP的三次握手
为了建立一个TCP连接,两个系统需要同步其初始TCP序号ISN。序号用于跟踪通信顺序并确保多个包传输时没有丢失。初始序号是TCP连接建立时的起始编号。
同步是通过交换携带有ISN和1位称为SYN的控制位的数据包来实现的。
握手可由一方发起也可以双方发起,建立就可以实现双向对等地数据流动,没有主从关系。

Tags in this post...

面试题 相关文章推荐
关于Java String的一道面试题
Sep 29 面试题
DBA数据库管理员JAVA程序员架构师必看
Feb 07 面试题
C#面试问题
Jul 29 面试题
介绍一下Make? 为什么使用make
Dec 08 面试题
如何获得EntityManager
Feb 09 面试题
EJB3推出JPA的原因
Oct 16 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
Feb 04 面试题
如何写一个Java类既可以用作applet也可以用作java应用
Jan 18 面试题
Java程序开发中如何应用线程
Mar 03 面试题
JAVA高级程序员面试题
Sep 06 面试题
重写子类方法时,抛出异常的书写注意事项
Oct 17 面试题
给定一个时间点,希望得到其他时间点
Nov 07 面试题
UDP协议功能
Jan 06 #面试题
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
Jun 07 #面试题
Internet体系结构
Dec 21 #面试题
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
May 09 #面试题
TCP/IP模型的分界线
Dec 01 #面试题
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
Jul 27 #面试题
TCP/IP的分层模型
Oct 27 #面试题
You might like
php 多个submit提交表单 处理方法
2009/07/07 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
javaScript基础详解
2017/01/19 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
浅谈python import引入不同路径下的模块
2017/07/11 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Python学习之os模块及用法
2020/06/03 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
使用CSS3制作饼状旋转载入效果的实例
2015/06/23 HTML / CSS
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
在校生钳工实习自我鉴定
2013/09/19 职场文书
玲玲的画教学反思
2014/02/04 职场文书
事务机电主管工作职责
2014/02/25 职场文书
大学生工作自荐书
2014/06/16 职场文书
社团活动总结怎么写
2014/06/30 职场文书
上党课的心得体会
2014/09/02 职场文书
中学生打架检讨书
2014/10/13 职场文书
婚庆司仪开场白
2015/05/29 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
如何Python使用re模块实现okenizer
2022/04/30 Python