可靠的数据流传输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...

面试题 相关文章推荐
运行时异常与一般异常有何异同?
Jan 05 面试题
简单说说tomcat的配置
May 28 面试题
经典c++面试题三
Jul 08 面试题
最新远光软件笔试题面试题内容
Nov 08 面试题
了解AppleShare protocol(AppleShare协议)吗
Aug 28 面试题
上海中网科技笔试题
Feb 19 面试题
非常详细的C#面试题集
Jul 13 面试题
说出你对remoting 和webservice的理解和应用
Jun 08 面试题
介绍一下gcc特性
Jan 20 面试题
EJB与JAVA BEAN的区别
Aug 29 面试题
Java程序员面试题
Jul 15 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
May 30 面试题
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和XSS跨站攻击的防范
2007/04/17 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python脚本实现网卡流量监控
2015/02/14 Python
分享Python文本生成二维码实例
2016/01/06 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
小小聊天室Python代码实现
2016/08/17 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
大一学生假期实习的自我评价
2013/10/12 职场文书
信访维稳工作汇报
2014/10/27 职场文书
班主任先进事迹材料
2014/12/17 职场文书
售后服务承诺函格式
2015/01/21 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android