TCP:传输控制协议
概述:
书中采用了8章来介绍TCP,可见其重要性。TCP是一种面向连接的、可靠的字节流服务,也就是说两方要交换数据必须先建立一个连接。
TCP的信息单位称为segment。TCP对字节流的内容不作任何解释,这项工作交给TCP连接双方的应用层去做。
TCP为应用层提供全双工服务,即数据能在两个方向上独立地传输。
TCP首部:
TCP首部通常是20个字节加可选字段。它的前8位必须使源端口号和目的端口号,这是因为ICMP差错至少会返回除了IP首部外的前8个字节,这样方便检查差错对应于哪个连接。MSS为Maximum Segment Size,表示本端所能接收报文段的最大长度。
TCP首部中有6个标志比特,分别为URG(urgent pointer)、ACK(确认序号有效)、PSH(接收方应尽快将此报文交给应用层)、RST(重建连接)、SYN(同步序号,用来发起连接)、FIN(结束)。
TCP连接的建立与终止:
TCP连接的建立通过three-way handshake。连接的确认序号ack是上次成功收到的数据字节序号加1。而连接的终止要通过4次握手,因为TCP是全双工的,每个方向必须单独地进行关闭。
Half-close指连接的一端在结束它的发送后还能接收来自另一端的数据。
MSL(Maximum Segment Lifetime)指报文段最大生存时间。2MSL等待状态使指在结束连接后2MSL时间内双方的用于此次连接的端口号不可用,因为这样可以让TCP发送最后的ACK以防ACK丢失,一来一回即2MSL。
复位报文段:
产生复位(RST)的一种常见情况是当连接请求到达时,目的端口没有进程正在听。
终止一个连接的正常方式是发送一个FIN,这称为有序释放(orderly release),发送复位报文段来释放一个连接则称为异常释放(abortive release)。收到RST的一方不会有任何响应,它只是终止连接并通知应用层连接复位。
Half-open是指一方已经关闭或异常终止连接而另一方却还不知道。
随想:
今天突然在想,怎么样才能获得终极的自由呢?我觉得是靠技术。富有的商人受到顾客、市场的约束,有威望的政客受到时局、民意的约束,普通人受到人际关系、信息洪水的约束。尤其在这个网络高度发达的时代,你不知道自己的信息是否被人所窥探。
古代游侠凭借武艺行走江湖,可以不受贪官酷吏的约束;贵族墓穴通过精妙的机关,避免盗墓者扰其清净;黑客有了厉害的技术,才能在网络世界里任意逍遥。所以真正强大的黑客运用它们的技术,并不主要是为了钱财、名誉等等,而是为了对绝对自由的渴望和追求!
TCP:传输控制协议的更多相关文章
- TCP传输控制协议
TCP 在TCP/IP协议模型中, 传输层协议有TCP和UDP, 这里主要介绍下可靠传输TCP协议, 目前是传输层协议首选. 特点 面向数据流(字节流形式) 虚电路连接 有缓冲传输(提供push机制 ...
- 9.TCP:传输控制协议
1.TCP功能 TCP向应用层提供面向连接的.可靠的字节流服务.TCP可以认为是一个没有选择确认或否认的滑动窗口协议. TCP将用户数据打包构成报文段:它发送数据后启动一个定时器:另一 ...
- TCP 传输控制协议
开头先说几个协议: IP:网际协议 TCP:传输控制协议 Http:超文本传输协议 AMQP:高级消息队列协议 一:TCP是什么? TCP(Transmission Control Protocol ...
- 运输层3——传输控制协议TCP概述
目录 1. TCP最主要的特点 2. TCP的连接 3. socket在不同场景中的含义 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户 ...
- TCP传输层协议的流程
http://blog.chinaunix.net/uid-24399976-id-77905.html 通过对互联网的认识,我们发现TCP传输层协议是网络进行工作的核心也是基础.它的重要性我们在此也 ...
- TCP/IP 笔记 - 传输控制协议
与UDP不同,TCP提供面向连接的.可靠的.基于字节流的传输层协议,且提供差错纠正. TCP传输的概念 对与分组丢失和比特差错的处理方法,最直接的方法是重发分组,直到它被正确接收. 这需要一种方法来判 ...
- TCP/IP详解学习笔记(12)-- TCP:传输控制协议
1.概述 TCP提供了一种可靠的面向连接的字节流运输层服务. TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认,对失序的数据重新排序,丢弃重复数据,T ...
- 传输控制协议TCP
TCP主要特点: (1)面向连接 (2)只能是点到点 (3)可靠的传输协议 (4)全双工通信,各自各自的读写缓冲区,应用层吧数据交给发送缓冲区,tcp合适就发送了,接受的时候tcp写入接受缓冲区,应用 ...
- 【TCP/IP详解 卷一:协议】第十七章 TCP:传输控制协议
本章作为TCP的入门章节,简单的概述了一些TCP的知识,和TCP数据报的首部格式. TCP 最重要的特性:reliable. 17.1 引言 本章介绍的是 TCP为应用层提供的服务. 17.2 TCP ...
- TCP/IP详解 读书笔记:TCP:传输控制协议
TCP的服务 TCP为应用层提供一种面向连接的.可靠的字节流服务. 一个TCP连接中,仅有两方进行彼此通信,所以广播和多播不能用于TCP. TCP通过以下方式提供可靠性: 应用数据被切割为TCP认为最 ...
随机推荐
- 部署LAMP+NFS实现双Web服务器负载均衡
一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...
- git的使用(进阶篇)
如何处理代码冲突 冲突合并一般是因为自己的本地做的提交和服务器上的提交有差异,并且这些差异中的文件改动,Git不能自动合并,那么就需要用户手动进行合并 如我这边执行git pull origin ma ...
- Nginx防盗链的3种方法
一:一般的防盗链如下: location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www.jzxue.com jzxue.c ...
- 【NOIP模拟】的士碰撞(二分答案)
Description
- Xuan.UWP.Framework
开篇博客,以前总是懒,不喜欢写博客什么,其实都是给自己找理由,从今天开始有空就写写博客.新手博客,写得不好轻喷,哈哈! 开始正题,微软移动平台,从WP7开始,经历了WP8,然后WP8.1,到目前得Wi ...
- Dagger2 入门解析
前言 在为dropwizard选择DI框架的时候考虑了很久.Guice比较成熟,Dagger2主要用于Android.虽然都是google维护的,但Dagger2远比guice更新的频率高.再一个是, ...
- Vue源码后记-更多options参数(2)
写起来感觉都是老三套,AST => render => VNode => patch 之前是把AST弄完了,对事件和过滤器处理如图: render函数也只看这两部分的转换吧! 首先是 ...
- 通过网络路径获取的图片 btye 图片流互转
楼主有一个需要用户用的网站要上传图片,图片不保存到网站,而是要专门存放到一个图片服务器上面,于是需要通过byte的形式来传输 之前写的一个本地图片流转于byte互转 后来发现通过网络路径获取的图片这个 ...
- ubuntu 常用命令集
一.安装的时候,让你输入代替root用户的名称与密码 使用sudo root切换root的时候会要求你输入密码,这时候你输入什么都不对的 要想使用的哈,需要给root设置密码,命令如下: sudo p ...
- 理解typename的两个含义
理解typename的两个含义 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template<class T> ...