网络协议和管理 网络的特征 物理拓扑分类 OSI七层模型(OSI System Interconnection) PDU 网络配置方式 配置网络接口 route命令 netstat命令 ip命令 ss命令

  • 速度
  • 成本
  • 安全性
  • 可用性
  • 可扩展性
  • 可靠性
  • 拓扑

物理拓扑分类

网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


OSI七层模型(OSI System Interconnection)

网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令

  1. 物理层:二进制传输
  2. 数据链路层:访问介质
  3. 网络层:数据传输
  4. 传输层:端到端连接
  5. 会话层:主机间通信
  6. 表示层:数据表示
  7. 应用层:网络进程访问应用层

网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


PDU

  • PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
  • 物理层的 PDU是数据位 bit
  • 数据链路层的 PDU是数据帧 frame
  • 网络层的PDU是数据包 packet
  • 传输层的 PDU是数据段 segment
  • 其他更高层次的PDU是消息 message

网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令
网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令
网络协议和管理
网络的特征
物理拓扑分类
OSI七层模型(OSI System Interconnection)
PDU
网络配置方式
配置网络接口
route命令
netstat命令
ip命令
ss命令


网络配置方式

  • 静态指定:
    fconfig, route, netstat
    ip: object {link, addr, route}, ss, tc
    system-config-network-tui, setup
    配置文件
  • 动态分配:
    DHCP: Dynamic Host Configuration Protocol

配置网络接口

  • ifconfig命令
    ifconfig [interface]
    ifconfig -a
    ifconfig IFACE [up|down]
    ifconfig interface [aftype] options | address …
    ifconfig IFACE IP/netmask [up]
    ifconfig IFACE IP netmask NETMASK
    注意:立即生效
    启用混杂模式: [-]promisc

route命令

  • 路由管理命令

  • 查看: route -n

  • 添加: route add
    route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

  • 目标: 192.168.1.3 网关: 172.16.0.1
    route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

  • 目标: 192.168.0.0 网关: 172.16.0.1
    route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
    route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0


  • 默认路由,网关: 172.16.0.1
    route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
    route add default gw 172.16.0.1
  • 删除: route del
    route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
  • 目标: 192.168.1.3 网关: 172.16.0.1
    route del -host 192.168.1.3
  • 目标: 192.168.0.0 网关: 172.16.0.1
    route del -net 192.168.0.0 netmask 255.255.255.0

netstat命令

  • 常用组合:
    -tan, -uan, -tnl, -unl

  • 显示路由表:
    netstat {–route|-r} [–numeric|-n]
    -r: 显示内核路由表
    -n: 数字格式

  • 显示接口统计数据:
    netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p]
    [–numeric|-n]
    netstat -i
    netstat –I=IFACE
    ifconfig -s eth0


ip命令

  • 配置Linux网络属性: ip 命令
  • ip - show / manipulate routing, devices, policy routing and tunnels
    ip [ OPTIONS ] OBJECT { COMMAND | help }
    OBJECT := { link | addr | route }
    ip link - network device configuration
    set dev IFACE
    可设置属性:
    up and down:激活或禁用指定接口
    ifup/ifdown
    show [dev IFACE]:指定接口
    [up]:仅显示处于激活状态的接口

  • ip addr { add | del } IFADDR dev STRING
    [label LABEL]:添加地址时指明网卡别名
    [scope {global|link|host}]:指明作用域
    global: 全局可用
    link: 仅链接可用
    host: 本机可用
    [broadcast ADDRESS]:指明广播地址
    ip addr add 172.16.100.100/16 dev eth0 label eth0:0
    ip addr del 172.16.100.100/16 dev eth0 label eth0:0
  • ip address show - look at protocol addresses
    [dev DEVICE]
    [label PATTERN]
    [primary and secondary]
  • ip addr flush 使用格式同show
    ip addr flush dev eth0

  • ip route - routing table management
    添加路由: ip route add
    ip route add TARGET via GW dev IFACE src SOURCE_IP
    TARGET:
    主机路由: IP
    网络路由: NETWORK/MASK
    ip route add 192.168.0.0/24 via 172.16.0.1
    ip route add 192.168.1.100 via 172.16.0.1
    添加网关: ip route add default via GW dev IFACE
    ip route add default via 172.16.0.1
    删除路由: ip route del TARGET
    显示路由: ip route show|list
    清空路由表: ip route flush [dev IFACE] [via PREFIX]
    ip route flush dev eth0

ss命令

  • 格式: ss [OPTION]… [FILTER]
  • netstat通过遍历proc来获取socket信息, ss使用netlink与内核tcp_diag模块通信获取
    socket信息
  • 选项:
    -t: tcp协议相关
    -u: udp协议相关
    -w: 裸套接字相关
    -x: unix sock相关
    -l: listen状态的连接
    -a: 所有
    -n: 数字格式
    -p: 相关的程序及PID
    -e: 扩展的信息
    -m:内存用量
    -o:计时器信息

  • FILTER : [ state TCP-STATE ] [ EXPRESSION ]
  • TCP的常见状态:
    tcp finite state machine:
    LISTEN: 监听
    ESTABLISHED:已建立的连接
    FIN_WAIT_1
    FIN_WAIT_2
    SYN_SENT
    SYN_RECV
    CLOSED
  • EXPRESSION:
    dport =
    sport =
    示例:’ ( dport = :ssh or sport = :ssh )’
  • 常用组合:
    -tan, -tanl, -tanlp, -uan

  • ss -l 显示本地打开的所有端口
  • ss -pl 显示每个进程具体打开的socket
  • ss -t -a 显示所有tcp socket
  • ss -u -a 显示所有的UDP Socekt
  • ss -o state established ‘( dport = :ssh or sport = :ssh )’ 显示所有已建立的
    ssh连接
  • ss -o state established ‘( dport = :http or sport = :http )’ 显示所有已建立的HTTP连接
  • ss -s 列出当前socket详细信息