云盘算-----第三周

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

1. 总结步伐包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何获取下令获取? yum/dnf/apt总结步伐包获取途径,以及rpm, yum, apt下令选项示例。

        1.总结步伐包管理器有哪些

                        1.redhat:rpm文件, rpm 包管理器,
                        2.rpm:Redhat Package Manager,RPM Package Manager
                        3.debian:deb文件, dpkg 包管理器
2.包中包含什么内容的文件,尝试这些文件如何获取下令获取?

                        1.包中包含什么内容的文件

                                        1.包文件构成 (每个包独有)

                                                1.包内的文件
                                                2.元数据,如:包的名称,版本,依赖性,描述等
                                                3.可能会有包安装或卸载时运行的脚本
                                        2.数据库(公共):/var/lib/rpm

                                                1.步伐包名称及版本
                                                2.依赖关系
                                                3.功能说明
                                                4.包安装后生成的各文件路径及校验码信息
                                                5.自己制作
                        2.这些文件如何获取下令获取

                                1.包管理器rpm

3.yum/dnf/apt总结步伐包获取途径,以及rpm, yum, apt下令选项示例

                1.yum/dnf/apt总结步伐包获取途径

                                1.系统发版的光盘或官方网站
                                2.第三方组织提供
                                3.软件项目官方站点
                                4. 搜刮引擎
                                5.自己制作
                2.rpm, yum, apt下令选项示例

                        1.rpm

                                1.下令
  1. rpm {-i|--install} [installoptions] PACKAGE_FILE…
  2. -v|verbose        #显示详细信息
  3. -vv        #更详细
  4. -h        #显示安装进度条
  5. --test        #测试安装,但不真正执行安装,即dry run模式
  6. --nodeps        #忽略依赖关系
  7. --replacefiles        #忽略软件包之间的冲突的文件
  8. --replacepkgs        #如果软件包已经有了,重新安装软件包
  9. --nosignature        #不检查来源合法性
  10. --nodigest        #不检查包完整性
  11. --noscripts        #不执行程序包脚本,相当于 --nopre --nopost --nopreun --nopostun -
  12. -nopretrans --noposttrans
  13. --nopre        #不执行程序包中安装前脚本
  14. --nopost        #不执行程序包中安装前脚本
  15. --nopreun        #不执行程序包中卸载前脚本
  16. --nopostun        #不执行程序包中卸载后脚本
  17. --nopretrans        #安装前不执行与程序同名脚本
  18. --noposttrans        #安装后不执行与程序同名脚本
复制代码
                                2.升级和降级

  1. rpm {-U|--upgrade} [installoptions] PACKAGE_FILE...
  2. rpm {-F|--freshen} [installoptions] PACKAGE_FILE...
  3. upgrade        #安装有旧版程序包,则“升级”,如果不存在旧版程序包,则“安装”
  4. freshen        #安装有旧版程序包,则“升级”, 如果不存在旧版程序包,则不执行安装操
  5. --oldpackage        #降级
  6. --force        #强制安装
  7. 升级注意项:
  8. 1.不要对内核做升级操作;Linux支持多内核版本并存,因此直接安装新版本内核
  9. 2.如果原程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件不会直接覆盖老版本的配置文件,而把旧版本文件重命名(FILENAME.rpmnew)后保留
复制代码
                                3.包查询

  1. rpm {-q|--query} [select-options] [query-options]
  2. [select-options]
  3. -a        #所有包
  4. -f        #查看指定的文件由哪个程序包安装生成
  5. -p rpmfile        #针对尚未安装的程序包文件做查询操作
  6. --whatprovides CAPABILITY  #查询指定的CAPABILITY由哪个包所提供--whatrequires CAPABILITY  #查询指定的CAPABILITY被哪个包所依赖
  7. [query-options]
  8. --changelog        #查询rpm包的chanelo
  9. -c        #查询程序的配置文件
  10. -d        #查询程序的文档
  11. -i        #informtion
  12. -l        #查看指定的程序包安装后生成的所有文件
  13. --scripts        #程序包自带的脚本
  14. --provides        #列出指定程序包所提供的CAPABILITY
  15. -R        #查询指定的程序包所依赖的CAPABILITY
复制代码
                                4.包卸载

  1. rpm {-e|--erase} [-allmatches] [-nodeps] [--noscripts] [--notriggers] [--test]
复制代码
                                5.包校验

                                        
  1. 检查包的完整性和签名
  2. rpm -K|checksig rpmfile
复制代码
                                6.数据库

  1. ll /var/lib/rpm
  2. 可以重建数据库
  3. rpm {--initdb|--rebuilddb}
  4. initdb        #初始化,如果事先不存在数据库,则新建之,否则,不执行任何操作
  5. rebuilddb        #重建已安装的包头的数据库索引目录
复制代码
                                7.包更新日志

  1. rpm -q --changelog packageName
复制代码
                        2.yum

                                1.用法
  1. yum [options] COMMAND
  2. #常用选项
  3. -c file|--config file        #指定配置文件,默认使用/etc/yum.conf
  4. -v|--verbose        #显示详细信息
  5. -b|--best        #尝试在可用包中寻找最匹配的版本
  6. -y|--assumeyes        #自动回答为 yes
  7. --nogpgcheck        #不进行包校验
  8. --repo repoid|-repoid repoid        #指定repo源
  9. --enablerepo repoid        #临时启用repo源,可用通配符
  10. --disablerepo repoid        #临时禁用repo源,可用通配符
  11. --nodocs        #不安装文档
  12. --skip-broken        #跳过有问题的包
  13. --enable        #启用源,配合 config-manager
  14. --disable        #禁用源,配合 config-manager
  15. -x package|-exclude package|-excludepkgs package        #排除指定包,可用通配符
  16. --downloadonly        #只下载,不安装
  17. #常用子命令
  18. autoremove        #卸载包,同时卸载依赖
  19. check-update        #检查可用更新
  20. clean        #清除本地缓存
  21. downgrade        #包降级
  22. group        #包组相关
  23. help        #显示帮助信息
  24. history        #显示history
  25. info        #显示包相关信息
  26. install        #包安装
  27. list        #列出所有包
  28. makecache        #重建缓存
  29. reinstall        #重装
  30. remove        #卸载
  31. repolist        #显示或解析repo源
  32. search        #包搜索,包括包名和描述
复制代码
                                2.显示仓库列表
                                        
  1. yum repolist [options]
  2. #常用选项
  3. -v|--verbose        #显示详细信息
  4. --repo repoid|--repoid repoid        #指定rpo源
  5. --all        #显示所有源
  6. --enabled        #所有 nbl 状态的源,默认项
  7. --disabled        #所有disbld 的源
复制代码
                                3.显示步伐包
  1. yum list [options] [PACKAGE [PACKAGE ...]
  2. #常用选项
  3. --all    #显示所有包,包括己安装的和repo源中的可用包
  4. --available        #所有可用包
  5. --installed        #所有己安装的包
  6. --extras        #所有额外包
  7. --updates        #所有可更新的包
  8. #上述选项可以替换成对应的 all,installed 这种子命令,但要注意位置
  9. --showduplicates        #相同的包,显示所有版本
复制代码
                                4.安装步伐包
  1. yum install [options] PACKAGE [...]
  2. yum reinstall [options] PACKAGE [...]
  3. #常用选项
  4. --installroot path        #指定安装目录
  5. --downloadonly        #只下载,不安装
  6. --downloaddir path|--destdir path        #指定下载目录,如果下载目录不存在,则自动创建
复制代码
                                5.卸载步伐包
  1. yum remove [options] PACKAGE [...]
  2. yum erase [options] PACKAGE [...]
复制代码
                                6.升级和降级
  1. yum update [options] PACKAGE [...]        #升级
  2. yum downgrade [options] PACKAGE [...]        #降级
  3. yum check-update        #检查可用升级
复制代码
                                7.查询
  1. yum info [options] PACKAGE [...]        #查看程序包的 information 信息
  2. yum provides [options] PROVIDE        #查看文件是由哪个包提供
  3. yum search [options] KEYWORD        #根据关健字搜索,范围包括包名和描述信息
  4. yum deplist [options] PACKAGE [...]        #查询包的依赖
复制代码
                                8.仓库缓存
  1. yum clean [options] {metadata,packages,dbcache,expire-cache,all}        #清空缓存
  2. yum makecache        #构建缓存
复制代码
                                9.检察yum事务汗青
  1. yum 执行安装卸载命令会记录到相关日志中
  2. 日志文件 /var/log/dnf.log ( /var/log/yum.log )
  3. yum history [options] [info|list|redo|undo]
  4. yum history        #默认查看所有
  5. yum history list        #同上
  6. yum history package        #查看与指定包有关的日志
  7. info N        #查看第N条记录的具体执行内容
  8. undo N        #回滚第N条记录
  9. redo N        #重新执行第N条记录
复制代码
                                10.安装及升级本地步伐包
  1. yum localinstall|install [options] rpmfile1 [...]        #安装本地RPM包
  2. yum localupdate|update [options] rpmfile1 [...]        #使用本地RPM包升级
复制代码
                                11.包组管理的相关下令
  1. yum grouplist [options]        #列出所有包组
  2. yum groupinstall [options] group1 [...]        #包组安装
  3. yum groupupdate [options] group1 [...]        #包组升级
  4. yum groupremove [options] group1 [...]        #包组卸载
  5. yum groupinfo [options] group1 [...]        #包组查询
复制代码
                                12.

                        3.apt

                                1.下令
  1. apt [options] command
  2. #options
  3. -h|--help        #显示帮助
  4. -v|--version        #显示版本
  5. -y|--yes        #自动回答yes
  6. -q|--quiet        #安静模式
  7. #command
  8. list    #根据名称列出软件包
  9. search        #搜索软件包描述
  10. show|info        #显示软件包细节
  11. install        #安装软件包
  12. remove        #移除软件包
  13. autoremove        #卸载所有自动安装且不再使用的软件包
  14. update        #更新可用软件包列表,只更新索引文件,不具体更新软件
  15. upgrade    #通过 安装/升级 软件来更新系统
  16. full-upgrade        #通过 卸载/安装/升级 来更新系统
  17. edit-sources        #编辑软件源信息文件
复制代码

    3. 简要总结yum/dnf工作原理。并搭建私有yum仓库(base, epel源)给另一个假造机使用。


             1.   yum/dnf工作原理

                1.yum/dnf 是基于C/S 模式
                        yum 服务器存放rpm包和相关包的元数据库
                        yum 客户端访问yum服务器举行安装或查询等
                2.yum 实现过程
                        先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,
                           以及包的相关的元数据文件(放置于特定目次repodata下),当yum客户端利用
                           yum/dnf工具举行安装包时,会自动下载repodata中的元数据,查询元数据是否存
                           在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
             2.搭建私有仓库   

        


    4. 简要总结apt的工作原理        


在服务器上先复制全部DEB包,然后用APT的分析工具genbasedir根据每个DEB 包的(Header)信息对全部的DEB包举行分析,并将该分析结果纪录在文件夹base内的一个DEB 索引清单文件中,一旦APT 服务器内的DEB有所变更,要使用genbasedir产生新的DEB索引清单。
客户端在举行安装或升级时先要查询DEB索引清单,从而获知全部具有依赖关系的软件包,并一同下载到客户端以便安装。当客户端需要安装、升级或删除某个软件包时,客户端盘算机取得DEB索引清单压缩文件后,会将其解压置放于 /var/cache/apt/,而客户端使用apt-get install或apt-get upgrade下令的时候,就会将这个文件夹内的数据和客户端盘算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的。



    5. 编译安装nginx的步骤总结


                1.下载源码
  1. wget http://nginx.org/download/nginx-1.23.0.tar.gz
复制代码
                2.解包
  1. tar xf nginx-1.23.0.tar.gz
复制代码
                3.进入目次,检察编译选项
  1. cd nginx-1.23.0/
  2. ls
  3. ./configure --help
复制代码
                4.指定安装目次,开始ssl模块,开始编译
  1. ./configure --prefix=/lnmp/nginx --withhttp_ssl_module
复制代码
                5.根据提示,安装c编译,再次编译
  1. yum install -y gcc
  2. ./configure --prefix=/lnmp/nginx --withhttp_ssl_module
复制代码
                7.搜刮,安装pcre包,再次编译
  1. yum search pcre
  2. yum install -y pcre-devel
  3. ./configure --prefix=/lnmp/nginx --withhttp_ssl_module
复制代码
                9.搜刮,安装openssl包,再次编译
  1. yum search openssl
  2. yum install -y openssl-devel
  3. ./configure --prefix=/lnmp/nginx --withhttp_ssl_module
复制代码
                11.生成Makefile文件
  1. ls
复制代码
                12.实行,安装make
  1. make
复制代码
                13.实行make,make install
  1. make
  2. make install
复制代码
                14.检察
  1. tree /lnmp/
复制代码
                15.启动nginx,检察版本信息
  1. /lnmp/nginx/sbin/nginx
  2. /lnmp/nginx/sbin/nginx -V
复制代码
                16.关闭防火墙 
  1. systemctl stop firewalld
复制代码

    6. 磁盘存储术语总结: head, track, sector, sylinder.


                1.head
                        1.磁 头
                        2.一个盘面对应一个磁头
                2.track 
                        1.磁 道
                        2.盘面上的每一圈就是一个磁道
                3.sector
                        1.扇 区
                        2.把每个磁道按512bytes大小再举行分别,这就是扇区,每个磁道上的扇区数目 是
                        不一样的
                4.sylinder
                        1.柱 面
                        2.磁头移动的时候,是一起移动的,如果是6个盘面,则6个磁头对应的磁道是一 致
                        的,这就是柱面

    7. 总结MBR,GPT结构


                1.MBR结构

                        1.Master Boot Record,1982年,使用32位表示扇区数,分区不凌驾2T
                        2.0磁道0扇区:512bytes
                                1.446bytes: boot loader 启动相关
                                2.64bytes:分区表,此中每16bytes标识一个分区
                                3.2bytes: 55AA,标识位
                        3.MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
                        

                2.GPT结构

                        1.GPT分区结构分为4个地区:
                                1.GPT头
                                2.分区表
                                3.GPT分区
                                4.备份地区

                

    8. 总结学过的分区,文件系统管理,SWAP管理相关的下令及示例(加注释),示例 fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff


                1.fdisk

  1. [root@ubuntu ~]$  fdisk /dev/sdb
  2. Welcome to fdisk (util-linux 2.37.2).
  3. Changes will remain in memory only, until you decide to write them.
  4. Be careful before using the write command.
  5. Device does not contain a recognized partition table.
  6. Created a new DOS disklabel with disk identifier 0x78917bb9.
  7. Command (m for help): p
  8. Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
  9. Disk model: VMware Virtual S
  10. Units: sectors of 1 * 512 = 512 bytes
  11. Sector size (logical/physical): 512 bytes / 512 bytes
  12. I/O size (minimum/optimal): 512 bytes / 512 bytes
  13. Disklabel type: dos
  14. Disk identifier: 0x78917bb9
  15. Command (m for help): n
  16. Partition type
  17.    p   primary (0 primary, 0 extended, 4 free)
  18.    e   extended (container for logical partitions)
  19. Select (default p):
  20. Using default response p.
  21. Partition number (1-4, default 1):
  22. First sector (2048-41943039, default 2048):
  23. Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): +6g
  24. Created a new partition 1 of type 'Linux' and of size 6 GiB.
  25. [root@ubuntu ~]$  lsblk -f /dev/sdb
  26. NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
  27. sdb                                                                           
  28. ├─sdb1 ext4   1.0         cc6e5801-870c-479f-840a-426e11a328a0               
  29. ├─sdb2                                                                        
  30. └─sdb3                       
复制代码
                2.parted

  1. parted /dev/sdc mklabel gpt
  2. parted /dev/sdc mkpart primary 1 1001
复制代码
                3.mkfs

  1. mkfs.ext4 /dev/sdb1
  2. mke2fs 1.46.5 (30-Dec-2021)
  3. Creating filesystem with 1572864 4k blocks and 393216 inodes
  4. Filesystem UUID: cc6e5801-870c-479f-840a-426e11a328a0
  5. Superblock backups stored on blocks:
  6.         32768, 98304, 163840, 229376, 294912, 819200, 884736
  7. Allocating group tables: done                           
  8. Writing inode tables: done                           
  9. Creating journal (16384 blocks): done
  10. Writing superblocks and filesystem accounting information: done
复制代码
                4.tune2fs

  1. [root@ubuntu ~]$  tune2fs -l /dev/sdb1
  2. tune2fs 1.46.5 (30-Dec-2021)
  3. Filesystem volume name:   <none>
  4. Last mounted on:          <not available>
  5. Filesystem UUID:          cc6e5801-870c-479f-840a-426e11a328a0
  6. Filesystem magic number:  0xEF53
  7. Filesystem revision #:    1 (dynamic)
  8. Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
  9. Filesystem flags:         signed_directory_hash
  10. Default mount options:    user_xattr acl
  11. Filesystem state:         clean
  12. Errors behavior:          Continue
  13. Filesystem OS type:       Linux
复制代码
                5.xfs_info

  1. [root@ubuntu ~]$  xfs_info /dev/sdb2
  2. meta-data=/dev/sdb2              isize=512    agcount=4, agsize=327680 blks
  3.          =                       sectsz=512   attr=2, projid32bit=1
  4.          =                       crc=1        finobt=1, sparse=1, rmapbt=0
  5.          =                       reflink=1    bigtime=0 inobtcount=0
  6. data     =                       bsize=4096   blocks=1310720, imaxpct=25
  7.          =                       sunit=0      swidth=0 blks
  8. naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
  9. log      =internal log           bsize=4096   blocks=2560, version=2
  10.          =                       sectsz=512   sunit=0 blks, lazy-count=1
  11. realtime =none                   extsz=4096   blocks=0, rtextents=0
复制代码
                6.fsck

  1. [root@ubuntu ~]$  fsck.ext4 /dev/sdb1
  2. e2fsck 1.46.5 (30-Dec-2021)
  3. /dev/sdb1: clean, 11/393216 files, 47214/1572864 blocks
复制代码
                7.mountu

  1. mount /dev/sdb1 /sd1
复制代码
                8.umount

  1. umount /sd1
复制代码
                9.swapon

  1. swapon -s
  2. Filename                                Type                Size                Used                Priority
  3. /swap.img                               file                2097148                2328                -2
复制代码
                10.swapoff

  1. swapoff -a
复制代码

    9. 总结raid 0, 1, 5, 10, 01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。


        1.RAID-0

                1.利用空间:N*min(S1,S2,...)
                2.冗余性:没有
                3.读写性能:读、写性能提拔
                4.至少几个硬盘:1+
        2.RAID-1

                1.利用空间:1*min(S1,S2,...)
                2.冗余性:有
                3.读写性能:读性能提拔、写性能略有下降
                4.至少几个硬盘:2+
        3.RAID-5

                1.利用空间:(N-1)*min(S1,S2,...)
                2.冗余性:允许最多1块磁盘破坏
                3.读写性能:读、写性能提拔
                4.至少几个硬盘3,3+
        4.RAID-10

                1.利用空间:N*min(S1,S2,...)/2
                2.冗余性:每组镜像最多只能坏一块
                3.读写性能:读、写性能提拔
                4.至少几个硬盘:4, 4+
        5.RAID-01

                1.利用空间:N*min(S1,S2,...)/2
                2.冗余性:每组镜像可以全坏
                3.读写性能:读、写性能提拔
                4.至少几个硬盘:4, 4+
    10. 总结LVM的根本原理,完成实验对LVM的创建和磁盘扩容。

        1.先容:fd

                1.Logical Volume Manager 可以允许对卷举行方便操纵的抽象层,包括重新设定文件系
                统的大小, 允许在多个物理装备间重新组织文件系统
                2.LVM可以弹性的更改LVM的容量
        2.实现过程

                1.将装备指定为物理卷
                2.用一个或者多个物理卷来创建一个卷组,物理卷是用固定大小的物理地区(Physical                 Extent, PE)来界说的
                3.在物理卷上创建的逻辑卷, 是由物理地区(PE)构成
                4.可以在逻辑卷上创建文件系统并挂载
        3.LVM的创建和磁盘扩lv

  1. LVM的创建
  2. [root@ubuntu ~]$  pvcreate /dev/sdb1 /dev/sdb2 /dev/sdc
  3. [root@ubuntu ~]$  pvs
  4.   PV         VG        Fmt  Attr PSize    PFree
  5.   /dev/sda3  ubuntu-vg lvm2 a--  <198.00g 99.00g
  6.   /dev/sdb1            lvm2 ---     2.00g  2.00g
  7.   /dev/sdb2            lvm2 ---     4.00g  4.00g
  8.   /dev/sdc             lvm2 ---     5.00g  5.00g
  9. [root@ubuntu ~]$  vgcreate -s 16M testvg /dev/sdb1 /dev/sdb2 /dev/sdc
  10. [root@ubuntu ~]$  vgs
  11.   VG        #PV #LV #SN Attr   VSize    VFree
  12.   testvg      3   0   0 wz--n-   10.95g 10.95g
  13.   ubuntu-vg   1   1   0 wz--n- <198.00g 99.00g
  14. [root@ubuntu ~]$  lvcreate -L 5G -n lv1 testvg
  15.   Logical volume "lv1" created.
  16. [root@ubuntu ~]$  lvs
  17.   LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  18.   lv1       testvg    -wi-a-----   5.00g                                                   
  19.   ubuntu-lv ubuntu-vg -wi-ao---- <99.00g
  20. [root@ubuntu ~]$  mkfs.ext4 /dev/testvg/lv1
  21. mount /dev/testvg/lv1 /lv1
  22. 磁盘扩容
  23. [root@ubuntu ~]$  lvextend -L +2G /dev/testvg/lv1
  24.   Size of logical volume testvg/lv1 changed from 5.00 GiB (320 extents) to 7.00 GiB (448 extents).
  25.   Logical volume testvg/lv1 successfully resized.
  26. [root@ubuntu ~]$  lvs
  27.   LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  28.   lv1       testvg    -wi-a-----   7.00g                                                   
  29.   ubuntu-lv ubuntu-vg -wi-ao---- <99.00g
  30. resize2fs /dev/testvg/lv1  
复制代码

    11. 总结开放系统互联OSI模子,每层作用及对应的协议。


                1.OSI 模子的七层结构

                                1.第7层 应用层

                                        应用层(Application Layer)提供为应用软件而设的接口,以设置与另一
                                        应用软件之间的通信。例如: HTTP、HTTPS等
                                2.第6层 表示层

                                        表示层(Presentation Layer)把数据转换为能与接收者的统格式兼容并
                                        适合传输的格式
                                3.第5层 会话层

                                        会话层(Session Layer)负责在数据传输中设置和维护电网络中两台电
                                        脑之间的通信连接。
                                4.第4层 传输层

                                        传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。
                                        传输表头包含了所使用的协议 等发送信息。例如:传输控制协议(TCP)
                                        等。
                               5. 第3层 网络层

                                        网络层(Network Layer)决定命据的路径选择和转寄,将网络表头
                                        (NH)加至数据包,以形成报文。 网络表头包含了网络数据。例如:互联
                                        网协议(IP)等。
                               6. 第2层 数据链接层

                                        数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头
                                        和表尾被加至数据包时,会形 成信息框(Data Frame)。数据链表头
                                        (DLH)是包含了物理地点和错误侦测及改错的方法。数据链表 尾
                                        (DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网
                                        (Wi-Fi)和通用分组无线服务 (GPRS)等。分为两个子层:逻辑链路
                                        控制(logical link control,LLC)子层和介质访问控(Media access
                                        control,MAC)子层。
                                7.第1层 物理层

                                        物理层(Physical Layer)在局部局域网上传送数据帧(Data Frame),
                                        它负责管理电脑通信装备和网 络媒体之间的互通。包括了针脚、电压、
                                        线缆规范、集线器、中继器、主机接口卡等


12. 调解动态端口范围为20000-60000


  1. vim /etc/sysctl.conf
  2. # 添加或修改以下行
  3. net.ipv4.ip_local_port_range = 20000 60000
  4. # 应用配置
  5. sysctl -p
复制代码

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


                1.包头结构

                        

                2.TCP三次握手

                        1.客户端向服务器发送确认哀求
                        2.服务器接收,确认,并加一传返回确认号给服务器
                        3.客户端确认并加一发送给服务器
                        4.开始传递数据
                        

                3.4次挥手

                        1.客户端向服务器发送结束哀求
                        2.服务器接收,确认,并加一传返回确认号给服务器
                        3.服务器传输未完成进程数据
                        4.传输完成告知客户端
                        5.客户端确认并加一发送给服务器
                        7.结束传递数据

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


               
1. 发送端处理(应用层 → 物理层)


  • 应用层

    • 应用步伐生成数据(如HTTP哀求),并通过套接字(Socket)将数据传递给传输层。

  • 传输层(TCP/UDP)

    • 封装段(Segment):添加源端口和目标端口(如TCP端口80)。
    • 可靠性控制(仅TCP):创建连接(三次握手)、分段数据、添加序列号和校验和。

  • 网络层(IP协议)

    • 封装数据包(Packet):添加源IP和目标IP地点。
    • 路由决策

      • 若目标IP在同一子网:直接发送。
      • 若跨子网:将数据包发送至默认网关(路由器)。


  • 数据链路层(以太网/Wi-Fi)

    • 封装帧(Frame)

      • 通过ARP协议剖析目标IP对应的MAC地点(若本地子网)。
      • 添加源MAC地点、目标MAC地点(或网关的MAC地点)及帧校验序列(FCS)。

    • 若目标MAC未知,发送ARP广播哀求。

  • 物理层

    • 将帧转换为比特流,通过物理媒介(电缆、光纤、无线电波)传输。

2. 网络装备转发



  • 互换机(数据链路层)

    • 根据MAC地点表将帧转发到目标端口(同一局域网内)。
    • 若MAC地点未知,广播帧到全部端口(泛洪)。

  • 路由器(网络层)

    • 接收帧后,剥离数据链路层头部,检查目标IP地点。
    • 查询路由表,确定下一跳地点和出接口。
    • 重新封装帧:修改源MAC(路由器出接口MAC)和目标MAC(下一跳装备的MAC)。
    • 递减TTL(Time to Live),若TTL=0则丢弃并发送ICMP超时消息。

3. 接收端处理(物理层 → 应用层)


  • 物理层

    • 将接收到的电信号/光信号转换为比特流。

  • 数据链路层

    • 检查帧的MAC地点:若匹配本机或为广播地点,则接收并校验FCS。
    • 剥离帧头部,将数据包传递给网络层。

  • 网络层

    • 检查IP地点:若匹配本机IP或为广播地点,则接收。
    • 若数据包分片,举行重组。

  • 传输层

    • 根据端标语将数据段传递给对应应用步伐。
    • TCP校验数据完整性,按序列号重组数据流,发送ACK确认。

  • 应用层

    • 应用步伐处理接收到的数据(如生成HTTP响应)。


15. 总结IP地点 A, B, C, D 类,并剖析IP地点的构成


        1.IP地点 A, B, C, D 类

IP种别1-8位9-16位17-24位25-32位高8位范围高8位10进制网络ID主机ID网络数每个网络主 机数默认子网掩 码
A类网络ID,最高位0,十进制取值范围是 0-12主机 ID主机 ID主机 ID00000000 011111110 - 127高8位低24位2^7-2=1262^24 2=16777214255.0.0.0
B类网络ID,前两位10,十进制取值范围是 128 191网络 ID主机 ID主机 ID10000000 10111111128 - 191高16位低16位2^14=163842^16-2=65534255.255.0.0
C类络ID,前三位是110,十进制取值范围是 192- 223网络 ID网络 ID主机 ID11000000 11011111192 - 223高24位低8位2^21=20971522^8-2=254255.255.255.0
D类网络ID,前四位是1110,十进制取值范围是 224 - 239///11100000 11100000224 - 239/////
        2.IP地点的构成

                1.网络 ID:标识网络,每个网段分配一个网络ID,处于高位
                2.主机 ID:标识单个主机,由组织分配给各装备,处于低位
                3.ipv4 32位二进制,以十进制显示/ipv6 128位二进制,以十六进制显示

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



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



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


  1. 如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。
  2. 像主机位借5位划分32个 10.0.0.0/13
  3. 子网掩码为255.248.0.0
  4. 主机数:2^(32-13)-2=524286
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表