Summary of Computer Network Experiment

Summary of Computer Network Experiment

Leostar

计算机网络实验总结

写在前面:

  1. 网络实验室PC机的虚拟网卡可能会产生不良影响,建议开机后首先将所有虚拟网卡禁用。
  2. 网络实验室的路由器和交换机的出厂配置可能会产生不良影响,例如路由器出厂设置中默认配置了interface vlan 1(ip address 192.168.0.1 ),建议首先将这个IP地址undo,以免这个地址自动参与router id 选举,影响ospf或bgp协议的正常工作
  3. 多使用“?”命令获取帮助

实验一 网络实验入门

清空/重启

实验之前先清空配置,并重启路由器/交换机

1
2
<H3C>reset saved-configuration	#删除保存配置,选择yes
<H3C>reboot #重启设备,第一个选择no,第二个选择yes

视图

1
2
3
4
#上面的代码左侧<H3C>表示这是用户视图
<H3C>sys #可进入系统视图(完整命令是system-view),左侧变为[H3C]
[H3C]interface ethernet 1/0/1 #进入以太网端口1/0/1,要根据设备的实际端口写命令,可以通过dis cu命令查看端口信息
[H3C-interface e 1/0/1]quit #退出当前视图

网络配置基本命令

1
2
3
4
<H3C>dis cu								#完整命令为display current-configuration,显示系统当前配置
<H3C>display version #显示系统软件的版本
[H3C]display interface ethernet 1/0/1 #显示具体端口的信息和状态
[H3C]display ? #命令行帮助

路由器基本配置

1
2
3
4
5
6
7
[H3C]sysname R1								#重命名为R1
[R1]interface ethernet 0/0 #进入0/0以太网端口
[R1-Ethernet 0/0]ip address 192.168.0.1 24 #配置端口的ip地址,子网掩码
#或者使用ip address 192.168.0.1 255.255.255.0,效果相同
[R1-Ethernet 0/0]undo ip address #取消ip地址
[R1-Ethernet 0/0]shutdown #关闭端口
[R1-Ethernet 0/0]undo shutdown #启动端口

交换机基本配置

1
2
3
4
5
6
7
[H3C]interface ethernet 1/0/1					#进入指定以太网端口
[H3C-Ethernet 1/0/1]shutdown #关闭端口
[H3C-Ethernet 1/0/1]undo shutdown #启动端口
[H3C-Ethernet 1/0/1]port link-type access #设置端口为access端口
[H3C-Ethernet 1/0/1]port link-type trunk #设置端口为trunk端口
[H3C-Ethernet 1/0/1]port link-type hybrid #设置端口为hybrid端口
[H3C-Ethernet 1/0/1]undo port link-type #恢复端口的链路类型为默认的access

基于地址转换的组网实验

Network Address Translation/NAT,是地址转换技术,它可以将多个内部专用IP地址映射为少数几个甚至一个公网IP地址,用来减少公网IP地址的使用。

​ 当请求报文转发到出口NAT路由器时,NAT路由器首先会查看公网地址池,然后在地址转换表中插入一条记录,分别是转换前的源地址、源端口号和转换后的源地址、源端口号。NAT路由器会按照转换后的地址和端口号重新封装报文,目的地址和端口不变。

​ 当应答报文转发到出口NAT路由器时,同样将目的地址和端口转换成内网本地地址和端口,重新封装后转发。

​ 注意这里0/1端口要配置ip地址。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#配置外出规则(access control list, acl),编号2001
[R1]acl basic 2001 #老版本命令是acl number 2001
[R1]rule permit source 10.0.0.0 0.0.0.255 #定义了允许ip源地址为10.0.0.0/24的外出数据包
#注意用网络地址和反掩码
[R1]rule deny source any

#配置地址池,编号1
[R1]nat address-group 1
[R1 address-group-1]address 192.168.5.105 192.168.5.109 #定义了一个包含5个公网地址(5-9)的地址池,地址池名称为1

#在端口中应用规则和地址池
[R1]interface e 0/1 #进入出口端口
[R1-Ethernet 0/1]nat outbound 2001 address-group 1 #在出口e 0/1启动地址转换

#记得添加静态路由,下一跳地址填地址池中地址的网关例如192.168.5.105就填192.168.5.1
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.5.1 #在路由表添加静态路由

实验二 数据链路层实验

端口聚合

1
2
3
4
5
6
7
8
9
[H3C]display mac-address								#查看交换机的mac地址表
[H3C]sysname s1
[s1]stp disable #撤销生成树协议的配置
[s1]interface bridge-aggregation 1 #定义聚合组
[s1-bridge-aggregation 1]link-aggregation mode dynamic
[s1]interface Ethernet 1/0/1
[s1-Ethernet 1/0/1]port link-aggregation group 1 #将物理端口加入聚合组中
[s1]interface Ethernet 1/0/2
[s1-Ethernet 1/0/2]port link-aggregation group 1

创建/删除VLAN,向VLAN中添加端口

1
2
3
4
5
6
[H3C]vlan 2 		#创建vlan 2,2可以替换为其他vlan id,执行后会变为[h3c-vlan2]
[H3C]undo vlan 2 #删除vlan 2,2可以替换为其他vlan id
[h3c-vlan2]port e 1/0/1 to e 1/0/3
#进入vlan后,使用port ... to ...将某一范围内的端口添加到该VLAN,使用的是基于端口的VLAN划分。
#需要注意的是,e是Ethernet的缩写,线下网络实验室应当使用g
[h3c-vlan2]undo port e 1/0/1 to e 1/0/2 // 将e 1/0/1 to e 1/0/3从VLAN2中删除

指定端口类型

1
2
3
4
[H3C-Ethernet 1/0/1]port link-type access		#设置端口为access端口
[H3C-Ethernet 1/0/1]port link-type trunk #设置端口为trunk端口
[H3C-Ethernet 1/0/1]port link-type hybrid #设置端口为hybrid端口
[H3C-Ethernet 1/0/1]undo port link-type #取消端口类型设置

​ 根据端口对VLAN数据帧的处理方式,可以将交换机的端口分为Access、Trunk和Hybrid类(默认情况为Access类):

  • Access端口一般是指那些连接不支持VLAN技术的终端设备的端口,这些端口接收到的数据帧都不包含VLAN标签,而向外发送数据帧时,必须保证数据帧中也不包含VLAN标签。一般接主机或路由器。
  • Trunk端口一般是指那些连接支持VLAN技术的网络设备(如交换机)的端口,这些端口接收到的数据帧一般都包含 VLAN标签(数据帧VLAN ID和端口默认VLAN ID相同除外),而向外发送数据帧时,必须保证接收端能够区分不同VLAN的数据帧,故常常需要添加VLAN标签(数据帧VLAN ID和端口默认VLAN ID相同除外)。一般用于交换机之间的连接。
  • Hybrid 端口属于 Access和Trunk的混合模式,工作在 Hybrid 模式下的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

​ Hybrid端口和Trunk端口的不同之处在于Hybrid端口允许多个VLAN的报文不带标签,而Trunk端口只允许默认VLAN的报文不带标签。

指定VLAN端口可通过的数据帧

1
2
3
[H3C-Ethernet 1/0/1]port trunk permit vlan 2 to 3         #允许通过2和3的数据帧,ensp中将perimit换为allow-pass
[H3C-Ethernet 1/0/1]undo port trunk permit vlan 2 to 3
[H3C]display vlan 3 #查看交换机上vlan3的配置

​ 将E1/0/13端口设置为trunk,并允许vlan 2 3的数据帧通过。这样的操作使得不同交换机中相同vlan的主机可以相互联通,原因是trunk端口中非默认端口允许携带tag,并设置了E1/0/13时允许vlan2和vlan3的数据通过。

1
2
3
4
5
[H3C-Ethernet 1/0/13]undo port link-type
[H3C-Ethernet 1/0/13]port link-type hybrid
[H3C-Ethernet 1/0/13]port hybrid pvid vlan 1
[H3C-Ethernet 1/0/13]port hybrid vlan 2 tagged
[H3C-Ethernet 1/0/13]port hybrid vlan 3 untagged

​ 此时PCA能ping通PCC,但是PCB不能ping通PCD,原因是s1和s2中1/0/13端口均设置了vlan2为tagged,vlan3为untagged。因此来自vlan2的报文进入s2时会携带自己的vlan tag,因此能顺利转发给有相同vlan id的端口,而vlan 3则不行。

广域网数据链路层协议

配置PPP协议
1
2
3
4
5
6
7
8
9
[R1]interface Serial 1/0
[R1-Serial1/0]link-protocol ppp #配置PPP
#配置完成之后需要重新启动接口使其生效
[R1-Serial1/0]shutdown
[R1-Serial1/0]undo shutdown
[R1-Serial2/0]shutdown #关闭另一个端口防止其他信息干扰
#R2配置与上述命令类似
<R1>debugging ppp all
<R1>terminal debugging
配置PAP
1
2
3
4
5
6
7
8
9
10
#路由器[R1]的配置
[R1]local-user RTB class network #配置用户对应列表
[R1-luser-network-RTB]service-type ppp #配置服务类型
[R1-luser-network-RTB]password simple aaa #配置用户对应密码
[R1]inter Serial 1/0
[R1-Serial1/0]ppp authentication pap #授权PAP验证

#路由器[R2]的配置
[R2]interface serial 0/0
[R2-serial0/0]ppp pap local-user RTB password simple aaa #配置pap用户名和密码

根据调试信息画出流程图:

解释PAP:

​ PAP(Password AuthenticationProtocol,密码认证协议)是一种很简单的认证协议,分两步进行,验证过程从客户端发起,密码明文传输。PAP协议仅在连接建立阶段进行,在数据传输阶段不进行PAP 认证。

  1. A与B之间通过PPP互联,,A设置为验证方,B为被验证方,当B拨通A后,B会将用户名(一般设置为路由器的名字)与口令一起发给A
  2. 验证方A根据本端的用户数据库(或Radius服务器)查看是否有此用户,口令是否正确。如正确则会给对端发送ACK报文,通告对端已被允许进入下一阶段协商;否则发送NAK报文,通告对端验证失败

​ 通常,验证失败并不会直接将链路关闭。只有当验证失败的次数达到一定值时,才会关闭链路,以防止因误传、网络干扰等造成不必要的LCP重新协商过程。
​ PAP的特点是在网络上以明文的方式传递用户名及口令,如在传输过程中被截获,便有可能对网络安全造成极大的威胁。因此,它适用于对网络安全要求相对较低的环境。

实验三 网络层实验

ARP分析

​ ARP协议,即地址解析协议,用于将IP地址解析成硬件地址。在每台使用ARP的主机中,都保留了一个专用的内存区(称为缓存),存放最近的IP地址与硬件地址的对应关系。一旦收到ARP应答,主机将获得的地址和硬件地址的对应关系存到缓存中。当发送报文时,首先去缓存中查找相应的项,如果找到相应项,便将报文直接发送出去;如果找不到,再利用ARP进行解析。ARP缓存信息在一定时间内有效,过期不更新就会被删除。

​ 同一网段的主机进行通信时,如果ARP缓存中找不到硬件地址,则源主机直接发送ARP请求报文,目的主机对此请求做应答即可。

​ 不同网段的主机进行通信时,源主机会将arp报文发送给它的默认网关(这也是两个组网实验得到的arp报文中target IP address的区别),默认网关再根据报文的目的IP地址进行转发。

配置VLAN的IP地址

不是给某个端口配!是给这个vlan配置ip地址!请注意区别,要使用inter vlan id的命令

1
2
3
4
5
[s1]vlan 2
[s1-vlan2]port e 1/0/1
[s1-vlan2]inter vlan 2
[s1-vlan interface2]ip address 192.168.1.10 255.255.255.0
#S2交换机的配置类似

ICMP分析

ICMP报文可以分为ICMP差错报文和ICMP询问报文两种。具体类型和对应的值如下表。

IP分析

VLAN间通信

好好弄清楚vlan之间怎么通信的,注意端口性质。

OSPF实验

​ OSPF是开放路径最短优先(open shortest path first)的缩写,核心思想是每一台路由器将其周边的链路状态(接口的直连网段,相连的路由器等信息)描述出来,发送给相邻的路由器。经过一段时间的链路状态信息交互,每台路由器都保存了一个链路状态数据库,该数据库是针对整个网络完整的链路状态描述。

​ OSPF协议是一种内部网关协议,其应用范围为一个自治系统内部。

OSPF基本配置

OSPF相关命令
1
2
3
4
reset ospf all process(用户视图) 	#重新启动OSPF进程
display ospf peer #显示OSPF邻居信息
display ospf brief #显示OSPF概要信息
display ospf routing #显示OSPF路由表的信息
配置Router ID
1
2
3
<R1>system-view
[R1]router id 1.1.1.1 #配置路由器的ID
[R1]undo router id #取消路由器的ID号
配置回环地址

​ Loopback是一种纯软件性质的虚拟接口,Loopback接口一旦被创建,将一直保持Up状态,直到被删除。

1
2
[R1]interface loopback 1
[R1-LoopBack1]ip address 1.1.1.1 32
启动OSPF
1
2
3
4
5
[R1]ospf											#启动OSPF路由进程
[R1-ospf-1]area 0 #创建区域0,undo area area-id可删除
[R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 #在接口Loop1上启动ospf并指定所属区域
[R1-ospf-1-area-0.0.0.0]network 168.1.1.0 0.0.0.255 #在E0上启动OSPF并指定所属区域
#R2命令类似,注意使用网络地址和反掩码

显示调试信息
1
2
<R1>debugging ospf event
<R1>terminal debugging
引入静态路由
1
2
3
4
[R1]ip route-static 4.4.4.0 255.255.255.0 192.168.1.1 
#在R1上配置指向S1 Loopback接口网段的静态路由,字段分别为 目的网络地址 子网掩码 下一跳
[R1-ospf]import-route static #将此静态路由引入到OSPF中
[S1]ip route-static 0.0.0.0 0.0.0.0 192.168.1.2 #配置返回路由
配置cost
1
2
3
4
5
6
7
8
9
10
#vlan端口:
[S1]inter vlan 3
[S1-Vlan-interface3]ospf cost 100
[S1-Vlan-interface3]inter vlan 2
[S1-Vlan-interface2]ospf cost 500
#普通端口:
[R1]inter e0/0
[R1-Ethernet0/0]ospf cost 100
[R1-Ethernet0/0]inter s 0/0
[R1-Serial0/0]ospf cost 500

DR和BDR的选举过程

​ DR和BDR一旦选举完成,除非他们发生故障,否则不会更换,即使后来的路由器priority更高。这样可以避免DR的频繁更迭,以及由此带来的路由器之间邻接关系重新建立和链路状态信息重新同步等问题。有利于网络的稳定和减少对网络带宽的占用。

区域划分以及LSA的种类

​ 区域内部仍然使用第一类和第二类LSA描述区域内部的网络,并仅限于内部传播。但是区域边界路由器ABR收到这些信息之后,会据此对该区域内的路由生成一种新的第三类LSA,并将其传播到相邻的区域。第三类LSA主要对区域内的路由信息进行描述,比如网段、子网掩码、度量值等。和第一类第二类相比大大减少了路由信息描述的数据量。

​ 注意ABR要配置两个区域,其他命令无变化。

​ 此处全网互通需要对R1和S1配置静态路由,命令在上面。

路由器的类型

第一类LSA(Router LSA)的分析

显示第一类LSA信息的命令:

1
[R1]display ospf lsdb router

type字段:transnet表示为广播或NBMA类型

第二类LSA(Network LSA)的分析

显示第二类LSA信息的命令:

1
[R1]display ospf lsdb network

第三类LSA(Summary Network LSA)的分析

显示第三类LSA信息的命令:

1
[R1]display ospf lsdb summary

第四类(ASBR-Summary-LSA)和第五类(AS-External-LSA)分析

显示第四类LSA信息的命令:

1
[R1]display ospf lsdb asbr

显示第五类LSA信息的命令:

1
[R1]display ospf lsdb ase

OSPF协议路由的计算过程

​ 注意TranseNet,StubNet,P-2-P的区别

​ 请注意下一跳的内容是具体地址,路径填写路由器号。如填表,最左侧一栏要覆盖所有路由器交换机(本机除外)以及TransNet和StubNet,写清楚具体网络地址。

​ 用traceroute命令可以验证最短路径树。

1
[R1]tarcert 10.1.1.2

设计性实验1

如何使全网互通?这里有三种方式:

  1. 将PC所在网段引入OSPF路由:

    1
    2
    3
    4
    5
    6
    [s1]ospf
    [s1-ospf-1]area 1
    [s1-ospf-1-area-0.0.0.1]import-route direct
    [s2]ospf
    [s2-ospf-1]area 2
    [s2-ospf-1-area-0.0.0.2]import-route direct
  2. 在ASBR所在区域的ABR上配置到ASE的静态路由并引入OSPF:

    1
    2
    3
    4
    5
    6
    [r1]ip route-static 192.168.5.0 255.255.255.2 192.168.3.2
    [r1]ospf
    [r1-ospf-1]import-route static
    [r2]ip route-static 192.168.6.0 255.255.255.2 192.168.4.2
    [r2]ospf
    [r2]import-route static
  3. 在每台交换机/路由器上配置到PC1/PC2的静态路由,命令类似。

设计性实验2

使全网互通的方式:

要同时提供给ospf从R1或R2到211.100.2.0网段的路由

  • 首先将R1注入一条202.112.2.2的静态路由,并通过静态路由和直连引入ospf

    1
    2
    3
    4
    [R1]ip route-static 211.100.2.0 255.255.255.0 202.112.1.2
    [R1]ospf
    [R1-ospf-1]import-route static
    [R1-ospf-1]import-route direct
  • R2也需要引入一条到211.100.2.1的静态路由:

    1
    2
    3
    4
    [R2]ip route-static 211.100.2.0 255.255.255.0 202.112.2.2
    [R2]ospf
    [R2-ospf-1]import-route static
    [R2-ospf-1]import-route direct
  • 对于回环地址,设置返回地址:

    1
    2
    [S2]ip route-static 0.0.0.0 0.0.0.0 202.112.1.2 pre 50
    [S2]ip route-static 0.0.0.0 0.0.0.0 202.112.2.2 pre 60
  • 将两台PC通过直连引入ospf:

    1
    [S1]import-route direct

​ ospf动态计算路由,选择cost最小的path,网络全连接时选择S1-R1-S2-loop1;R1-S1断开时,选择S1-R2-S2-loop1;R2-S2断开时,选择S1-R2-R1-S2-loop1

BGP实验

​ 一种自治系统间的动态路由协议,它的基本功能是在 自治系统间自动交换无环路的路由信息,通过交换带有AS号序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。

​ BGP运行在一个特定的路由器上,系统初启时通过发送整个BGP路由表交换路由信息,之后为了更新路由表只交换更新报文(Update Message)。系统运行过程中通过接受和发送KEEP ALIVE报文来检测相互之间的连接是否正常。

​ 通过BGP交换路由信息的两个路由器互为邻居。发送BGP报文的路由器成为BGP发言人(Speaker),与它交换路由信息的其他BGP发言人成为对等体(Peer),若干相关的对等体可以构成对等体组(Group)

​ BGP的路由通告原则如下:

  1. 到达同一目的网络存在多条路径时,BCPSpeaker只选用最优的
  2. BGPSpeaker只把自己使用的路由通告给对等体
  3. BGPSpeaker从EBGP获得的路由会向它所有BCP对等体通告(包括EBGP和IBGP)
  4. BGPSpeaker从IBGP获得的路由不向它的IBGP对等体通告
  5. BGPSpeaker从IBGP获得的路由是否通告给它的EBCP对等体要根据IGP和BGP同步的情况来决定
  6. 连接一建立,BGPSpeaker将把自己所有BGP路由通告给新对等体

基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[R1]bgp 100											#启动BGP,自治系统号为100
[R1-bgp]peer 1.1.1.2 as-number 300

[S1]bgp 300
[S1-bgp]peer 1.1.1.1 as-number 100
[S1-bgp]peer 3.1.1.2 as-number 300
[S1-bgp]peer 3.1.1.2 next-hop-local #强制下一跳为本身接口

[R1-bgp]network 5.5.5.5 255.255.255.255 #注入5.5.5.5/32网段的路由信息

#如果是新机器,需要:
[S1-bgp]address-family ipv4 unicast
[S1-bgp-default-ipv4]peer 1.1.1.1 enable
[S1-bgp-default-ipv4]peer 3.1.1.2 enable
[S1-bgp-default-ipv4]peer 3.1.1.2 next-hop-local

查看信息

1
2
3
4
5
6
7
#查看调试信息
<R1>debug bgp event
<R1>terminal debugging
<R1>reset bgp all

#查看邻居信息
[R1]display bgp peer

路由聚合

1
2
3
4
5
6
[r1]bgp 100
[r1-bgp]aggregate 192.168.0.0 255.255.240.0

#如果只想展示聚合路由,则需要先取消聚合再设置
[r1-bgp]undo aggregate 192.168.0.0 255.255.240.0
[r1-bgp]aggregate 192.168.0.0 255.255.240.0 detail-suppressed

BGP的状态说明

BGP基本路由属性

​ BGP在向EBGP对等体通告一条路由时,要把自己的AS号加入到AS路径属性中,以记录此路由通过的AS区域信息。BGP不会接受AS路径属性中包含本AS号的路由,因为此路由已经被本自治系统处理过了,从而避免生成路由环路的可能。

引入直连路由和观察BGP路由表

1
2
3
[S1-bgp]import-route direct
[S2-bgp]import-route direct
[r2-bgp]display bgp routing-table

BGP的路由策略

访问控制列表ACL

阻止AS100的5.0.0.0/8网段的路由传给AS200:

1
2
3
4
5
6
[S2]acl number 2001
[S2-acl-basic-2001]rule 0 deny source 5.0.0.0 0.255.255.255
[S2-acl-basic-2001]rule 1 permit source 0.0.0.0 255.255.255.255
[S2-acl-basic-2001]quit
[S2]bgp 300
[S2-bgp]peer 2.1.1.2 filter-policy 2001 export
基于AS-Path的路由过滤

在S1上配置路由过滤,使得S1不通告AS200的路由,而只通告AS300内部的路由:

1
2
3
4
[S1]ip as-path 1 deny \b200$				#设置拒绝来自AS200的路由
[S1]ip as-path 1 permit ^$ #设置允许本AS的路由
[S1]bgp 300
[S1-bgp]peer 1.1.1.1 as-path-acl 1 export #配置基于AS-Path的路由过滤

\b是AS号码之间的分隔符,匹配本地路由,$匹配从AS200始发的路由

基于Route Policy的路由过滤

使S1不向外通告6.0.0.0/8的路由信息,并且向外通告的其他路由信息的cost值都为888

1
2
3
4
5
6
7
8
[S1]acl number 2001
[S1-acl-basic-2001]rule 1 deny source 6.0.0.0 0.255.255.255
[S1-acl-basic-2001]rule 2 perimit source any
[S1]route-policy deny6 permit node 10
[S1-route-policy]if-match acl 2001
[S1-route-policy]apply cost 888
[S1]bgp 300
[S1-bgp]peer 1.1.1.1 route-policy deny6 export

BGP设计性实验2

使S1不向R1通告AS300内部的路由信息:

1
2
3
4
5
[S1]ip as-path-acl deny 1 \b300$
[S1]ip as-path-acl permit 1 ^$ #允许匹配本地路由
[S1]ip as-path-acl permit 1 400$
[S1]bgp 200
[S1-bgp]peer 11.2.1.1 as-path-acl 1 export

BGP设计性实验3

  1. 配置local-preference属性,实现S2到18.0.0.0/8的路由,优先选择S2->R2->R1;配置local pref,选大,默认100,出口 ;S1配10即可

    1
    2
    [S1]bgp 200
    [S1-bgp]default local-preference 10
  2. 配置Med属性,实现R1到19.0.0.0/8的路由选择R1->S1->S2;配置med,选小,默认0,入口;R2配10即可

    1
    2
    [R2]bgp 100
    [R2-bgp]default med 10

TCP传输层实验

​ 在Linux系统进行试验,配置没什么好说的,注重分析。使用linux虚拟机,请注意不要与主机的IP地址冲突,请禁用主机上相关的虚拟网卡。

  • Title: Summary of Computer Network Experiment
  • Author: Leostar
  • Created at : 2024-05-16 17:54:20
  • Updated at : 2024-08-01 15:23:04
  • Link: https://leostarr.github.io/2024/05/16/10Summary of Computer Network Experiment/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
Summary of Computer Network Experiment