可靠的数据流传输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的输入输出流
Jan 22 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
Java里面如何把一个Array数组转换成Collection, List
Jul 26 面试题
一个C/C++编程面试题
Nov 10 面试题
华为慧通面试题
Sep 11 面试题
上海某公司.net方向笔试题
Sep 14 面试题
逻辑链路控制协议
Oct 01 面试题
介绍一下MD5加密算法
Nov 12 面试题
软件测试面试题
Jan 05 面试题
EJB timer的种类
Oct 28 面试题
介绍一下Python下range()函数的用法
Nov 07 面试题
建龙钢铁面试总结
Apr 15 面试题
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怎样调用MSSQL的存储过程
2006/10/09 PHP
处理php自动反斜杠的函数代码
2010/01/05 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
python实现FTP服务器服务的方法
2017/04/11 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
保安拾金不昧表扬信
2014/01/15 职场文书
临床护士自荐信
2014/01/31 职场文书
有关环保的标语
2014/06/13 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
win10下go mod配置方式
2021/04/25 Golang
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
Python字典和列表性能之间的比较
2021/06/07 Python