首页 > 其他分享 >【计算机网络】运输层知识点

【计算机网络】运输层知识点

时间:2023-04-05 14:57:33浏览次数:59  
标签:知识点 运输 报文 TCP 发送 计算机网络 RTT 拥塞 连接

运输层

运输层向它上面的应用层提供通信服务。
真正通信的主体是主机中的一个进程和另一个主机的一个进程交换数据。网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。运输层向高层用户屏蔽了下面网络核心的细节,使应用进程看见的就好像在两个运输层实体之间有一条端到端的逻辑通信信道。
运输层两种协议:面向连接的TCP和无连接的UDP。
两种协议的区别

端口:是应用层的各种协议进程与运输实体进行层间交互的一种地址。运输层用一个16位端口号标志一个端口,因此

应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP(trap) HTTPS
熟知端口号 21 23 25 53 69 80 161 162 443

UDP用户数据报协议(User datagram protocol)

无连接、尽最大努力交付、面向报文、没有拥塞控制、支持一对一一对多多对一多对多的交互通信、首部开销小。
发送数据前不需要建立连接。
不保证可靠交付。
处理报文时,既不合并也不拆分,保留报文的边界,加上首部后就向下传,或去除首部后就向上交付。因此报文数据部分长度就是应用程序发送数据的长度
首部只有8个字节。
UDP格式

伪首部仅仅是为了计算检验和,把首部和数据部分一起检验:二进制反码计算加法的方式。
伪首部中的17表示是UDP的协议。

TCP传输控制协议(Transmission control protocol)动画详解TCP,超级厉害

面向连接、点对点、可靠交付、全双工通信、面向字节流。
在使用TCP协议前必须先建立TCP连接。
每条TCP连接只能有两个端点。
通过TCP连接传送的数据,无差错、不丢失、不重复、按序到达。
允许通信双方的应用进程在任何时候都能发送数据。
TCP把应用程序交下来的数据看成一连串无结构的字节流。根据对方给出的窗口值和当前网络拥塞程度确定一个报文段应该包含多少个字节。
TCP连接的端点叫做套接字(Socket)。$套接字 socket=(IP地址:端口号)$
每一条TCP连接唯一地被通信两端的两个端点所确定。$TCP连接::={socket_1,socket_2}={(IP_1:port_1),(IP_2:port_2)}$

停止等待协议

正常情况:每发送完一个分组就停止发送,等待对方确定,在收到确认后再发送下一个分组。
出错情况:当发送方A发送数据M1后等待收到确认时,若B接收M1检测出了差错,就丢弃M1,A超过了一段时间(超时计时器)仍然没有收到确认,就认为刚才发送的分组丢失,因此重传前面发送过的分组(超时重传)。
确认丢失:如果B再次收到A的信息,以前正常收到过就丢弃重复分组,然后发送确认。A如果以前收到过B的确认,那么收到确认后丢弃即可。
缺点:信道利用率过低。
信道利用率计算$U=\frac{T_D}{T_D+RTT+T_A}$。
其中$T_D$是A发送分组需要的时间,等于分组长度除以数据率。$T_A$是B发送确认分组的时间,RTT是往返时间。
ARQ(Automatic Repeat request)自动重传请求:接收方不需要请求发送方重传某个出错的分组。

连续ARQ协议

发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。接收方一般采用累积确认的方式,对按序到达的最后一个分组发送确认。

TCP报文格式

TCP报文格式

序号:在TCP连接中传送的字节流中的每一个字节都按顺序编号。
确认号:期望收到对方下一个报文段的第一个数据字节的序号。若确认号=N,表明到序号N-1为止的所有数据都已正确接收。
数据偏移:数据部分起始处的位置。
紧急URG:=1表明此报文段中有紧急数据,应尽快传送
确认ACK:=1时确认号才有效,在连接建立后所有传送的报文段必须把ACK置为1。
推送PSH:当两个应用进程进行交互式通信时,一端的应用进程希望在键入一个命令后立即能够接收到对方的响应,而不是等整个缓存都填满后再向上交付。
复位PST:=1表示TCP连接出现严重差错,必须释放连接,再重新建立连接。
同步SYN:再连接建立时用来同步序号。SYN=1&&ACK=0,表示是一个连接请求报文。SYN=1&&ACK=1,同意建立连接。
终止FIN:=1时表明此报文段的发送方数据发送完毕,要求释放运输链接。
窗口:接收方让发送方设置其发送窗口的依据。允许对方发送的数据量,经常在动态变化着。
检验和:和UDP计算检验和一样,也需要加入伪首部。
紧急指针:URG=1时有效,指出本报文段中的紧急数据字节数。
最大报文段长度MSS:每一个TCP报文段中数据字段的最大长度。

TCP的可靠传输

以字节为单位的滑动窗口:凡是已经发送过的数据,在未收到确认前都必须暂时保留,以便在超时重传时使用。因为TCP的累积确认,当收到一个确认号,则证明在此之前的所有序号均接收成功。

发送缓存:

  • 发送应用程序传送给发送方TCP准备发送的数据
  • TCP已发送但尚未收到确认的数据

接收缓存:

  • 按序到达的、但尚未被接收应用程序读取的数据
  • 未按序到达的数据

超时重传时间选择:RTO(Retransmission Time-Out)=$RTT_s+4\times RTT_D$。
其中$RTT_S=(1-\alpha)\times(旧RTT_s)+\alpha\times(新RTT样本)$。RTT表示报文段往返时间,每一次的测量都基座一个样本。$\alpha\in[0,1)$,一般取0.125。
而$RTT_D$是RTT的偏差的加权平均值,第一次测量时,$RTT_D$值取测量到的RTT样本值的一般,以后的测量中,使用如下公式计算:$新RTT_D=(1-\beta)\times(旧RTT_D)+\beta\times|RTT_s-新RTT样本|$。$\beta\in[0,1)$,一般取0.25。

TCP的流量控制

让发送方的发送速率不要太快,让接收方来得及接收。TCP的接收窗口的单位是字节

TCP的拥塞控制

若网络中有许多资源同时呈现供应不足,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降。
拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制的重要性

发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。窗口大小取决于网络的拥塞程度,并动态变化。
慢开始:当主机开始发送数据时,因不清楚网络的负荷情况,所以先探测一下,由小到大逐渐增大发送窗口。cwnd变化:1->2->4等等
拥塞避免:设置慢开始门限ssthresh。当cwnd>ssthresh,使用拥塞避免,让cwnd缓慢增大,每次增加1。
网络拥塞:当网络出现超时,ssthresh=cwnd/2,然后进入慢开始阶段
快恢复:个别报文段在网络中丢失,但实际上网络并未发生拥塞。只要发送方一连收到3个重复确认,应当立即进行重传。采用快恢复:ssthresh=cwnd/2,cwnd=ssthresh。然后继续拥塞避免阶段。
发送方窗口的上限值=Min[rwnd,cwnd],其中rwnd为接收窗口大小,cwnd为拥塞窗口大小。

TCP连接建立

三报文握手。
三次握手

TCP连接释放

四次挥手
四次挥手
其中MSL为最长报文段寿命。

标签:知识点,运输,报文,TCP,发送,计算机网络,RTT,拥塞,连接
From: https://www.cnblogs.com/ting65536/p/17289416.html

相关文章

  • 认识计算机网络
    数据传输过程 从我们的计算机访问搜狐网站数据的封装过程——各层用本层的协议封装 数据的传输过程——物理网内数据交换 实质上是对等层协议通信的过程 数据的传输过程——物理网之间通过路由器选择路径 数据的传输过程——物理网内数据交换 实质上是对等层协议通信的过程 数据......
  • 复验、见证取样检验、型式检验与3C认证 (知识点)
    GB50411-2019规定,术语2.0.8 复验 sitereinspection(repeattest)  进入施工现场的材料、设备等在进场验收合格的基础上,按照有关规定从施工现场随机抽样,送至具备相应资质的检测机构进行部分或全部性能参数检验的活动。  2.0.9 见证取样检验 witnesssamplinginspe......
  • 计算机网络——CDN加速技术原理
    摘要CDN的全称是(ContentDeliveryNetwork),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大......
  • Mysql常见知识点【新】
    1、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15?2、MySQL的技术特点是什么?MySQL数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程SQL服务器、不同的后端、广泛......
  • 计算机网络----运输层
    《运输层概述》    解释:《端口》 具体书P214两台主机进行通信就是两台主机中的应用进程相互通信所谓的端到端的通信也就是应用进程之间的通信这个端就是所谓的端口   ......
  • 【整理】html5知识点2
    1、=========================================================HTML5Canvas创建一个画布(Canvas)<canvasid="myCanvas"width="200"height="100"></canvas>使用JavaScript来绘制图像<script>varc=do......
  • 【整理】html5知识点1
    1、关于html5HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。HTML5的设计目的是为了在移动设备上支持多媒体。HTML5简单易学。HTML5是下一代HTML标准。HTML,HTML4.01的上一个版本诞生于1999年。自从那以后,Web世界已经......
  • 第四章 计算机网络与信息安全
    第四章计算机网络与信息安全5+3分第一节OSIRM七层模型传输层:PtoP端到端的连接网络层:分组传输与路由选择分包链路层:传送以帧为单位的信息物理层:以二进制传输传输设备:物理层:中继器:让信号不失真。负责信号的复制、调整、放大功能。用此来延长网络的长......
  • 计算机网络实验 实验5 运输层和应用层协议解析
    实验5运输层和应用层协议解析一、实验目的  本实验通过运用Wireshark对网络活动进行分析,观察TCP协议报文,分析通信时序,理解TCP的工作过程,掌握TCP工作原理与实现;学会运用Wireshark分析TCP连接管理、流量控制和拥塞控制的过程,发现TCP的性能问题。二、实验内容任务1:TCP正常......
  • JavaIO流:主要知识点
    JavaIO流:主要知识点File类介绍:java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关。File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必......