美文网首页
2018-09-24

2018-09-24

作者: whamai | 来源:发表于2018-09-24 22:26 被阅读0次

    1、简述osi七层模型和TCP/IP五层模型


    OSI七层模型各层定义

    物理层 :提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。

    数据链路层 :在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。

    网络层 :控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。

    传输层 :提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。

    会话层 :提供两进程之间建立、维护和结束会话连接的功能;提供交互会话的管理功能,如三种数据流方向的控制,即一路交互、两路交替和两路同时会话模式 。

    表示层 :代表应用进程协商数据表示;完成数据转换、格式化和文本压缩。

    应用层 :提供OSI用户服务,例如事务处理程序、文件传送协议和网络管理等。

    TCP/IP五层各层定义

    物理层 :主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

    数据链路层 :建立逻辑连接、进行硬件地址寻址、差错校验等功能(由底层网络定义协议)。并且将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。

                  <1>以广播的方式通讯

                 <2>以太网协议:早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet

                 <3>mac地址:head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)

    网络层 :引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址,进行逻辑地址寻址,实现不同网络之间的路径选择。

    <1>协议有:IP(IPV4 IPV6) ARP RARP ICMP IGMP

    <2>IP协议:规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示范围0.0.0.0-255.255.255.255

    一个ip地址通常写成四段十进制数,例:192.168.10.1

    <3>IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络(配合子网掩码)。

    传输层 :定义传输数据的协议端口号,以及流控和差错校验。<1>协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层<2>封装的数据格式

    应用层 :规定应用程序的数据格式,网络服务与最终用户的一个接口。<1>协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

    2、简述iproute家族命令

    ip命令:

    ip [OPTIONS] OBJECT {COMMAND|help}

    ip link:

    ip link set DEV:修改设备属性

          1) up或down:启用或停用接口;示例,ip link set eth1 up/down

          2) multicast on 或 multicast off:启用或禁用多播功能;示例,ip link set eth1 multicast on/off

          3) name NAME:重命名接口;示例,ip link set eth1 name eth666

          4) mtu NUMBER:设置MTU的大小,默认为1500;(MTU,最大传输单元,某一层通信协议上所能承受的最大数据包大小;MTU越大承载的有效数据包就越大)

          5) netns PID:将指定的网卡移动到指定的虚拟网络(本地系统将看不到这块网卡)

             示例,ip netns add mynet ( 构建虚拟网络mynet )

                ip link set eth1 netns mynet ( 将接口eth1添加到虚拟网络mynet )

                ip netns exec mynet ip link show ( 查看虚拟网络mynet的接口信息 )

                ip netns del mynet ( 删除虚拟网络 )

    ip link show/list:显示设备属性

    ip link help:显示简要使用帮助

    ip netns:

      释义:netns是linux中提供网络虚拟化的一个项目,使用netns可以在本地虚拟化出多个网络环境,每个虚拟网络空间都独立于当前系统的网络空间,其中的网络设备及iptables规则等都是独立的。

        1) ip netns list:列出所有的netns

        2) ip netns add NAME:创建指定的netns

        3) ip netns del NAME:删除指定的netns

        4) ip netns exec NAME COMMAND:在指定的netns中运行命令

    5) ip netns help:显示简要使用帮助

    6) exit:退出虚拟网络

    ip address:

        1) ip address add IFADDR dev IFACE:给指定网卡添加多一个IP;示例,ip address add 192.168.10.2/24 dev eth1

            [label NAME]:为额外添加的地址指明接口别名;示例,ip address add 10.1.1.10/8 dev eth1 label eth1:0

            [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

            [scope SCOPE_VALUE]:global:全局可用;link:接口可用;host:仅本机可用

        2) ip address delete IFADDR dev IFACE:删除接口的ip;示例,ip address delete 10.1.1.10/8 dev eth1

        3) ip address list/show [IFACE]:显示接口的地址信息;示例,ip address show,ip address list eth1

        4) ip address flush dev IFACE:清空接口所有的地址信息;示例,ip address flush dev eth1

    ip route:

    1) ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]:添加路由信息;

    示例,ip route add 10.0.2.0/24 via 10.0.1.11 (到达10.0.2.0/24网络的下一跳地址为10.0.1.11)

    ip route add 10.0.2.0/24 dev eth0 (通过接口eth0到达10.0.2.0/24网络)

    ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 (到达192.168.1.0/24网络须通过接口eth1的下一跳地址10.0.0.1)

             ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.10.100 (通过eth1接口的10.0.10.100地址,经下一跳10.0.0.1到达网络192.168.1.0/24;此条路由的网关是本机)

             ip route add default via 172.16.0.1 dev eth0 (添加默认路由,通过eth0接口经下一跳172.16.0.1出去)

        2) ip route del:删除路由信息

          示例,ip route delete 192.168.1.0/24

             ip route show:显示路由信息

        3) ip route flush - flush routing tables

          示例,ip route flush 192.168.1.0/24

        4) ip route get:获取路由信息

    示例,ip route get 192.168.0.0/24

    ss命令:

      获取socket信息,显示和netstat类似的内容,但比netstat更高效。

      ss [options] [FILTER]

      options:

        -t:TCP协议的相关连接

        -u:UDP相关的连接

        -w:仅显示raw套接字的连接

        -l:显示处于监听状态的连接

        -a:所有状态的连接

        -n:不解析服务名称

        -p:显示使用socket的进程

        -e:显示详细的信息

    -m:内存用量

    -s:显示socket使用概况

        -o:计时器信息

    FILTER:

    =[state TCP-STATE] [EXPRESSION]

        TCP-STATE包括:

            LISTEN:监听

            ESTABLISEHD:建立的连接

            FIN_WAIT_1:等待远程TCP连接中断请求

            FIN_WAIT_2:从远程TCP等待连接中断请求

            SYN_SENT:客户端发送请求连接

            SYN_RECV:服务端接收请求连接

            CLOSED:没有任何连接

    htop

      基于文本模式的、交互式的进程查看器,主要用于控制台或shell中,比top命令更加人性化,可以说是top的高级版。Linux系统默认不安装htop,需要自行安装,可以登录官网下载安装或配置epel源,通过yum install htop安装。

    htop的使用:

        总共分成四个区:

        1)上左区:显示CPU(1、2表示CPU的核数)、物理内存和交换分区的信息;

        2)上右区:显示任务数量(tasks)、平均负载(load average)和系统从开机到现在的运行时长;

        3)进程区域:动态显示当前系统中的所有进程;

        4)操作提示区:显示当前界面中F1~F10功能键中定义的快捷功能。

    htop常用功能键:

    F1 : 查看htop使用说明

        F2 : 设置

        F3 : 搜索进程

        F4 : 过滤器,按关键字搜索

        F5 : 显示树形结构

        F6 : 选择排序方式

        F7 : 减少nice值,这样就可以提高对应进程的优先级

        F8 : 增加nice值,这样可以降低对应进程的优先级

        F9 : 杀掉选中的进程

        F10 : 退出htop

    / : 搜索字符

        h : 显示帮助

        l :显示进程打开的文件

        u :显示所有用户,并可以选择某一特定用户的进程

        s : 将调用strace追踪进程的系统调用

        t : 显示树形结构

        H :显示/隐藏用户线程

        I :倒转排序顺序

        K :显示/隐藏内核线程

        M :按内存占用排序

        P :按CPU排序

        T :按运行时间排序

        上下键或PgUP,PgDn:移动选中进程

        左右键或Home,End:移动列表

        Space(空格):标记/取消标记一个进程

     htop常用选项:

    -d #:指定延迟时间间隔

    -u UserName:仅显示指定用户的进程

        -s COLUME:以指定字段进行排序

    vmstat

      指定时间间隔内,动态监控系统的虚拟内存、进程、CPU活动的整体情况,属于低开销工具。命令格式:vmstat [options] [ delay [count] ]。

        delay:刷新时间间隔,如果不指定,只显示一条结果;

        count:刷新次数;如果不指定count但指定了delay,这时会一直刷新。

      常用的options选项:

        -a:显示活跃和非活跃内存

        -f:显示从系统启动至今的fork数量 

        -m:显示slab信息(slab,Linux的内存分配机制)

        -n:只在开始时显示一次各字段名称

        -s:显示内存相关统计信息及多种系统活动数量

        -d:显示磁盘相关统计信息

        -p:显示指定磁盘分区统计信息

        -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(bytes)。默认单位为K(1024 bytes)

        -V:显示vmstat版本信息

      示例:

        默认显示1次摘要信息

        间隔2秒刷新1次摘要,总共显示3次

        关键字释义:

    4、使用while实现ping 192.168.0.0/24网络


    相关文章

      网友评论

          本文标题:2018-09-24

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