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

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

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

智能推荐

class和struct的区别-程序员宅基地

文章浏览阅读101次。4.class可以有⽆参的构造函数,struct不可以,必须是有参的构造函数,⽽且在有参的构造函数必须初始。2.Struct适⽤于作为经常使⽤的⼀些数据组合成的新类型,表示诸如点、矩形等主要⽤来存储数据的轻量。1.Class⽐较适合⼤的和复杂的数据,表现抽象和多级别的对象层次时。2.class允许继承、被继承,struct不允许,只能继承接⼝。3.Struct有性能优势,Class有⾯向对象的扩展优势。3.class可以初始化变量,struct不可以。1.class是引⽤类型,struct是值类型。

android使用json后闪退,应用闪退问题:从json信息的解析开始就会闪退-程序员宅基地

文章浏览阅读586次。想实现的功能是点击顶部按钮之后按关键字进行搜索,已经可以从服务器收到反馈的json信息,但从json信息的解析开始就会闪退,加载listview也不知道行不行public abstract class loadlistview{public ListView plv;public String js;public int listlength;public int listvisit;public..._rton转json为什么会闪退

如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet-程序员宅基地

文章浏览阅读219次。如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet

系统项目报表导出功能开发_积木报表 多线程-程序员宅基地

文章浏览阅读521次。系统项目报表导出 导出任务队列表 + 定时扫描 + 多线程_积木报表 多线程

ajax 如何从服务器上获取数据?_ajax 获取http数据-程序员宅基地

文章浏览阅读1.1k次,点赞9次,收藏9次。使用AJAX技术的好处之一是它能够提供更好的用户体验,因为它允许在不重新加载整个页面的情况下更新网页的某一部分。另外,AJAX还使得开发人员能够创建更复杂、更动态的Web应用程序,因为它们可以在后台与服务器进行通信,而不需要打断用户的浏览体验。在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于在不重新加载整个页面的情况下,从服务器获取数据并更新网页的某一部分。使用AJAX,你可以创建异步请求,从而提供更快的响应和更好的用户体验。_ajax 获取http数据

Linux图形终端与字符终端-程序员宅基地

文章浏览阅读2.8k次。登录退出、修改密码、关机重启_字符终端

随便推点

Python与Arduino绘制超声波雷达扫描_超声波扫描建模 python库-程序员宅基地

文章浏览阅读3.8k次,点赞3次,收藏51次。前段时间看到一位发烧友制作的超声波雷达扫描神器,用到了Arduino和Processing,可惜啊,我不会Processing更看不懂人家的程序,咋办呢?嘿嘿,所以我就换了个思路解决,因为我会一点Python啊,那就动手吧!在做这个案例之前先要搞明白一个问题:怎么将Arduino通过超声波检测到的距离反馈到Python端?这个嘛,我首先想到了串行通信接口。没错!就是串口。只要Arduino将数据发送给COM口,然后Python能从COM口读取到这个数据就可以啦!我先写了一个测试程序试了一下,OK!搞定_超声波扫描建模 python库

凯撒加密方法介绍及实例说明-程序员宅基地

文章浏览阅读4.2k次。端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。2.使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。_凯撒加密

工控协议--cip--协议解析基本记录_cip协议embedded_service_error-程序员宅基地

文章浏览阅读5.7k次。CIP报文解析常用到的几个字段:普通类型服务类型:[0x00], CIP对象:[0x02 Message Router], ioi segments:[XX]PCCC(带cmd和func)服务类型:[0x00], CIP对象:[0x02 Message Router], cmd:[0x101], fnc:[0x101]..._cip协议embedded_service_error

如何在vs2019及以后版本(如vs2022)上添加 添加ActiveX控件中的MFC类_vs添加mfc库-程序员宅基地

文章浏览阅读2.4k次,点赞9次,收藏13次。有时候我们在MFC项目开发过程中,需要用到一些微软已经提供的功能,如VC++使用EXCEL功能,这时候我们就能直接通过VS2019到如EXCEL.EXE方式,生成对应的OLE头文件,然后直接使用功能,那么,我们上篇文章中介绍了vs2017及以前的版本如何来添加。但由于微软某些方面考虑,这种方式已被放弃。从上图中可以看出,这一功能,在从vs2017版本15.9开始,后续版本已经删除了此功能。那么我们如果仍需要此功能,我们如何在新版本中添加呢。_vs添加mfc库

frame_size (1536) was not respected for a non-last frame_frame_size (1024) was not respected for a non-last-程序员宅基地

文章浏览阅读785次。用ac3编码,执行编码函数时报错入如下:[ac3 @ 0x7fed7800f200] frame_size (1536) was not respected for anon-last frame (avcodec_encode_audio2)用ac3编码时每次送入编码器的音频采样数应该是1536个采样,不然就会报上述错误。这个数字并非刻意固定,而是跟ac3内部的编码算法原理相关。全网找不到,国内音视频之路还有很长的路,音视频人一起加油吧~......_frame_size (1024) was not respected for a non-last frame

Android移动应用开发入门_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量-程序员宅基地

文章浏览阅读230次,点赞2次,收藏2次。创建Android应用程序一个项目里面可以有很多模块,而每一个模块就对应了一个应用程序。项目结构介绍_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量

推荐文章

热门文章

相关标签