《计算机网络 自顶向下方法》 第3章 运输层 Part1

由于个人精力和智商有限,又喜欢想太多、钻牛角尖,导致学习系统性知识很痛苦,尝试改变学习方式,慢慢摸索

现在看到 rdt2.0,又有点看不下去

现在的想法:

要有个目标,且有截止时间(作业模式、考试模式),在过程中,如果遇到对整体没有致命影响的难点,可以暂时跳过,在特定时间内把目标内的其他地方解决即可(即先解决简单的其他部分,在考虑进攻难点,这样的话,前期心态不会太焦灼,而且等回过头进攻难点的时候,有一种从四面八方将难点包围的感觉)

写博客也换个思路:

边写博客,边摸索写博客的方式,而且可以把摸索过程也记在博客里

记录一下本章的说明问题的思路,值得学习

大思路:

由于一个能提供可靠数据传输和拥塞控制的协议必定是复杂的,采用基本原理与 TCP 交替介绍方式(从一般走向具体)

在一般环境下讨论可靠数据传输,然后讨论 TCP 是怎样具体提供可靠数据传输的

在一般环境下讨论拥塞控制,然后讨论 TCP 是怎样实现拥塞控制的

小思路:

在讨论可靠数据传输原理的时候,将底层信道从理想状况逐步向现实情况靠拢,进而逐步引出相关概念

从简单模型到复杂模型,一点点把复杂的事情说清楚

本章整体情况

理想情况到现实情况分别是:

理想:底层信道完全可靠(比特不受损,分组不丢失,比特不会被重排序)

现实一:底层信道会让比特受损(比特受损,分组不丢失,比特不会被重排序)

现实二:底层信道会丢包(比特受损,分组丢失,比特不会被重排序)

注意,本章贯穿始终的一个假设是分组将以它们发送的次序进行交付,某些分组可能会丢失,即底层信道不会对分组重排序

理想情况:发送发和接收方只需做简单的发送和接收操作就行了(对应协议:rdt1.0)

现实一需要的技术:检验和、肯定和否定确定、重传、序号、ACK 分组(对应协议:rdt2.0)

现实二需要的技术:检验和、肯定和否定确定、重传、序号、ACK 分组、定时器(对应协议:rdt3.0)

由 rdt3.0 的缺点(停等协议,链路利用率低),引入流水线可靠数据传输协议

为了保证是流水线可靠数据传输协议的有效性(主要是为实现其差错回复功能),引入回退 N 步的的方法

而回退 N 步的方法,可能会导致一些性能问题(一个出错,之前的全部需要重传,如果失败率较高,则可能导致信道中充斥着冗余的分组),于是引入了选择重传的方法

有一点值得注意的是

我们一般写程序都不用考虑这么多,是因为我们选择了 TCP 协议,虽然 IP 层(即网络层)及以下是不可靠的,但是运输层的 TCP 帮助我们解决了这些不可靠,使我们可以专注于开发应用程序,而不用担心数据是否会按照预想、没有误差到达目的地

以下是对我来说有用的零散知识点:

最简运输层功能:

进程到进程的数据交付、差错检查

附加功能:

可靠数据传输、拥塞控制

运输层协议只运行在端系统,而不是路由器中,运输层协议将报文在应用进程和网络边缘(即网络层)之间移动(在发送方,移动方向是 应用进程→网络边缘;在接收方,则反过来)

网络层为主机之间提供通信,运输层为不同主机上的进程之间提供通信

多路复用与多路分解

看微信“文件传输助手”中的聊天记录

IP 层是不可靠的

把这次看不懂的地方记录一下:

对于协议 rdt2.1,有个问题想不明白:

接收方成功接受了分组 0,向发送方反馈了一个 ACK,而由于比特受损,发送方收到了一个含糊不清的回复,于是发送方重传了分组 0,而此时接收方已经在等待分组 1 到的了,这样的话,当接收方在此接收到分组 0 的时候(与预期的分组 1 不符),会给发送发返回一个 NAK,发送发以为重传分组 0 失败,继续重传分组 0,而接收方此时预期接收的还是分组 1,于是造成了一个死循环

这种情况会发生吗?是不是我没有完全看懂协议 rdt2.1?

原文地址:https://www.cnblogs.com/stone94/p/10981791.html

时间: 2024-10-10 15:28:13

《计算机网络 自顶向下方法》 第3章 运输层 Part1的相关文章

计算机网络自顶向下方法:第三章 运输层

先根据书中的复习题巩固一遍, 最后回答常见问题TCP三次握手和四次挥手, 如有错误, 欢迎指出~ 点击下面跳过复习题 TCP3次握手: 为什么需要初始序号? 为什么需要3次握手, 而不是两次握手 TCP4次挥手 ? 第二章: 运输层 3.1~3.3节 R1. 假定网络层提供了下列服务. 在源主机中的网络层接收最大长度1200字节和来自运输层的目的主机地址的报文段. 网络层则保证将该报文段交付给位于目的主机的运输层. 假定在目的主机上能够运行许多网络应用进程. a. 设计可能最简单的运输层协议,

计算机网络-自顶向下方法第四章

上一章,讲的是传输层,这章讲的是下一层,网络层. 运输层依赖于网络层的主机到主机的通信服务,提供各种形式的进程到进程的通信. 网络层分解为两个部分,数据平面和控制平面.这章主要讲前者,数据平面. 网络层的作用:将分组从一台发动主机移动到一台接收主机.需要两种重要的功能:转发和路由选择. 转发:是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作.转发时间的时间很短(通常为几纳秒),用硬件来实现. 路由选择:确定分组从源到目的地所采取的端到端路径的网络范围处理过程.时间长得多(几秒

计算机网络自顶向下方法第2章-应用层(application-layer).2

2.4 DNS:因特网的目录服务 2.4.1 DNS提供的服务 DNS的定义 实体层面看,DNS是一个由分层的DNS服务器实现的分布式数据库 协议层面看,DNS是一个使得主机能够查询分布式数据库的应用层协议 DNS运行在UDP之上,使用53号端口 1)主机名到IP地址映射的转换服务 2)主机别名(host aliasing) 3)提供负载均衡(load distribution) 2.4.2 DNS工作机理概述 DNS是一个在因特网上实现分布式数据库的精彩范例. 1.分布式.层次数据库 DNS服

计算机网络自顶向下方法第6章-链路层和局域网.2

6.5 链路虚拟化:网络作为链路层 多协议标签交换 MPLS 通过来自虚电路网络的一个关键概念—固定长度标签,可以改善 lP 路由器的转发速度. 其目标是使用转发 lP 数据报的路由设备,但却是基于固定长度标签和虚电路的技术,让路 由器根据固定长度的标签转发数据报(而不是目的地 IP 地址),从而加快转发速度(标签长 度固定.较小的标签空间这两个特点加快了查表速度). 6.6 数据中心网络 因特网公司如FLAG构建了大量数据中心,每个数据中心容纳数十万太主机,同时支持着不同云应用.每个数据中心有

《计算机网络 自顶向下方法》 第2章 应用层

常见应用层协议有哪些? HTTP(HyperText Transfer  Protocol):超文本传输协议 FTP(File Transfer Protocol):文件传输协议 SMTP(Simple Mail Transfer Protocol): Telnet:远程终端访问 有哪些可供选择的运输层协议? TCP(Transmission Control Protocol):传输控制协议 可靠数据传输.面向连接.拥塞控制UDP(User Datagram Protocol):用户数据报协议

《计算机网络·自顶向下方法》 小程序等资源地址

https://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/index.html 感谢: 从哪里可以找到计算机网络自顶向下方法的配套资料? - JmsAllen的回答 - 知乎 https://www.zhihu.com/question/63658105/answer/254291529 原文地址:https://www.cnblogs.com/ZGQblogs/p/12237047.html

计算机网络-自顶向下方法第二章

第一章统述,这一章开始讲解每一层详细的信息.这章讲解的是应用层. 有很多应用,如Facebook.Instagram和微信等,这些应用很受人欢迎. 1. 应用层协议原理 1.1网络应用程序体系 客户-服务器体系结构:有一个总是打开的主机成为服务器.服务于来自许多其他成为客户的主机的请求.典型的应用时web应用,浏览器-服务器. p2p体系结构.配备大量主机的数据中心,用于创建强大的虚拟服务器. 进行通信的是进程而不是程序.在两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信. 套接字:

计算机网络——自顶向下方法(第六版) 课后题 第五章

5.1~5.2节 R1.运输方式 R2.不是,当链路出现瘫痪时,链路层不能保证安全运输 R3.成帧(ip,tcp),链路接入,可靠交付(tcp),差错检测和纠正(tcp) 5.3节 R4.不会,传播时延小于传输时延,在下一帧从路由交换出来时,上一帧已经传播到下一路由. R5.(1)只有一个结点发送数据时,有R的吞吐量 (2)有大量结点传输时,效率仅为0.37R (3)(4)该协议是分散且简单的. 令牌:(1)有R的吞吐量 (2)能保持R/m速率 (3)(4)分散且简单的 R6.1/2^5=1/3

计算机网络——自顶向下方法(第六版) 课后题 第二章

2.1节 R1.电子邮件:SMTP,远程终端访问:Telnet,Web:HTTP,文件传输:FTP,流式多媒体:HTTP,因特网电话:SIP R2.在应用程序研发者来看,网络体系结构是固定的,并为应用程序提供了特定的服务集合.应用程序体系结构由应用研发者规定了如何在端系统上组织该应用程序. R3.总是打开的是web服务器,通过web访问的是客户. R4.同意,在p2p体系结构中,每个主机都是对等的,他们之间直接通信. R5.IP地址,端口号. R6.TCP,数据不能丢失,udp不可靠,无保障.