如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?
通过一个学期的学习,网络程序设计这门课程也是结束了,通过这一学期的理论结合实践,在潜移默化中,我们学会了初步的网络编程,对于计算机网络的知识,更是在实践中有了比原来清晰很多的认识。学完了课程,需要我们自己出一些认为比较不错的题目。当然,题目不错体现在与我们所学的知识能有所关联,而不在于题目难度多大。我倾向于简单的题目,题目涉及的知识点尽量选取我们实验过程中有所体会的。
-
网络编程的水平体现在哪些方面
①网络编程,顾名思义,是与网络有关的。计算机网络的知识是基本。原来考研时学408也有一门计算机网络,当时就觉得这门课十分的繁杂抽象,很难与实际联系起来。这门课最大的优点便是理论结合实际了,学这门课时,我们也更加深入地了解了一些网络协议,还有socket编程的基本知识。
②如果说网络知识是地基,那么编程能力才真正建成高楼大厦,掌握好一门语言,有一定的编程能力才可以完成实际中需要的功能。对于跨考生来说,这门课的实验要做好,对于编程能力也是一个锻炼。
③思维能力。这个包括很多方面,大到创新能力,这个属于高水平。我们既然学了这门课,要养成一定的思维能力,比如对于一些协议,为什么需要它,为什么要制定成如今的规则,要有一定的理解,而不是背背规则完事。
-
题目部分
①下列有关Socket的说法,错误的是()(牛客网)
A、Socket是一个用于描述ip地址和端口,是一个通信链的句柄
B、Socket通信必须建立连接
C、Socket客户端的端口是不固定的
D、Socket服务端的端口是固定的
答:D。PV4下,两种基本的通信方式分别是TCP和UDP,前者是面向连接的可靠的字节流服务,通信之前必须要先建立起socket连接,而后者是面向无连接的数据包服务,通信之前无需建立起任何连接,因而B选项是错误的。
②路由器会根据下列哪一种协议的包头信息来转发数据包()(牛客网)
A、TCP
B、UDP
C、IP
D、HTTP
答:C。路由器属于网络层器件,跟IP协议有关
目的网络ip地址 | 子网掩码 | 下一跳ip地址 | 端口 |
⑴ 将IP 地址空间202.118.1.0/24 划分为2 个子网,分别分配给局域网1、局域网2,每个局域网需分配的IP 地址数不少于120 个。请给出子网划分结果,说明理由或给出必要的计算过程。
⑵ 请给出R1 的路由表,使其明确包括到局域网1 的路由、局域网2 的路由、域名服务器的主机路由和互联网的路由。
⑶ 请采用路由聚合技术,给出R2 到局域网1 和局域网2 的路由。
解答:
⑴ CIDR 中的子网号可以全0 或全1,但主机号不能全0 或全1。
因此若将IP 地址空间202.118.1.0/24 划分为2 个子网,且每个局域网需分配的IP 地址个数不少于120 个,子网号至少要占用一位。
由 2^6-2<120<2^7-2 可知,主机号至少要占用7 位。
由于源IP地址空间的网络前缀为24位,因此主机号位数+子网号位数=8 。
综上可得主机号位数为7,子网号位数为1。
因此子网的划分结果为:子网1:202.118.1.0/25,子网2:202.118.1.128/25。
地址分配方案:子网1分配给局域网1,子网2分配给局域网2,或子网1分配给局域网2,子网2分配给局域网1.
⑵ 由于局域网1 和局域网2 分别与路由器R1 的E1、E2 接口直接相连,因此在R1 的路由表中,目的网
络为局域网1 的转发路径是直接通过接口E1 转发,目的网络为局域网2 的转发路径是直接通过接口E1 转发。由于局域网1、2 的网络前缀均为25 位,因此它们的子网掩码均为255.255.255.128。
根据题意, R1 专门为域名服务器设定了一个特定的路由表项,因此该路由表项中的子网掩码应为255.255.255.255。对应的下一跳转发地址是202.118.2.2,转发接口是L0。
根据题意,到互联网的路由实质上相当于一个默认路由,默认路由一般写作0/0,即目的地址为0.0.0.0,子网掩码为0.0.0.0。对应的下一跳转发地址是202.118.2.2,转发接口是L0。
综上可得到路由器R1 的路由表为:
(若子网1 分配给局域网1,子网2 分配给局域网2)
目的网络IP地址 | 子网掩码 | 下一跳IP地址 | 接口 |
202.118.1.0 | 255.255.255.128 | - | E1 |
202.118.1.128 | 255.255.255.128 | - | E2 |
202.118.3.2 | 255.255.255.255 | 202.118.2.2 | L0 |
0.0.0.0 | 0.0.0.0 | 202.118.2.2 | L0 |
(若子网1 分配给局域网2,子网2 分配给局域网1)
目的网络IP地址 | 子网掩码 | 下一跳IP地址 | 接口 |
202.118.1.128 | 255.255.255.128 | - | E1 |
202.118.1.0 | 255.255.255.128 | - | E2 |
202.118.3.2 | 255.255.255.255 | 202.118.2.2 | L0 |
0.0.0.0 | 0.0.0.0 | 202.118.2.2 | L0 |
目的网络IP地址 | 子网掩码 | 下一跳IP地址 | 接口 |
202.118.1.0 | 255.255.255.0 | 202.118.2.1 | L0 |