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

面试题 相关文章推荐
PHP面试题-$message和$$message的区别
Dec 08 面试题
PHP数据运算类型都有哪些
Nov 05 面试题
如何启动时不需输入用户名与密码
May 09 面试题
介绍一下#error预处理
Sep 25 面试题
一些高难度的SQL面试题
Nov 29 面试题
Linux如何压缩可执行文件
Oct 21 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
Nov 24 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
为什么要用EJB
Apr 17 面试题
mysql有关权限的表都有哪几个
Apr 22 面试题
一套中级Java程序员笔试题
Jan 14 面试题
Java中的基本数据类型所占存储空间大小固定的吗
Feb 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 session 存储方式的详细介绍
2013/06/25 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python中学习K-Means和图片压缩
2017/11/20 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
python collections模块的使用
2020/10/16 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
您的网上新华书店:文轩网
2016/08/24 全球购物
给校长的建议书200字
2014/05/16 职场文书
三八节标语
2014/06/27 职场文书
工厂标语大全
2014/10/06 职场文书
学生上课说话检讨书
2014/10/25 职场文书
教研活动主持词
2015/07/03 职场文书
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技