王道计算机网络 传输层整理 超详细版

传输层是主机才有的层次。

传输层的功能

1、传输层提供进程和进程之间的逻辑通信。(网络层提供主机之间的通信)

逻辑通信:传输层之间的通信好像是沿着水平方向传送数据,但事实上这两个传输层之间并没有一条水平方向的物理连接。

2、复用分用复用是指发送方不同的应用进程都可以使用同一个传输层协议传送数据;分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。

另一种说法:

复用:应用层所有的应用进程都可以通过传输层再传输到网络层。

分用:传输层从网络层收到数据后交付指明的应用进程。

3、传输层对收到的报文进行差错检测(首部和数据部分)。【网络层只检查IP数据报的首部,不检验数据部分是否出错】。

4、提供两种不同的传输协议,即面向连接的TCP无连接的UDP。【网络层无法同时实现两种协议】。


面向连接服务与无连接服务

面向连接的传输控制协议TCP

传送数据之间必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。

可靠,面向连接,时延大,适用于大文件。

无连接的用户数据报协议UDP

传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。

不可靠,无连接,时延小,适用于小文件。


传输层的寻址与端口

端口:传输层的服务访问点(SAP),标识主机中的应用进程。

数据链路层的SAP是MAC地址,网络层的SAP是IP地址。

端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的。

端口号长度为16bit,能标识65536个不同的端口号。

常见的应用程序与对应的端口号

在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。

套接字 Socket = (主机IP地址,端口号)


UDP协议

UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。

UDP的主要特点:

1、UDP是无连接的,减少开销和发送数据之前的时延。

2、UDP使用最大努力交付,即不保证可靠交付

3、UDP是面向报文的,适合一次性传输少量数据的网络应用。

应用层给UDP多长的报文,UDP就照样发送,即一次发一个完整报文。

4、UDP无拥塞控制,适合很多实时应用。

5、UDP首部开销小,8B,TCP是20B。

UDP首部格式

分用时,如果找不到对应的目的端口号,就丢弃报文,并给发送方发送ICMP“端口不可达”的差错报告报文。

UDP校验

在计算校验和时,要在UDP数据报之前增加12B的伪首部,伪首部并不是UDP的真正首部。只是在计算校验和时,临时添加在UDP数据报的前面,得到一个临时的UDP数据报。

17:封装UDP报文的IP数据报首部协议字段是17。

UDP长度:UDP首部8B + 数据部分长度(不包括伪首部)。

在发送端:

1、添上伪首部。

2、全0填充校验和字段。

3、全0填充数据部分。

4、伪首部 + 首部 + 数据部分 采用二进制反码求和。

5、把和求反码填入校验和字段。

6、去掉伪首部,发送。

在接收端:

1、添上伪首部。

2、伪首部 + 首部 + 数据部分 采用二进制反码求和。

3、结果全为1则无差错,否则丢弃数据报/交给应用层附上出错的警告。


TCP协议的特点和TCP报文段

TCP协议特点

1、TCP是面向连接(虚连接)的传输层协议。

2、每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。

3、TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。

4、TCP提供全双工通信。允许通信双方的应用进程在任何时候都能发送数据,为此链段设有发送缓存和接收缓存。

发送缓存:准备发送的数据 & 已发送但尚未收到确认的数据。

接收缓存:按序到达但尚未被接受应用程序读取的数据 & 不按序到达的数据。

5、TCP面向字节流:TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流

TCP报文段

image-20210724181638514

序号:在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号

确认号期望收到对方下一个报文段的第一个数据字节的序号。若确认号为 N,则证明到序号 N - 1 为止的所有数据都已正确收到。

数据偏移首部长度):TCP报文段的数据起始处距离TCP报文段的起始处有多远,以4B为单位。

窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。

检验和:检验首部 + 数据,检验时要加上12B伪首部,第四个字段为6。

紧急指针:URG = 1时才有意义,指出本报文段中紧急数据的字节数。

选项:最大报文段长度MSS、窗口扩大、时间戳、选择确认 ……

六个控制位:

紧急位 URG:URG = 1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。

确认位 ACK:ACK = 1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。

推送位 PSH:PSH = 1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。

复位 RST:RST = 1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输连接。

同步位 SYN:SYN = 1时,表明是一个连接请求/连接接受报文。

终止位 FIN:FIN = 1时,表明此报文段发送方数据已发完,要求释放连接。


TCP连接管理

TCP连接传输三个阶段:

连接建立数据传送连接释放

TCP的连接建立

1、客户端发送连接请求报文段,无应用层数据。

​ SYN = 1,seq = x(随机)

2、服务器端为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据。

​ SYN = 1,ACK = 1,seq = y(随机),ack = x + 1

3、客户端为该TCP连接分配缓存和变量,并向服务器返回确认的确认,可以携带数据。

​ SYN = 0,ACK = 1,seq = x + 1,ack = y + 1

SYN洪泛攻击

TCP的连接释放

参与一条TCP连接的两个进程中的任何一个都能终止该连接,连接结束后,主机中的缓存和变量将被释放。

1、客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。

​ FIN = 1,seq = u

2、服务器端回送一个确认报文段,客户到服务器这个方向的连接就释放了 —— 半关闭状态

​ ACK = 1,seq = v,ack = u + 1

3、服务器发完数据,就发出连接释放报文段,主动关闭TCP连接。

​ FIN = 1,ACK = 1,seq = w,ack = u + 1

4、客户端回送一个确认报文段,再等到时间等待计时器设置的 2MSL(最长报文段寿命)后,连接彻底关闭。

​ ACK = 1,seq = u + 1,ack = w + 1


TCP可靠传输

可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。

TCP 实现可靠传输的机制:1、校验 2、序号 3、 确认 4、重传


TCP流量控制

流量控制:让发送方慢点,要让接收方来得及接收。

TCP利用滑动窗口机制实现流量控制。

在通信过程中,接收方根据自己 接收缓存 的大小,动态地调整发送方的发送窗口大小,即接收窗口 rwnd(接收方设置确认报文段的 窗口字段 来将 rwnd 通知给发送方),发送方的 发送窗口取接收窗口 rwnd 和拥塞窗口 cwnd 的最小值

发送窗口大小可以动态变化。

for example

TCP为每一个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器

若持续计时器设置的时间到期,就发送一个零窗口探测报文段。接收方收到探测报文段时给出的现在的窗口值,

若窗口仍然是0,那么发送方就重新设置持续计时器。


TCP拥塞控制

拥塞控制:防止过多的数据注入到网络中。全局性

流量控制是点对点的。

假定:
1、数据单方向传送,而另一个方向只传送确认。

2、接收方总是有足够大的缓存空间,因而发送窗口取决于拥塞程度。

发送窗口 = Min{接收窗口 rwnd,拥塞窗口 cwnd}

接收窗口:接收方根据接受缓存设置的值,并告知给发送方,反映接收方容量。

拥塞窗口: 发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络当前容量。

拥塞控制四种算法

慢开始和拥塞避免

快重传和快恢复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这个最基本的生命细节才被揭开——25毫秒核孔穿梭

来源:生物通细胞中的所有蛋白质都是由复杂的分子机器组装而成的。这些核糖体的前体在细胞核中产生,然后通过所谓的核孔进入细胞。波恩大学和苏黎世联邦理工大学的研究人员首次在活细胞中拍摄了这个基本过程。他们的实验提高了对核糖体是如何产生的理解。…

计算机网络——基本介绍

1.计算机网络的概念 \qquad计算机网络是一个将分散的,具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 \qquad这里的计算机系统,也可以成为端系统,其包括但不限…

王道计算机网络 应用层整理 超详细版

应用层概述 应用层对应用程序的通信提供服务。 应用层协议定义: 应用进程交换的报文类型(请求/响应) 各种报文类型的语法,如报文中的各个字段及其详细描述。 字段的语义,即包含在字段中的信息的含义。 进程何时、…

Facebook正式改名Meta,一个元宇宙新纪元由此开始

All in Metaverse,扎克伯格豪赌一个未来。来源:硅星人文:Juny 编辑:Lianzi美西时间早上7点,硅谷的天刚蒙蒙亮。Facebook硅谷总部前公司标志牌被蒙上了一层幕布。工作人员在标志牌前拉起了屏障,静静等待着…

计算机网络——标准化工作及相关组织

1.标准的分类 \qquad法定标准:由权威机构制定的,正式的,合法的标准,比如OSI标准;事实标准:某些强势产品在经过时间之后,这些产品的协议和技术就成为了标准,比如TCP/IP协议。 2.标准…

AI学会灌水和造假!Google新研究揭露了AI现实应用的陷阱

来源:Google AI、新智元作者:Alex DAmour、atherine Heller今天,机器学习(ML)模型得到了大规模的使用,而且影响力也越来越大。然而,当它们被用于现实世界的领域时,往往表现出意想不到…

Vue封装下拉框组件时,为document绑定原生事件addEventlistener(click“),切换页面之后事件还未被摧毁...

1 <script>2 export default {3 props: ["lists"],4 data() {5 return {6 isactive: false,7 actveName: "",8 selContent: "请选择"9 }; 10 }, 11 mounted() { 12 console.log("我被创建了&q…

查找算法详解

1、查找的基本概念 查找也即检索。 文件&#xff1a;由记录组成的集合&#xff0c;即含有大量数据的元素线性组合而成。 记录&#xff1a;由若干数据项组成的数据元素&#xff0c;这些数据项也常称作记录中的数据域&#xff0c;用以表示某个状态的物理意义。 关键字&#xff1…

高文院士:中国在AI领域有哪些长板和短板

10月25日&#xff0c;在第四届世界声博会暨2021科大讯飞全球1024开发者节上&#xff0c;中国工程院院士高文通过线上方式发表演讲来源&#xff1a;笑看国际风云、央广网、集微网、中国科学报10月25日&#xff0c;第四届世界声博会暨2021科大讯飞全球1024开发者节在安徽合肥开幕…

SpringBoot学习笔记(16)----SpringBoot整合Swagger2

Swagger 是一个规范和完整的框架&#xff0c;用于生成&#xff0c;描述&#xff0c;调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是一个开源的API doc框架&#xff0c;可以将我们的Controller接口的方法以文档的形式展现&#xff…

Jeff Dean亲自揭秘谷歌下一代AI架构:通用、稀疏且高效,网友不买帐:毫无新意...

来源&#xff1a;机器之心在这波 AI 浪潮中&#xff0c;人工智能技术经过十几年的爆发式发展&#xff0c;已经在各个领域有着极为广泛的应用&#xff0c;如医疗、科学研究、汽车等。但是随着技术发展的缓慢&#xff0c;以深度学习为代表的人工智能技术瓶颈开始凸显。今年 8 月份…

排序算法笔记(Java)

package datastructure;import java.util.Arrays; import java.util.Scanner;public class Sort {static int len; //声明全局变量&#xff0c;用于记录arr的长度public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.nextLine();Strin…

计算机网络——时延、时延带宽积、RTT和利用率

1.什么是时延 \qquad数据&#xff08;报文/分组/比特流&#xff09;从网络的一端传送到网络另外一端所需的时间。也叫延迟或者迟延&#xff0c;单位是s 2.时延的种类 2.1 发送时延&#xff08;传输时延&#xff09; \qquad从发送分组的第一个比特算起&#xff0c;到该分组的最…

强人工智能与泛心论

来源&#xff1a;哲社院后台原载于《科学经济社会》2021年第39卷第3期第52~59页作者简介&#xff1a;陈敬坤&#xff0c;1981年1月生。哲学博士&#xff0c;山西大学哲学社会学学院副教授&#xff0c;曾赴比利时布鲁塞尔自由大学、美国匹兹堡大学等作学术访问。研究领域主要为心…

第一章 Linux是什么

Linux是核心与系统调用接口两层中间的操作系统不同硬件的功能函数并不相同&#xff0c;IBM的Power CPU与Inter的x86架构不同&#xff0c;所以同一套操作系统是不能在不同的硬件平台上面运行的。也就是说&#xff0c;每种操作系统都是在他专门的硬件机器上面运行的。不过&#x…

计算机网络——分层结构,协议,接口和服务

1.为什么要分层&#xff1f; \qquad当有两台主机&#xff0c;A向B通过网络发送文件&#xff0c;在发送文件前需要完成这么几件事情&#xff1a;1&#xff09;A必须将数据通信的通路进行激活&#xff1b;2&#xff09;要告诉网络如何识别目的主机B&#xff1b;3&#xff09;A要查…

官宣!全球首富马斯克:创办这所“新大学”!

埃隆马斯克&#xff08;Elon Musk&#xff09;是特斯拉和SpaceX的创始人兼首席执行官。来源&#xff1a;青塔编辑&#xff1a;nhyilin美国《福布斯》杂志10月26日称&#xff0c;得益于特斯拉股价大涨&#xff0c;特斯拉CEO埃隆马斯克的财富跃升至近3000亿美元&#xff0c;不仅是…

“传统”遥感遇上AI,会产生怎样的效果?

来源&#xff1a;微信公众号人民网责编&#xff1a;翟巧红编辑&#xff1a;张素玲&#xff1b;作者&#xff1a;龚健雅 中国科学院院士、武汉大学教授&#xff1b;新一轮科技革命和产业变革的大幕早已掀开。作为全球科技竞争的制高点&#xff0c;人工智能已经成为世界主要国家推…

记录一次双系统安装

条件 1、U盘 2、UltraISO软件 官网 3、ISO镜像 ubuntu官网 压缩卷&#xff0c;获得空闲空间安装ubuntu 1、点击winx&#xff0c;进入磁盘管理&#xff0c;选择一个空间够大的硬盘进行分区 2、选择你要压缩的卷&#xff0c;比如D盘&#xff0c;右击&#xff0c;压缩卷&#xff0…

操作系统 —— 内存管理

目录一、思维导图二、内存的基础知识2.1 什么是内存&#xff1f;2.2 存储单元2.3 逻辑地址和物理地址2.4 编译、链接、装入2.4.1 编译2.4.2 链接链接的三种方式 :2.4.3 装入装入的三种方式:三、内存保护四、内存空间的扩充4.1 覆盖与交换4.1.1 覆盖技术4.1.2 交换技术4.2 虚拟内…