概述:

  书中采用了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:传输控制协议的更多相关文章

  1. TCP传输控制协议

    TCP 在TCP/IP协议模型中, 传输层协议有TCP和UDP, 这里主要介绍下可靠传输TCP协议, 目前是传输层协议首选. 特点 面向数据流(字节流形式) 虚电路连接 有缓冲传输(提供push机制 ...

  2. 9.TCP:传输控制协议

    1.TCP功能     TCP向应用层提供面向连接的.可靠的字节流服务.TCP可以认为是一个没有选择确认或否认的滑动窗口协议.     TCP将用户数据打包构成报文段:它发送数据后启动一个定时器:另一 ...

  3. TCP 传输控制协议

    开头先说几个协议: IP:网际协议 TCP:传输控制协议 Http:超文本传输协议 AMQP:高级消息队列协议 一:TCP是什么? TCP(Transmission Control Protocol ...

  4. 运输层3——传输控制协议TCP概述

    目录 1. TCP最主要的特点 2. TCP的连接 3. socket在不同场景中的含义 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户 ...

  5. TCP传输层协议的流程

    http://blog.chinaunix.net/uid-24399976-id-77905.html 通过对互联网的认识,我们发现TCP传输层协议是网络进行工作的核心也是基础.它的重要性我们在此也 ...

  6. TCP/IP 笔记 - 传输控制协议

    与UDP不同,TCP提供面向连接的.可靠的.基于字节流的传输层协议,且提供差错纠正. TCP传输的概念 对与分组丢失和比特差错的处理方法,最直接的方法是重发分组,直到它被正确接收. 这需要一种方法来判 ...

  7. TCP/IP详解学习笔记(12)-- TCP:传输控制协议

    1.概述      TCP提供了一种可靠的面向连接的字节流运输层服务.      TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认,对失序的数据重新排序,丢弃重复数据,T ...

  8. 传输控制协议TCP

    TCP主要特点: (1)面向连接 (2)只能是点到点 (3)可靠的传输协议 (4)全双工通信,各自各自的读写缓冲区,应用层吧数据交给发送缓冲区,tcp合适就发送了,接受的时候tcp写入接受缓冲区,应用 ...

  9. 【TCP/IP详解 卷一:协议】第十七章 TCP:传输控制协议

    本章作为TCP的入门章节,简单的概述了一些TCP的知识,和TCP数据报的首部格式. TCP 最重要的特性:reliable. 17.1 引言 本章介绍的是 TCP为应用层提供的服务. 17.2 TCP ...

  10. TCP/IP详解 读书笔记:TCP:传输控制协议

    TCP的服务 TCP为应用层提供一种面向连接的.可靠的字节流服务. 一个TCP连接中,仅有两方进行彼此通信,所以广播和多播不能用于TCP. TCP通过以下方式提供可靠性: 应用数据被切割为TCP认为最 ...

随机推荐

  1. iOS将自己的框架更新到cocopods上

    第一步 把自己的框架更新到github 上,为了提交地址给他人下载.这里就不详细介绍如何把项目更新到github上了 第二步 这个时候我们的项目已经挂在github上了我们需要给本地的项目新建一个Po ...

  2. 服务器cpu100%问题分析

    ecs 130 : slb:

  3. keepalived实现nginx高可用

    keepalived是什么 keepalived直译就是保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发 ...

  4. Linux入门(8)——Ubuntu16.04安装sublime text 3并配置Python开发环境

    打开终端,添加sublime text 3的仓库: 按enter键继续 更新软件库: sudo apt-get update 安装Sublime Text 3: sudo apt-get instal ...

  5. A low-cost wear-leveling algorithm for block-mappingsolid-state disks

    [] Li-Pin Chang,Li-Chun Huang.A low-cost wear-leveling algorithm for block-mapping solid-state disks ...

  6. Single Number2

    题目链接:http://oj.leetcode.com/problems/single-number-ii/ Given an array of integers, every element app ...

  7. Java.MyEclipse Web项目导入Eclipse

    Java项目, 在MyEclipse中开发保存的目录结构和配置, 是不能直接在Eclipse中导入和运行的; 有时我们会碰到想把MyEclipse项目导入到Eclipse中开发的需求, 记录过程如下: ...

  8. echarts教程-asp.net+ashx实现堆积柱状

    说说看.崔西莲夫人紧接着说. 想不到史春吉是这种人. 你会这样说倒是有趣,因为这正是我当时的感觉.这跟奈维尔的个性不合.奈维尔,就像大部分男人一样,通常都是尽量避开任何可能造成尴尬或不愉快的场面.我怀 ...

  9. iOS布局

    1.Masonry 创建constraint来定义布局的方式: 1.1. mas_makeConstraints : 你可以使用局部变量后者属性来保存以便下次应用它 1.2. mas_updateCo ...

  10. struts2(四)之输入校验

    前言 这个本来是昨天就写好的,但是不知道为什么没有保存成功!但是今天起来再写一遍就当巩固一下知识吧. 一.输入校验概述 在以前我们写一个登录页面时,并没有限制用户的输入,不管用户输入什么,我们都存入数 ...