关于TCP

作者: SkyHive | 来源:发表于2017-04-04 12:12 被阅读0次

    互联网协议族(Internet Protocol Suite,缩写IPS)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。因为该协议家族的两个核心协议:TCP(传输控制协议)和IP(网际协议),为该家族中最早通过的标准。由于在网络通讯协议普遍采用分层的结构,当多个层次的协议共同工作时,类似计算机科学中的堆栈,因此又被称为TCP/IP协议栈(TCP/IP Protocol Stack)

    以上来自维基百科,我们知道TCP/IP协议族是基于 TCP 和 IP 这两个最初的协议之上的不同的通信协议的大的集合。其中包含了ARP、UDP、ICMP(互联网消息控制管理协议)等协议,它将软件的通信过程抽象化为四个抽象层(应用层、传输层、网络层和物理层),类似于简化的OSI七层。

    在数据传输方面,早期研发提出两种传输方式——面向连接的传输和非面向连接的传输,经过后来长期的发展,提出面向连接的ISO组织将非面向连接的传输纳入自己麾下,就是现在的UDP。

    TCP

    TCP建立连接的过程——TCP的三次握手

    首先,源向目的发送一个 TCP同步请求(syn包);目的收到后向源发送一个TCP回应(offer包),这里面包含了syn+ack信息,此时处于半打开会话状态,存在巨大的安全隐患;源收到目的的回应后向目的发送一个TCP确认包(ack包),就此处于全打开会话状态,TCP连接建立完成。

    三次握手.png

    TCP序列号和确认号

    TCP会话的每一端都包含一个32位(bit)的序列号,该序列号被用来跟踪该端发送的数据量。每一个包中都包含序列号,在接收端则通过确认号用来通知发送端数据成功接收(发送序列号是当前的发包情况,确认号是渴望的发包情况)。

    例如在握手的时候,源向目的发送syn包,seq=x;目的会给源一个回应,seq=y,ack=x+1;源收到了之后给目的回一个确认包,ack=y+1。

    TCP划窗

    TCP协议通过划窗机制来对流量进行控制管理,接收端通过发送确认号告诉发送端自己获包的情况,接收端通过三次发包后了解接收端的网络吞吐能力,然后稳定发包。

    TCP重传

    TCP包超时未响应后进行重传,一个包最多重传16次,无法处理后连接断开重连,三次失败后无法进行连接

    以上均为自己极浅的理解,详细内容还请移步至Google

    相关文章

      网友评论

        本文标题:关于TCP

        本文链接:https://www.haomeiwen.com/subject/yebaottx.html