湖科大计网:传输层

2023-11-22 04:12
文章标签 传输层 大计 湖科

本文主要是介绍湖科大计网:传输层,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、传输层概述

一、基本概念

8c393bcf8e1d4326ab44eb8bdb3a9859.png

4897f4024c534363a1b10164fb538011.png

传输层是端到端的协议。

因特网的两种不同的传输层协议:

TCP:面向连接

UDP:无连接

我们在学习的过程中,只需要关注传输层之间的通信,不需要关注传输层协议数据是经过路由器转发至目的网络,如果经过数据链路层和物理层在目的网络中传递的。只需要关注两主机之间产生的关系即可。

b3360077d8fb4ad69f9774f2af25db6f.png

833ba86740354f41af6d90ece307f8f9.png

二、传输控制协议TCP

一、TCP和UDP的对比

TCP(transmission control protocol):传输控制协议

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

一、数据传输方式

TCP是面向连接的可靠传输

UDP是无连接的不可靠传输

1a34eb0caaec4b76af0bc5ac923b26c0.png

二、单播、多播、广播的支持

878f6b2a94e640b9a064ea0972e0f862.png

三、对应用报文的处理

UDP是面向应用报文的,既不合并也不拆分,从应用层来的报文直接封装,发送。

TCP是面向字节流的,并且发送方和接收方不一定使用同样大小的数据块,只需确保字节流是一样的即可,TCP是全双工通信的。

82a54bac8cfa46e68c0c38512bcd567e.png

四、为上层提供的服务

UDP由于提供的是无连接不可靠传输服务,适用于实时应用。

993046a084b0412ea27bae7be65eca43.png

五、数据报首部

UDP数据报;TCP段文报

8759d86aec944f35a69fbae245b8d3f0.png

二、TCP的流量控制

e34eefe8b5e14572bd8c8692ee742411.png

TCP以报文段为单位传输,两主机建立连接,A有发送窗口,B有接收窗口。

累积确认,超时重传。

注意,在接收到确认帧之后,就会按规则移动发送窗口,调整发送窗口大小。

265907440eab40e4ab870531f64701f9.png

c02dfc3577394ed2bac95fe300643c54.png

三、TCP的拥塞控制

        实际上的发送窗口大小=min{拥塞窗口大小,接收方的窗口大小}。

        实际上就是刚开始拥塞窗口大小为1,然后按照慢启动算法和拥塞避免算法计算拥塞窗口大小,如果出现“拥塞”:

        两种情况:

①超时:则将慢启动阈值减半,拥塞窗口从1开始

②收到三个重复确认:将慢启动阈值减半,拥塞窗口=阈值 ;

注意:慢启动算法按指数增加,即1->2->4->8->16->32....

拥塞避免算法按线性增加,即ssthresh->ssthresh+1->ssthresh+2->ssthresh+3....

5f9f9ca658764802ad073aca2e528f9c.png

a3d1fec1f2df4a51afac65b726c82871.png

8e8a68f30f274ada84b52d1088220a29.png

四、TCP超时重传时间的选择

9a372ca518ef4de69384b72ca2c544df.png

直接按停等协议考虑了==

注意是每发送一个报文段都会重新计算一个超时重传时间,具体表现为,收到一个确认报文则计算(此时同时发送一个TCP报文段),超时重传的时候也会发送一个报文段,这个时候也会重新计算。

每一步都需要记住的值:RTTs(平滑往返时间smooth),RTTD,RTO

只有第一步进行特殊处理,之后的每一步都按照公式计算。

并且除了重传的ROT使用原来的ROT计算,其余的ROT都是用本次RTTS和RTTD计算的

409a0876906e4c849a74f48a9af1037d.png

f376c7408627486d9674d3b5500a0f56.png

重传时,原来的RTTs和RTTD不变,ROT变为原来的两倍。

五、TCP的可靠传输

7653599d51ce4d0e805477cf8823de75.png

TCP将上层的字节流,封装在TCP报文段中,TCP报文段增加了一个TCP首部,我们考虑的是实际传输的数据载荷部分。

注意TCP的滑动窗口协议与选择重传协议的区别:

TCP滑动窗口,是累积确认的,而且会进行流量控制,确认时自己的窗口大小给发送方;确认的窗口号是接下来想要接收的,而SR是最后一个接受到的。

其他的很像,比如乱序接收,按序发送,超时重传。

de336333f4744f3c9a4c67ad2bc47fd0.png

六、TCP的运输连接管理

8219631915dc400fb34d8310ceaa7d34.png

一、TCP的连接建立

c20bee950217438a96da1b81f32ae887.png

A首先发送的是一个序号为seq=x(消耗一个序号),B发送一个ack=x+1的确认,并且对于B来说这个确认报文段的序号是任意的,A随即回礼ack=y+1,seq=x+1(之前消耗了一个)。

二、TCP的连接释放

e054d644d061469881e6de5b1740f0f8.png

七、TCP首部格式

b33de45c6fcd475f9b50e8679e705a27.png

3e1df1b834084fee838226c4d5cff2bb.png

我们会发现一个TCP报文段中包含了本次要传给接收方的数据,以及数据的序号,同时包含了对接收方发来的数据的一个确认!(全双工嘛)

数据偏移字段指的是首部的大小,以四字节为单位取值。

序号字段是指本次TCP报文段数据载荷部分的首字节流的序号。

窗口 是指 控制发送方的窗口大小!

039e5788847544abac57f78671670f29.png

70edbbcb66984c9fad635198dfb1cf13.png

f80e0adea8ae49c18f405b70214f4e00.png

6b55895632e44be191ca8f5f93621f8f.png

3ce639e4640c4e6d90df610fd955083b.png

5ecc589b5c9d44949f40dd66a5d59113.png

3fa746e5ffab49fa9909fe6659949ca0.png

507214c1ea5842dcb3b198178038a7b2.png

d83a8e9da37d44609c8a36390ec853a7.png

5ddf0b8a251444919f396ca4acd34546.png

674af0ac45b749fe9aa8553002260620.png

b388037b98b0448f9b576c6d5d6a39bf.png

a0cb1f543a1f48618245604086003615.png

d81483af53de4c50b70bcfd836847820.png

URG和PSH都是接受到了就将报文段直接向上交付。

同步SYN是三报文握手时需要用到的,

终止FIN是四报文挥手时需要用到的,发送方想断开连接,接收方用FIN表示自己已经发送完毕,继续进一步释放连接。

三、总结

26f1f99d55004be5aa62c5cef66dfe40.png

9f38dcb6ce7e4de0afdc012a0d266d10.png

a49ef2a3705348faa444a26fc5a75cf1.png

40ea1015952b473ca314f14f6fb23e9c.png

8e8a68f30f274ada84b52d1088220a29.png

f4cefc212f87425f9ed602659a4f0482.png

3b3e2c8955ef48c4a85b2cc5858cb0a2.png

ccffd7a60bcf4006a3417cc9b361a1fb.png

6686d5835ab64cc5b170feeeb0f6cfd6.png

 

 

这篇关于湖科大计网:传输层的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/407440

相关文章

传输层协议UDP

本篇将主要介绍 UDP 协议,介绍了有关 UDP 协议的报头、协议特点、UDP 协议在操作系统中的缓冲区、UDP 协议使用的注意事项,以及有关 UDP 的 Socket 编程程序,同时重点介绍了操作系统对于 UDP 协议报文的管理。         接着介绍了有关端口号的映射。 目录 UDP协议 1. UDP协议报头 2. UDP协议特点 3. UDP的缓冲区 4.

第十六篇:走入计算机网络的传输层--传输层概述

1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设置了一个编号,这个编号就是端口,目的端口可以定位报文应该发给哪个应用处理。 ③ 连接管理 面向连接的传输,需要对连接进行管理。 ④ 差错控制和流量控制

传输层协议---TCP协议

以下都是自己的学习总结,有不足也有错误的地方,谨供参考。 TCP协议特点                        ---面向字节流,有连接,可靠,全双工 面向字节流 面向字节流指的是服务器和客户端之间的数据传输,使用的字节流传输,获取socket对象内置的InputStream和OutputStream,调用read和write方法读取对端放来的数据和写入要发送给对端的数据; 有连

LIN诊断(3)—— 传输层诊断协议(LINTP)

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe,博客目录大全,点击跳转👉 目录 ISO-17987-2协议数据单元类型(Protocol data unit types)PDU报文格式Address information (N_AI)Protoco

【传输层协议】TCP协议(上) {TCP协议段格式;确认应答机制;超时重传机制;连接管理机制:三次握手、四次挥手}

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层协议,用于在网络上可靠地传输数据。TCP是互联网协议套件(TCP/IP)中的一个主要协议,它在IP(Internet Protocol)的基础之上提供了可靠的数据传输服务。 TCP协议具有以下特点和功能: 面向连接:在通信双方进行数据传输之前,需要建立TCP连接,包括三次握手和四次

传输层协议-UDP数据报

UDP协议的特点             面向数据报,无连接,不可靠,全双工 面向数据报:是指该协议在传输数据的时候使用的是数据报; 无连接:指的是发送数据不需要两个进程连接在一起,类似生活中我们发送短信,只要直到对方的电话号码就看也发送短信;TCP就是有连接的,只有连接,双方才能交换数据,就像我们打电话,需要对方接通才能说话; 不可靠:指的是我们只管把数据发送出去,不管对方是否一定能接收

【网络】传输层协议——TCP协议(进阶)

目录 1.TCP连接的11种状态 2.再次理解三次挥手   2.1.再次理解三次握手 2.2.Socket编程和三次握手的关系 2.2.1.listen的参数 2.2.2.accept函数  2.3.TCP三次握手的优点 2.3.1.阻止重复历史连接的初始化 2.3.2.为什么两次握手不能防止旧的重复连接初始化造成混乱呢? 2.3.3.同步双方初始序列号 2.3.4.避免资源

【网络】传输层协议——TCP协议(初阶)

目录 1.TCP协议 1.1.什么是TCP协议 1.2.为什么TCP叫传输控制协议 1.2.TCP是面向字节流的  2.TCP协议段格式 2.1.流量控制——窗口大小(16位) 2.2.确认应答机制 2.2.1.什么是确认应答机制 5.2.2.推导确认应答机制  5.3.2.确认号和序列号 2.3.六位标志位  3.TCP的可靠策略 3.1.确认应答机制 3.2.超时重

【传输层协议】UDP协议 {端口号的范围划分;UDP数据报格式;UDP协议的特点;UDP的缓冲区;基于UDP的应用层协议}

一、再谈端口号 1.1 使用“五元组”标识一个通信 端口号(Port)标识了一个主机上进行通信的不同的应用程序 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); netstat 查看网络状态的重要工具 1.2 端口号的范围划分 0 - 1023:这个范围

板凳---------unix网络编程卷1:第二章传输层:TCP、UDP 和 SCTP

2.1 概述 焦点是传输层,包括TCP、UDP和SCTP(Stream Control Transmission Protocol,流控制传输协议)。绝大多数客户/服务器网络应用使用TCP或UDP。SCTP是一个较新的协议,最初设计用于跨因特网传输电话信令。这些传输协议都转而使用网络层协议IP:或是IPv4,或是IPv6。绕过传输层直接使用IPv4或IPv6,称为原始套接字。 UDP是一个简单的