可靠的数据流传输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面试题及答案
Sep 08 面试题
Java工程师面试集锦之Spring框架
Jun 16 面试题
JAVA和C++区别都有哪些
Mar 30 面试题
实现向右循环移位
Jul 31 面试题
北京-环亚运商测试题.net程序员初步测试题
May 28 面试题
请解释在new与override的区别
Oct 29 面试题
什么是属性访问器
Oct 26 面试题
C#和SQL Server的面试题
Aug 12 面试题
Shell编程面试题
May 30 面试题
Linux如何命名文件--使用文件名时应注意
May 29 面试题
北京鼎普科技股份有限公司软件测试面试题
Apr 07 面试题
Java语言程序设计测试题选择题部分
Apr 03 面试题
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 无限级缓存的类的扩展
2009/03/16 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
通过JAVAScript实现页面自适应
2007/01/19 Javascript
为javascript添加String.Format方法
2020/08/11 Javascript
js获取class的所有元素
2013/03/28 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
jQuery实现的form转json经典示例
2017/10/10 jQuery
react中的ajax封装实例详解
2017/10/17 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
Python检测生僻字的实现方法
2016/10/23 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
学生喝酒检讨书
2014/02/06 职场文书
单位绩效考核方案
2014/05/11 职场文书
社区班子对照检查材料
2014/08/27 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
MySQL创建表操作命令分享
2022/03/25 MySQL
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android