运输层

Posted blogofjzq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运输层相关的知识,希望对你有一定的参考价值。

一、概述和运输层服务

运输层为运行在不同主机上的进程之间提供了逻辑通信,中间路由器既不处理也不识别运输层加在应用层报文的任何信息

因特网为为应用层提供了两种截然不同的运输层服务:UDPTCP

多路复用:在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递给网络层

多路分解:将运输层报文段中的数据交付到正确的套接字

UDP套接字由一个二元组(目的IP和目的端口号)来标识,TCP用一个四元组来标识(源IP,源端口号,目的IP,目的端口号)

Web服务器原来为每条连接创建一个进程,现在用一个进程为每个连接创建一个线程

 

二、UDP

特点:

(1)关于何时,发送什么数据的应用层控制更精细

(2)无需建立连接

(3)无连接状态

(4)分组首部开销小

应用场景:

RIP路由选择,DNS,流式多媒体,网络电话

报文结构:源端口号,目的端口号,长度,检验和,应用数据

UDP差错检验:把所有16比特字的和进行反码运算,溢出回卷放在检验和里,在接收方把所有16比特字加起来,如没有差错则所有位为1

 

三、可靠数据运算原理

rdt系列协议:停等协议 当发送方没有确定接收方正确接收到数据时不会发送新的数据

GBN(回退N步的流水线协议):允许发送多个分组而不需要等待确认,受限于未确认分组不会超过允许数N  因为接收方必须按顺序接收,若n未收到,则丢弃所有n以后收到的

SR(选择重传):同GBN,但若n未收到,收到n以后的先缓存起来,同通知发送方已收到

机制:检验和,定时器,序号,确认,否定确认(rdt2.0),窗口,流水线

 

四、TCP

报文结构:源端口,目的端口,序号,确认号,首部长度,特殊标识符,接收窗口,检验和,紧急数据指针,选项,数据

连接管理:

(1)三次握手建立连接:

标识符SYN设为1,随机选一个初始序号,封装进一个IP数据报,发给服务器

服务器接收到并提取出SYN,为TCP连接分配缓存和变量,向客户发送允许连接的报文段

收到SYB ACK之后,给该连接分配缓存和变量,向服务器发送确认报文

(2)四次挥手终止连接:

FIN标识设为1,发送报文给服务器

服务器发送确认报文

服务器把FIN设为1,发送服务器终止报文

客户发送确认报文

可靠数据传输:TCPGBNSR的混合体,快速重传机制

流量控制:TCP通过让接收方维护一个称为接收窗口的变量来提供流量控制,接收窗口会给发送方指示该接收方还有多少可用的缓存空间

拥塞控制:

(1)原因:由IP网络的拥塞造成

(2)TCP拥塞控制:TCP采取让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率

(3)算法:

慢启动:cwnd的值一个MSS(最大报文段长度)开始,每当被确认就翻倍。遇到丢包cwnd重新设置为1,设置ssthresh(阈值)为原cwnd/2,重新开始慢启动知道cwnd>=ssthread进入拥塞避免,或者监测到三个冗余ACK进入快速恢复

拥塞避免:一次cwnd增加一个MSS

快速恢复:cwmd变为3cwnd/2,一次增加一个MSS

以上是关于运输层的主要内容,如果未能解决你的问题,请参考以下文章

运输层

运输层

第五章:运输层

计算机网络—— 运输层(123):运输层概述运输层端口复用与分用的概念UDP和TCP的对比

运输层]1

计算机网络自顶向下 —— 运输层