计算机网络自顶向下方法学习笔记--第一章

计算机网络自顶向下方法学习笔记–第一章

先简单说两句吧哈哈O(∩_∩)O
被计算机网络折磨了很久,始终就是不情愿花时间去把它学会。直到上学期不好好学见证了现实的残酷/(ㄒoㄒ)/~~
所以下定决心重新系统的一下计算机网络!

其实刚刚拿到书的时候打算第一章粗略看看就得了,主要从第二章开始看。也是由于大三的时候学过这门课,加上上学期稀里糊涂用了点,就把第一章大多数仔细看了,确实整体的脉络有了一个清晰的理解。
下面就开始第一章的总结吧:

1.1因特网相关介绍

1.计算机网络的主要目的是理解网络协议的构成、原理、工作方式

2.各种联网的设备都成为主机和端系统,20年将达到250亿
端系统通过通信链路和分组交换机连接到一起。通信链路的物理媒体包括:同轴电缆、铜线、光纤、无线电频谱。不同链路具有不同的传输速率bit/s

3.分组:一台主机向另一台主机发送数据时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包叫做分组

4.分组交换机:有路由器和链路层交换机两种。
从入通信链路接收分组,从出通信链路发送分组。
分组交换机常用的就是路由器,常用于网络核心中。
链路层交换机,常用于接入网中

从发送端到接收端一个分组所经历的通信链路和分组交换机称为通过该网络的路径。分组会选取计算机网络的一条路径前行

端系统通过因特网服务提供商(ISP)接入因特网,自身是由多台分组交换机和多段通信链路组成的网络。

为内容提供者提供因特网接入服务。
分组交换机只加速主机之间的数据交换,与应用程序无关

5.因特网:因特网就是将端系统彼此互联,因此为端系统提供接入的ISP也必须互联。端系统、分组交换机和其他因特网部件都要运行一系列协议,控制因特网中信息的接收和发送。

因特网的主要协议统称为TCP/IP(传输控制协议/网际协议)
IP协议定义了路由器和端系统之间发送和接收的分组格式。
因特网工程任务组(IETF)的标准文档称为请求评论(RFC)
定义了TCP、IP、HTTP(用于Web)、SMTP(用于电子邮件)等协议

分布式应用程序:涉及多个相互交换的端系统
套接字接口:规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交互数据的方式

6.协议:定义了在两个或者多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。不同的协议用于完成不同的通信任务。

人类的协议中有我们发送的特定报文,也有根据接收到的应答报文或其他事件(例如在某个给定的时间内没有回答)采取的动作。完成一项工作要求两个或多个通信实体运行相同的协议。(请求与响应、提问与回答)

硬件实现的协议控制了两块网络接口卡间的“线上”的比特流
在端系统中,拥塞控制协议控制了发送方和接收方之间传输的分组发送速率
路由协议决定了分组从源到目的地的路径

1.2网络边缘

1.通常把因特网相连的计算机和其他设备成为端系统,它们位于因特网的边缘,包括了桌面计算机、移动计算机和服务器。端系统也被成为主机,主机有时被进一步划分为客户端和服务器端。服务器用来存储和发布Web页面、流视频、中继电子邮件等

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

宽带住宅接入有两种流行的类型:数字用户线(DSL)和电缆
每个用户的DSL调制解调器使用现有的电话线(双绞铜线)与位于电话公司的本地中心局中的数字用户线接入复用器(DSLAM)交换数据

家庭电话线同时承载了数据和传统的电话信号,它们用不同的频率进行编码。50kHz-1MHz高速下行信道,4kHz-50kHz中速上行信道,0-4kHz普通的双向电话信道

使得单根的DSL线路看起来就像有3跟单独的线路一样,因此一个电话呼叫和一个因特网连接能够同时共享DSL链路。
在用户一侧,一个分配器把到达家庭的数据信号和电话信号分隔开,并将数据信号转发给DSL调制解调器。
在电话公司一侧,在本地中心局中,DSLAM把数据和电话信号分开,并将数据送往因特网。

DSL上行速率和下行速率不同,这种接入也被称为不对称的。
实际的传输速率与家庭距离本地中心局的距离,双绞线规格,电器干扰程度都有关,都让最大传输速率受限。

电缆调制解调器通过一个以太网端口连接到家庭PC。电缆调制解调器端接系统(CMTS)与DSLAM类似,将模拟信号转回数字形式。也是有上行下行两个信道,也不对称。下行比上行高,也不一定能达到最大可取的速率。
电缆因特网接入是共享广播媒体。传输速率与使用用户数量有关。

3.光纤到户(FTTH):从本地中心局直接到家庭提供一条光纤路径。最简单的光纤分布网络是直接光纤,从本地中心局道每户设置一根光纤。
一般的是,从中心局出来的每根光纤由许多家庭共享。
光纤分布分为主动光纤网络(AON)和被动光纤网络(PON)。
光纤网络端接器ONT(每家一个)
光纤线路端接器OLT(在中心局)
光纤分配器把一些家庭集结到一条共享的光纤,如图所示:
在这里插入图片描述
FTTH有潜力提供每秒千兆比特范围的因特网接入速率。某些偏远环境会用卫星链路将住宅与因特网相连接。
许多企业,家庭,学校使用局域网(LAN)将端系统连接到边缘路由器,以太网是最为流行的接入技术。
家庭将宽带住宅接入与廉价的无线局域网结合产生了家用的WIFI

4.物理媒体:
混合光纤同轴(HFC)使用了光缆和同轴电缆结合的技术。
DSL和以太网使用的是双绞铜线。

一个比特的传输流程就是从一个端系统出发,通过一系列链路和路由器,到达另一个 端系统的过程。这个比特被传输了非常多次。传输过程中会跨越物理媒体,传播电磁波和光脉冲。

物理媒体例子包括:双绞铜线,同轴电缆,多模光纤缆,陆地无线电频谱和卫星无线电频谱。物理媒体又分成导引形和非导引形。

双绞铜线:最便宜最常用的导引形传输媒体,传输速率取决于线的粗细和传输距离。
同轴电缆:有两个铜导体组成,产生的模拟信号从发送设备传送到一个或者多个接收方。同轴电缆能被用作导引形共享媒体,每个端系统都能接收由其他端系统发送的内容。
光纤:能够引导光脉冲的媒体,每个脉冲表示一个比特,极高速率,广泛用于因特网主干。
陆地无线电信道:承载电频谱中的信号,不需要安装物理线路,提供与用户的连接以及长距离承载信号的能力,极大地依赖于传播环境和信号传输的距离。
卫星无线电信道:一颗通信卫星连接地球上两个或多个微波发射器/接收器,用于那些无法使用DSL或电缆因特网接入的区域。

1.3网络核心

1.分组交换:端系统彼此交换报文,报文能够包含协议设计者需要的任何东西。源系统向目的系统发送一个报文时,源会将长报文划分成多个较小的分组。
每个分组再通过通信链路和分组交换机(主要有:路由器,链路层交换机)传送。分组以等于该链路最大传输速率的速度传输通过通信链路。

2.存储转发传输:多数分组交换机在链路的输入端使用,指在交换机能够开始向输入链路传输该分组的第一个比特之前,必须接收到整个分组。也就是当路由器已经接收完了该分组的所有比特后,它才能开始向出链路传输。过程中会缓存比特,直至接收到整个分组。

3.每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机有一个输出缓存(输出队列),用于存储路由器准备发往那条链路的分组。
路由器从与它相连的一条通信链路得到分组,然后向与它相连的另一条通信链路转发分组。

4.每个端系统具有一个成为IP地址的地址,源向目的发送一个分组时,源在该分组的首部包含了目的地的IP地址。
每台路由器具有一个转发表,用于将目的地址映射成为输出链路。当某一分组到达路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,发现适当出链路(路由选择协议选路径),路由器则将分组导向该出链路。(TraceRoute)

5.电路交换网络中,在端系统间通信会话期间,预留了端系统间沿着路径通信所需要的资源(缓存,链路传输速率)。分组交换网络中,这些资源不是预留的,就会出现排队现象。

6.我们现在最终达到了网络结构5,描述了现如今的因特网,在网络结构4的顶部加入了内容提供商网络。IXP是因特网交换点,它是一个汇合点,多个ISP能够在这里对等。ISP的互联如图所示:
在这里插入图片描述
今天的因特网是网络的网络,结构复杂,有十多个第一层ISP和数十万个较低层的ISP组成。
ISP的覆盖区域多种多样。较低层的ISP和较高层的ISP相连,较高层的ISP彼此互联。

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

1分组交换网中的时延:
当分组从一个节点沿着这条路径到后继节点,该分组沿途的每个节点经受了几种不同类型的时延。最为重要的有:

处理时延:检查分组首部和决定该分组导向何处所需要的时间是一部分。还包括其他因素,如检查比特级别的差错所需要的时间。
排队时延:在队列中,当分组在链路上等待传输时,它就有排队时延,队列空排队时延为0,队列等待的分组越多,排队时延越长。所以它对于不同的分组是不同的。
传输时延:路由器推出分组所需要的时间,是分组长度和链路传输速率的函数,和两台路由器之间的距离无关。
传播时延:是一个比特从一台路由器传播到另一台路由器所需要的时间,是两台路由器之间距离的函数,和分组长度和链路传输速率无关。

2.流量强度:
排队时延取决于流量到达该队列的速率、链路的传输速率和到达流量的性质。假设所有分组都是由L比特组成的,a表示分组到达队列的平均速率,R是传输速率,比率La/R被定义为流量强度。

如果流量强度>1,表示到达队列的平均速率超过从该队列传输出去的速率,队列的流量无限增加,排队时延会无穷大,设计系统时不能出现。
若流量强度趋于1,则平均排队长度越来越长。
队列只有有限的容量,排队容量极大地依赖于路由器设计和成本

其中,到达队列的过程是随机的,不遵循任何模式,时间间隔也是随机的。
如果分组到达某条链路时,链路正忙时该分组就要到输出队列中等待,也就出现了排队时延。

3.丢包:由于缓存空间大小有限,缓存满了就会出现丢包,到达的分组和排队的分组之一会被丢弃。
分组丢失的比例随着流量强度增加而增加,一个节点的性能常常不仅根据时延来度量,而且根据丢包的概率来度量。

4.TraceRoute:
当用户指定一个目的主机名字时,源主机中的该程序朝着目的主机发送多个特殊的分组。经过一系列路由器,它向源回送一个短报文,该短报文包括路由器的名字和地址,往返时延。
因为排队时延随时间变化,所以分组n发送到路由器n的往返时延实际上可能比分组n+1发送到路由器n+1的往返时延更长。

5.其他时延:端系统中还有一些其他时延,希望向共享媒体传输分组的端系统可能有意的延迟传输,把这作为它与其他端系统共享媒体协议的一部分。还有媒体分组化时延,出现在IP语音中。

6.吞吐量:另一个重要的性能测度时端到端的吞吐量。
假设从主机A向主机B传输一个大文件。在任何时间瞬间的瞬时吞吐量是主机B接收到该文件的速率(bps计)。主机B接收到所有F比特用去T秒,则平均吞吐量。最大吞吐量是一台路由器能够转发分组的最大速率。

服务器到客户的文件传输吞吐量就是所有节点传输速率的最小值,也就是瓶颈链路的速率。

现在通常限制吞吐量的是接入网,核心部分都具有高速率,瓶颈链路只出现在接入网。但是如果客户和服务器过多,一条具有高速率的链路仍然可能成为文件传输的瓶颈链路。

1.5协议分层

1.协议分层:各层的所有协议被称为协议栈,有5层,分别为:应用层,运输层,网络层,链路层,物理层。本书采用的是自顶向下方法。

2.应用层:应用层协议存留的地方。HTTP(Web文档的请求和发送),STMP(电子邮件报文的传输),FTP(两个端系统之间的文件传送),DNS(域名解析)
应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。位于应用层的信息分组称为报文。

3.运输层:在应用程序端点之间传送应用层报文。
两种运输协议TCP,UDP。
TCP提供面向连接的服务,TCP将长报文划分为短报文,并提供拥塞控制机制。当网络拥塞时,源抑制其传输速率。UDP无连接服务,不可靠,没有流量控制,拥塞控制。运输层的分组称为报文段。

4.网络层:因特网的网络层负责(将称为数据报的)网络层分组,从一台主机移动到另一台主机。
在一台源主机中的因特网运输层协议(TCP/UDP)向网络层递交运输层报文段和目的地址。网络层包括了网际协议IP和路由选择协议,网络层也可简单称为IP层。
为了将分组从一个节点移动到路径上的下一个节点,网络层必须依靠链路层的服务。

5.链路层:网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点。
在该下一个节点,链路层将数据报上传给网络层。由链路层提供的服务取决于应用于该链路的特定链路层协议。网络层将受到来自每个不同链路层协议的不同服务。链路层分组称为帧

6.物理层:将该帧中的一个个比特从一个节点移动到下一个节点,进一步与该链路的实际传输媒体相关(双绞铜线,单模光纤)跨越这些链路移动一个比特是以不同方式进行的。

7.OSI模型中还有表示层和会话层,在应用层之下。
表示层:是通信的应用程序能够解释交换数据的含义.
会话层:提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法。

8.协议栈的工作流程如图:
在这里插入图片描述
路由器和链路层交换机都是分组交换机。路由器实现了第一到三层,链路层交换机实现了第一层和第二层。也就是说因特网路由器能够实现IP协议,而链路层交换机不可以。

整个流程中包含了封装的过程:

应用层报文被传送给运输层,最简单的情况下,运输层收到报文附上附加信息(首部),首部将被接收端的运输层使用。也就构成了一道运输层报文段。运输层报文端也就封装了应用层报文。

附加信息还包括:交付报文的信息,差错检测位信息,该信息让接收方能够判断报文中的比特是否在途中已被改变。

接下来运输层向网络层传递该报文段,网络层增加网络层首部信息(如源和目的端系统的地址),生成了网络层数据报。

然后传给链路层,链路层增加它自己链路层首部信息并生成链路层帧。
所以一个分组具有两种类型的字段:
首部字段+有效载荷字段(来自上一层的分组)

以上就是第一章我总结出的全部内容了,花时间去看去理解确实能找到些许乐趣,希望能坚持把这课拿下来!(还没完,还有~~)


为了拿下这个课听取了朋友们和网上的建议,制定了一波学习目标:

1.TCP/IP协议栈的体系认知:
用户用的只有应用层协议,其他层协议都是内核的,下一层对上一层透明,传输对等。
从应用层开始主要看OSI中的那5层,把每层的工作连起来。

2.应用层:
DNS协议:命名空间,指针查询,基本原理,缓存
FTP协议:控制连接,数据连接,工作模式
FTP指令,响应码,FTP断电,续传,匿名FTP
HTTP协议:请求报文(头),响应报文(头),HTTP状态码
https握手过程,摘要算法,数字签名,数字证书,原理,过程

3.运输层:
TCP特点,报文,首部
连接控制:三次握手,四次挥手,同时打开,关闭,半关闭
TCP流量控制:滑动窗口,慢启动,拥塞避免,快速重传,快速恢复,超时重传,四个定时器,伪报头
UDP特点,报文,首部字段

4.网络层:
IP首部格式,IP分片,IP选路(路由表,路由选择协议)
ICMP协议,报文,差错检验

5.链路层:
以太网帧格式,MTU概念,ARP协议(报文格式,查询原理,缓存)

准备网络编程作业大概就是第2-6,第9章的内容:
1.以太帧格式,发送
2.ARP协议
3.ARP协议获取本机信息
4.IP监视器,抓取IP数据包
5.TraceRoute路由路径
6.TCP建立连接
7.Socket服务器/客户端通信
8.Socket服务器/客户端传输文件(TCP)
9.Socket服务器/客户端传输大文件(TCP+UDP)
10.Socket,RTSP,RTP媒体流播放器

没了,计算机网络就此开始,加油吧!

发布了4 篇原创文章 · 获赞 15 · 访问量 656

猜你喜欢

转载自blog.csdn.net/qq_42388523/article/details/104593894