《计算机网络-自顶向下方法》学习随记 -- 计算机网络和因特网章节


ps: 我的笔记都以看书过程中记录觉得比较重要的文字句子,偶尔会有一点个人的梳理( 书本本身已经说地很详细了 )

计算机网络和因特网

1.3 网络核心

ISP 因特网服务提供商 Internet Service Provider, ISP

在这里插入图片描述

1.3.1 分组交换

在各种网络应用中,端系统彼此交换报文(message)。报文能够包含设计者需要的任何东西。报文可以执行一种控制功能,比如 “你好”, “你也是”( 我理解成交互 ),也可以包含数据,例如电子邮件数据, JPEG 图像或者 MP3 音频文件。为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为 分组(packet) 。在源和目的地之间,每个分组都通过通信链路和 分组交换机(packet switch) 传送。(交换机主要有两类:路由器(router)链路层交换机(link-layer switch)) 分组以等于该链路最大传输速率的速度传输通过通信链路。因此,如果某源端系统或分组交换机经过一条链路发送一个 L 比特的分组,链路的传输速率为 R 比特/秒,则传输该分组的时间为 L/R

转发时延

多数分组交换机在链路的输入端使用**存储转换传输(store-and-forward transmission)**机制。存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
在这里插入图片描述

排队时延和分组丢失

每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个 输出缓存 (output buffer, 也称为 输出队列 (output queue)), 它用于存储路由器准备发往那条链路的分组。该输出缓存在分组交换中起着重要的作用。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输出缓存的排队时延。这些时延时变化的,变化的成都取决于网络的拥塞成都。因为缓存空间的大小时有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现 分组丢失(丢包)(packet loss),到达的分组货已经排队的分组之一将被丢弃

转发表和路由选择协议

在因特网中,每个端系统具有一个称为 IP 地址的地址。当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的 IP 地址。如同邮政地址那样,该地址具有一种等级结构。当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。更特别的是,每台路由器具有一个 转发表(forwarding table) ,用于将目的地址(或目的地址的一部分) 映射称为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。

因特网具有一些特殊的 路由选择协议(routing protocol) ,用于自动地设置这些转发表。例如,一个路由选择协议可以决定从每台路由器到每个目的地地最短路径,并使用这些最短路径结果来配置路由器地转发表

可以用 traceroute 跟踪所经过的路由
在这里插入图片描述

返回星星是因为隐藏了,不让我知道(淦)

1.3.2 电路交换

在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源是不预留的;会话的报文按需使用这些资源,其候过是不得不等待(即排队)介入通信电路。

如下图,这是一个电路交换网络。在这个网络中,用 4 条链路互联了 4 台电路交换机,这些链路中的每条都有 4 条电路,因此每条链路能够支持 4 条并行的连接。每台主机都与一台交换机直接相连。当两台主机要通信时,该网络在两台主机之间创建一条专用的 端到端连接(end-to-end connection)。因此,主机 A 为了向主机 B 发送报文,网络必须在两条链路的每条上先预留一i套电路。在这个例子中,这条专用的端到端连接使用第一条链路中的第二条电路和第二条链路中的第四条电路。因为每条链路具有 4 条电路,对于由端到端连接锁使用的每条链路而言,该连接在连接期间获得链路总传输容量的 1/4

在这里插入图片描述
链路中的电路是通过 频分复用(Frequency-Division Multiplexing, FDM)时分复用(Time-Division Multiplexing, TDM) 来实现的。对于 FDM , 链路的频谱由跨越链路创建的所有连接共享。特别是,在连接期间链路为每条连接专用一个频段。在电话网络中,这个频段的宽度通常是 4kHz 即每秒 4000 周期。毫无以为,该频段的宽度称为 带宽

对于一条 TDM 链路,时间被划分为固定期间的帧,并且每个帧又被划分为固定数量的时隙。当网络跨越一条链路创建一个连接时,网络在每个帧中为该连接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用与传输该连接的数据。

1.4 分组交换网中的时延、丢包和吞吐量

1.4.1 分组交换网中的时延概述

分组从一台主机(源)出发,通过一系列路由器传输,在另一台主机(目的地)中结束它的历程。当分组从一个节点(主机或路由器)言这这条路径到后记节点(主机或路由器),该分组在沿途的每个节点经受了几种不同类型的时延。这些时延最为重要的是
节点处理时延(nodal processing delay)排队时延(queuting delay)传输时延(transmission delay)传播时延(propagation delay),这些时延总体累加起来是 节点总时延(total nodal delay)

  • 处理时延
    检查分组首部和决定改分组导向何出所需要的时间是 处理时延 的一部分。
  • 排队时延
    在队列中,当分组在链路上等待传输时,它经受 排队时延
  • 传输时延
    假定分组以先到先服务方式传输 ---- 这在分组交换网中时常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。用 L 比特表示该分组的长度,用R bps(b/s) 表示从路由器 A 到路由器 B 的链路传输速率。例如,对于一条 10Mbps 的以太网链路,速率 R = 10Mbps; 对于 100Mbps 的以太链路,速率 R = 100Mbps传输时延L / R。这是将所有分组的比特推向链路(即传输,或者说发射)所需要的时间。实际的传输时延通常在毫秒到微秒量级
  • 传播时延
    一旦一个比特被i推向链路,该比特需要向路由器 B 传播。从该链路的起点路由器 B 传播所需要的时间是 传播时延
  • 传输时延和传播时延的比较
    传播时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。另一方面,传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关

协议分层

因特网的协议栈由 5 个层次组成:物理层、链路层、网络层、运输层和应用层

应用层

应用层是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如 HTTP( 它提供了 Web 文档的请求和传送 )、SMTP( 它提供了电子邮件报文的传输 ) 和 FTP ( 它提供了两个端系统之间的文件传输 )。
某些网络功能,如将 www.baidu.com 这样对人友好的端系统名字转换为 32 比特的网络地址,也是借助于特定的应用层协议即域名系统 ( DNS ) 完成的。本书第二章将看到,创建并部署自己的新应用层协议是非常容易的

应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们把这种位于应用层的信息分组称为 报文( message )

运输层

因特网的运输层在应用程序端点之间传送应用层报文。在因特网中,由两种运输协议,即 TCP 和 UDP,利用其中的任一个都能运输应用层报文。 TCP 向它的应用程序提供了面向连接的服务。TCP 也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。UDP 协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞控制。在本书中,把运输层的分组称为 报文段( segment )

网络层

因特网的网络层负责将称为 数据包( datagram ) 的网络分组从一台主机异动到另一台主机。在一台源主机中的因特网传输层协议( TCP 或 UDP ) 向网络层递交运输层报文段和目的地址,就像你通过邮政服务寄信件时提供一个目的地址一样

因特网的网络层包括著名的网际协议 IP,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用域这些字段。IP 仅有一个,所有具有网络层的因特网组件必须运行 IP。因特网的网络层也包括决定路由的路由选择协议,它根据该路由将数据报从源传输到目的地。因特网具有许多路由选择协议。尽管网络层包括了网际协议和一些路由选择协议,但通常把它简单地称为 IP 层,这反映了 IP 是将因特网连接在一起的粘合剂这样的事实

链路层

因特网的网络层通过源和目的地之间的一系列路由器路由数据包。为了将分组从一个节点( 主机或路由器 ) 移动到路径上的下一个节点,网络层必须依靠该链路层的服务。特别是在每个节点,网络层将数据包下传给链路层,链路层沿着路径将数据报传递给下一个节点。在该下一个节点,链路层将数据报上传给网络层

因为数据报从源到目的地传送通常需要经过几条链路,一个数据包可能被沿途不同链路上的不同链路层协议处理。例如,一个数据包可能被一段链路上的以太网和下一段链路上的 PPP 所处理。网络层将收到来自每个不同的链路层协议的不同服务。在本书中,把链路层分组称为 帧( frame )

物理层

虽然链路层的任务是将整个帧从一个网络元素移动到临近的网络元素,而物理层的任务是将该帧中的一个个比特从一个节点移动到下一个节点。在这层中的协议仍然是链路相关的,并且进一步与该链路( 例如,双绞铜线,单模光纤 )的实际传输媒体相关,例如,以太网具有许多物理层协议:一个是关于双绞铜线的,另一个是关于同轴电缆的,还有一个是关于光纤的,等等。在每种场合中,跨越这些链路移动一个比特是以不同的方式进行的。

OSI 模型

OSI 参考模型是七层模型:应用层、表示层、会话层、运输层、网络层、链路层、物理层

封装

下图是传输过程中很重要的概念图
在这里插入图片描述
封装

在发送主机端,一个 应用层报文( application-layer message ) ( 图中的 M ) 被传送给运输层 。在最简单的情况下,运输层收取到报文并附上附加信息( 所谓运输层首部信息,图中的 Ht ),该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了 运输层报文段( transport layer segment )。运输层报文段因此封装了应用层报文。附加的信息也许包括了下列信息:

  • 允许接收端运输层向上向适当的应用程序交付报文的信息;
  • 差错检测位信息,该信息让接收方能够判断报文中的比特是否在图中已被改变

然后,运输层向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息( 如图重的 Hn ),生成了 网络层数据包( network-layer datagram )。该数据包接下来被传递给链路层,链路层( 自然而然地增加它自己地链路层首部信息并生成 链路层帧( link-layer frame ) )。所以我们看到,在每层,一个分组具有两种类型地字段: 首部字段和 有效载荷字段( payload field )。有效载荷通常是来自上一层地分组

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Artintel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值