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} [installoptions] 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} [installoptions] PACKAGE_FILE...
- rpm {-F|--freshen} [installoptions] PACKAGE_FILE...
- upgrade #安装有旧版程序包,则“升级”,如果不存在旧版程序包,则“安装”
- freshen #安装有旧版程序包,则“升级”, 如果不存在旧版程序包,则不执行安装操
- 作
- --oldpackage #降级
- --force #强制安装
- 升级注意项:
- 1.不要对内核做升级操作;Linux支持多内核版本并存,因此直接安装新版本内核
- 2.如果原程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件不会直接覆盖老版本的配置文件,而把旧版本文件重命名(FILENAME.rpmnew)后保留
复制代码 3.包查询
- rpm {-q|--query} [select-options] [query-options]
- [select-options]
- -a #所有包
- -f #查看指定的文件由哪个程序包安装生成
- -p rpmfile #针对尚未安装的程序包文件做查询操作
- --whatprovides CAPABILITY #查询指定的CAPABILITY由哪个包所提供--whatrequires CAPABILITY #查询指定的CAPABILITY被哪个包所依赖
- [query-options]
- --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 [options] 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 [options]
- #常用选项
- -v|--verbose #显示详细信息
- --repo repoid|--repoid repoid #指定rpo源
- --all #显示所有源
- --enabled #所有 nbl 状态的源,默认项
- --disabled #所有disbld 的源
复制代码 3.显示步伐包
- yum list [options] [PACKAGE [PACKAGE ...]
- #常用选项
- --all #显示所有包,包括己安装的和repo源中的可用包
- --available #所有可用包
- --installed #所有己安装的包
- --extras #所有额外包
- --updates #所有可更新的包
- #上述选项可以替换成对应的 all,installed 这种子命令,但要注意位置
- --showduplicates #相同的包,显示所有版本
复制代码 4.安装步伐包
- yum install [options] PACKAGE [...]
- yum reinstall [options] PACKAGE [...]
- #常用选项
- --installroot path #指定安装目录
- --downloadonly #只下载,不安装
- --downloaddir path|--destdir path #指定下载目录,如果下载目录不存在,则自动创建
复制代码 5.卸载步伐包
- yum remove [options] PACKAGE [...]
- yum erase [options] PACKAGE [...]
复制代码 6.升级和降级
- yum update [options] PACKAGE [...] #升级
- yum downgrade [options] PACKAGE [...] #降级
- yum check-update #检查可用升级
复制代码 7.查询
- yum info [options] PACKAGE [...] #查看程序包的 information 信息
- yum provides [options] PROVIDE #查看文件是由哪个包提供
- yum search [options] KEYWORD #根据关健字搜索,范围包括包名和描述信息
- yum deplist [options] PACKAGE [...] #查询包的依赖
复制代码 8.仓库缓存
- yum clean [options] {metadata,packages,dbcache,expire-cache,all} #清空缓存
- yum makecache #构建缓存
复制代码 9.检察yum事务汗青
- yum 执行安装卸载命令会记录到相关日志中
- 日志文件 /var/log/dnf.log ( /var/log/yum.log )
- yum history [options] [info|list|redo|undo]
- yum history #默认查看所有
- yum history list #同上
- yum history package #查看与指定包有关的日志
- info N #查看第N条记录的具体执行内容
- undo N #回滚第N条记录
- redo N #重新执行第N条记录
复制代码 10.安装及升级本地步伐包
- yum localinstall|install [options] rpmfile1 [...] #安装本地RPM包
- yum localupdate|update [options] rpmfile1 [...] #使用本地RPM包升级
复制代码 11.包组管理的相关下令
- yum grouplist [options] #列出所有包组
- yum groupinstall [options] group1 [...] #包组安装
- yum groupupdate [options] group1 [...] #包组升级
- yum groupremove [options] group1 [...] #包组卸载
- yum groupinfo [options] group1 [...] #包组查询
复制代码 12.
3.apt
1.下令
- apt [options] 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.搭建私有仓库
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文件
12.实行,安装make
13.实行make,make install
14.检察
15.启动nginx,检察版本信息
- /lnmp/nginx/sbin/nginx
- /lnmp/nginx/sbin/nginx -V
复制代码 16.关闭防火墙
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
- [root@ubuntu ~]$ 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.
- [root@ubuntu ~]$ 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
- [root@ubuntu ~]$ 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
- [root@ubuntu ~]$ 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
- [root@ubuntu ~]$ fsck.ext4 /dev/sdb1
- e2fsck 1.46.5 (30-Dec-2021)
- /dev/sdb1: clean, 11/393216 files, 47214/1572864 blocks
复制代码 7.mountu
8.umount
9.swapon
- swapon -s
- Filename Type Size Used Priority
- /swap.img file 2097148 2328 -2
复制代码 10.swapoff
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的创建
- [root@ubuntu ~]$ pvcreate /dev/sdb1 /dev/sdb2 /dev/sdc
- [root@ubuntu ~]$ pvs
- PV VG Fmt Attr PSize PFree
- /dev/sda3 ubuntu-vg lvm2 a-- <198.00g 99.00g
- /dev/sdb1 lvm2 --- 2.00g 2.00g
- /dev/sdb2 lvm2 --- 4.00g 4.00g
- /dev/sdc lvm2 --- 5.00g 5.00g
- [root@ubuntu ~]$ vgcreate -s 16M testvg /dev/sdb1 /dev/sdb2 /dev/sdc
- [root@ubuntu ~]$ 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
- [root@ubuntu ~]$ lvcreate -L 5G -n lv1 testvg
- Logical volume "lv1" created.
- [root@ubuntu ~]$ 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
- [root@ubuntu ~]$ mkfs.ext4 /dev/testvg/lv1
- mount /dev/testvg/lv1 /lv1
- 磁盘扩容
- [root@ubuntu ~]$ 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.
- [root@ubuntu ~]$ 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.包头结构
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确认。
- 应用层
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 | 主机 ID | 00000000 01111111 | 0 - 127 | 高8位 | 低24位 | 2^7-2=126 | 2^24 2=16777214 | 255.0.0.0 | B类 | 网络ID,前两位10,十进制取值范围是 128 191 | 网络 ID | 主机 ID | 主机 ID | 10000000 10111111 | 128 - 191 | 高16位 | 低16位 | 2^14=16384 | 2^16-2=65534 | 255.255.0.0 | C类 | 络ID,前三位是110,十进制取值范围是 192- 223 | 网络 ID | 网络 ID | 主机 ID | 11000000 11011111 | 192 - 223 | 高24位 | 低8位 | 2^21=2097152 | 2^8-2=254 | 255.255.255.0 | D类 | 网络ID,前四位是1110,十进制取值范围是 224 - 239 | / | / | / | 11100000 11100000 | 224 - 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个子网?求每个子网的掩码,主机数。
- 如何将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企服之家,中国第一个企服评测及商务社交产业平台。 |