一、计算机网络

1.计算机网络定义

       计算机网络:是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2.主要网络

(1)局域网

       通常我们常见的“LAN”就是指局域网,这是我们最常见、应用最广的一种网络。所谓局域网,那就是在局部地区范围内的网络,它所覆盖的地区范围较小。局域网在计算机数量配置上没有太多的限制,少的可以只有两台,多的可达几百台。一般来说在企业局域网中,工作站的数量在几十到两百台次左右。在网络所涉及的地理距离上一般来说可以是几米至10公里以内。局域网一般位于一个建筑物或一个单位内,不存在寻径问题,不包括网络层的应用。

(2)城域网

       这种网络一般来说是在一个城市,但不在同一地理小区范围内的计算机互联。这种网络的连接距离可以在10 ̄100公里,它采用的是IEEE802.6标准。MAN与LAN相比扩展的距离更长,连接的计算机数量更多,在地理范围上可以说是LAN网络的延伸。在一个大型城市或都市地区,一个MAN网络通常连接着多个LAN网。如连接政府机构的LAN、医院的LAN、电信的LAN、公司企业的LAN等等。由于光纤连接的引入,使MAN中高速的LAN互连成为可能。

(3)广域网

        这种网络也称为远程网,所覆盖的范围比城域网(MAN)更广,它一般是在不同城市之间的LAN或者MAN网络互联,地理范围可从几百公里到几千公里。因为距离较远,信息衰减比较严重,所以这种网络一般是要租用专线,通过IMP(接口信息处理)协议和线路连接起来,构成网状结构,解决循径问题。这种城域网因为所连接的用户多,总出口带宽有限,所以用户的终端连接速率一般较低,通常为9.6Kbps ̄45Mbps 如:邮电部的CHINANET,CHINAPAC,和CHINADDN网。

(4)无线网

       随着笔记本电脑和个人数字助理等便携式计算机的日益普及和发展,人们经常要在路途中接听电话、发送传真和电子邮件阅读网上信息以及登录到远程机器等。然而在汽车或飞机上是不可能通过有线介质与单位的网络相连接的,这时候可能会对无线网感兴趣了。虽然无线网与移动通信经常是联系在一起的,但这两个概念并不完全相同。通过无线网连接起来的计算机的位置可能又是固定不变的,如在不便于通过有线电缆连接的大楼之间就可以通过无线网将两栋大楼内的计算机连接在一起。

3.OSI与TCP/IP参考模型

wKioL1X8EO_xRDeFAAOp9XigxJE803.jpg

OSI七层参考模型


wKiom1X8Dt2h9XolAADGINCe6-Q194.jpg

TCP/IP模型

4.IP地址分类

       A类地址:

              0000 0000-0111 1111  0-127

              网络数:126

              主机数:2^24-2

              私有地址:10.0.0.0/255.0.0.0

       B类地址:1000 0000-1011 1111  128-191

              网络数:2^14

              主机数:2^16-2

              私有地址:172.16.0.0/16-172.31.0.0/16

       C类地址:1100 0000-1101 1111  192-223

              网络数:2^21

              主机数:2^8-2

              私有地址:192.168.0.0/24-192.168.255.0/24

       D类地址:1110 0000-1110 1111  224-239

       E类地址:1111 0000-1111 1111  240-255

二、配置网络接口

1.路由的分类

       主机路由:到达非本网络的主机;

       网络路由:到达非本网络之外的网络;

       默认路由:到达非本网络之外的网络或主机。

2.接入网络需要的条件

(1)IP地址和子网掩码

(2)默认网关:通信需要经过的路由

(3)DNS服务器地址:包括主DNS服务器,次DNS服务器和第三DNS服务器

(4)主机名

3.配置方式

配置IP和路由分为两种方式:静态指定和动态分配

(1)静态指定:

              ifcfg类命令:ifconfig、route、netstat

              ip命令:子命令link,addr,route等,ss,tc

              编辑配置文件:图形化前端工具(system-config-network-tui、setup)

(2)动态分配:DHCP

4.配置网络接口

(1)网络接口命名方式

       CentOS 5/6:eth(0,1,2,3...)以MAC地址命名方式命名;

       CentOS 7:以总线上对应的PCI适配器对应的插槽命名;

(2)ifcfg类配置命令

ifconfig:网络属性信息显示和配置

       ifconfig  interface  IP/mask  [up|down]

       常用选项:

              -a:显示所有网络接口信息

              [-]promisc:启用混杂模式(接受目标非本机的数据包)

[root@www ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:91:63:EC  

          inet addr:192.168.1.112  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe91:63ec/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:139756 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1629 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:15048258 (14.3 MiB)  TX bytes:188953 (184.5 KiB)


lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:10 errors:0 dropped:0 overruns:0 frame:0

          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:500 (500.0 b)  TX bytes:500 (500.0 b)

route:配置路由信息

       常用选项:

              -n:查看路由信息

[root@www ~]# route -n  查看路由信息

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

0.0.0.0         192.168.1.253   0.0.0.0         UG    0      0        0 eth0

添加路由信息:route  add  [-net|-host]  target  [netmask Nm]  [gw Gw]  [[dev] If]

[root@www ~]# route add -host 172.16.0.1 gw 192.168.1.253  添加主机路由

[root@www ~]# route add -net 172.16.0.0/16 gw 192.168.1.253 dev eth0  添加网络路由

[root@www ~]# route add default gw 192.168.1.253 dev eth0  添加默认路由

[root@www ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

172.16.0.1      192.168.1.253   255.255.255.255 UGH   0      0        0 eth0

192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

172.16.0.0      192.168.1.253   255.255.0.0     UG    0      0        0 eth0

0.0.0.0         192.168.1.253   0.0.0.0         UG    0      0        0 eth0

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

[root@www ~]# route del -host 172.16.0.1  删除主机路由

[root@www ~]# route del -net 172.16.0.0 netmask 255.255.0.0  删除网络路由 

[root@www ~]# route del default  删除默认路由 

netstat:查看网络状态信息

①显示网络连接:     

       netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]]  [--program|-p]

       常用选项:

              -t: tcp协议相关

             -u: udp协议相关

             -w: raw socket相关

             -l: 处于监听状态

             -a: 所有状态

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

             -e:扩展格式

             -p: 显示相关进程及PID

       常用组合:

             -tan, -uan, -tnl, -unl

[root@www ~]# netstat -tan  显示tcp所有状态连接

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State      

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      

tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      

tcp        0      0 0.0.0.0:57821               0.0.0.0:*                   LISTEN      

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      

tcp        0      0 192.168.1.111:22            192.168.1.103:58816         ESTABLISHED 

tcp        0      0 192.168.1.111:22            192.168.1.103:49246         ESTABLISHED 

tcp        0     52 192.168.1.112:22            192.168.1.103:50497         ESTABLISHED 

tcp        0      0 :::22                       :::*                        LISTEN      

tcp        0      0 ::1:631                     :::*                        LISTEN      

tcp        0      0 ::1:25                      :::*                        LISTEN      

tcp        0      0 :::37800                    :::*                        LISTEN      

tcp        0      0 :::111                      :::*                        LISTEN

②显示路由表

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

              -r: 显示内核路由表

             -n: 数字格式

[root@www ~]# netstat -rn

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

0.0.0.0         192.168.1.253   0.0.0.0         UG        0 0          0 eth0

③显示接口统计数据

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

[root@www ~]# netstat -i

Kernel Interface table

Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0       1500   0   142144      0      0      0     2795      0      0      0 BMRU

lo        65536   0       10      0      0      0       10      0      0      0 LRU

(3)配置DNS

       编辑配置文件:/etc/resolv.conf

              nameserver DNS_SERVER_IP1

              nameserver DNS_SERVER_IP2

             nameserver DNS_SERVER_IP3

       正解:FQDN-->IP

              # dig -t A FQDN

             # host -t A FQDN

       反解:IP-->FQDN

             # dig -x IP

             # host -t PTR IP

[root@www ~]# cat /etc/resolv.conf 

# Generated by NetworkManager

nameserver 192.168.1.253  DNS地址

[root@www ~]# dig -t A www.baidu.com  正解测试


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t A www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5085

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0


;; QUESTION SECTION:  问题

;www.baidu.com.INA


;; ANSWER SECTION:  答案

www.baidu.com.1092INCNAMEwww.a.shifen.com.

www.a.shifen.com.290INA220.181.112.244

www.a.shifen.com.290INA220.181.111.188


;; Query time: 33 msec

;; SERVER: 192.168.1.253#53(192.168.1.253)

;; WHEN: Fri Sep  4 13:25:21 2015

;; MSG SIZE  rcvd: 90

[root@www ~]# dig -x 192.168.1.253  反解测试


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -x 192.168.1.253

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38008

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0


;; QUESTION SECTION:

;253.1.168.192.in-addr.arpa.INPTR


;; ANSWER SECTION:

253.1.168.192.in-addr.arpa. 86400 INPTRbogon.


;; Query time: 46 msec

;; SERVER: 192.168.1.253#53(192.168.1.253)

;; WHEN: Fri Sep  4 13:26:03 2015

;; MSG SIZE  rcvd: 63

(4)IP命令

ip:显示或配置路由、设备、策略路由和隧道信息

       ip [ OPTIONS ] OBJECT { COMMAND | help }

             OBJECT := { link | addr | route }

①ip  link  

       ip  link  show:显示当前网络接口对应的二层描述信息

              ip  link  show  dev  If:显示对应设备状态信息

              ip  link  show  up:显示已激活的接口

       <BROADCAST,MULTICAST,UP,LOWER_UP>:启用的状态

       mtu:最大协议传输单元

[root@www ~]# ip link show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:91:63:ec brd ff:ff:ff:ff:ff:ff

3: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 

    link/ether 32:48:f2:78:00:34 brd ff:ff:ff:ff:ff:ff

       ip  link  set:修改设备属性

              ip  link  set  dev  If  [up|down]:启用或禁用接口

[root@www ~]# ip link set dev eth0 down

[root@www ~]# ip link show 

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000

    link/ether 00:0c:29:91:63:ec brd ff:ff:ff:ff:ff:ff

②ip  addr:协议地址管理工具

       ip addr { add | del } IFADDR dev STRING

              [label LABEL]:添加地址时指明网卡别名

              [scope {global|link|host}]:指明作用域

             global: 全局可用;

     link: 仅链接可用;

     host: 本机可用;

              [broadcast ADDRESS]:指明广播地址

       ip address show - look at protocol addresses

      [dev DEVICE]

      [label PATTERN]

              [primary and secondary]

       ip address flush - flush protocol addresses

              使用格式同show

[root@www ~]# ip addr add 192.168.1.113 dev eth0

[root@www ~]# ip addr show dev eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:91:63:ec brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.112/24 brd 192.168.1.255 scope global eth0

    inet 192.168.1.113/32 scope global eth0

    inet6 fe80::20c:29ff:fe91:63ec/64 scope link 

       valid_lft forever preferred_lft forever

③ip  route:路由表管理工具

       ip route add:添加路由

              ip route add TARGET via GW dev IFACE src SOURCE_IP

                     TARGET:

     主机路由:IP

     网络路由:NETWORK/MASK

     添加网关:ip route add defalt via GW dev IFACE

       ip route delete:删除路由

              ip route del TARGET 

       ip route show:查看路由

      ip route flush

             [dev IFACE]

     [via PREFIX]

[root@www ~]# ip route add 172.16.0.1 via 192.168.1.253 dev eth0

[root@www ~]# ip route show

172.16.0.1 via 192.168.1.253 dev eth0 

192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.112  metric 1 

default via 192.168.1.253 dev eth0  proto static