TCPIP  TCP 传输控制协议

TCP提供一种面向连接的,可靠的字节流服务。

面向连接意味着两个使用TCP的应用在传输数据之前先建立一个TCP连接,这个过程跟打电话相似。在一个TCP连接中仅有两方进行通信。

TCP通过下列方法提供可靠性:

1. 应用数据被分割成TCP认为最适合发送的数据块。

2. 当TCP发送一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到确认,将重发这个报文段。

3. 当TCP收到连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。

4. TCP将保持它首部和数据的校验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到这个报文段。

5. 既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因些TCP报文段的到达也可能会失序。如果必要,TCP将收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。

6. 既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。

7. TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区能容纳的数据。这将防止较快的主机使较慢的主机缓冲区发生溢出。

TCP首部中的标志比特

URG  紧急指针有效

ACK  确认序号有效

PSH  接收方应该尽快将这个报文段交给应用层

RST  重建连接

SYN  同步序号用来发起一个连接

FIN   发端完成发送任务

TCP建立连接协议(三次握手):

1. 请求端发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号ISN

2. 服务器发送包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN 报文段进行确认。

3. 客户必须将确认序号设置为服务器的ISN加1对对服务器的SYN报文段进行确认。

[TCPIP] 传输控制协议 Note的更多相关文章

  1. TCP(传输控制协议)和三次握手和四次断开

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中, ...

  2. 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(1)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  3. 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(2)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  4. TCP/IP 中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议

    原文地址:http://hi.baidu.com/albyuyrgqgbbhoq/item/65006d2d002ab33195f62ba1 TCP/IP(Transmission Control P ...

  5. 传输控制协议(TCP) -- 连接建立及终止过程

    TCP简介 相对于不可靠.无连接的用户数据报协议(User Datagram Protocol, UDP),传输控制协议(Transmission Control Protocol, TCP)是可靠的 ...

  6. 【RL-TCPnet网络教程】第12章 TCP传输控制协议基础知识

    第12章      TCP传输控制协议基础知识 本章节为大家讲解TCP(Transmission Control Protocol,传输控制协议),通过本章节的学习,需要大家对TCP有个基本的认识,方 ...

  7. TCP (传输控制协议)

    http://baike.baidu.com/item/TCP/33012?fr=aladdin TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可 ...

  8. TCP 传输控制协议(转)

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

  9. 传输控制协议(TCP)

    传输控制协议(TCP)[来自Unix网络编程(卷一)第2章] 1.TCP是一个面向连接.可靠性的传输协议: 2.TCP含有用于动态估算客户与服务器之间往返时间(RTT)的算法,以便它知道等待一个确认需 ...

随机推荐

  1. MXNET手写体识别的例子

    安装完MXNet之后,运行了官网的手写体识别的例子,这个相当于深度学习的Hello world了吧.. http://mxnet.io/tutorials/python/mnist.html 运行的过 ...

  2. DataTable数据赋值给Model通用方法

    注:该文属本人原创,今后项目中发现该方法存在BUG会实时更新,转载记得附上原文出处,方便大家获得最新代码. 相信大家在做项目中,经常会根据不同的表new各种不同的Model,当需要对Model进行实例 ...

  3. margin重叠现象与margin auto自适应居中

    上下相邻的(算一种兄弟关系)普通元素,上下边距并非简单的相加,而是取其中最大的边距值:而浮动的盒子边距是相加的:父子div也会发生重叠,并不是bug: <style>#test1{ wid ...

  4. mongodb入门学习小记

    Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...

  5. C# Extension Methods

    In C#, extension methods enable you to add methods to existing class without creating a new derived ...

  6. jar包目录下MANIFEST.MF标准格式

    jar包目录格式: |-- com | |-- test.class |-- META-INF | |-- MAINFEST.MF 一个正常的jar包下必有META-INF/MANIFEST.MF清单 ...

  7. 关于Entity Framework使用的简单例子

    一.创建Code First模型 1.创建工程,这里我使用的是以.NET 4.0为目标的实体Web应用程序 2.安装Entity Framework 确保已安装NuGet,选择NuGet套件管理员&g ...

  8. SQL优化----百万数据查询优化

    百万数据查询优化 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率.现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构.索引的使用要恰到好处,其使用原则如下: ...

  9. Linux 搭建NTP服务器

    NTP服务器[Network Time Protocol(NTP]是用来使计算机时间同步化的一种协议,NTP服务器可以对其它服务器做时间同步化,从而达到时间统一. 配置环境及要求: A. 假设10.8 ...

  10. 浅析 Magento网站建站空间的选择

    对 Magento稍有了解的人都知道,作为一个功能异常强大的网络商城程序,Magento的运行对主机空间的要求是非常高的:很多 Magento建站公司都会推荐 VPS 甚至独立服务器来运行 Magen ...