学习笔记-网络

底层共享信道争用:MAC (media Access Control)

CMSA/CD:载波监听:一边发一边监听,如果有其他主机发信号,自己就退回,等待空闲。 以太网
Token Ring :令牌环 谁拿到令牌说可以发

冲突域:
网桥
多接口:交换机

广播域

路由:阻止内部广播通过路由

IP 4段

32位:
(8位网络+24位主机)大网络: 0 0000000 - 0 1111111 : 0-127
(16位网络+16位主机)中网络:10 000000 - 10 111111 : 128-191
(24位网络+8位主机)小网络: 110 00000 - 110 11111 : 192-233 
其他E:1110 0000 - 1110 1111 : 224 -239
其他D:1111 0000 - 1111 1111 :240 -255
全0 :网络地址
全1:广播地址

A:1-126    2^7-2      = 126个网络  每个网络 2^24-2个主机
B:128-191  2^6+2^8    =2^14个网络  每个网络 2^16-2个主机
c:128-191  2^5+2^8+2^8=2^21个网络  每个网络 2^8-2个主机

子网和超网:
192.168.0.0 / 255.255.255.0 –> 192.168.255.0/255.255.255.0 是255个小网络
192.168.0.0 /255.255.0.0 一个大网络
子网和超网

A类:
有效1-126,127用于回环 2^7-1
容纳主机数:2^24-2
默认掩码:255.0.0.0
主机全0:网络地址
主机全1:广播地址

B类:
2^14
容纳主机数:2^16-2
默认掩码:255.255.0.0

B类:
2^21
容纳主机数:2^8-2
默认掩码:255.255.255.0

用于公司内部使用私有网

A类:
1个:10.0.0.0/255.0.0.0

B类:
16个:172.16.0.0/255.255.0.0 -172.31.0.0/255.255.0.0

C类:
256个:192.168.0.0/255.255.255.0 -192.168.255.0/255.255.255.0

路由表:
静态配置
动态生成

cost:成本
经过的跳数越少就越小
时长

路由协议:RIP,OSPF,EIGRP
可路由协议:IP协议

真正的访问网络的是进程而不是主机

物理介质:物理层,物理层协议
链路层:数据帧,链路层协议
网络层:数据包,IP协议
传输层:传输层,(TCP,UDP)

    tcp:0-65535
    udp:0-65535

应用层:标记资源

主机发送数据到其他网络,需要先发向网关
网关=默认路由

端口:用于标记通信的进程
0-65535:

进程使用套接字通信
socket:IP和port的组合 172.16.100.7:80 172.16.100.8:80

协议栈:内核
TCP/IP协议簇

主机名:FQDN
Full Qulified Domain Name
www.baidu.com

URl:统一资源定位符
名称解析 :DNS

MTU:Max
Fragment:IP分片

有限状态机

FSM:Finite State Machine

网络基本知识
TCP/IP
物理层
链路层:从设备到设备主机通信,MAC地址,MAC<–>IP(RARP/ARP)
网络层: 从源主机到目标主机之间通信,IP地址,IP报文
传输层:从源主机进程到目标主机特定进程之间通信,tcp/udp
应用层:

  ISO/OSI:七层
  1-4:通信子网
  5-7:资源子网
     会话层
 表示层
 应用层


TCP:有连接协议,建立逻辑链接
    SYN,ACK,FIN,RST,PSH,URG
三次握手:
 SYN=1 ACK=0,FIN=0
 SYN=1 ACK=1 FIN=0
 SYN=0 ACK=1 FIN=0
四次断开:

主机:TCP/IP协议栈

配置主机介入TCP/IP网络:
IP/Netmask
路由:
主机路由:一台主机
网络路由:是一个网络
默认路由:
DNS服务器:
主DNS服务器
备用DNS服务器
主机名:

动态指定:
IP/Netmask
动态配置:
DHCP服务器
Dynamic Host Configuration Protocol

静态指定:
用户空间工具
ifconfig
ip
网络设备服务配置文件:
/etc/sysconfig/network-script/ifcfg-eth0
完成长久有效配置
GUI/TUI

用户空间的命令行工具:立即生效,当不会长久有效
ifconfig
iproute2(ip,ss)
网络设备如何表示
内核识别设备:驱动

  设备:别名
  以太网设备:ethX
  PPP设备:pppX
  本地回环:lo

ifconfig ip addr   ip link
   ifconfig:显示所有活动状态的相关信息
   ifconfig Interface:仅显示指定接口的相关信息
   ifconfig Interface Address
  ip/mask
      长格式:
    ifconfig Interface IP netmask MASK
CIDR:无类别的预见路由
       ifconfig Interface IP/MASK

route:ip route
route:显示路由信息
-n:使用数字格式显示,不反解地址到主机名

route add:
  -host HOST_IP gw Next [dev Device]
  -net Net_ADDR
  -net 0.0.0.0 目标地址为任意地址
route del
  -host HOST_IP gw 下一跳
  -net Net_ADDR gw 下一跳

DNS服务器指向:
配置文件:/etc/resolv.conf
最多三个:
nameserver DNS_SERVER_IP

  dig -t A 域名
     正解测试
  dig -x IP
      反解测试

CentOS 5/6:
服务脚本:/etc/init.d/network

CentOS 6
服务脚本:/etc/init.d/NetworkManger

服务脚本:SysV style LSB
多数为控制运行与后台守护进程,接收参数{start|stop|restart|status}
脚本位置:/etc/rc.d/init.d 或 、/etc/init.d

配置某服务开机自动启动:chkconfig Srv_Script_Name on
禁止某服务开机自动启动:chkconfig Srv_Script_Name off
查看:chkconfig –list [name]

调用机制:

1.#/etc/init.d/Script_Name {start|stop|restart|status}
2.#service Script_Name{start|stop|restart|status}

与网络设备相关的服务控制脚本:
他们通常能够读取网络的配置文件,以之实现其配置生效或失效等管理功能

配置文件有两类(/etc/sysconfig/network-scr):

配置IP,掩码,网关:
    以太网:ifcfg-ethX
    PPP:ifcfg-pppx
配置路由
    route-ethX
    route-pppx

配置IP,掩码,网关:

DEVICE="eth0"   /*此配置关联至的设备,设备名要与文件名后面的内容保持一致*/
BOOTPROTO="dhcp" /*引导协议{none|static|dhcp|bootp}*如果是dhcp则下面的配置都无效*/
HWADDR="00:0C:29:A9:1D:C8"/*MAC地址,要与真实的MAC地址保持一致,可省略*/
IPV6INIT="yes"/*是否自动初始化IPV6协议*/
NM_CONTROLLED="yes"/*是否接受NetworkManager脚本控制*/
ONBOOT="yes"/*是否关机自动启动此网络设备*/
TYPE="Ethernet"/*设备类型:Ethernet,Brige*/
UUID="ca73a04b-e764-412a-96cc-cec1b22d12f5"
IPADDR=
   ip地址
NETMASK=
   掩码
GATEWAY=
   默认网关
DNS1=
   DNS1服务地址
USERCTL=no
   是否允许普通用户操作网卡
PEERDNS={yes|no}
   是否允许DHCP服务分配地址时直接更新/etc/resolv。conf中的DNS服务器地址

配置路由:route-ethX
配置文件的格式1:每行一个要配置的路径条目

  目标 via 下一跳

配置文件的格式2:每一组一个路由条目

ADDRESS#=目标
NETMASK#=掩码
GATEWAY#=下一跳

如何单个借口配置多个地址
通过网络别名:

eth0:
eth0:x eth0:0 eth0:1
配置1:
    ifconfig
配置2:
    ifcfg-ethX:Y
        DEVICE=
        BOOTPROTO={none|static}
        ....

ip命令的使用

  ip link 
    ip link show 查看默认信息
    ip link set 接口 [up|down] [multicast on|off]:
  ip addr
     可以在一个接口配置多个地址而不使用接口别名:显示这些地址
       ip addr show
       ip addr add dev 接口 ip地址/掩码 [ ladel 别名 ]
       ip addr add dev 接口 ip地址 [ ladel 别名 ]
       ip addr flush 接口 [to 网络地址]
  ip route             
     ip route add 目标 via 下一跳 src 源地址 [dev 设备]
     ip route del 目标
     ip route show

启用/禁用接口:
  ip link set 接口 up|down
  ifconfig    接口 up|down
  ifdown 接口 |  ifup 接口
  重置网络连接

TUI或GUI(文本窗口配置IP)

 1.system-config-network-tui
    配置结束后将保存配置文件中
 2.setup --> Network Configuration

网络管理或检测等相关的工具:

ping:基于ICMP协议
   ping [options] ip
     -c 次数
     -w 测试执行时长

traceroute HOST:(追踪路由)
    获取当前主机到目标主机所经过的网关

mtr HOST(把ping和traceroute合起来用)

netstat

   -t:tcp协议的连接
   -u:udp协议的链接
   -l:监听状态的连接
   -a:所有状态的连接
   -p:连接相关的进程
   -n:数字格式显示
   -r: 显示路由表,类似于route或ip route show

   常用组合:
    netstat -tan :显示tcp,所有的,以数字形式
    netstat -tunl: 显示tcp udp 数字形式 监听模式
    netstat -rn: 显示路由,数字形式 类似以route -n

ss,用于取代netstat

   -t:tcp协议的连接
   -u:udp协议的链接
   -l:监听状态的连接
   -a:所有状态的连接
   -e:显示扩展信息
   -m:显示套接连接使用的内存信息
   -p:进程及UDP
   -n:数字格式显示
   -o state (established) 

ethtool 接口 : 显示接口设备属性
ethtool -S 接口 :显示设备接口的统计数据

网络的一些工具
nmap:扫描器:网络探测
tcpdump:嗅探器 :捕获报文
wireshark:嗅探器
tshark:字符界面的嗅探器

脚本:
1.使用ping命令探测172.16.0.0/16有哪些主机在线
在线,用绿色显示
不在线的,用红色显示

#!/bin/bash
 for i in {0..255};do
    for j in {1..254};do
        ping -c 1 172.16.$i.$j &> /dev/null
       if [[ $? -eq 0 ]];then
         echo -e -n "\033[32mping 172.16.$i.$j ke da !\033[0m\n"
       else
         echo -e -n "\033[31mping 172.16.$i.$j bu ke da !\033[0m \n"
       fi
    done
done

你可能感兴趣的:(学习笔记)