美文网首页
网络知识

网络知识

作者: linux_豪哥 | 来源:发表于2019-08-25 20:49 被阅读0次

    1.网络的重要性:

    我们的生活已经离不开网络。订餐,交通,旅游,娱乐....
    所有的系统都有网络!
    运维生涯50%的生产故障都是网络故障!
    

    2.实现网络通讯具备的条件?

    1)不同主机之前要有传输介质连接

    有线(双绞线传播电信号)双向,同时收发
    无线(无线电波)        发的时候,不能收
    

    2)主机上必须有网卡硬件设备

    网卡(mac地址)
    网卡作用说明:
       在发送信息时:将二进制(数字信号)信息转换为高低电压(电信号)   调至过程
       再接收信息时:将高低电压(电信号)信息转换为二进制数(数字信号) 解调过程
    

    3)在实现网络通讯时,通讯主机双方的网卡以及传输介质会进行协商

    利用速率较低的方式进行传输
    网卡速度参数  100Mbps==100M bit 每秒==每秒钟传输多少个bit(0或1)
       网络传输数据单位:比特  bit    1bit=1/8byte
       磁盘存储数据单位:字节  byte   1byte=8bit
       100M宽带?
    

    3.网络通讯名词概念解释

    交换(扩充网线插槽,让更多的人,在同一个局域网共享上网)
    傻瓜交换机(tplink/dlink/水星...)
    程控交换机(配置管理,可控 思科、华为、华三)
    
    路由(实现不同局域网之间的通信)
    内网卡---交换机   192.168.11.0/24(192.168.11.1~192.168.11.254)
    外网卡---运营商   122.71.227.79(铁通)
    
    linux系统中查看路由表信息命令:(两个)
    a. route -n
    b. netstat -rn
    
    一个教室的这么多人是怎么上网的呢?
    
    查公网ip的方法:
    windows,打开浏览器,访问百度,搜IP即可
    linux:curl ifconfig.me
    
    扩展:高级路由器还有上网行为管理器和防火墙功能哦
    

    4. osi 7层模型

    由ISO(国际标准化组织):定义了标准通讯模型

    物理层       1层,指定一些网络设备规范 通信介质的信号到数字信号(二进制0101)转换
    数据链接层   2层  可以实现通过交换找到真正目标主机  通过mac地址(物理网卡)通信  交换能力  二层设备
    网络层       3层  IP地址,路由(通过公网ip来访问全世界)  路由功能 三层设备
                      可以实现通过路由找到目标网络
    
    传输层       4层  保证数据传输的可靠性  tcp/udp    tcp(可靠,速度慢) udp(不可靠,速度快) ...
                      端口(让不同的应用程序,同时使用网络)
    
    会话层       5层  控制网络连接建立或者终止
    表示层       6层  数据转换加密 压缩
    应用层       7层  应用程序接口规范
    

    利用OSI7层模型如何建立主机与主机之间的通信?

    5. 数据封装,解封装

    ··· 
    应用层---》数据
    表示层---》数据
    会话层---》数据
    传输层---》目标端口+源端口+数据
    网络层---》目标ip+源ip+目标端口+源端口+数据
    数据链接层---》目标mac+源mac+目标ip+源ip+目标端口+源端口+数据
    物理层---》将完整的数据包,转换成比特流(计算机识别的二进制)
    

    两台主机间通过交换通讯的封包跟解封包的过程
    两台主机间通过路由通讯的封包跟解封包的过程

    6. tcp/ip模型 4层

    在OSI7层模型的基础上做了简化
     
    应用层
    表示层
    会话层                             ----------应用层
    传输层                             ----------传输层
    网络层                             ----------网络层
    数据链路层                         ----------网络接入层
    物理层
    
    tcpip模型.png

    常见协议端口

    telnet        23
    DNS           53  
    HTTP          80
    SSH           22
    SMTP          25
    FTP           21
    
    端口.png

    TCP +端口 标识应用层协议
    UDP+端口 标识应用层协议

    TCP是进行可靠传输的
    (把大数据包分成小数据包编上号,在传输的过程中有可能丢包,但会将丢掉的包重新传输,从而实现可靠传输)
    UDP是进行不可靠传输的
    (有些传输只需要一个数据包比如:QQ聊天,所以不需要拆分数据包,这个时候就需要UDP协议啦)

    7. tcp三次握手,四次挥手

    tcp的标识:

    SYN:建立链接
    ACK:回应标识
    FIN  断开链接
    PSH  数据包
    URG  紧急指针
    RST  重置(重传)
    
    开始传输数据之前需要:tcp的三次握手
    
    三次握手.png

    思考?

    很多同学都会想A同意连接B也同意连接啦,就传送数据呗,干嘛要3次握手呢?两次就可以啦。

    数据传输结束的时候需要:tcp的四次挥手
    
    四次挥手.png

    tcp的数据传输过程:

    tcp协议在传输数据的时候,需要先进行三次握手,传输上三层数据,四次挥手
    

    单工、全双工、半双工

    单工: (广播电台)           通讯时候,只有一方作为发送方,另一方作为接受方
    半双工:(对讲机,WiFi)       1.通讯的某一时刻,只有一方作为发送方,另一方作为接受方
                                2.通讯时刻发生转变,发送方可以变为接收方,接收方可以变为发送方
    全双工:(电话,网线)    同一时刻,一方皆可以是发送方,又可以是接收方
    
    传输方式.png

    TCP11种状态集

    TCP三次握手:5种状态

    何导画图


    三次握手状态集.png
    过程
    00:最开始两台主机都处于关闭状态                                      closed
    01:服务端将相对应服务进行开启                                        closed --- listen
    02:客户端向服务端发出连接请求(SYN)                                  closed --- syn_sent
    03:服务端接收到连接请求(SYN),进行确认,发送ACK和SYN                 listen --- syn_rcvd
    04:客户端接收到服务端发送的ACK和SYN,进行回复响应,发送ACK             syn_sent --- established
    05:服务端接收到客户端发送的ACK                                       syn_rcvd --- established
    
    TCP四次挥手:6种状态

    何导画图


    四次挥手状态集.png
    过程
    * TCP四次挥手过程中状态集转换
    ①. 客户端发送断开连接求      FIN              连接建立状态---fin_wait01(等ACK确认)
    ②. 服务端接收到断开请求,发送确认信息  ACK     连接建立状态---close_wait
    ③. 客户端接收到确认信息    ACK                fin_wait01(等ACK确认)--- fin_wait02(等fin信息)
    ④. 服务端继续发送请求断开连接信息,以及确认信息 FIN ACK    close_wait---last_ack
    ⑤. 客户端接收断开连接信息,发送确认信息  ACK              fin_wait02(等fin信息)---time_wait
    ⑥. 服务端接收到客户端发送的确认信息    ACK                last_ack --- closed
    ⑦. 客户端会在等待一段时间后2MSL(MSL 30s 60s)            time_wait --- closed 
    

    3次挥手的情况

    何导图


    image.png

    8.ip地址划分

    8.1 什么是二进制?

    计算机识别的一种数制
    10进制 0-9 进位规则是“逢十进一”
    二进制 0-1 进位规则是“逢二进一”

    8.2. 二进制换算十进制

    例子

    1100 ==1X2^3+1X2^2+0X2^1+0X2^0 =12
    1010 ==1X2^3+0X2^2+1X2^1+0X2^0 =10
    11111111 ???
    10101010 ??? 
    

    十进制转二进制

    10进制的10=1010
    10进制的5=101
    192 ???
    172 ???
    
    十进制转二进制.png

    计算机

    8.3 ip地址的分类

    IP地址其实是32位二进制
    01100100.00000100.00000101.00000110 100.4.5.6
    0.0.0.0~255.255.255.255

    a类  1.0.0.1~126.255.255.254
    第一组:1-126开头的地址是A类
      0<A类<127 
    
    b类  128.0.0.1~191.255.255.254
     128<=B类<192  
    
    c类  192.0.0.1~223.255.255.254
    
    d类  224.0.0.0~239.255.255.254    组播,多点广播
    
    e类  240.0.0.0~255.255.255.254   科研
    

    8.4 私有ip地址范围

    局域网地址:
    A 10.0.0.0~10.255.255.255
    65536*256 
    
    B 172.16.0.0~172.31.255.255
    65536*16
    
    C 192.168.0.0~192.168.255.255
    65536
    
    127.0.0.0~127.255.255.255  本地回环地址
    
    0.0.0.0              ===   任意的目的地
    

    8.5 ipv4地址不够用

    0.0.0.0 ~ 255.255.255.255 == 256*256*256*256 = 4,294,967,296  42亿
    为了缓解ipv4地址不够用的问题
    
    1:ipv6   fe80::2e60:cff:fe9c:a4b3   
    成本      一直没有推下去
    
    2: NAT   Network Address Translation  网络地址转换
    好处:
    a:节约大量的公网ip地址
    b:减少了网络攻击
    

    9.子网掩码

    子网掩码的作用:决定一个网段可用ip的数量
    子网划分的概念:将一个大的网络划分成几个小的网络

    192.168.11.0/24 === 192.168.11.0  netmask 255.255.255.0
    
    11000000,10101000,00001011,00000000
    11000000,10101000,00001011,11111111
    11111111,11111111,11111111,10000000     255.255.255.0
    
    192.168.11.0/24  === 192.168.11.0   netmask 255.255.255.0
    网络号:子网位全为0
    广播号:子网位全为1
    
    192.168.11.0    网络号
    192.168.11.1    起始地址
    192.168.11.254  结束地址
    192.168.11.255  广播地址
    
    192.168.0.0/28   === 192.168.0.0   netmask 255.255.255.240
    11000000.10101000.00000000.00000000
    11111111.11111111.11111111.11110000
    
    11000000.10101000.00000000.00000000
    192.168.0.0    网络号
    192.168.0.1    起始范围
    192.168.0.14   结束范围
    11000000.10101000.00000000.00001111
    192.168.0.15   广播地址
    

    如果子网掩码是25位的话 会把一个网段划分成两个网段

    192.168.11.0/25 === 192.168.11.0  netmask 255.255.255.128
    11000000,10101000,00001011,00000000  网络地址
    11111111,11111111,11111111,10000000     255.255.255.128  子网掩码
    11000000,10101000,00001011,00000000     192.168.11.0     网络号
    11000000,10101000,00001011,01111111     192.168.11.127   广播地址
    11111111,11111111,11111111,10000000     255.255.255.128
    
    192.168.11.128/25 === 192.168.11.128  netmask 255.255.255.128
    11000000,10101000,00001011,10000000   网络地址
    11111111,11111111,11111111,10000000   子网掩码
    
    11000000,10101000,00001011,10000000  192.168.11.128   网络号
    11000000,10101000,00001011,11111111  192.168.11.255   广播地址
    
    同一个网段的ip地址,才能直接相互通信,不同网段的ip地址,需要路由器才能相互通信!
    

    限制只能有一个可用的IP

    
    192.168.0.0/30   === 192.168.0.0   netmask 255.255.255.252
    11000000.10101000.00000000.00000000
    11111111.11111111.11111111.11111100
    192.168.0.0    网络号
    192.168.0.1    可上网的ip
    192.168.0.2    网关
    192.168.0.3    广播地址
    
    192.168.0.4/30
    192.168.0.4    网络号
    192.168.0.5
    192.168.0.6
    192.168.0.7    广播地址
    
    5个公网+1个网关+2个=8
    8=2*3  11111000
    255.255.255.248
    
    a:红蜘蛛广播
    b: 限制无线路由器的连接数
    c: 运营商的固定ip数限制
    
    

    10.DNS解析流程

    10.1 DNS介绍

    dns:domain name system域名系统
    
    dns出现的原因,ip地址不好记
    
    百度:111.13.100.92
    腾讯:199.22.22.22
    网易:123.55.22.66
    
    dns服务器的作用:把域名解析成ip地址
    
    域名:baidu.com
    dns服务器:baidu.com 119.22.22.22
    
    dns服务:udp 53端口
    
    思考问题

    能上qq,打不开网站

    10.2.描述:打开浏览器输入www.oldboyedu.com地址之后回车,网站的打开流程?

    1)把www.oldboyedu.com解析成公网ip地址
    2)浏览器使用它的公网ip访问www.oldboyedu.com的网站服务器
    
    用户打开浏览器,输入www.oldboyedu.com回车,上网的流程:
    浏览器首先会调用系统。解析www.oldboyedu.com域名,首先查询本地DNS缓存,本地缓存没有,再看本地的hosts文件,本地hosts文件没有
    就会把域名www.oldboyedu.com发送local dns(223.5.5.5)进行解析,local dns服务器收到你的域名解析请求,它也会查找本地缓存,如果没找到,local dns服务器就会向根域名服务器发送请求,
    询问.com顶级域名服务器的地址,
    根据.com顶级域名服务器的地址,找到.com的顶级域名服务器,
    询问二级域名oldboyedu.com的地址,根据oldboyedu.com域名服务器的地址,最终找到了www.oldboyedu.com的解析记录
    local dns服务器拿到www.oldboyedu.com的ip地址之后首先会返回给用户的操作系统,同时在本地缓存一份。用户的操作收到了local dns服务器的解析结果。这时候浏览器直接访问www.oldboyedu.com的网站服务器,同时把www.oldboyedu.com缓存到本地的DNS解析。
    

    10.3.dns的命令

    ipconfig /displaydns    显示DNS解析程序缓存的内容。
    
    dig
    yum install bind-utils
    dig www.baidu.com +trace     解析过程
    dig  www.baidu.com
    
    

    11.arp协议

    arp     address resolution protocol
    arp  数据链路层
    把ip地址解析成mac地址
    作用:减少交换网络中广播的产生
    

    11.静态路由项目

    动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。
    静态路由是网络管理员手工将路由规则添加到路由表,不会发生改变。

    route 命令

     route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
     route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
    -n   查看路由表
    增加 (add) 与删除 (del) 路由的相关参数:
    -net :表示后面接的路由为一个网域;
    -host :表示后面接的为连接到单部主机的路由;
    netmask :与网域有关,可以设定 netmask 决定网域的大小;
    gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
    dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等
    
    route命令详解.png

    Flags 含义:

    U 路由是活动的
    H 目标是个主机
    G 需要经过网关
    R 恢复动态路由产生的表项
    D 由路由的后台程序动态地安装
    M 由路由的后台程序修改
    ! 拒绝路由
    

    设置不同网段进行通信

    准备环境:
    network01:修改主机名,修改IP地址,删除网关和dns
    
    network02:修改主机名,修改eth0的IP地址,删除网关和dns,复制eth0的网卡配置文件,修改网卡name和网卡的设备名,ip地址
    network03:修改主机名,修改IP地址,删除网关和dns
    network01      eth0      10.0.0.11
    network02      eth0      10.0.0.12
                   eth1      192.168.0.12
    network03      eth1      192.168.0.13
    
    

    路由设置

    network01:
    route add -net 192.168.0.0/24 gw 10.0.0.12
    network02:
    route add -net 10.0.0.0/24 gw 192.168.0.12
    
    

    转发功能

    临时
    sysctl net.ipv4.ip_forward=1
    永久
    echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
    sysctl -p
    

    添加永久路由(需要重启网络)

    编辑或新建/etc/sysconfig/network-scripts/route-interface 文件中,比如 
    vi /etc/sysconfig/network-scripts/route-eth0 
    添加两条路由: 
    172.22.2.0/24 via 172.22.3.254 dev eth0 
    172.21.0.0/16 via 172.22.3.254 dev eth0
    

    ping命令使用(禁止ping icmp--iptables)

    ICMP协议
    ICMP的全称是 Internet Control Message Protocol 。从技术角度来说,ICMP就是一个“错误侦测与回报机制”
    设置ICMP数据包处理规则的方法也有两种,一种是在操作系统上设置包过滤,另一种是在主机上安装防火墙。
    ping基于ICMP协议
    两种类型数据包
    echo reques ----ping请求
    echo reply ----ping应答

        ping 10.0.0.31 -c 5       --- -c 指定ping包数量
        ping 10.0.0.31 -c 5 -i 3  --- -i 指定ping包间隔(单位秒)
        ping 10.0.0.31 -c 5 -q    --- -q 指定ping包不显示过程信息
        ping 10.0.0.31 -c 10000 -f  -- -f 开启急速ping功能
    

    相关文章

      网友评论

          本文标题:网络知识

          本文链接:https://www.haomeiwen.com/subject/znlkectx.html