计算机网络---TCP

 

TCP/IP体系中最重要的一层:运输层 概述

  (1)运输层中最重要的两个协议:TCP协议 和 UDP协议

      (2)两个主机的通信实际是两个主机 应用进程之间的通信

         (3)运输层有一个非常重要的功能:复用 和 分用

         (4)网络层和运输层之间有一个明显的差别:网络层 是为主机之间提供逻辑通信,

           运输层 为应用进程之间提供端到端的逻辑通信

     (5)TCP:传输控制协议UDP:用户数据报协议

TCP/IP体系中,运输层根据使用TCP还是UDP,基本数据单元分别为 TCP报文段 或者 UDP用户数据报

     (6)由于TCP是面向连接提供可靠运输服务,因此不开避免的增加了许多开销,比如:确认、流量控制、计时器、连接管理

     (7)端口:16位来表示,为了标志本计算机应用层各个进程和运输层交互时的层间接口

因特网通信方式:客户/服务器方式

(1)服务器端使用的端口号:    熟知端口号(0-1023):这一类互联网是可以查到的         

       登记端口号(1024-49151):为没有熟知端口号的应用程序使用,按照规定进行登

 (2)客户端使用的端口号:      又叫短暂端口号(49152-65535)仅在客户进程运行时才动态选择,通信结束可由其他应用进程使用

              

              传输控制协议:TCP概述

    1、TCP协议特点:面向连接,端到端通信,可靠交付,全双工

(1) TCP连接:TCP 连接的端点是套接字,那何为套接字呢? 套接字 socket={IP地址:端口号}

每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定

     2、可靠传输的工作原理

   (1) 停止等待协议

收到确认之后才会发送下一个分组,否则超时重传

 自动重传请求(ARQ),如果分组出错,不需要主动请求重发;

(2)连续ARQ协议

滑动窗口协议是TCP精华所在:可以连续发送多个分组,每收到一个分组的确认,就会将发送窗口向前移动一个位置


    3、TCP报文段:分为 首部 和 数据 两部分,理解TCP首部各字段的作用才能真正掌握TCP工作原理

       TCP可靠传输的实现

      1、(1)引入以字节为单位的滑动窗口:

三个指针P1,P2,P3:
P3-P1为发送窗口;P2-P1为已经发送但是尚未收到确认的字节数;P3-P2为可用窗口。

              

B只能对按序收到的数据中的最高序进行确认,因此上图中的确认号仍然为31

(2)窗口和缓存的关系


2、超时重传的时间选择

重传的概念容易理解,但是重传的时间选择确实TCP最复杂的问题之一,知道就可以了


3、选择确认SACK

选择确认就是在报文段无差错,只是未按序到达,则设法只传送缺少的数据而不需要重传已经正确到达接收方的数据。

      TCP流量控制

1、利用滑动窗口实现流量控制

所谓流量控制就是让发送方发送速率不要太快,要让接收方来得及接收。

     2、必须考虑传输效率


      TCP拥塞控制

所谓拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器和链路不会过载

(1)几种拥塞控制方法: 慢开始,拥塞避免,快重传和快恢复

       TCP运输连接管理

运输连接包含三个部分:建立连接,数据传送,释放连接

运输连接的管理就是是运输连接的建立和释放都能正常的进行


1、TCP运输连接的建立过程:(称为三次握手,或者叫三次联络)

步骤一:TCP服务器进程首先创建传输控制模块TCB,处于接听状态(listen),准备接受客户进程的连接请求;

步骤二:TCP客户进程也需要创建传输控制模块TCB,然后向服务器进程发出连接请求报文段,此时客户进程处于同步已发送状态;

步骤三:服务器进程收到连接请求报文段后,若同意建立连接,则向客户进程发送确认,此时服务器进程处于同步收到状态;

步骤四:TCP客户进程收到服务器进程的确认之后,还需要向服务器进程发送确认,此时,TCP连接已经建立,客户进程处于已建立连接状态;

步骤五:TCP服务器进程收到客户进程的确认之后,也进入已建立连接状态。


2、TCP运输连接的释放过程:(称为四次挥手)

步骤一:客户进程A向其TCP发出连接释放报文段,报文段首部的 FIN置为1,序号seq=u,此时客户进程处于终止等待状态

步骤二:服务器进程B收到连接释放报文段后即发出确认,确认号是 ack = u+1,此时从客户进程到服务器进程这个方向的连接释放了,TCP连接处于半关闭状态。

步骤三:服务器进程B向其TCP发出连接释放报文段,报文段首部的FIN置为1,序号seq=v,此时服务器进程处于终止等待状态

步骤四:客户进程A收到连接释放报文段后发出确认,确认号是ack=v+1,然后进入时间等待状态,最终释放掉TCP连接。









3、TCP报文段:分为 首部 和 数据 两部分,理解TCP首部各字段的作用才能真正掌握TCP工作原理

       TCP可靠传输的实现

      1、引入以字节为单位的滑动窗口:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值