网络概念简述和Linux网络管理命令

网络概念简述和Linux网络管理命令

1. 网络分类

我们通常接触到的网络通常是广域网、局域网

局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。

广域网(Wide Area Network,WAN):网络跨越国界、洲界,甚至全球范围。

 因特网(Internet)是世界范围内最大的广域网。

2. 网络原理

OSI模型各层总结:

应用层Application:应用程序服务

表示层Presentation:数据加密、压缩和转换服务

传输层Transport:端到端连接 TCP报头+上层数据(数据段)

会话层Session:对话控制 上层数据

网络层Network:路由选择 IP报头+数据(分组)

数据链路层Data Link:成帧 MAC|LLC+数据+FCS(帧)

物理层Physical:物理拓扑 (比特0111…)

附: TCP/IP 分层

进程/应用层(对于OSI上三层)

传输层(对应OSI第四层)

Internet层(对应OSI第三层)

链路层(对应OSI第一第二层)

CSMA/CD:

   CSMA/CD(Carrier Sense Multiple Access with Collision Detection)即带冲突检测的载波监听多路访问技术(载波监听多点介入/碰撞检测)。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。

   CSMA/CD是一种争用型的介质访问控制协议。原理比较简单,技术上易实现。应用在 OSI 的第二层数据链路层。

   但在网络负载增大时,发送时间增长,发送效率急剧下降。

   

   冲突域(Collision Domain):在同一个冲突域中的每一个节点都能收到所有被发送的帧,基于第一层(物理层)

   

   广播域(Broadcast Domain):网络中能接收任一设备发出的广播帧的所有设备的集合,基于第二层(链路层)。通常来说一个局域网就是一个广播域。

   

   MAC地址(Media Access Control): 意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。

   长度是48比特(6字节),由16进制的数字组成,分为前24位和后24位:

* 前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。

* 后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。

   

  |—>24<–|—>24<–|

  |47 | 46 |…

  |I/G|G/L|OUI|厂商分配  |

  

  I/G(Individual/Group)位,如果它的值为0,表示是某台设备的MAC地址,如果为1,表示为以太网中的广播地址或组播地址。

  G/L位,如果它的值为0,表示是IEEE分配,如果为1,表示为本地管理地址。

  

  进程/应用层协议 :Telnet,SSH,FTP,TFTP,SNMP,HTTP,HTTPS,NTP,DNS,DCHP

传输层协议:TCP,UDP,STCP

  网络层协议:IP

  

  IPv4 地址分类:

   8位 8位 8位 8位

  A类: 网络部分 主机部分 主机部分 主机部分

  B类: 网络部分 网络部分 主机部分 主机部分

  C类: 网络部分 网络部分 网络部分 主机部分

  D类: 组播

  E类: 用于研究

  

  A类地址:

  A类网络地址第一个字节为0xxxxxxx,2^7=128

  但需要注意的是,0和127不是有效的A类地址号,它们是保留地址

  A类网络地址为1~126,共126个

  主机数为2^24-2=1677214

  

  B类地址:

  B类网络地址第一个字节为10xxxxxx

  B类网络地址为128.0~191.255,共2^14=16384个

  主机数为2^16-2=65534

  

  C类地址:

  B类网络地址为192.0.0~223.255.255,共2^21=2097152个

  主机数为254

  

  D、E类地址:

  第一个字节为224~255的地址保留。

  D类(224~239)用于组播,E类(240~255)用于科学用途。

  

  保留的IP地址:

  地址127.0.0.1,用于环回测试

  节点地址全为0,表示网络地址或指定网络中的任何主机

  节点地址全为1,表示指定网络中的所有节点

  整个IP地址为0,一般作为默认网关使用(Linux中的 default,欢迎指出错误)

  整个IP地址为1,表示广播 

  

  私有地址:

  A类:10.0.0.0~10.255.255.255

  B类:172.16.0.0~172.31.255.255

  C类:192.168.0.0~192.168.255.255

  

  子网掩码(subnet mask):

  又叫网络掩码、地址掩码,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

  

  

3. 网络设备:

  1、传统以太网操作

  传统共享式以太网的典型代表是总线型以太网。CSMA/CD

  

  2、中继器(Repeater)

  通过中继器虽然可以延长信号传输的距离、实现两个网段的互连。但并没有增加网络的可用带宽。中继器连接后构成了一个单个的冲突域和广播域。

  

  3、集线器(HUB)

  集线器同样可以延长网络的通信距离,或连接物理结构不同的网络,但主要还是作为一个主机站点的汇聚点,将连接在集线器上各个接口上的主机联系起来使之可以互相通信。

  集线器和其所有接口所接的主机共同构成了一个冲突域和一个广播域。

  

  4、网桥(Bridge)

  网桥(Bridge)又称为桥接器。和中继器类似,传统的网桥只有两个端口,用于连接不同的网段。和中继器不同的是,网桥具有一定的"智能"性,可以"学习"网络上主机的地址,同时具有信号过滤的功能。

  网桥可以将一个冲突域分割为两个。其中,每个冲突域共享自己的总线信道带宽。

  网桥两侧的两个网段总线上的所有主机都要接收广播数据包。因此,网段1和网段2仍属于同一个广播域。

  

  5、交换机(Switch)

  交换机(Switch)也被称为交换式集线器。它的出现是为了解决连接在集线器上的所有主机共享可用带宽的缺陷。

  交换机是通过为需要通信的两台主机直接建立专用的通信信道来增加可用带宽的。从这个角度上来讲,交换机相当于多端口网桥。

  交换机上的每个接口都是自己的一个冲突域。

  交换机和其所有接口所连接的主机共同构成了一个广播域。

  

  6、路由器(Router)

  路由器工作在网络层,可以识别网络层的地址-IP地址,有能力过滤第3层的广播消息。

  路由器的每个端口所连接的网络都独自构成一个广播域。

  每个接口都是自己的一个冲突域。

  

  7.网关(Gateway)

  网关工作在OSI参考模型的高三层,因此,并不使用冲突域、广播域的概念。

  网关主要用来进行高层协议之间的转换。

  注意,这里网关的概念完全不同于PC主机以及路由器上配置的默认网关(default gateway)。

  “网关”均指TCP/IP协议下的网关。

  

Note:第三层设备需要确定网络的设备,而第二层设备需要确定设备的位置。

  

  Linux的网络管理:

  

  网络接口命名方式:

  CentOS 6: 以太网:eth[0,1,2,…]

   ppp:ppp[0,1,2,…]

  

  CentOS 7: 默认可预见的命名规则。这一规则,接口名称被自动基于固件,拓扑结构和位置信息来确定。现在,即使添加或移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换。

  

  

  

Note:下面大写IP意为IP地址,IF意为interface网络接口,NM为netmask子网掩码

  ifcfg家族:

  ifconfig: 是一个用来查看、配置、启用或禁用网络接口的工具。

  route: route程序对内核的IP选路表进行操作。

  netstat – 显示网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组。?

  

  ifconfig [IF]:查看当前激活的或指定的网络设备信息

   ifconfig IF {up|down}:启动、关闭指定的网络设备、网卡

   ifconfig IF IP netmask NM :为指定网卡设定IP和掩码

   ifconfig -a 显示全部接口信息

-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包

ifconfig eth0 arp 开启网卡eth0 的arp协议

  ifconfig eth0 –arp 关闭网卡eth0 的arp协议

  

Note:立即生效;

  

  route:

  route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

   route –n: 以数字形式代替解释主机名形式来显示地址。

   route add [-net | -host ] target [netmask NM] [gw GW] [[dev] IF]: 添加一条路由。

   例如~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

   route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]:删除一条路由

   route add -net 224.0.0.0 netmask 240.0.0.0 reject   屏蔽一条路由

   route add default gw 192.168.0.1  添加默认网关

  

  

  route表

Destination     Gateway         Genmask     Flags Metric Ref    Use Iface

192.168.203.0   0.0.0.0         255.255.255.0   U     1      0     0 eth0

0.0.0.0         192.168.203.2   0.0.0.0         UG    0      0     0 eth0

  Flags标志说明:

  U Up表示此路由当前为启动状态

  H Host,表示此网关为一主机

  G Gateway,表示此网关为一路由器

  R Reinstate Route,使用动态路由重新初始化的路由

  D Dynamically,此路由是动态性地写入

  M Modified,此路由是由路由守护程序或导向器动态修改

  ! 表示此路由当前为关闭状态

Note:metric是路由跳数。

  netstat

  显示当前网络连接:

        -t: tcp协议相关

        -u: udp协议相关

        -w: raw socket相关

        -l: 处于监听状态

        -a: 所有状态

        -n: 以数字显示IP和端口;

        -e:扩展格式

        -p: 显示相关进程及PID

显示路由表:

     netstat  {–route|-r} [–numeric|-n]

        -r: 显示内核路由表

        -n: 数字格式

     显示接口统计数据:

      netstat  {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n] 

  -i:显示所有接口

        -I{IFACE}:显示指定接口

  

  

  ip家族:

  ip是iproute2软件包里面的一个强大的网络配置工具。

  格式:ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

  这儿仅归纳三个object {link, addr, route}

  link 网络设备、route 路由表条目、address 一个设备的协议(IP或者IPV6)地址

  

  ip link:

  ip link set dev IF {up|down}: 设置指定网卡开启或关闭

  ip link set dev IF address MAC:修改指定设备的MAC地址

  ip link show [IF]:显示全部或指定网络设备信息

  ip -s -s link ls IF:显示更详细的信息统计

  

  ip addr:

  ip addr show 显示IP地址相关信息

  ip addr {add|del} IP/NM broadcast + dev IF label [相关参数]

  

  ip route:

  ip route show 显示路由表相关信息

  ip route add TARGET via GW dev IFACE src SOURCE_IP 添加路由条目

   例如:ip route add defalt via GW dev IF 添加网关

  ip route delete TARGET 删除路由条目

  

  TARGET:

   主机路由时输入IP即可

   网络路由时需要NETWORK/MASK

  ip route flush [dev IFACE] [via PREFIX] 清空路由表

  

  

  Note相关参数:

   primary:指定显示设定的第一个IP地址

  secondary: 指定显示设定的第二个IP地址

      broadcast:配置广播地址,如果配置值是 + 表示『让系统自动计算』

      label    :亦即是这个装置的别名,例如 eth0:0 就是了!

      scope    :这个界面的领域,通常是这几个大类:

                     global :允许来自所有来源的联机;

                     site   :仅支持 IPv6 ,仅允许本主机的联机;

                     link   :仅允许本装置自我联机;

                     host   :仅允许本主机内部的联机;

  

  

  ss命令: 类似netstat的工具,但是效率比netstat高。

  ss [options] [ FILTER ]

  

  -a  显示所有网络连接

  -l  显示LISTEN状态的连接(连接打开)

  -m 显示内存信息(用于tcp_diag)

  -o  显示Tcp 定时器x

  -p  显示进程信息

  -s  连接统计

   

  -d  只显示 DCCP信息 (等同于 -A dccp)

  -u  只显示udp信息 (等同于 -A udp)

  -w 只显示 RAW信息 (等同于 -A raw)

  -t 只显示tcp信息 (等同于 -A tcp)

  -x 只显示Unix通讯信息 (等同于 -A unix)

  

  -4 只显示 IPV4信息

  -6 只显示 IPV6信息

  –help 显示帮助信息

  –version 显示版本信息

例如:

State       Recv-Q Send-Q Local Address:Port     Peer Address:Port   

ESTAB       0      52     192.168.203.129:ssh     192.168.203.1:62027   

CLOSE-WAIT  1      0       192.168.203.129:39957   2.21.84.208:http     

  

  [ FILTER ]:= [ state STATE-FILTER ]:TCP状态筛选

  All standard TCP states:

established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed,  close-wait,last-ack, listen closing.

          all – for all the states

          connected – all the states except for listen and closed

          synchronized – all the connected states except for syn-sent

          bucket – states, which are maintained as minisockets, i.e.  time-wait and syn-recv

          big – opposite to bucket

  

原创文章,作者:Net18_木水,如若转载,请注明出处:http://www.178linux.com/14937