计算机网络读书笔记(一)

一. 计算机网络和因特网

1.什么是因特网

1.1 因特网的具体构成描述

因特网是一个世界范围的计算机网络,在因特网中,所有接入因特网的设备都被称为主机端系统

端系统通过通信链路分组交换机连接到一起。不同的链路能够以不同的速率传输数据,链路的传输速率以比特/秒(bit/s)度量。当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包用计算机网络的术语来说称为分组。这些分组通过网络发送到目的端系统,并在那里被装配成初始数据。

分组交换机从它的一条通信链路接收到达的分组,并从它的一条出通信链路转发该分组。最著名的分组交换机类型是路由器链路层交换机。链路层交换机通常用于接入网,而路由器通常用于网络核心。一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径

端系统通过因特网服务提供商(ISP)接入因特网,每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络。ISP提供各种不同类型的网络接入,也为内容提供者提供英特网接入服务

端系统、分组交换机和其他因特网部件都要运行一系列协议,这些协议控制因特网中信息的接收和发送。TCPIP是因特网中两个最为重要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式,因特网的主要协议统称为TCP/IP。因特网标准是由因特网工程任务组(IETF)研发。

1.2 服务描述

与因特网相连的端系统提供了一个套接字接口,该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统系统上的特定目的地程序交付数据的方式,因特网套接字接口是一套发送程序必须遵守的规则集合
(在大概9月,10月左右会看Linux网络编程的书籍,到时候会详细总结)

1.3 协议

协议定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他时间所采取的动作。回顾之前所说,我们在由发送端向接收端发送数据时,会将数据分段并加上一些额外的信息,这些信息加什么有什么含义,就是通过协议来规定的,通过协议我们在发送端加入这些额外信息,在接收端来理解这些额外信息。


2.网络边缘

通常把与因特网相连的计算机和其他设备称为端系统,因为他们为于因特网的边缘。

2.1 接入网

接入网:将端系统物理连接到其边缘路由器的网络,边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。

DSL:这是一种宽带住宅接入的方法,它的ISP是本地电话公司。其使用的通信链路的物理材质为电话线,是一种双绞线。用户使用DSL调制解调器通过电话线与ISP中的数字用户线接入复用器(DSLAM)来交换数据;家庭DSL调制解调器将数字数据转换为高频音后通过电话线传输到ISP中心,并且通过DSL解调器将DSLAM发送过来的模拟信号转为数字信号

电缆:这是另一种宽带住宅接入方法,它的ISP是有线电视公司。其使用的通信链路的物理材质有光纤和同轴电缆,也被称为混合光纤同轴(Hybrid Fiber Coax HFC);用户使用电缆调制解调器通过同轴电缆与光纤结点相连,光纤结点通过光缆与电缆头端相连,而电缆头端接入了因特网。在电缆头端,电缆调制解调器端接系统(Cable Modem Termination System)起到DSLAM的作用,即实现模拟信号和数字信号的转换;

FTTH:光纤到户这里主要是指使用光纤作为通信链路的材质,有两种竞争性的光纤分布方案,一种是主动光纤网络(Active Optical Network),另一种是被动光纤网络(Passive Optical Network).其主要区别在于,是否在传输数据时共享光纤。

以太网和WIFI:以太网接入是一种在公司、大学、家庭里很流行的接入方式;用户使用双绞线与以太网交换机相连,从而接入因特网;接入以太网交换机的速度可达100Mbps;在无线局域网中,无线用户从一个接入点发送和接收数据,而该接入点与企业网相连,企业网最终接入因特网;在无线LAN中,用户需要在一个接入点的几十米范围之内。

广域无线接入:在移动设备中,通过蜂窝网提供商运营的基站来发送和接收分组,与WIFI不同的是,用户仅需要位于基站的数万米范围之内即可。

2.2 物理媒体

物理媒体分为两类:导引形媒体非导引型媒体
导引型媒体:电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆。
非导引型媒体:电波在空间或外层空间中传播,例如在无线局域网或数字卫星频道。

2.3 网络核心

2.3.1 分组交换
为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组。在源和目的地之间,每个分组都通过通信链路和分组交换机传送。分组以等于该链路最大传输速率的速度传输通过该通信链路。

存储转发
多数分组交换机在链路的输入端使用存储转发传输。存储转发是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

也就是说,每传入一个结点后,先全部存储再进行转发,因为如果不存储,一接收到就直接转发的话,下一个链路就会被占用,相应的网络传输就会变为了专用,失去了共享能力,这样就与电路交换没有区别了(详见下一小节)。

排队时延和分组丢弃:
每台分组交换机有多条链路与之相连,对于每条相连的链路,该分组交换机具有一个输出缓存,也成为输出队列,它用于存储路由器准备发往的那条链路的分组。

如果达到速率>链路的输出速率:分组将会排队,等待传输,因此此时,除了存储转发时延外,分组还要承担输出缓存的排队时延。如果路由器缓存用完了,分组将会被丢弃,也就是会发生分组丢失(丢包)的情况。

转发表和路由协议
先介绍几个概念:
路由:决定分组采用的源到目标的路径。
转发:将分组从路由器的输入链路转移到输出链路

当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。每台路由器具有一个转发表,用于将目的地址(或目的地址的一部分)映射称为输出链路。而这些转发表是通过一些特殊的路由选择协议来自动地设置它们。

2.3.2 电路交换
将通信链路分为独立的很小的各类片段,每次通过这些小片段来连接。在电路交换中,在端系统通信会话期间,交换机会预留端系统间通信路径上的相关资源(缓存),即先建立连接,然后通信,由于此时这部分的资源是被占用的,因此此时别人无法使用这段资源。(联想传统的家庭电话)

频分复用(TDM):是指将时间划分为固定区间的帧,每个帧则又被划分为固定数量的时间空隙;当网络需要建立一条连接时,网络将在每个帧中为该连接指定一个时隙;在该时隙内,链路用来传输该链接的数据;
频分复用(FDM):将频率域划分为频段,然后将频段分配给连接;此频段被用来专门传输链接的数据。该频段的宽度成为带宽.

分组交换和电路交换的对比:
分组交换的优点:

它提供了比电路交换更好的带宽共享;
它比电路交换更简单、更有效、实现成本更低;

分组交换的缺点:

分组交换不适合实时服务,因为端到端的时延是可变、不可预测的,这和整个网络的情况相关;

电路交换的优点:

提供了端对端传输数据的速率保证;

电路交换的缺点:

电路交换存在静默期,这是指专用电路空闲时,其占用的资源并没有得到充分的利用;
建立连接的过程比较复杂;

总体上来说,分组交换的性能要好于电路交换的性能,但是不同类型的分组交换方式有不同的应用场景。

2.3.3 网络的网络
ISP:提供各种不同类型的网络接入,也为内容提供者提供英特网接入服务,各类不同的ISP于其上层的ISP相连。
ICP:提供业务的企业,例如谷歌、百度等。

我们在什么是因特网 一节中介绍ISP,端系统是通过ISP接入因特网的,为了实现端系统的互联,ISP也必须互联,其实网络模型就是用来表达ISP和端系统以及ISP之间的结构的抽象;

网络结构1:存在唯一的全球承载ISP互联所有的接入ISP,这是指,全球ISP是一个又路由器和通信链路构成的网络,该网络跨越全球,并且其他的接入ISP都至少和一个它的路由器相连;

网络结构2:存在多个全球承载ISP,它们分别于一部分的接入ISP互联;为了实现端系统的互联,这多个全球ISP也必须互联;网络结构是一个两层结构,其中全球承载ISP位于顶层,接入ISP处于底层;

网络结构3:顶层全球承载ISP基本上已经定型,但是接入ISP现在还很混乱,比如,它们直接同顶层ISP相连;而网络结构3中,接入ISP也是分层的:较小区域中的ISP连入较大区域的ISP,而不是直接与顶层ISP相连;为什么会出现这样的结构呢?这是因为,如果都直接同顶层ISP相连,那么两个同一较小区域内,分属不同ISP的端系统之间通信的数据也会到顶层ISP中心去一趟,如果它们不是直接接入顶层ISP,而是接入了一个较大区域的ISP,那么它们之间的通信数据就不用去顶层ISP中心了,因为它们通过较大区域的ISP已经实现了互连,所以通信速度肯定就上去了。

网络结构4:是在网络结构3的基础上,增加了以下特点而形成的结构:存在点(Point of Presence,PoP)、多宿、对等、因特网交换点(Internet exchange point,IXP)。

PoP存在于等级结构中所有层次,但是底层ISP除外;一个PoP是ISP网络中的一台或者多台路由器群组,其中客户ISP能够通过第三方提供的高速链路直接将它的路由器和供应商的PoP连接,从而实现与提供商ISP连接。这样接入速度很明显就提高了。
多宿(multi-home)是指,任何ISP(除第一层ISP)都可以与两个或者多个提供商ISP连接,这被称为多宿;这样网络的可靠性就提高了
对等(peer) 是指,位于相同等级结构层次的一对邻近ISP能够直接将它们的网络连接到一起,使它们之间流量经直接连接而不是经过上游的中间ISP传输,这样既不用付费,速度也可能会快一些;
因特网交换点是为了实现多个ISP可以对等而创建的。

网络结构5:网络结构5是在网络结构4的基础上增加了内容提供商网络而构成。内容提供商构建自己的网络,并且通过与较低层ISP对等而“绕过”较高层因特网ISP,而且内容提供商对端用户也有了更多的控制。
该部分转自:https://blog.csdn.net/qq_39326472/article/details/88089747

总体而言,整个网络就像俄罗斯套娃一样,一层接着一层向下衍生,每个网络又包含这其他的网络,总体而言十分复杂。

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

因特网可以看成是一种基础设施,该基础设施为运行在端系统上的分布式应用提供服务。计算机网络必须要限制在端系统之间的吞吐量,在端系统之间引入时延,而且实际上也会丢失分组。

2.4.1 分组交换网中的时延概述
分组从一个结点(主机或路由器)沿着这条路径到后继结点(主机或路由器)的路途中,经受了几种不同类型的时延。这些时延最为重要的是结点处理时延排队时延传输时延、和传播时延,这些时延总体累加起来是结点总时延

时延的类型:
(1):处理时延:检查bit级差错,检查分组首部和决定将分组导向处理。
(2):排队时延:分组在链路上等待传输时,在输出链路上等待传输的时间,一个特定分组的排队时延长度取决于先期到达的正在排队等待向链路传输的分组数量,也就是说,排队时延取决于路由器的拥塞状态。
(3):传输时延:传输时延是将所有分组的比特推向链路所有需要的时间,实际的传输时延通常在毫秒到微秒数量级。用L表示分组的长度,用Rbps表示从路由器A到B的链路传输速率。传输时延是L/R。
(4):传播时延:一个比特被推向链路,该比特需要向路由器B传播。从该链路的起点到路由器B传播所需要的时间是传播时延。
(5):传输时延和传播时延的比较:传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,与两台路由器之间的距离无关;传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间。

2.4.2 排队时延和丢包
排队时延的大小取决于流量到达该队列的速率、链路的传输速率和到达流量的性质,即流量是周期性到达还是以突发形式到达。通常使用流量强度来描述平均排队时延的大小,如果流量强度等于0,则几乎没有分组到达并且到达间隔很大,此时平均排队时延为0;当流量强度接近1时,当到达速率超过出传输能力时,平均排队时延将会徐速增加。
丢包:由于在实际链路中,排队容量是优先的,因此当流量强度接近1的时候,排队时延并不真正趋向无穷大。相反,到达的分组将发现一个满的队列,由于存储空间已经用完,因此路由器将丢弃该分组,即该分组将丢失。

2.4.3 端到端时延
我们假设在每台路由器和源主机上的处理时延是dproc,每台路由器和源主机的输出速率是R bps,每条链路的传播时延是drop。结点时延累加起来得到端到端时延。
在这里插入图片描述
在书中所描述的Traceroute,它的工作原理是使用ICMP协议:分组每经过一跳后,TTL减1,当TTL减为0时,路由器会将这个帧丢弃,并且这个路由会将错误返回到源地址。

2.4.4 计算机网络中的吞吐量
吞吐量是指源端和目标端之间传输的速率(数据量/单位时间),也就是说,对于发送端而言,吞吐量是发送数据的速度,而对于接收端而言,吞吐量是指接收数据的速度;对于某一结点而言,在该节点的吞吐量取决于该节点作为发送或接收端的最小值;而对于某一链路而言,限制端到端的吞吐量取决于其中吞吐量最小的那一段链路,也就是瓶颈链路。

2.5 协议层次及其服务模型

网路是复杂的,从逻辑上来讲,当我们发送一个分组到目的地址的时候,从我们当前端直接发送到目的端即可。但是对于网络而言,本质上是通过复杂的结构以及各类不同的协议一同协作完成的。

2.5.1 分层的体系结构
利用分层的体系结构,我们可以讨论一个大而复杂系统的定义良好的特定部分。这种简化本身由于提供模板化而具有很高的价值,这使某层提供的服务易于改变,只要该层对其上层的层提供相同的服务,并且使用来自下面层次的相同服务,当某层的实现变化时,系统的其余部分保持不变。
为了给网络协议的设计提供一个结构,网络设计者以分组的方式组织协议以及实现这些协议的网络硬件和软件。
再次关注于服务,本层的服务就是就是借助下层服务实现的本层协议实体之间交互带来的新功能,而协议借助下层的服务才能实现,协议实现的目的是为了向上层提供更好的服务

将这些综合起来,各层的所有协议被称为协议栈。因特网的协议栈有5个层次组成:物理层链路层网络层传输层应用层
(1) 应用层:
应用层是网络应用程序以及它们的应用层协议存留的地方。应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们把这种位于应用层的信息分组称为报文

(2) 传输层:
因特网的传输层在应用程序断电之间传送应用层报文,使得从进程到另一个进程传输,并使得网络层中不可靠的服务变可靠。其中主要两种运输协议分别是TCP和UDP。我们把运输层传输的分组称为报文段

(3) 网络层:
网络层负责将陈伟数据报的网络层分组从一台主机移动到另外一台主机,它解决了端到端之间的传输,并以分组为单位。它提供的是一种尽力而为的作用,因此是不可靠的。网络层的著名协议是IP协议。

(4) 链路层:
网络层通过和目的地之间的一系列路由器路由数据报,它保障的是从一个子网到另一个子网的传输。为了将分组从一个结点移动刀路径的下一个结点,网络层必须依靠该链路层的服务,由链路层提供的服务取决于应用于该链路的特定链路层协议,我们把链路层分组称为

(5) 物理层:
将帧中的一个个比特从一个节点移动到下一个节点,这层中的协议仍然是是链路相关的,并且进一步与实际传输媒体相关。

OSI模型
osi模型:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。

2.5.2 封装
在发送端,一个应用层报文被传送给传输层,在最简单的情况下,传输层收取到报文并附上附加信息,该首部将被接收端的运输层使用。应用层报文和传输层首部信息一道构成了运输层报文段,运输层报文段因此封装了应用层报文,也就是我们所说的头部信息,在经过每一个不同的层时,都会加上该层的头部信息来封装传来的数据,从而让这段数据在传入到下一层时带有本段的信息,用于接收端来识别。

参考文献:《计算机网络自顶向下方法》

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值