第三周作业

文章概述了C语言的gcc编译步骤,程序包管理的rpm、yum、apt命令选项,开放系统互联OSI七层模型的功能和协议,TCP包头结构和握手挥手过程,主机间包传递流程,以及IP地址分类和子网计算。同时涵盖了网络通信中的IP地址判断和子网划分问题。
摘要由CSDN通过智能技术生成

目录

1. 尝试基于gcc命令说明 c语言编译过程。

2. 总结程序包获取途径,以及rpm, yum, apt命令选项示例。

3.总结开放系统互联OSI模型,每层作用及的协议。

4. 总结TCP包头结构,TCP三次握手,4次挥手。

5. 总结主机到主机的包传递过程。

6. 总结IP地址 A, B, C, D 类,并解析IP地址的组成

7. 201.222.200.111/18计算主机数?子网掩码?说明计算方法。

​编辑

8. 当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?

9. 如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。

10. 通过ifconfig命令结果找到ip地址


1. 尝试基于gcc命令说明 c语言编译过程。

分步骤编译

        gcc -E hello.c -o hello.i 对hello.c文件进行预编译,生成hello.i文件

        gcc -S hello.i -o hello.s 对预处理文件进行编译,生成了汇编文件

        gcc -c hello.s -o hello.o 对汇编文件进行编译,生成了目标文件

        gcc hello.o -o hello 对目标文件进行链接,生成可执行文件

一步实现编译过程

gcc hello.c -o hello 直接编译链接成可执行目标文件


2. 总结程序包获取途径,以及rpm, yum, apt命令选项示例。

获取程序包的途径如下:系统发版的光盘或官方网站、第三方组织提供、软件项目官方站点、搜索引擎、自己制作

rpm:

-a:查询所有套件;

-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;

-c:只列出组态配置文件,本参数需配合"-l"参数使用;

-d:只列出文本文件,本参数需配合"-l"参数使用;

-e<套件档>或--erase<套件档>:删除指定的套件;

-f<文件>+:查询拥有指定文件的套件;

-h或--hash:套件安装时列出标记;

-i:显示套件的相关信息;

-i<套件档>或--install<套件档>:安装指定的套件档;

-l:显示套件的文件列表;

-p<套件档>+:查询指定的RPM套件档;

-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;

-R:显示套件的关联性信息;

-s:显示文件状态,本参数需配合"-l"参数使用;

-U<套件档>或--upgrade<套件档>:升级指定的套件档;

-v:显示指令执行过程;

-vv:详细显示指令执行过程,便于排错。
 

yum

-y:对所有的提问都回答“yes”;

-R:设置yum处理一个命令的最大等待时间;

Install                    用于安装指定的软件包,同时安装依赖的底层软件包,自动解决依赖关系。

Update                   更新系统中已安装的软件包,没有指定软件包名时将更新整个系统中所有软件包。

check-update          检查软件包是否有更新。

remove                   卸载指定的软件包,同时删除依赖于指定软件包的其他软件包。

info                        查询程序包information。

deplist                    查询与指定软件包存在依赖关系的软件包,包括依赖指定软件包,以及指定软件包依赖的底层支持软件包。

groupinstall             安装指定的软件组

groupupdate            更新指定的软件组

grouplist                 查询软件组。

groupremove           删除指定的软件组。

list [all | available | installed | updates]       显示程序包   

repolist [all | enabled | disabled]              显示仓库列表

apt:

安装一个新软件包:apt-get install packagename

卸载一个已安装的软件包(保留配置文件):apt-get remove packagename

卸载一个已安装的软件包(删除配置文件):apt-get –purge remove packagename

默认会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件:apt-get autoclean apt

这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的:apt-get clean

更新所有已安装的软件包:apt-get upgrade

将系统升级到新版本:apt-get dist-upgrade


3.总结开放系统互联OSI模型,每层作用及的协议。

        物理层:主要是在物理媒体上实现比特流的透明传输,物理层传输的单位是比特
透明传播:不管所传数据是怎样的比特组合,都应能在链路上传送。主要协议:Rj45、802.3
        数据连接层:把网络层的传下来的数据报组装成帧。链路层的传输单位是帧。主要协议:SDLC、HDLC、PPP、STP
        网络层:路由选择【路由:路径的选择,选择最佳的路径】、流量控制、差错控制、拥塞控制。主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
        传输层:实现终端和终端的通讯,可靠传输和不可靠传输、差错控制、流量控制、复用分用。主要协议:TCP、UDP
        会话层:建立、管理、终止会话;使用校验点可使会话在通讯失效时从校验点/同步点继续恢复通讯。实现数据同步。主要协议:ADSP、ASP
        表示层:数据格式的变换(翻译)、数据加密解密、数据的压缩和恢复。主要协议:JPEG、ASCII
        应用层 Application:应用层是用户与网络的界面,即所有能与用户交互并且产生网络流量的程序。件传输(FTP),电子邮件(SMTP),万维网(HTTP)


4. 总结TCP包头结构,TCP三次握手,4次挥手。


三次握手原理:

        第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;
        第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了;
        第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。
其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。

四次挥手原理:

        第1次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传送,客户端进入FIN_WAIT_1状态;
        第2次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT状态;
        第3次挥手:服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态;
        第4次挥手:客户端收到FIN后,客户端t进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,服务端进入CLOSED状态,完成四次挥手。
其中:FIN标志位数置1,表示断开TCP连接。


5. 总结主机到主机的包传递过程。

        两主机通信时,首先把应用数据封装成IP包,然后再交给下一层数据链路层继续封装成帧,之后根据MAC地址把数据从一台主机发送出去,传送到另一台主机。


6. 总结IP地址 A, B, C, D 类,并解析IP地址的组成

A类:(1.0.0.1-126.255.255.254)(默认子网掩码:255.0.0.0或0xFF000000)第一个字节为网络号,后三个字节为主机号,表示为网络--主机--主机--主机。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。共有16777214个主机地址,一般用于大型网络。

B类:(128.1.0.1-191.254.255.254)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。共有65534个主机地址,一般用于中等规模网络。

C类:(192.0.1.1-223.255.254.254)(子网掩码:255.255.255.0或0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。共有254个主机地址,一般用于小型网络。

D类:是多播地址。(224.0.0.1-239.255.255.254) 该类IP地址的前面4位为“1110”,所以网络号取值于224~239之间;后面28位为组播地址ID。这是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicasting)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。


7. 201.222.200.111/18计算主机数?子网掩码?说明计算方法。


8. 当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?

        判断A访问B是否在同一网段,用A的子网掩码分别和A的IP及B的IP相与,比较结果,相同则同一网络,不同则不同网段

 所以A访问B在同一网段,可以通信


9. 如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。

 

10. 通过ifconfig命令结果找到ip地址.

可知IP地址为:10.0.0.129

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值