zoukankan      html  css  js  c++  java
  • TCP/IP TCP 传输控制协议

    快速导航

    进程到进程的通信

    面向连接的服务,步骤

    TCP的特点?

    TCP报文段的格式?

    TCP的连接?

    半关闭?

    几种报文传递情况?

    TCP软件包?

    进程到进程的通信

    TCP在协议族中的位置

    TCP使用到的一些熟知端口号

    TCP是一种面向交流的协议。这一点与UDP不同。

    TCP创造了一种环境,它使得两个进程好像被一个假想的管道所连接,而这个管道经过因特网传输着两个进程之间的数据。如下图所示:

    因为发送进程和接收进程可能以不同的速度写入数据和读取数据,因此TCP需要用缓存来存储数据。发送缓存和接收缓存。

    上图就是缓存的图例

    运输层的是一些报文段。

    网络层是数据报。

    应用层是报文。

    展示了封装和解压的过程,也清晰的看到了数据的变化,报文,报文段,数据报,帧,比特...这么个过程

    更真实的一种情况,报文段传输。而不是字节流。

    面向连接的服务,步骤

    有以下三个阶段

    1.这两个TCP在它们之间建立一条虚连接。(不是物理连接)

    2.数据在两个方向上交换。

    3.连接被终止。

    TCP的特点?

    编号系统(确认号,序号-每个报文段指派一个序号)

    流量控制

    差错控制

    阻塞控制

    TCP报文段的格式?

     

    TCP的连接?

    既然IP是无连接协议,为什么使用IP服务的TCP却是面向连接的?

    关键在于TCP的连接是虚拟的,而不是物理的。TCP工作在更高的层次上。TCP使用IP的服务把一个个报文段交付给接收方,连接本身是由TCP控制的。如果一个报文段丢失或受损,那么这个报文段就被重传。IP并不知道TCP的重传行为。

    如果一个报文段没有按序到达,那么TCP会保留它,直至丢失的报文段到达为止。

    三个阶段:建立连接、数据传输、连接终止。

    三向握手建立连接

    建立完连接之后就要进行数据传输了

    最后一个报文段只有确认而没有数据,因为已经没有更多的数据要发送了。

    传输完数据,就要关闭连接了,这时候通过三向握手来实现。

    半关闭?

    在TCP中,连接的一方可以停止发送数据,但仍然可以接收数据,这就成为版关闭(half-close)

    服务器端可以继续向客户端发送数据。

    连接确立和半关闭终止的(时间线图)

    同时打开的时间线图

    同时关闭的时间线图

     

    拒绝连接的时间线图

    几种报文传递情况?

     

    TCP软件包?

  • 相关阅读:
    linux 6 安装 Nagios服务
    linux 6 安装 Nginx服务
    Rsync的配置与使用
    linux 6 搭建 msyql 服务
    linux6搭建Apache服务
    Linux 7搭建NFS服务
    Linux 6 忘记root密码重置
    简单makefile
    多线程c++11编程题目
    redis 代码结构与阅读顺序
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/3123862.html
Copyright © 2011-2022 走看看