技术标签: 学习 计算机网络自顶向下方法 笔记 计算机网络
目录
(1)客户/服务器模式(Client/Server Mode):
(3)面向连接的通信(Connection-oriented Communication):
(4)无连接的通信(Connectionless Communication):
接入网:是指将端系统(end system)物理连接到边缘路由器(edge router)的网络
(1)电路交换(包括频分复用【FDM】,时分复用【TDM】)
用通信链路(links)将通信节点(nodes)连接一起的设备集合,用于达成在nodes之前互相传递‘信息’的目的
links:同轴电缆,铜导线,光纤,无线电......
nodes:①终端/主机(end system/host)②中转节点:路由器(router,swithch)
protocal(协议):控制信息发送以及接收的规则标准
机器无法像人类一样处理信息等,它们需要遵从一种标,由于需要处理不同的信息并给予不同的回复,因此就有了协议(protocal)。
a:端系统/主机(end system/host):客户端(client),服务端(server);
b:应用程序;
a:主机通过有线以及无线通信链路接入边缘路由器
(wired,wireless comunication links)
a:路由器(interconnected routers)和交换机(switch)
b:互连的网络(network of networks)
网络边缘是指位于计算机网络最外围的一些主机。这些主机通常运行各种应用程序,如主机/端系统,Web浏览器、电子邮件客户端、在线游戏等,它们与其他主机进行通信,并通过网络边缘向核心发送数据。
客户/服务器模式是网络边缘中最常见的通信模式之一。在这种模式下,资源通常存储在专门的服务器上,而客户端通过互联网向服务器请求、接收服务。
例如,Web浏览器/服务器和电子邮件客户端/服务器都使用客户/服务器模式进行通信。
对等模式在网络边缘中也很常见。这种模式下,很少或者没有专门的服务器。主机既可以作为客户端也可以作为服务器,每个主机都可以共享自己的资源。
典型的例子是迅雷和BitTorrent等文件分享软件。
在面向连接的通信中,通信的两个端点需要在数据传输之前建立一个连接,以确保数据的顺序和可靠性。典型的协议是传输控制协议(TCP)。
在无连接的通信中,数据在发送时不需要建立连接。数据通过互联网协议(IP)进行路由和传输。典型的协议是用户数据报协议(UDP)。
ps:至于这些模式以及TCP和UDP协议,在这只是概述,在后面的章节会详细介绍。
ADSL(非对称数字用户线路)是一种常见的住宅接入方式。
线缆网络(cable network)是一种常见的单位接入方式。
光纤到户(fiber to the home)是另外一种方式
使用无线射频媒介连接终端和路由器
网络核心:互相连接的路由器网络
当你申请一个远方的数据,比如其他地方的网站的时候,数据是怎么穿越网络到达终端的呢?
保持数据的完整性,不预留资源,在节点完整接收整个数据包后再发送往下一个节点
ps:这种方式一般不常见,因此在这只是简单解释了一下。
传输时延(packet transmission delay):
一个L位的packet,而每条链路传输速率为Rbps,一共需要花费L/Rs
例子:在destination接收3个数据包的时延(total delay)是多少?
答:4 L/R; 由于需要经过两条Rbps的链路,而对于第三个数据包来说,需要等两 个L/R后才能出发,因此最后的时延 total delay=2L/R+2L/R。
如果一段时间路由器的数据到达速率超过输出速率,分组将会排队,等待时延,比如上面这道题,第三个数据包要等待数据包一二传输后,才能进行传输,如果数据量过多,达到成百上千个数据包,容易导致时延过长。而如果路由器的缓存全部被占用,那个分组也很有可能会被抛弃。
ps:网络核心的两个关键功能:
①转发(foward),将数据包从路由器的一个端口发送到另一个端口
②路由(routing),决定数据包从源端到目的地的路径
(具体的算法后面的章节会涉及)
从上面的介绍我们可以了解到时延的产生原因以及分类
在上述讨论中,我们是假设队列能够容纳无穷多的分组。但其实不然,在现实中,一条链路前的 队列只有有限的容量。因为路由器的缓存区是是有限的,随着排队时延越来越大,直到队列超出路由器的缓存区,路由器将会丢弃(drop)分组。
而丢失的分组可能会被前一个节点(无线链路)或源端系统重传(TCP),或者根本就不重传(以太网、UDP)
瞬时吞吐量:某一时间点的传输速率
平均吞吐量:较长时间间隔内的平均传输速率
这N条链路的传输速率分别是R1,R2,......Rn,而从服务器到客户的文件传输吞吐量为
min{R1,R2,R3,......,Rn}
在本书中,是以因特网协议栈的层次来组织本书,如其名————自顶向下方法。
具体的学习思路是
应用层——>运输层——>网络层——>链路层——>物理层
ps:因特网协议栈并不是唯一的,20世纪70年代,曾提出过OSI模型(7层),但由于当时众多网络器等都是用的5层,因此没得到广泛应用
封装过程
而解封装的过程也是类似的,就是从下往上一步一步拆。
(1)由于安全以及历史并非我们学校课程所要求,因此在这里也是没有做笔记,有兴趣的可以看看计算机网络-自顶向下方法第七版这本书或者其他途径自行了解一下。
(2)And 如果文章对你有帮助的话,请各位uu顺带点下。
(3)本文图片以及一些专业解释来源:《计算机网络-自顶向下方法第七版》
文章浏览阅读1w次,点赞2次,收藏27次。来源:机器人小妹 很多时候企业拥有重复,乏味且困难的工作流程,这些流程往往会减慢生产速度并增加运营成本。为了降低生产成本,企业别无选择,只能自动化某些功能以降低生产成本。 通过数字化..._人工智能平台
文章浏览阅读2.2k次。热加载能够在每次保存修改的代码后自动刷新 electron 应用界面,而不必每次去手动操作重新运行,这极大的提升了开发效率。安装 electron 热加载插件热加载虽然很方便,但是不是每个 electron 项目必须的,所以想要舒服的开发 electron 就只能给 electron 项目单独的安装热加载插件[electron-reloader]:// 在项目的根目录下安装 electron-reloader,国内建议使用 cnpm 代替 npmnpm install electron-relo._electron-reloader
文章浏览阅读942次。在11.0 进行定制化开发,会根据需要去掉recovery模式的一些选项 就是在device.cpp去掉一些选项就可以了。_android recovery 删除 部分菜单
文章浏览阅读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
文章浏览阅读1.8k次。CSS3新增动画属性“@-webkit-keyframes”,从字面就可以看出其含义——关键帧,这与Flash中的含义一致。利用CSS3制作动画效果其原理与Flash一样,我们需要定义关键帧处的状态效果,由CSS3来驱动产生动画效果。下面讲解一下如何利用CSS3制作淡入淡出的动画效果。具体实例可参考刚进入本站时的淡入效果。1. 定义动画,名称为fadeIn@-webkit-keyf_css3入场效果淡入淡出
文章浏览阅读2.8k次。计算机系统应包括硬件和软件两个子系统,硬件和软件又必须依次分别包括中央处理器和系统软件。按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。计算机是脑力的延伸和扩充,是近代科学的重大成就之一。计算机系统由硬件(子)系统和软件(子)系统组成。前者是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统赖以工作的实体。后者是各种程序和文件,用于指挥全系统按指定的要求进行..._计算机系统包括硬件系统和软件系统 软件又必须包括
文章浏览阅读7.9k次,点赞3次,收藏22次。一 定义这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如,含有全局变量、常用函数、例程等的页面,FIFO 算法并不能保证这些页面不被淘汰。这里,我_进程调度fifo算法代码
文章浏览阅读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的写法
文章浏览阅读790次,点赞3次,收藏4次。官网下载下载链接:http://www.eclipse.org/downloads/点击Download下载完成后双击运行我选择第2个,看自己需要(我选择企业级应用,如果只是单纯学习java选第一个就行)进入下一步后选择jre和安装路径修改jvm/jre的时候也可以选择本地的(点后面的文件夹进去),但是我们没有11版本的,所以还是用他的吧选择接受安装中安装过程中如果有其他界面弹出就点accept就行..._ecjelm
文章浏览阅读245次。原文链接:https://linux.cn/article-7801-1.htmlifconfigping <IP地址>:发送ICMP echo消息到某个主机traceroute <IP地址>:用于跟踪IP包的路由路由:netstat -r: 打印路由表route add :添加静态路由路径routed:控制动态路由的BSD守护程序。运行RIP路由协议gat..._ifconfig 删除vlan
文章浏览阅读224次。reduxredux里要求把数据都放在公共的存储区域叫store里面,组件中尽量少放数据,假如绿色的组件要给很多灰色的组件传值,绿色的组件只需要改变store里面对应的数据就行了,接着灰色的组件会自动感知到store里的数据发生了改变,store只要有变化,灰色的组件就会自动从store里重新取数据,这样绿色组件的数据就很方便的传到其它灰色组件里了。redux就是把公用的数据放在公共的区域去存..._redux redis
文章浏览阅读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解压中文乱码