计算机网络自顶向下方法学习笔记—————第一章:概述_计算机网络:自顶向下笔记-程序员宅基地

技术标签: 学习  计算机网络自顶向下方法  笔记  计算机网络  

Chapter 1: roadmap

目录

Chapter 1: roadmap

一:导论

(1)什么是通信网络?

(2)为什么需要协议(Protocal)

二:Internet 结构组成

(1)网络边缘(Network edge):

(2)接入网(access network),物理媒介:

(3)网络核心(Network core):

三:网络边缘(Network edge)

(1)客户/服务器模式(Client/Server Mode):

(2)对等模式(Peer-to-Peer Mode):

(3)面向连接的通信(Connection-oriented Communication):

(4)无连接的通信(Connectionless Communication):

四:接入网(access network),物理媒介

接入网:是指将端系统(end system)物理连接到边缘路由器(edge router)的网络

(1)住宅接入网络

(2)单位接入网络(学校,网络)

(3)无线接入网络(WIFI,4G/5G)

链路(link):物理媒介

五:网络核心(Network core)

(1)电路交换(包括频分复用【FDM】,时分复用【TDM】)

(2)报文交换

(3)分组交换

六:分组交换中的时延,丢包,吞吐量

(1)时延

(2)丢包(packet loss)

(3)吞吐量(Throughput)

七:协议层次和服务模型

(1)分层协议与参考模型

(2)封装

(3)沙漏状的因特网协议栈

八 结语


一:导论

(1)什么是通信网络?

        用通信链路(links)将通信节点(nodes)连接一起的设备集合,用于达成在nodes之前互相传递‘信息’的目的

        links:同轴电缆,铜导线,光纤,无线电......

        nodes:①终端/主机(end system/host)②中转节点:路由器(router,swithch)

        protocal(协议):控制信息发送以及接收的规则标准

(2)为什么需要协议(Protocal)

         机器无法像人类一样处理信息等,它们需要遵从一种标,由于需要处理不同的信息并给予不同的回复,因此就有了协议(protocal)

二:Internet 结构组成

(1)网络边缘(Network edge):

                        a:端系统/主机(end system/host):客户端(client),服务端(server);

                        b:应用程序;

(2)接入网(access network),物理媒介:

                        a:主机通过有线以及无线通信链路接入边缘路由器

                        (wired,wireless comunication links)

(3)网络核心(Network core):

                        a:路由器(interconnected routers)和交换机(switch)

                        b:互连的网络(network of networks)

三:网络边缘(Network edge)

网络边缘是指位于计算机网络最外围的一些主机。这些主机通常运行各种应用程序,如主机/端系统,Web浏览器、电子邮件客户端、在线游戏等,它们与其他主机进行通信,并通过网络边缘向核心发送数据。


(1)客户/服务器模式(Client/Server Mode):

客户/服务器模式是网络边缘中最常见的通信模式之一。在这种模式下,资源通常存储在专门的服务器上,而客户端通过互联网向服务器请求、接收服务。

例如,Web浏览器/服务器和电子邮件客户端/服务器都使用客户/服务器模式进行通信。

(2)对等模式(Peer-to-Peer Mode):

对等模式在网络边缘中也很常见。这种模式下,很少或者没有专门的服务器。主机既可以作为客户端也可以作为服务器,每个主机都可以共享自己的资源。

典型的例子是迅雷和BitTorrent等文件分享软件。

(3)面向连接的通信(Connection-oriented Communication):

在面向连接的通信中,通信的两个端点需要在数据传输之前建立一个连接,以确保数据的顺序和可靠性。典型的协议是传输控制协议(TCP)。

(4)无连接的通信(Connectionless Communication):

在无连接的通信中,数据在发送时不需要建立连接。数据通过互联网协议(IP)进行路由和传输。典型的协议是用户数据报协议(UDP)。

ps:至于这些模式以及TCP和UDP协议,在这只是概述,在后面的章节会详细介绍。

四:接入网(access network),物理媒介

接入网:是指将端系统(end system)物理连接到边缘路由器(edge router)的网络


(1)住宅接入网络

ADSL(非对称数字用户线路)是一种常见的住宅接入方式。

  • 复用现有的电话线网络实现语音和数据通信。
  • 其中电话数据频分复用【频分复用指的是不同数据提供给不同频段】,满足①下行数据传输在50 kHz - 1 MHz频段,②上行数据传输在4 kHz - 50 kHz频段。③语音电话在0 kHz - 4 kHz频段。
  • ADSL提供了24-52 Mbps的下行速率和3.5-16 Mbps的上行速率。

(2)单位接入网络(学校,网络)

线缆网络(cable network)是一种常见的单位接入方式。

  • 使用光纤和同轴电缆混合网(HFC)。
  • ①服务商——>社区:光纤。②社区——>内部家庭:共享同轴电缆。
  • 线缆网络提供了40 Mbps - 1.2 Gbps的下行速率和30-100 Mbps的上行速率。

    线揽网络示意图

光纤到户(fiber to the home)是另外一种方式

  • 光纤一直铺设到用户家庭,才将光信号转换成电信号。
  • 速率高,覆盖范围广,成本低

(3)无线接入网络(WIFI,4G/5G)

使用无线射频媒介连接终端和路由器

  • 无线局域网(WLANs)是一种常见的无线接入方式,也是我们平时生活中很常见的。由于是局域网,因此仅具有30-50米的接入范围。传输速率为11、54、450 Mbps。
  • 无线广域网(wireless WAN):通过蜂窝网络运营商提供接入服务,覆盖范围可达数十千米。传输速率通常在数十Mbps。

链路(link):物理媒介


  • 传播单元:Bit,通过字节进行传播
  • 物理链路:物理媒介来进行通信传输。例如①光纤传输是利用了光纤电缆;②以太网也是利用了双绞线(即我们日常熟知的网线)来进行局域网内的传输                    

五:网络核心(Network core)

网络核心:互相连接的路由器网络


当你申请一个远方的数据,比如其他地方的网站的时候,数据是怎么穿越网络到达终端的呢?

(1)电路交换(包括频分复用【FDM】,时分复用【TDM】)

  • 端到端的资源预留                                                                                                              (end-end resources allocated to, reserved for “call” between source and destination)
  • 专用资源:通信空闲之时相应资源也保持空闲(可以理解为一个服务员专门为一个人服务)
  • 有保证的服务质量————多用于电话网络等
  • 不适合计算机通信:①建立和拆除资源预留的时间过长。②过于占用资源。

(2)报文交换

保持数据的完整性,不预留资源,在节点完整接收整个数据包后再发送往下一个节点

ps:这种方式一般不常见,因此在这只是简单解释了一下。

(3)分组交换

  • 端到端的数据分组
  • 资源共享:所有分组全部用来传输全部资源,没有资源预留(可以理解为所有服务员都可以负责一个人,对其他人也一样。)
  • 存储转发(store-and-forward)

                        传输时延(packet transmission delay):

                        一个L位的packet,而每条链路传输速率为Rbps,一共需要花费L/Rs

                        例子:在destination接收3个数据包的时延(total delay)是多少?

                

                        答:4 L/R; 由于需要经过两条Rbps的链路,而对于第三个数据包来说,需要等两                                  个L/R后才能出发,因此最后的时延   total delay=2L/R+2L/R。

  • 排队延迟和丢失(delay and loss)

如果一段时间路由器的数据到达速率超过输出速率,分组将会排队,等待时延,比如上面这道题,第三个数据包要等待数据包一二传输后,才能进行传输,如果数据量过多,达到成百上千个数据包,容易导致时延过长。而如果路由器的缓存全部被占用,那个分组也很有可能会被抛弃。

  • 服务质量无保障,失序。
  • Internet的理论基础

ps:网络核心的两个关键功能:

①转发(foward),将数据包从路由器的一个端口发送到另一个端口

②路由(routing),决定数据包从源端到目的地的路径

(具体的算法后面的章节会涉及)

六:分组交换中的时延,丢包,吞吐量

(1)时延

从上面的介绍我们可以了解到时延的产生原因以及分类

  • 类别:
    • ①排队时延(queueing delay),在路由器缓冲区中排队。
    • ②传输时延(transmission delay),路由器推出该分组所花费的时间。(如果分组长度为L比特,,以Rb/s传输,则传输时延为L/R)。
    • ③处理延时:检查分组首部以及决定导向何处的时间(一般花费时间是微秒甚至是更低的时间,可忽略)。
    • ④传播延时:跟传输时延的比较便是其定义是分组在被路由器推出后到达下一个路由器所花费的时间。(由于广域网中,其时延也是毫秒量级,有时候也可以忽略)
    • 总时延(total delay)=①+②+③+④
  • 排队时延
    • queueing delay判断:\frac{L*a}{R}(称为流量强度)
    • ①R: 链路带宽(bps)②L: 数据包长度(bits)③a: 分组平均到达速率
    • La/R  趋近于0: 非常小的平均时延
      La/R 趋近于 1: 非常大的平均时延
      La/R > 1: 平均时延为正无穷!

(2)丢包(packet loss)

在上述讨论中,我们是假设队列能够容纳无穷多的分组。但其实不然,在现实中,一条链路前的 队列只有有限的容量。因为路由器的缓存区是是有限的,随着排队时延越来越大,直到队列超出路由器的缓存区,路由器将会丢弃(drop)分组。

而丢失的分组可能会被前一个节点(无线链路)或源端系统重传(TCP),或者根本就不重传(以太网、UDP)

(3)吞吐量(Throughput)

瞬时吞吐量:某一时间点的传输速率

平均吞吐量:较长时间间隔内的平均传输速率

这N条链路的传输速率分别是R1,R2,......Rn,而从服务器到客户的文件传输吞吐量为

min{R1,R2,R3,......,Rn}

七:协议层次和服务模型

(1)分层协议与参考模型

在本书中,是以因特网协议栈的层次来组织本书,如其名————自顶向下方法。

具体的学习思路是

                        应用层——>运输层——>网络层——>链路层——>物理层

因特网协议栈
OSI模型
OSI模型

ps:因特网协议栈并不是唯一的,20世纪70年代,曾提出过OSI模型(7层),但由于当时众多网络器等都是用的5层,因此没得到广泛应用

(2)封装

封装过程

  • 在发送主机端(server),一个应用层报文(application-layor message
  • 而后被传送给运输层,运算层附上附加信息,即与message构成报文段(transport-layor segment
  • 而后被向网络层传递该文段,网络层增加了如源和目的端地址等网络层首部信息,构成了网络层数据包(network_layer datagram
  • 接下来传给链路层,链路层增强其自身链路层首部信息,生成链路层帧(link-layer frame)
  • 因此一个分组在经历了封装后,有两种字段:首部字段和有效载荷字段(来自上一层的分组)

而解封装的过程也是类似的,就是从下往上一步一步拆。

(3)沙漏状的因特网协议栈

八 结语

(1)由于安全以及历史并非我们学校课程所要求,因此在这里也是没有做笔记,有兴趣的可以看看计算机网络-自顶向下方法第七版这本书或者其他途径自行了解一下。

(2)And 如果文章对你有帮助的话,请各位uu顺带点下。

(3)本文图片以及一些专业解释来源:《计算机网络-自顶向下方法第七版》

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ming_kan/article/details/135267124

智能推荐

18个顶级人工智能平台-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏27次。来源:机器人小妹  很多时候企业拥有重复,乏味且困难的工作流程,这些流程往往会减慢生产速度并增加运营成本。为了降低生产成本,企业别无选择,只能自动化某些功能以降低生产成本。  通过数字化..._人工智能平台

electron热加载_electron-reloader-程序员宅基地

文章浏览阅读2.2k次。热加载能够在每次保存修改的代码后自动刷新 electron 应用界面,而不必每次去手动操作重新运行,这极大的提升了开发效率。安装 electron 热加载插件热加载虽然很方便,但是不是每个 electron 项目必须的,所以想要舒服的开发 electron 就只能给 electron 项目单独的安装热加载插件[electron-reloader]:// 在项目的根目录下安装 electron-reloader,国内建议使用 cnpm 代替 npmnpm install electron-relo._electron-reloader

android 11.0 去掉recovery模式UI页面的选项_android recovery 删除 部分菜单-程序员宅基地

文章浏览阅读942次。在11.0 进行定制化开发,会根据需要去掉recovery模式的一些选项 就是在device.cpp去掉一些选项就可以了。_android recovery 删除 部分菜单

mnn linux编译_mnn 编译linux-程序员宅基地

文章浏览阅读3.7k次。https://www.yuque.com/mnn/cn/cvrt_linux_mac基础依赖这些依赖是无关编译选项的基础编译依赖• cmake(3.10 以上)• protobuf (3.0 以上)• 指protobuf库以及protobuf编译器。版本号使用 protoc --version 打印出来。• 在某些Linux发行版上这两个包是分开发布的,需要手动安装• Ubuntu需要分别安装 libprotobuf-dev 以及 protobuf-compiler 两个包•..._mnn 编译linux

利用CSS3制作淡入淡出动画效果_css3入场效果淡入淡出-程序员宅基地

文章浏览阅读1.8k次。CSS3新增动画属性“@-webkit-keyframes”,从字面就可以看出其含义——关键帧,这与Flash中的含义一致。利用CSS3制作动画效果其原理与Flash一样,我们需要定义关键帧处的状态效果,由CSS3来驱动产生动画效果。下面讲解一下如何利用CSS3制作淡入淡出的动画效果。具体实例可参考刚进入本站时的淡入效果。1. 定义动画,名称为fadeIn@-webkit-keyf_css3入场效果淡入淡出

计算机软件又必须包括什么,计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括______?...-程序员宅基地

文章浏览阅读2.8k次。计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括中央处理器和系统软件。按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。计算机是脑力的延伸和扩充,是近代科学的重大成就之一。计算机系统由硬件(子)系统和软件(子)系统组成。前者是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统赖以工作的实体。后者是各种程序和文件,用于指挥全系统按指定的要求进行..._计算机系统包括硬件系统和软件系统 软件又必须包括

随便推点

进程调度(一)——FIFO算法_进程调度fifo算法代码-程序员宅基地

文章浏览阅读7.9k次,点赞3次,收藏22次。一 定义这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如,含有全局变量、常用函数、例程等的页面,FIFO 算法并不能保证这些页面不被淘汰。这里,我_进程调度fifo算法代码

mysql rownum写法_mysql应用之类似oracle rownum写法-程序员宅基地

文章浏览阅读133次。rownum是oracle才有的写法,rownum在oracle中可以用于取第一条数据,或者批量写数据时限定批量写的数量等mysql取第一条数据写法SELECT * FROM t order by id LIMIT 1;oracle取第一条数据写法SELECT * FROM t where rownum =1 order by id;ok,上面是mysql和oracle取第一条数据的写法对比,不过..._mysql 替换@rownum的写法

eclipse安装教程_ecjelm-程序员宅基地

文章浏览阅读790次,点赞3次,收藏4次。官网下载下载链接:http://www.eclipse.org/downloads/点击Download下载完成后双击运行我选择第2个,看自己需要(我选择企业级应用,如果只是单纯学习java选第一个就行)进入下一步后选择jre和安装路径修改jvm/jre的时候也可以选择本地的(点后面的文件夹进去),但是我们没有11版本的,所以还是用他的吧选择接受安装中安装过程中如果有其他界面弹出就点accept就行..._ecjelm

Linux常用网络命令_ifconfig 删除vlan-程序员宅基地

文章浏览阅读245次。原文链接:https://linux.cn/article-7801-1.htmlifconfigping <IP地址>:发送ICMP echo消息到某个主机traceroute <IP地址>:用于跟踪IP包的路由路由:netstat -r: 打印路由表route add :添加静态路由路径routed:控制动态路由的BSD守护程序。运行RIP路由协议gat..._ifconfig 删除vlan

redux_redux redis-程序员宅基地

文章浏览阅读224次。reduxredux里要求把数据都放在公共的存储区域叫store里面,组件中尽量少放数据,假如绿色的组件要给很多灰色的组件传值,绿色的组件只需要改变store里面对应的数据就行了,接着灰色的组件会自动感知到store里的数据发生了改变,store只要有变化,灰色的组件就会自动从store里重新取数据,这样绿色组件的数据就很方便的传到其它灰色组件里了。redux就是把公用的数据放在公共的区域去存..._redux redis

linux 解压zip大文件(解决乱码问题)_linux 7za解压中文乱码-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏6次。unzip版本不支持4G以上的压缩包所以要使用p7zip:Linux一个高压缩率软件wget http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2tar jxvf p7zip_9.20.1_src_all.tar.bz2cd p7zip_9.20.1make && make install 如果安装失败,看一下报错是不是因为没有下载gcc 和 gcc ++(p7_linux 7za解压中文乱码