河曲智叟 发表于 2025-2-27 15:08:23

云盘算-----第三周

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.下令
rpm {-i|--install} PACKAGE_FILE…

-v|verbose        #显示详细信息
-vv        #更详细
-h        #显示安装进度条
--test        #测试安装,但不真正执行安装,即dry run模式
--nodeps        #忽略依赖关系
--replacefiles        #忽略软件包之间的冲突的文件
--replacepkgs        #如果软件包已经有了,重新安装软件包
--nosignature        #不检查来源合法性
--nodigest        #不检查包完整性
--noscripts        #不执行程序包脚本,相当于 --nopre --nopost --nopreun --nopostun -
-nopretrans --noposttrans
--nopre        #不执行程序包中安装前脚本
--nopost        #不执行程序包中安装前脚本
--nopreun        #不执行程序包中卸载前脚本
--nopostun        #不执行程序包中卸载后脚本
--nopretrans        #安装前不执行与程序同名脚本
--noposttrans        #安装后不执行与程序同名脚本                                 2.升级和降级

rpm {-U|--upgrade} PACKAGE_FILE...
rpm {-F|--freshen} PACKAGE_FILE...

upgrade        #安装有旧版程序包,则“升级”,如果不存在旧版程序包,则“安装”
freshen        #安装有旧版程序包,则“升级”, 如果不存在旧版程序包,则不执行安装操

--oldpackage        #降级
--force        #强制安装

升级注意项:

1.不要对内核做升级操作;Linux支持多内核版本并存,因此直接安装新版本内核
2.如果原程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件不会直接覆盖老版本的配置文件,而把旧版本文件重命名(FILENAME.rpmnew)后保留
                                3.包查询

rpm {-q|--query}


-a        #所有包
-f        #查看指定的文件由哪个程序包安装生成
-p rpmfile        #针对尚未安装的程序包文件做查询操作
--whatprovides CAPABILITY#查询指定的CAPABILITY由哪个包所提供--whatrequires CAPABILITY#查询指定的CAPABILITY被哪个包所依赖


--changelog        #查询rpm包的chanelo
-c        #查询程序的配置文件
-d        #查询程序的文档
-i        #informtion
-l        #查看指定的程序包安装后生成的所有文件
--scripts        #程序包自带的脚本
--provides        #列出指定程序包所提供的CAPABILITY
-R        #查询指定的程序包所依赖的CAPABILITY
                                4.包卸载

rpm {-e|--erase} [-allmatches] [-nodeps] [--noscripts] [--notriggers] [--test]                                 5.包校验

                                        
检查包的完整性和签名
rpm -K|checksig rpmfile                                 6.数据库

ll /var/lib/rpm

可以重建数据库

rpm {--initdb|--rebuilddb}

initdb        #初始化,如果事先不存在数据库,则新建之,否则,不执行任何操作
rebuilddb        #重建已安装的包头的数据库索引目录
                                7.包更新日志

rpm -q --changelog packageName                         2.yum

                                1.用法
yum COMMAND

#常用选项
-c file|--config file        #指定配置文件,默认使用/etc/yum.conf
-v|--verbose        #显示详细信息
-b|--best        #尝试在可用包中寻找最匹配的版本
-y|--assumeyes        #自动回答为 yes
--nogpgcheck        #不进行包校验
--repo repoid|-repoid repoid        #指定repo源
--enablerepo repoid        #临时启用repo源,可用通配符
--disablerepo repoid        #临时禁用repo源,可用通配符
--nodocs        #不安装文档
--skip-broken        #跳过有问题的包
--enable        #启用源,配合 config-manager
--disable        #禁用源,配合 config-manager
-x package|-exclude package|-excludepkgs package        #排除指定包,可用通配符
--downloadonly        #只下载,不安装

#常用子命令
autoremove        #卸载包,同时卸载依赖
check-update        #检查可用更新
clean        #清除本地缓存
downgrade        #包降级
group        #包组相关
help        #显示帮助信息
history        #显示history
info        #显示包相关信息
install        #包安装
list        #列出所有包
makecache        #重建缓存
reinstall        #重装
remove        #卸载
repolist        #显示或解析repo源
search        #包搜索,包括包名和描述
                                2.显示仓库列表
                                        
yum repolist


#常用选项
-v|--verbose        #显示详细信息
--repo repoid|--repoid repoid        #指定rpo源
--all        #显示所有源
--enabled        #所有 nbl 状态的源,默认项
--disabled        #所有disbld 的源                                 3.显示步伐包
yum list



#常用选项
--all    #显示所有包,包括己安装的和repo源中的可用包
--available        #所有可用包
--installed        #所有己安装的包
--extras        #所有额外包
--updates        #所有可更新的包

#上述选项可以替换成对应的 all,installed 这种子命令,但要注意位置

--showduplicates        #相同的包,显示所有版本                                 4.安装步伐包
yum install PACKAGE [...]
yum reinstall PACKAGE [...]

#常用选项
--installroot path        #指定安装目录
--downloadonly        #只下载,不安装
--downloaddir path|--destdir path        #指定下载目录,如果下载目录不存在,则自动创建                                 5.卸载步伐包
yum remove PACKAGE [...]
yum erase PACKAGE [...]                                 6.升级和降级
yum update PACKAGE [...]        #升级
yum downgrade PACKAGE [...]        #降级
yum check-update        #检查可用升级                                 7.查询
yum info PACKAGE [...]        #查看程序包的 information 信息
yum provides PROVIDE        #查看文件是由哪个包提供
yum search KEYWORD        #根据关健字搜索,范围包括包名和描述信息
yum deplist PACKAGE [...]        #查询包的依赖
                                8.仓库缓存
yum clean {metadata,packages,dbcache,expire-cache,all}        #清空缓存
yum makecache        #构建缓存                                 9.检察yum事务汗青
yum 执行安装卸载命令会记录到相关日志中

日志文件 /var/log/dnf.log ( /var/log/yum.log )


yum history

yum history        #默认查看所有
yum history list        #同上
yum history package        #查看与指定包有关的日志

info N        #查看第N条记录的具体执行内容
undo N        #回滚第N条记录
redo N        #重新执行第N条记录                                 10.安装及升级本地步伐包
yum localinstall|install rpmfile1 [...]        #安装本地RPM包
yum localupdate|update rpmfile1 [...]        #使用本地RPM包升级                                 11.包组管理的相关下令
yum grouplist         #列出所有包组
yum groupinstall group1 [...]        #包组安装
yum groupupdate group1 [...]        #包组升级
yum groupremove group1 [...]        #包组卸载
yum groupinfo group1 [...]        #包组查询                                 12.

                        3.apt

                                1.下令
apt command

#options
-h|--help        #显示帮助
-v|--version        #显示版本
-y|--yes        #自动回答yes
-q|--quiet        #安静模式

#command
list    #根据名称列出软件包
search        #搜索软件包描述
show|info        #显示软件包细节
install        #安装软件包
remove        #移除软件包
autoremove        #卸载所有自动安装且不再使用的软件包
update        #更新可用软件包列表,只更新索引文件,不具体更新软件
upgrade    #通过 安装/升级 软件来更新系统
full-upgrade        #通过 卸载/安装/升级 来更新系统
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.搭建私有仓库   

        https://i-blog.csdnimg.cn/direct/a4ca1ede20444336bc84b3e502f4cef7.png
https://i-blog.csdnimg.cn/direct/60db77ebecdb4a07835560e3273edb3d.png
    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.下载源码
wget http://nginx.org/download/nginx-1.23.0.tar.gz                 2.解包
tar xf nginx-1.23.0.tar.gz                 3.进入目次,检察编译选项
cd nginx-1.23.0/
ls
./configure --help                 4.指定安装目次,开始ssl模块,开始编译
./configure --prefix=/lnmp/nginx --withhttp_ssl_module                 5.根据提示,安装c编译,再次编译
yum install -y gcc
./configure --prefix=/lnmp/nginx --withhttp_ssl_module                 7.搜刮,安装pcre包,再次编译
yum search pcre
yum install -y pcre-devel
./configure --prefix=/lnmp/nginx --withhttp_ssl_module                 9.搜刮,安装openssl包,再次编译
yum search openssl
yum install -y openssl-devel
./configure --prefix=/lnmp/nginx --withhttp_ssl_module                 11.生成Makefile文件
ls                 12.实行,安装make
make                 13.实行make,make install
make
make install                 14.检察
tree /lnmp/                 15.启动nginx,检察版本信息
/lnmp/nginx/sbin/nginx
/lnmp/nginx/sbin/nginx -V                 16.关闭防火墙 
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个逻辑分区)
                        https://i-blog.csdnimg.cn/direct/8e24e9bd19434715977997c3c53fb031.jpeg
                2.GPT结构

                        1.GPT分区结构分为4个地区:
                                1.GPT头
                                2.分区表
                                3.GPT分区
                                4.备份地区
https://i-blog.csdnimg.cn/direct/0af2370218d747abb6fba6d2b9a3fa69.jpeg
                

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

                1.fdisk

$fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x78917bb9.

Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x78917bb9

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): +6g

Created a new partition 1 of type 'Linux' and of size 6 GiB.


$lsblk -f /dev/sdb
NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sdb                                                                           
├─sdb1 ext4   1.0         cc6e5801-870c-479f-840a-426e11a328a0               
├─sdb2                                                                        
└─sdb3                                      2.parted

parted /dev/sdc mklabel gpt
parted /dev/sdc mkpart primary 1 1001                 3.mkfs

mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 1572864 4k blocks and 393216 inodes
Filesystem UUID: cc6e5801-870c-479f-840a-426e11a328a0
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done                 4.tune2fs

$tune2fs -l /dev/sdb1
tune2fs 1.46.5 (30-Dec-2021)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          cc6e5801-870c-479f-840a-426e11a328a0
Filesystem magic number:0xEF53
Filesystem revision #:    1 (dynamic)
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
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
                5.xfs_info

$xfs_info /dev/sdb2
meta-data=/dev/sdb2            isize=512    agcount=4, agsize=327680 blks
         =                     sectsz=512   attr=2, projid32bit=1
         =                     crc=1      finobt=1, sparse=1, rmapbt=0
         =                     reflink=1    bigtime=0 inobtcount=0
data   =                     bsize=4096   blocks=1310720, imaxpct=25
         =                     sunit=0      swidth=0 blks
naming   =version 2            bsize=4096   ascii-ci=0, ftype=1
log      =internal log         bsize=4096   blocks=2560, version=2
         =                     sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
                6.fsck

$fsck.ext4 /dev/sdb1
e2fsck 1.46.5 (30-Dec-2021)
/dev/sdb1: clean, 11/393216 files, 47214/1572864 blocks
                7.mountu

mount /dev/sdb1 /sd1                 8.umount

umount /sd1                 9.swapon

swapon -s
Filename                                Type                Size                Used                Priority
/swap.img                               file                2097148                2328                -2                 10.swapoff

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

LVM的创建
$pvcreate /dev/sdb1 /dev/sdb2 /dev/sdc
$pvs
PV         VG      FmtAttr PSize    PFree
/dev/sda3ubuntu-vg lvm2 a--<198.00g 99.00g
/dev/sdb1            lvm2 ---   2.00g2.00g
/dev/sdb2            lvm2 ---   4.00g4.00g
/dev/sdc             lvm2 ---   5.00g5.00g
$vgcreate -s 16M testvg /dev/sdb1 /dev/sdb2 /dev/sdc
$vgs
VG      #PV #LV #SN Attr   VSize    VFree
testvg      3   0   0 wz--n-   10.95g 10.95g
ubuntu-vg   1   1   0 wz--n- <198.00g 99.00g
$lvcreate -L 5G -n lv1 testvg
Logical volume "lv1" created.
$lvs
LV      VG      Attr       LSize   Pool Origin Data%Meta%Move Log Cpy%Sync Convert
lv1       testvg    -wi-a-----   5.00g                                                   
ubuntu-lv ubuntu-vg -wi-ao---- <99.00g
$mkfs.ext4 /dev/testvg/lv1
mount /dev/testvg/lv1 /lv1
磁盘扩容
$lvextend -L +2G /dev/testvg/lv1
Size of logical volume testvg/lv1 changed from 5.00 GiB (320 extents) to 7.00 GiB (448 extents).
Logical volume testvg/lv1 successfully resized.
$lvs
LV      VG      Attr       LSize   Pool Origin Data%Meta%Move Log Cpy%Sync Convert
lv1       testvg    -wi-a-----   7.00g                                                   
ubuntu-lv ubuntu-vg -wi-ao---- <99.00g
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

vim /etc/sysctl.conf

# 添加或修改以下行
net.ipv4.ip_local_port_range = 20000 60000

# 应用配置
sysctl -p
13. 总结TCP包头结构,TCP三次握手,4次挥手。

                1.包头结构

                        https://i-blog.csdnimg.cn/direct/1dd683686c5d46f08b941084d89e5768.png
                2.TCP三次握手

                        1.客户端向服务器发送确认哀求
                        2.服务器接收,确认,并加一传返回确认号给服务器
                        3.客户端确认并加一发送给服务器
                        4.开始传递数据
                        https://i-blog.csdnimg.cn/direct/398cab40942d44c088734ce5519977ef.png
                3.4次挥手

                        1.客户端向服务器发送结束哀求
                        2.服务器接收,确认,并加一传返回确认号给服务器
                        3.服务器传输未完成进程数据
                        4.传输完成告知客户端
                        5.客户端确认并加一发送给服务器
                        7.结束传递数据
https://i-blog.csdnimg.cn/direct/4ffe5f5e6b764a84ae3c475a59243c7f.png
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.0B类网络ID,前两位10,十进制取值范围是 128 191网络 ID主机 ID主机 ID10000000 10111111128 - 191高16位低16位2^14=163842^16-2=65534255.255.0.0C类络ID,前三位是110,十进制取值范围是 192- 223网络 ID网络 ID主机 ID11000000 11011111192 - 223高24位低8位2^21=20971522^8-2=254255.255.255.0D类网络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盘算主机数?子网掩码?说明盘算方法。

https://i-blog.csdnimg.cn/direct/987630da50624aa998010580eb1ad8f8.jpeg

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

https://i-blog.csdnimg.cn/direct/2b640885ccb149b8a59a699149ba36b8.jpeg
    18. 如何将10.0.0.0/8分别32个子网?求每个子网的掩码,主机数。

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 云盘算-----第三周