计网整理(五)

运输层

5.1概述

5.2运输层端口号、复用与分用的概念

5.9UDP与TCP对比

UDP对应用报文丢下来的的报文既不合并也不拆分,面向应用报文

TCP面向字节流

5.4TCP流量控制

 

5.5TCP拥塞控制

四种算法:

5.6TCP超时重传时间的选择

5.7TCP可靠传输的的实现

5.8TCP的运输连接管理

5.8.1TCP的连接建立

要解决的三个问题:

  1. 是TCP双方能够确认双方的存在
  2. 是TCP双方能够协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量等)
  3. 是TCP双方能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配

TCP客户主动发起连接,TCP服务器被动等待连接,

最初两端TCP进程都处于关闭状态,已开始TCP服务器进程首先创建传输控制块,用来存储TCP连接中的控制信息(TCP连接表,指向发送和接收缓存的指针,指向重传队列的指针,当前发送和接收的序号),只有就准备接受TCP客户的连接请求。此时TCP服务器进程进入监听状态,等待TCP客户进程的连接请求。TCP服务器进程被迫等待,被动打开连接。TCP客户进程首先创建传输控制块。然后在打算建立TCP连接时,向TCP服务器进程发送请求报文段,并进入同步发送状态。TCP连接请求报文段首部中的同步为SYN被设置为1,表明这是一个TCP连接报文段,序号字段seq被设置了一个初始值x,作为TCP客户进程所选择的初始序号。(注:TCP规定SYN被设置为1的报文段不能携带数据,但要消耗掉一个序号)。由于TCP连接是由客户主动发起的,所以称为主动打开连接。TCP服务器进程收到TCP连接请求报文段后,如果同意建立连接,则向客户进程发送TCP连接请求确认报文段,并进入同步接收状态,该报文段首部中的SYN和确认位ACK都设置为1,表明这是一个TCP连接请求确认报文段。序号字段seq被设置为一个初始值y,作为TCP服务器进程选择的初始序号,确认号字段ack被设置为x+1,这就是对客户进程所选择的初始序号的确认。客户进程收到连接请求确认报文段后,还要向服务器进程发送一个普通的TCP确认报文段,并进入连接已进入状态,ACK被设置为1,表明这是一个普通的TCP确认报文段,seq设置为x+1,这是因为客户进程发送的第一个TCP报文的序号为x,并且不携带数据;(注:TCP确认报文段可以携带数据,但如果不携带数据,则不消耗序号,这种情况下,所发送的下一个数据报文段的序号仍是x+1),确认号字段ack设置为x+1,对服务器进程所选择的初始序号的确认。服务器进程收到该报文段后进入连接已建立状态。

5.8.2TCP的连接释放

5.9TCP报文段的首部格式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值