第九、十、十一天:网络协议和管理
一、网络概念
二、OSI模型
物理层:集线器
数据链路层:交换机
网络层:路由器
传输层:
会话层
表示层
应用层
![](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119201912080-1227236054.png)
2、PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
物理层的 PDU是数据位 bit
数据链路层的 PDU是数据帧 frame
网络层的PDU是数据包 packet
传输层的 PDU是数据段 segment
其他更高层次的PDU是消息 message
三、网络设备
1、查看连接网络
ethtool
mii -tool
2、HUB:物理层
交换机:链路层;只能分隔冲突域
路由器:网络层:分隔广播域和冲突域;选择最佳路径;连接广域网
网卡:链路层
网线:物理层
3、以太网抓包工具
wireshark
四、TCP/IP:
TCP/IP是一个Protocol Stack,包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等许多
协议
![](https://img2024.cnblogs.com/blog/808098/202401/808098-20240120212257632-1096631582.png)
![](https://img2024.cnblogs.com/blog/808098/202401/808098-20240120213858732-248629016.png)
1、/etc/services 这个文件里记录了各服务地址及端口
2、internet control message protocol
ICMP是(Internet Control Message Protocol)Internet控制报文协议
3、address resolution protocol
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议
4、Gratuitous ARP
免费ARP
5、IP PDU 报头
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411647-2070694557.png)
6、ipv4 与ipv6的区别: 一个是32位,一个是128位
7、主机到主机的包传递过程
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411695-464006399.png)
8、IP地址
网络ID+ 主机ID
(1)以前
A类: 0 0.0.0 1-126 前8位为网络ID,后24位为主机ID
B 类:0.0 0.0 128-191 前16位为网络ID,后16位为主机ID
C类:0.0.0 0 192-223 前24位为网络ID,后8位为主机ID
D类:多播 224-239
E类:保留 240-225
(2)现在
IP地址
子网掩码
网络ID=IP与子网掩码
9、把大网切分成小网,主机多时
10.0.0.0/8
10、nc 很好用的软件 目前只能支持一个连接
ss -ntl 查看监听的端口
nc ip 9527 连接服务器地址
nc -l 9527 打开监听
11、查端口冲突
ss -ntlp
lsof -i :22
12、查询系统调用信息
strace /usr/sbin/httpd &>httpd.long
grep bind httpd.long
system call
13、内核TCP参数优化
man tcp
编辑文件/etc/sysctl.conf
14、UDP协议
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411997-591142432.png)
(1)查看用的是哪个协议
netstat -no
15、internet层
icmp 协议 网络控制消息端口
arp 协议通过广播方式实现 ADDRESS RESOLUTION PROTOCOL
arp -n 记录与对方通讯过的MAC地址
ip 协议
16、arping 判断地址冲突的情况
五、IP地址规划
1、优化IP地址分配
2、0、0、0、0 :不一个真正意义上的IP地址,
255.255.255.255:限制广播地址
127.0.0.1---127.255.255.254 本机回环地址
224.0.0.0--239.255.255.255 组播地址
3、子网掩码
高位为1,低位为0
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411609-705064956.png)
网段数:2^可变网络ID的位数
主机数:2^主机ID的位数-2
网络 ID:可
4、划分子网:
网络ID向主机ID借几位,来划分
5、合并超网
主机ID向网络ID借几位,来划分
六、配置网络
1、主机名
cat /etc/hostname
ip地址与域名映射:cat /etc/hosts,可以代替DNS作解析
DNS域名: /etc/selv
2、IP/NETMASK
3、路由:默认网关
route -n
(1)组成
目标网络:目标主机所在的网络ID
netmask
接口:当前网络 设备的出口
网关:下一个路由器的IP,下一跳NEXTX HOP
4、DNS服务器
主
次
第三个
5、网络接口识别并命名相关的UDEV配置文件
/etc/udev/rules.d/70-persistent-ipoib.rules
6、查看网卡
ethtool -i etho
dmesg |grep -i eth
7、修改网卡名称
ip link set etho down
ip link set eth0 name abc
ip link set abc up
8、网络配置方式
1) ifconfig 临时配置地址 ,老的功能,现在已不用,使用iplink ip addr
/etc/sysconfig/network-scripts/
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp -static none 地址是否静态
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 --逻辑名称,可不用
UUID=c886f281-d48b-4048-b46e-d3fb2401c7ba
DEVICE=ens33 --配置的是哪块网卡
ONBOOT=yes
MACADDR= --MAC地址
2) route :创建路由表 route -n
内部:
Destination(目标地址) Gateway(网关) Genmask(掩码) Flags Metric Ref Use Iface(出口网卡)
0.0.0.0 192.168.109.2 0.0.0.0 UG 100 0 0 ens33
外网:默认路由,未节点添加网关
0.0.0.0 0.0.0.0
添加删除路由:route add/del [-net | -host | default ] target [netmask nm] [GW] [dev IF ]
边缘路由器,只要设置一条默认路由,网关为临近路由
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411732-217359363.png)
3)netstat :现在也不太推荐使用,查看 当前网络连接情况 ,已被 ss -nt替代
4)ip命令 : 来自于IPROUTE 包,代替ifconfig
回环网卡不会自动生成 路由记录,不参与网络通讯
5)nmcli:
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
6)DHCP:动态主机配置协议 UDP
9、网络基本配置文件
/etc/sysconfig/network-scripts/ifcfg-NAME
nmcli con raload
nmcli con up eth0
10、路由协议:
RIP 路由信息协议
OSPF: 开放式最短路径优先,考虑带宽
BGP 边界网关协议
11、路由分类
主机路由、网络路由、默认路由
七、多网卡绑定
将多网卡绑定到同一个IP地址对外提供服务
bond聚合链路模式共7种
mod=0-6 mode
mode 0 轮询策略
mode 1 活动备份(主备)策略
mode 3 广播策略
1、操作步骤
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411657-2059019117.png)
2、centos以后使用网络组:team
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411677-739066618.png)
3、bonding 配置
ifconfig bond0 down
modprobe -r bonding
八、网桥
1、把一台机器上的若干个网络接口“连接”起来。
2、yum -y bridge-utils 目前 CentOS 8 系统光盘里无此包,EPEL源有此包
3、brctl show 查看网桥
![0](https://img2024.cnblogs.com/blog/808098/202401/808098-20240119195411687-899909980.png)
4、创建网桥
nmcli con add con-name mybr0 type bridge ifname br0
nmcli con modify mybr0 ipv4.addresses 10.0.0.100/24 ipv4.method manual
nmcli con add con-name br0-port0 type bridge-slave ifname eth0 master br0
5、查看配置文件
cat /etc/sysconfig/network-scripts/ifcfg-br0
cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
6、yum install bridge-utils
#查看网桥 brctl show
#查看 CAM(content addressable memory内容可寻址存储器)表
brctl showmacs br0
#添加和删除网桥
brctl addbr | delbr br0
#添加和删除网桥中网卡
brctl addif | delif br0 eth0
#默认br0 是down,必须启用
ifconfig br0 up
九、网络测试工具
1、fping
2、tcpdump
3、nmap
4、nmtui
5、nmcli
6、显示正确的路由表
ip route
route
跟踪路由
traceroute
tracepath
mtr
确定名称服务器使用
nslookup
host
dig
抓包工具
tcpdump
wireshark
安全扫描工具
nmap
netcat :网络界的瑞士军刀,即nc
流量控制工具
tc
十、UBUNTU网络配置
1、配置静态IP
/etc/netplan/01-netcfg.yaml
2、 ip addr 查看IP
十一、路由 route -n
1、路由表由一个或多个路由记录组成
一条路由记录元素
1 目标网络ID
2 netmask
3 interface 接口 要到达本路由记录的目标网络,需要从当前设备的哪个出口发送出来,此出口就是接口
4 gateway 网关 当目标网络和当前设备不在同一个网段时,下一个路由器的接口的IP即网关
2、添加路由
route add -net 10.0.0.77 netmask 255.0.0.0 gw 10.0.0.1
ip route
3、