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

面试题 相关文章推荐
如何配置、使用和清除Smarty缓存
Dec 23 面试题
Tomcat Mysql datasource数据源配置
Dec 28 面试题
List, Set, Map是否继承自Collection接口?
May 16 面试题
腾讯技术类校园招聘笔试试题
May 06 面试题
几道数据库的面试题或笔试题
May 31 面试题
TCP/IP中的TCP和IP分别承担什么责任
Apr 21 面试题
天网面试题
Apr 07 面试题
linux比较文件内容的命令是什么
Mar 04 面试题
某科技软件测试面试题
May 19 面试题
法雷奥SQA(electric)面试问题
Jan 23 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
Dec 04 面试题
J2EE面试题
Mar 14 面试题
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
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
降低PHP Redis内存占用
2017/03/23 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
Javascript 类型转换方法
2010/10/24 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
Vue.js实现微信过渡动画左右切换效果
2017/06/13 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
JS常用排序方法实例代码解析
2020/03/03 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
python 读取DICOM头文件的实例
2018/05/07 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
团支书的期末学习总结自我评价
2013/11/01 职场文书
工会主席岗位责任制
2014/02/11 职场文书
zabbix监控mysql的实例方法
2021/06/02 MySQL
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
MySQL 逻辑备份 into outfile
2022/05/15 MySQL
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL