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

面试题 相关文章推荐
Ibatis中如何提高SQL Map的性能
May 11 面试题
简单介绍Object类的功能、常用方法
Oct 02 面试题
New delete 与malloc free 的联系与区别
Feb 04 面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 面试题
SQL Server提供的3种恢复模型都是什么? 有什么区别?
May 13 面试题
params有什么用
Mar 01 面试题
星空联盟C# .net笔试题
Dec 05 面试题
一套C#面试题
Oct 09 面试题
linux面试题参考答案(8)
Apr 19 面试题
Linux内核产生并发的原因
Nov 08 面试题
Python面试题集
Mar 08 面试题
J2EE模式面试题
Oct 11 面试题
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发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
python将unicode转为str的方法
2017/06/21 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
python的依赖管理的实现
2019/05/14 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
挑战杯创业计划书的写作指南
2014/01/07 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL