zoukankan      html  css  js  c++  java
  • 计算机网络

      关于计算机网络的知识,对于开发的人来说我们关注的式应用层,和物理层。关于其中的数据链路层,网络层这些式网络工程师需要详细了解的。

    1.关于计算机的操作系统os,disk,memory,cpu

      在我们的计算机中,对于程序来说,如果需要运行起来,必须有os,disk,memory,cpu。

    os:

     操作系统(os),是管理和调用计算机硬件与软件资源的计算机程序

      看起来被人忽视,其实很重要。比如Windows,Linux,这些都是操作系统,os对于程序来说其实非常重要,他是所有数据的入口。只有os才能获取到计算机硬件所传递的数据和信息。比如,我们在python网络通信传递数据和Java中的文件操作时这个都有缓冲区这个概念,为什么需要缓冲区,底层在这里。计算机先通过os操作系统获取物理硬件传递的数据,然后进入内核,内核中的内存,再传递拷贝到计算机的内存区(除了内核),数据到内存,os调用cpu进行快速运算操作。

    disk:

      硬盘

    cpu:

      中央处理器

    memory:

      为了进行区分,我叫它运行内存,一般有32位机和64位机,2^32约等于4G,现在大多数出现了什么64位的机器,8G,128G,256G等等都属于这个范畴。

    2.对于计算机网络通信,需要了解通信的大概就行,这其实是一门另外的知识,HCNA,HCNP,HCIE。但是有些知识必须知道。

      计算机通信概述:

        物理层只能传递电信号,0,1。2台计算机如果想要通信,需要有物理介质相连接。

        直接看计算机的网卡信息,如果你看懂了计算机网卡的信息,就能知道计算机通信的大概原理。

            

              连接特定的 DNS 后缀:
              描述: Realtek PCIe GBE 系列控制器
              物理地址: ‎BC-EE-7B-1C-04-8F
              已启用 DHCP: 是
              IPv4 地址: 192.168.2.105
              IPv4 子网掩码: 255.255.255.0
              获得租约的时间: 2017年11月 星期六 11:40:48
              租约过期的时间: 2017年11月 星期六 20:40:49
              IPv4 默认网关: 192.168.2.1
              IPv4 DHCP 服务器: 192.168.2.1
              IPv4 DNS 服务器: 192.168.1.1, 192.168.2.1

      概述:  

        列入A主机和B主机进行通信,首先,再同一个子网内(也就是一个小的局域网内),计算机会通过判断你的ip是不是同一网段,如果是则使用arp请求,目的是为了获取世界上唯一的MAC地址;如果不是同一个网段,则网关回应自己的MAC地址。所以说再数据链路层,是MAC地址通信,采用的是以太网的数据帧分装数据,head  data形式进行封装数据再data中又可封装了网络层的相关信息,源ip和目的ip-data,层层封装,到达另外一端是层层解封。而应用层得到的就是数据部分。有一些一些大概知道即可,NAT(网络地址转换),DHCP(动态获取ip),DNS(域名解析)等等。

        

    关于数据二层的通信:(arp协议)
    目的:为了获取对方的mac地址
    方式:广播方式
    arp分为2中情况:
    1.在同一个子网内
    2.在不同的子网内
    工作方式:
    1.在同一个子网内:(以192.168.2.2和192.168.2.6通信为例)
    首先计算机会先判断,你请求的ip是不是同一个子网,如果是
    采用的是以太网的封装(head ,data),在head中有发送者的源mac地址,目的mac采用全F,在同一个子网采用广播的方式发送,
    所有的接收者(在同一个子网内)接收到数据包,判断是不是配置好的目的ip,如果是接收并响应请求,并且响应自己的mac地址

    2.在不同的网段:(以192.168.2.2和192.168.1.6通信为例,网关为192.168.2.1)
    判断ip如果不是同一个子网,arp工作方式一样,只不过网关会响应它的一个mac地址。

    综上:在数据二层其实就是mac之间的通信,由于mac地址是全球唯一的,所以保证了通信的唯一信。
    如果要跨网段必须通过网关。

        对于开发者来说,我们只需要知道网络通信的三要素即可:协议+ip+端口(端口其实是很重要的)

    3.子网划分

       

    '''
    子网划分,也就是CIDR。也就是想主机位借位,划分成为不同的子网。
    这就是三层隔离,也就是ip层隔离
    还有一种就是采用vlan进行二层隔离,也就是交换机网口物理隔离
    '''

    '''
    子网划分的步骤:(首先确定ip地址是哪类)
    1.确定要划分的子网数,以及每个子网的主机数
    2.求出子网数目对应的二进制数的位数N及主机数目对应的二进制位数M
    3.对该IP地址的源子网掩码,将其主机地址部分的前N位置1(其余全部置0)或后M位置0(其余全部置1)即得出该IP
    地址划分子网后的子网掩码

    子网划分其实就是,CIDR技术。
        这个技术有点意思,自己以前学习过HCNA,感觉这个技术挺好玩的。
         

      

  • 相关阅读:
    vim 去掉自动注释和自动回车
    性别回归
    表情识别
    python list按字典的key值排序
    pytorch学习率策略
    python将list元素转为数字
    php面向对象
    mysql
    mysql
    mysql
  • 原文地址:https://www.cnblogs.com/lizeboLB/p/7784324.html
Copyright © 2011-2022 走看看