网络知识

一世执手 提交于 2020-02-07 03:11:54

网络知识开篇介绍

运维网络知识结构

基础部分

网络通讯原理

路由(IP地址 路由表 路由协议)

交换(MAC地址 mac表 广播域与冲突域)

OSI7层模型

网络通讯数据包分装过程

进阶部分

TCP/IP模型(TCP/IP协议簇)

TCP三次握手/四次挥手状态集转换

深入部分

IP地址分类

IP地址子网划分原理

DNS协议原理

ARP协议原理

操作部分

与系统相关网络操作命令

网络知识学习路径

路由交换部分

网络安全部分

网络运营商部署部分

无线网络技术

语音网络技术

网络基础知识概念

网络通讯原理

到底什么是网络:实现通讯的技术

网络诞生第一步:网络主机

至少两台有通讯需求的主机才能构建网络

网络诞生第二步:硬件网卡

主机之间实现网络通讯需要有硬件支持,网卡就是实现通讯的硬件

网络诞生第三步:传输介质

实现网络通讯还需要有传输介质,常见的传输介质为网线、管线、wifi无线等

网络诞生第四步:数据传输

通过网卡将计算机可以识别的二进制信息转换为电压信息进行传输

调制解调的过程

网络诞生第五步:传输问题

通过网卡和传输介质,定义1个bit传输的单位时间,从而分辨连续相同的信号

网络诞生第六步:传输依赖

在网络数据传输过程中,影响传输速率主要是通讯双方的网卡和传输介质

网络拓扑架构构建

  以上就是一个网络拓扑图
       网络拓扑==网络设备连接图

  做网络拓扑图有助于我们检查问题、解决问题

交换原理概念

问题:

在现实中,需要通讯的主机可不止两台,如何在多台计算机之间通讯,引入设备X(可以配置很多网卡的设备)

主机A发送后信息到主机D,主机B和C会不会响应

主机D接收到A的信息,如何清除是主机A发送的

广播包:当所有主机接入到X设备后,主机会发送一个网络包,识别多有的主机

 

交换机设备说明:
           交换机概念:解决多台主机在一个网络里面通讯的需求
           主机身份标识信息:称为叫做mac地址,又称为是一个物理地址(刻录在网卡上面的)
           交换机通讯的网络范围:称为叫做一个局域网
           
交换机传输数据问题:
           01. 会有广播风暴产生:会让主机接收到大量广播包,影响主机性能
               一个交换机所有接口处于一个广播域内
           02. 早期交换网络中,会存在数据冲突问题(数据碰撞)
               目前一个交换机每一个接口处于一个冲突域内即可
           总结:假设一个24口的交换机;总共有24个冲突域;总共有一个广播域       
           
交换机作用特征说明:           
           在一个交换机的端口上所连接的所有终端设备,均在一个网段上(称为一个广播域)
           并且一个网段会有一个统一的网络标识(mac),会产生广播消耗设备CPU资源(广播问题)
           交换机可以隔离冲突域,每一个端口就是一个冲突域
           终端用户的设备接入
           基本的安全功能
           广播域的隔离无法具备的

路由原理概念

大量主机在一个广播域内,会有广播风暴问题,我们可以把一个大的局域网切割成多个小得局域网

当有多个局域网的时候,即多个交换机组成的网络。两个局域网之间的主机之间该如何通讯?

连接路由器的主机通过IP地址识别不同的主机

IP:局域网标识+主机标识

路由器会有一个路由表,记录不同口连接的不同局域网标识
路由器设备说明:
           路由器概念说明:实现不同网段主机通讯的需求
           路由器身份标识信息:称为ip地址(网段信息+网络主机信息=IP地址),IP地址又称为是一个逻辑地址
           总结:假设一个5口的路由器:总共有5个冲突域,总共有5个广播域
           
路由器作用特征说明:
           广播、组播控制
           对数据做寻址、选择到达目的网络的最佳路径
           流量管理
           连接广域网

网络架构层次概念

网络架构模型

网络层次架构组成
        核心层:(放置外网互联路由器设备)
            核心层的功能主要是实现骨干网络之间的优化传输,骨干层设计任务的重点通常是冗余能力、可靠性和高速的传输
        汇聚层:(放置的3层交换机)
            汇聚层是楼群或小区的信息汇聚点,是连接接入层和核心层的网络设备,为接入层提供数据的汇聚\传输\管理\分发处理。
            汇聚层为接入层提供基于策略的连接,如地址合并,协议过滤,路由服务,认证管理等。
            通过网段划分(如VLAN)与网络隔离可以防止某些网段的问题蔓延和影响到核心层。
            汇聚层同时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保证核心层的安全和稳定。
        接入层:(放置2层交换机)
            接入层通常指网络中直接面向用户连接或访问的部分。接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。


网络规模区域划分
        局域网:
            本地私有的一个网络范围。如果是一个规模比较大的局域网,也会成为是一个园区网。
        城域网:
            如果一个网络的覆盖面积达到了一个城市,就可以称为城域网。
        广域网:(互联网)
            如果覆盖面积达到了全国或者全球,就称为广域网,全球最大的广域网就是Internet互联网。

网络互联模型

    ①. 网络层次模型概念介绍
        OSI的概念:
        open system interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的。
        是个灵活的、稳健的和可互操作的模型,并不是协议,是用来了解和设计网络体系结构的。
    ②. 网络层次模型作用说明
        OSI模型的目的:
        规范不同系统的互联标准,使两个不同的系统能够较容易的通信,而不需要改变底层的硬件或软件的逻辑。
        每一层指定了不同协议标准
    ③. 网络层次模型组成部分
        OSI把网络按照层次分为7层
        由下到上分别为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。每个层次对应了相应的标准或者协议。
    ④. 网络层次模型逐层说明
        传输层:
            重要协议:TCP协议和UDP协议
                   传输层数据包称为报文:会包含两个重要的信息--->源端口信息 目标端口信息
        网络层:
            重要协议:IP协议
                   网络层数据包称为包:会包含两个重要的信息--->源IP地址信息  目标IP地址信息
        数据链路层:
                   数据链路层数据包称为帧:会包含两个重要的信息--->源MAC地址信息  目标mac地址信息
        物理层:
            传输模式:单工(电台广播)  半双工(对讲机)  全双工(电话)(通用模式)
        物理拓扑:总线型 星型 环形网络

 

 

 

网络OSI网际互联

①. OSI网际互联数据包封装过程

②. OSI网际互联数据包解封过程  

③. OSI网际互联过程的详细描述

网络TCP/IP层次模型

①. 网络层次模型概念介绍
        用于简化OSI层次,以及相关的标准。
        传输控制协议(tcp/ip)族是相关国防部(DoD)所创建的,主要用来确保数据的完整性及在毁灭性战争中维持通信
        是由一组不同功能的协议组合在一起构成的协议簇
        利用一组协议完成OSI所实现的功能

DoD(TCP/IP)模型各层包含的协议


②. 网络层次模型作用说明


③. 网络层次模型组成部分


④. 网络层次模型逐层说明

 

 

网络TCP/IP模型精讲

 

①. 网络重要协议说明
        TCP与UDP协议对比:
        传输控制协议(TCP)                                 用户数据报文协议(UDP)
        面向连接                                                      无连接
        可靠传输                                                      不可靠传输
        流控                                                             尽力而为,尽力传递
        使用TCP应用                                               使用UDP的应用:
        WEB浏览器;电子邮件;文件传输程序        域名系统(DNS);视频流;IP语音(VoIP)
       tcp:必须建立连接,需要双方都同意,同步

       udp:无需连接,不管对方同意不同意,异步

②. 网络协议报文结构
        源端口随机分配,目标端口使用知名端口
        [root@test ~]# cat /proc/sys/net/ipv4/ip_local_port_range
        32768     61000
        由于TCP协议头部使用16位来保存端口号,所以端口的个数最多为65536个,2^16=65536。0号端口不会被tcp和udp协议使用
        tcp和udp协议端口号范围是 1~65535 ,并不是所有的端口都能随意使用
        http 80 ssh 22 telnet 23
        
        控制字段:
        ack:表示确认控制字段,实现数据可靠连接
        syn:表示请求建立连接字段
        fin  :表示请求断开连接字段
        说明:控制字段信息默认为0,控制字段功能不起作用;控制字段信息置为1,表示相应控制字段功能开启
        
        应用客户端使用的源端口号一般为系统中未使用的且大于1024的
        目的端口号为服务器端应用服务的进程,如telnet为23
TCP报文结构

UDP报文结构

③. 网络连接建立过程
        TCP/IP三次握手建立过程

    一握手:请求建立连接(syn)

    二握手:连接确认再请求(ack syn)

    三握手:最后确认,即建立(ack)


④. 网络连接断开过程
        TCP/IP三次握手建立过程

    一挥手:请求连接要断开(fin)

    二挥手:断开请求要确认(ack)

    三挥手:思考过后要断开(fin,ack)

    四挥手:最后确认,要断开(ack)
⑤. 网络状态转换过程

  TCP的十一种状态机转换

 

另一种挥手情况:ACK确认字段没有被客户端收到,但是等来了FIN ACK,客户端直接变成closing

通过命令netstat  -an 查看

[root@luffy-001 scripts]# netstat -an|grep -i es
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0     64 10.0.0.200:22               10.0.0.1:51401              ESTABLISHED 
tcp        0      0 10.0.0.200:22               10.0.0.1:58972              ESTABLISHED 
Active UNIX domain sockets (servers and established)
unix  2      [ ]         DGRAM                    10926  @/org/freedesktop/hal/udev_event
[root@luffy-001 scripts]# netstat -lntup|grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1549/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      1549/sshd      

网络TCP/IP涉及原理

①. ARP协议原理
        ARP协议的功能
        1) 将IPv4地址解析为MAC地址
        2) 维护映射的缓存

通过cmd查看arp缓存

win中

[D:\~]$ arp -a

接口: 192.168.0.16 --- 0xb
  Internet 地址         物理地址              类型
  192.168.0.1           a8-6b-7c-08-8b-ee     动态        
  192.168.0.6           e4-0e-ee-8a-8b-61     动态        
  192.168.0.14          f4-f5-db-38-21-a0     动态        
  192.168.0.21          70-47-e9-3d-13-cd     动态        
  192.168.0.22          60-91-f3-64-5b-94     动态        
  192.168.0.24          a4-50-46-e5-72-25     动态        
  192.168.0.31          00-25-ab-55-62-89     动态        
  192.168.0.255         ff-ff-ff-ff-ff-ff     静态

Linux中

[root@luffy-001 scripts]# arp -a
? (10.0.0.2) at 00:50:56:ef:3e:a0 [ether] on eth0
? (10.0.0.1) at 00:50:56:c0:00:08 [ether] on eth0


②. DNS协议原理
        DNS是什么?DNS(Domain Name System)
        DNS称为域名系统,在网站运行中器到了至关重要的作用

  主要作用是负责把网站域名解析为对应的IP地址。
        
        域名的层次级别:
        第一个级别:称为 根域名服务器 .(全球13个)
        第二个级别:称为 顶级域名服务器(一级域名服务器).com .cn .gov
        第三个级别:称为 二级域名服务器(授权DNS服务器).baidu.com .jd.com
        第四个级别:称为 虚拟主机信息 www.baidu.com www.jd.com
        
        DNS解析相关命令
        dig @8.8.8.8 www.xxx.com +trace
        nslookup www.xxx.com
        host www.xxx.com    
        ping www.xxx.com

[root@luffy-001 scripts]# dig www.baidu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8061
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.            IN    A

;; ANSWER SECTION:
www.baidu.com.        89    IN    CNAME    www.a.shifen.com.
www.a.shifen.com.    89    IN    A    163.177.151.109
www.a.shifen.com.    89    IN    A    163.177.151.110

;; Query time: 76 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Wed Feb 20 00:20:04 2019
;; MSG SIZE  rcvd: 90

[root@luffy-001 scripts]# nslookup www.baidu.com
Server:        223.5.5.5
Address:    223.5.5.5#53

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 163.177.151.110
Name:    www.a.shifen.com
Address: 163.177.151.109

[root@luffy-001 scripts]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 163.177.151.109
www.a.shifen.com has address 163.177.151.110
[root@luffy-001 scripts]# ping www.baidu.com
PING www.a.shifen.com (163.177.151.110) 56(84) bytes of data.
64 bytes from 163.177.151.110: icmp_seq=1 ttl=128 time=9.61 ms
64 bytes from 163.177.151.110: icmp_seq=2 ttl=128 time=9.51 ms




查看本地DNS缓存ipconfig /displaydns

网络IP地址分类说明

按照IP地址数值范围划分(A B C 类  D类 组播地址 E类 预留研发使用)

  32位IP地址,按照每8位划分


按照IP地址用途进行划分(公网地址 私网地址)
      划分公网和私网地址最主要的作用:就是避免IP地址资源枯竭
      常见私有地址
      10.0.0.0/8              (10.0.0.0          到    10.255.255.255)
      172.16.0.0/12        (172.16.0.0      到    172.31.255.255)
      192.168.0.0/16      (192.168.0.0    到    192.168.255.255)
      169.254.0.0/16      (169.254.0.0    到    169.254.255.255)*
    
      IP私网地址类似于我们的身份证
      IP公网地址类似于我们的护照信息
    
按照IP地址通讯方式划分(单播地址 组播地址 广播地址)
      单播地址:
        就是网卡上配置的IP地址,就称为单播地址
      组播地址:
        一般为D类地址,称为组播地址,只能在一个组内进行互相访问通讯
      广播地址:
        就是主机位全为1的,就称为广播地址
      网络地址
        就是主机位全为0的,就称为网络地址
        
特殊IP地址说明:
      127.0.0.1
        表示回环地址,进行测试使用,验证本地的TCP协议簇安装的是否正确。ping 127.0.0.1测试网卡是够正常
      0.0.0.0
        主机位全为0的称为是网络地址
      255.255.255.255
        主机位全为1的称为是广播地址,即向所有人发出信息
      结论:主机地址可以范围中,不能包含网络地址和广播地址
    
    总结得知:
      0和255作为主机的地址,是不能进行分配使用的,只有0-255之间的地址可以进行分配为主机地址使用
      根据主机地址范围取值,可以引入一个公式:
      可以分配的主机地址个数=2的N次方-2  192.168.12. == 2的8次方=256-2=254 2的16次方=65536-2=65534
      N次方的N表示有多少个主机位
      -2就表示减去网络地址和广播地址,剩余的就是可分配的主机地址

网络IP地址划分说明

VLSN可变长子网掩码划分过程

IP地址划分子网的原因
    172.16.0.0  ==>  2的16次方(n表示B类地址的主机位个数)-2=65536-2=65534
    01. 为了避免IP地址资源浪费,会对IP地址进行子网划分
    02. 大量的广播包,形成广播风暴,会严重影响主机性能
    03. 会对路由器产生压力,路由的性能也会被耗尽
    IP地址划分子网计算法
    172.16.0.0  == 前两个8位为网络为  后两个8位为主机位
    网络掩码概念:
    有32位二进制数组成,并且每8位为一组,只要是网络位,都会置为1
    
    172.16.0.0 这个B类地址为例说明:
    172-128=44-32=12-8=4
    10101100  00010000 00000000  00000000

    掩码就是把网络位全置为1
    11111111  11111111 00000000  00000000   
    掩码:
    255.0.0.0         A类掩码信息     /8
    255.255.0.0     B类掩码信息   /16
    255.255.255.0 C类掩码信息   /24
    

     

将红线右移

总结得知:
    因此可以得到另一个计算公式的结论
    可以划分的子网数=2的N次方
    其中N表示借用的主机位个数

局域网上网原理讲解

Linux中操作网络命令实现系统的网络通信

01. 系统网卡配置参数说明
    网卡配置参数详解
    [root@oldboy ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0                    <- 第一块网卡逻辑设备名;第二块为eth1,
    有些系统也会以em等字符标识(centos7系统)
    TYPE=Ethernet                <- 上网类型,目前基本都是以太网
    UUID=sasd-sdasd-wqe-12       <- 通用唯一识别码(Universally Unique Identifier);
                                   如果是vmware克隆的虚拟机无法启动网卡可以去除此项。
    ONBOOT=yes                   <- 这个地方要设置为yes,才能保证下次开机启动激活网卡设备
    NM_CONTROLLED=no             <- 是否通过NetworkManager管理网卡设备(centos6关闭)
    BOOTPROTO=none               <- 启动协议,获取IP地址配置方式,有none|bootp|dhcp三个选项
    IPADDR=10.0.0.51             <- 表示本台局域网中服务器的固定IP地址
    NETMASK=255.255.255.0        <- 子网掩码,用来规划网络为和主机位的,一般为255.255.255.0
    DNS2=223.6.6.6               <- 第二个DNS,这里默认会覆盖以及优选于/etc/resolv.conf的配置文件
    GATEWAY=10.0.0.254           <- 局域网上网网关地址
    DNS1=223.5.5.5               <- 主DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效
    USERCTL=no
    PEERDNS=yes                  <- 是否确认网卡配置文件中的DNS配置优先于/etc/resolv.conf配置文件
    IPV6INIT=no                  <- 是否支持IPV6
    HWADDR=00:0c:29:10:2e:28     <- 以太网硬件地址即MAC地址,如果是vmware克隆的虚拟机
                                   无法启动网卡可以毫不犹豫的删除此项。
    网卡配置生效方法:
    # 推荐:ifdown,ifup进行指定发卡的重启操作
    ifdown eth0 && ifup eth0  <- 重启eth0网卡
    ifup eth0                    <- 启动eth0网卡

    针对所有网卡进行重启操作(工作场景慎用此命令)
    /etc/init.d/network restart 
  
02. 系统默认网关配置说明  [root@luffy-001 scripts]# route -n  查看路由信息    Kernel IP routing table    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0    0.0.0.0         10.0.0.2        0.0.0.0         UG    0      0        0 eth0
    添加默认网关路由(gw是网关缩写)
    route add default gw 10.0.0.254
    route del default gw 10.0.0.254

    添加静态网段路由
    route add -net 172.16.1.0 netmask 255.255.255.0 gw 192.168.1.1或者 route add -net 172.16.1.0/24 gw 192.168.1.1    [root@luffy-001 scripts]# route add -net 172.16.1.0 netmask 255.255.255.0 gw 192.168.1.1    SIOCADDRT: Network is unreachable # 报错,因为网关不存在    [root@luffy-001 scripts]# route add -net 172.16.1.0 netmask 255.255.255.0 gw 10.0.0.254    [root@luffy-001 scripts]# ping 172.16.1.0    PING 172.16.1.0 (172.16.1.0) 56(84) bytes of data.
    添加静态主机路由
    route add -host 192.168.2.13 dev eth2   route add -host 172.16.2.2 gw 10.0.0.254

03. 系统网卡多个地址配置
    IP别名方式配置多地址
    ifconfig eth0:1 10.0.0.100/24 up        <- 配置别名IP,即虚拟IP(VIP),并启用虚拟IP
    ifconfig eth0:X down                    <- 停掉指定别名IP配置

    辅助IP方式配置多地址
    ip addr add 10.0.0.13/24 dev eth0:1
    ip addr add 10.0.0.14/24 broadcast 10.0.0.255 dev ethx  添加广播地址
    ip add del 10.0.0.10/24 dev ethx   
  需要使用 ip address show(简写ip a) 查看用ip addr 命令添加的IP
04. 网络地址信息获取命令
    查看网络状态常用命令:
      ifconfig命令:centos 5 6系统中常用
    用于显示网路配置信息
      ip命令:centos7系统
    用于显示网路配置信息
      route命令:
    查看路由配置信息    route -n      
    显示主机名称信息;也可以利用hostname显示ip地址配置信息hostname -I    hostname(uname -n)
    显示主机的端口与服务网络连接状态,ESTABLISHED表示建立连接的状态,数量即表示网络连接数      netstat(ss-centos7)
    显示主机的端口与服务网络连接状态。
     lsof
05. 网络连接异常常用排查命令
    ping命令
    -c<count>        设置完成要求回应的次数;默认会一直长ping
    -f                表示极限ping,ping过程中不显示任何信息,效率更高
    -i<interval>    指定收发信息的间隔时间
    -q                不显示指定执行过程,开头和结尾的相关信息除外
    -s              <数据包大小>    设置数据包的大小

    tracroute/tracert命令,跟踪网络路径
    
    telnet命令  ,查看相应的服务有没有开启     telnet ip 端口
    nmap命令    ,与telnet命令类似      nmap ip -p 端口 或者 端口-端口(20-40)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!