计算机网络概述
《计算机网络历史》
1969年,首先是单个网络 ARPANET 向互连网的发展,
即internet(互连网),多个计算机网络互连而成的计算机网络
那个时候还没有规定的通信标准(协议)
1983年,TCP/IP协议成为 ARPANET 上的标准协议
使用TCP/IP协议的计算机都能利用互连网相互通信
即Internet(互联网)
1985年,NSF(National Science Foundation)建立了三级结构的互联网
(主干网,地区网,校园网)
后逐渐形成了全球范围的多层次ISP(Internet Service Provider)(互联网服务提供商)
ISP也分为主干ISP,地区ISP,本地ISP
后还出现了IXP(Internet eXchange Point )(互联网交换点),其主要作用是允许两个ISP网络相连并交换分组
《互联网的组成》
从工作方式上看,分为:
1.边缘部分:用户直接使用的主机(电脑,各个智能电器等)
2.核心部分:大量网络和连接这些网络的路由器组成,为边缘部分提供服务
(路由器某种程度上也像一台电脑,其有CPU ,操作系统等)
来想一下,各个边缘部分的主机如何通过核心部分这“一片未知的云”,进行交换数据的?
目前实现交换的方法最多的是分组交换技术
将要发送的数据分组(包)
需要注意的是每组包括首部(包头),原本的数据被分到各个组中
但是不包括首部
首部是包含目的地址和源地址等重要控制信息的地方
核心部分中的路由器则用来转发分组,即进行分组交换
需要注意的是,路由器很“聪明”
其会在某个分组的通信量过大时,转发给另一个路由转发(一个路由通常与多个路由连接形成链路)
同时会根据分组的首部来查转发表,来转发
《计算机网络的性能》
速率:
bit/s(bps,b/s)比特每秒
同时注意计算机网络中的10Gbit/s,进行换算的话
为10*10^9bit/s,与计算机组成原理中的不同
同时像电信商所说的10G网络速率,通常省去了bit/s的单位
同时也描述的是标准速率(理想状态下),而非实际情况下的
带宽
在计算机网络中带宽指的是
网络中的最大传输速率(最高数据率)(bit/s)
这个概念要与吞吐量区分清楚,
吞吐量是网络中的实际传输速率
如图为某一网络链路中的传输速率
其中1Kbit/s为吞吐率,1Gbit/s为带宽
时延
数据从网络的一端到另外一端所需要花费的时间
总时延=发送时延+传播时延+处理时延+排队时延
传播时延只与传播介质有关
传播时延=信道长度/电磁波在信道上的传播速度
发送时延是主机或路由器发送数据量长度(bit)全部到数据通道上的时间
发送时延=发送数据量长度/发送速率
一般电信商所说的提高网络带宽是指提高发送速率
减少发送时延
而不是减少传播时延
时延带宽积:
带宽可以理解为一个数据通道上的截面面积
传播时延可以理解为单位时间内一个数据通道的长度
那么
时延带宽积=带宽*传播时延
含义为从发送端发出但尚未到达接收端的比特数
往返时间(往返时延)PTT
互联网上的信息不仅仅是单方向传输而且也要双向交互的
在双向交互的过程中是:
A->B(A向B发送数据)
B->A(同时B给A一个应答,
接下来A才能接着往下向B发送数据)
B->A这个过程所花费的时间为PTT
A->B的时间另外算
有效数据率=数据长度/(A->B时间+PTT);
例题:
先看上图中下面的具体例子:
分组大小1000B,分组头大小为20B
则每组中用来保存数据的大小为980B
主机H1向主机H2发送一个大小为980000B的文件
则说明可以分成980000/980=1000组
按照分组交换,即可以并发地传输数据
即主机与路由器之间,路由器与路由器之间
传输数据时可以同时进行
题目要求至少,所以只要过2个路由器和1个接收端,则如图
设传输时间为s=1000*8/(100*1000000)
则总时间S=1000*s+(3-1)*s=0.08016s=80.16ms
《实验上的补充》
思考一下:Web服务器与Web客户端如果要用数据线直连,用什么类型的数据线?
服务器与客户端是相同的设备,用交叉线
如果是交换机与客户端就是不同设备,则用直连线
同时要知道OSI的体系结构中
HTTP与应用层关联
TCP与运输层关联
IP与网络层关联
-
Ping:用于测试与目标主机之间的连接是否正常以及网络延迟情况。通过向目标主机发送ICMP回显请求,并等待它的回复来评估连接状况。
-
Tracert(Windows)/traceroute(Linux):追踪数据包在网络中的路径。它通过发送一系列的数据包并记录经过的路由器IP地址,来帮助诊断网络连接问题或跟踪数据包的传输路径。
-
Ipconfig(Windows)/ifconfig(Linux):用于查看和管理网络接口的配置信息。它可以显示当前计算机的IP地址、子网掩码、默认网关、DNS服务器等网络设置。
-
Nslookup:用于查询域名系统(DNS)信息,例如解析域名为相应的IP地址、获取域名的MX记录(邮件交换记录)等。通过该命令,可以检查域名解析是否正确以及诊断DNS相关问题。
-
Netstat(Windows/Linux):用于显示计算机上的网络连接、开放的端口以及正在监听的服务。它可以提供关于网络连接状态、网络统计数据和网络接口信息的详细视图,有助于排查网络连接和端口相关的问题。
本文作者:次林梦叶的小屋
本文链接:https://www.cnblogs.com/cilinmengye/p/17185947.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步