基础_基础数据 - CSDN
基础 订阅
基础是指建筑物地面以下的承重结构,如基坑、承台、框架柱、地梁等。是建筑物的墙或柱子在地下的扩大部分,其作用是承受建筑物上部结构传下来的荷载,并把它们连同自重一起传给地基。 [1] 展开全文
基础是指建筑物地面以下的承重结构,如基坑、承台、框架柱、地梁等。是建筑物的墙或柱子在地下的扩大部分,其作用是承受建筑物上部结构传下来的荷载,并把它们连同自重一起传给地基。 [1]
信息
基    础
条形基础 刚性基础
外文名
foundation
分    类
灰土基础、砖基础
中文名
基础
组    成
由土和岩石组成
基础历史
中国在建筑物的基础建造方面有悠久的历史。从陕西半坡村新石器时代的遗址中发掘出的木柱下已有掺陶片的夯土基础;陕县庙底沟的屋柱下也有用扁平的砾石做的基础;洛阳王湾墙基的沟槽内则填红烧土碎块或铺一层平整的大块砾石。到战国时期,已有块石基础。到北宋元丰年间,基础类型已发展到木桩基础、木筏基础及复杂地基上的桥梁基础、堤坝基础,使基础型式日臻完善。在《营造法式》中对地基设计和基础构造都作了初步规定,如对一般基础埋深作出“凡开基址,须相视地脉虚实,②采用地基上梁和板的计算方法。其深不过一丈,地基土质较好的情况下能够满足设计要求。浅止于五尺或四尺,……”的规定。
收起全文
精华内容
参与话题
  • 基础IT必备知识(一)

    千次阅读 2019-01-08 17:46:32
    一、 windows系统  win7、win10基本操作组合键(win+e、win+r、win+d、alt+l)   硬件  硬盘(磁盘)分类、存储原理、区别;  内存 分类、运行原理、双通道;... 了解内容:扇区、光区、CPU、显卡;...

    一、  windows系统

          win7、win10基本操作组合键(win+e、win+r、win+d、alt+l) 

         硬件

         硬盘(磁盘)分类、存储原理、区别;

         内存 分类、运行原理、双通道;

         了解内容:扇区、光区、CPU、显卡;

         驱动

         网卡、声卡、USB、打印机;

         计算机管理

         组策略

        注册表

        基本命令(appwiz.cpl、ncpa.cpl、ping、tracert、msconfig、control、cmd、services.msc)

    二、  软件

         Office(word、excel、ppt)安装、卸载、分页、故障处理;

         浏览器(ie、谷歌、火狐)代理、访问页、安全

        Radmin、Teamview

    三、  网络

          TCP/IP协议,IOS模型;

          服务器、路由器、AC、交换机、网线、拓扑图;

          C类网、B类网

          对等网

         IP地址、MAC地址、子网掩码、网关、DNS

         命令(ping、tracert、telnet、ipconfig/all)
     

    展开全文
  • 网络基础知识(一)

    万次阅读 多人点赞 2018-08-05 18:08:01
    IP地址分类与子网掩码有关计算 一、IP地址 1、IP地址基本概念  IP地址在网络层将不同的物理网络地址统一到了全球唯一的IP地址上(屏蔽物理网络差异),是唯一标识互联网上计算机的逻辑地址(相当于手机号码,...

     

    IP地址分类与子网掩码有关计算

    一、IP地址

    1、IP地址基本概念 
    IP地址在网络层将不同的物理网络地址统一到了全球唯一的IP地址上(屏蔽物理网络差异),是唯一标识互联网上计算机的逻辑地址(相当于手机号码,可以通过唯一的手机号码找到手机),所以IP地址也被称为互联网地址(可见其重要性)。

    2、IP地址格式 
    我们目前常用的IPv4中规定,IP地址长度为32位二进制,在表示时,一般将32位地址拆分为4个8位二进制,再转为4个十进制数表示,每个数字之间用点隔开,如127.0.0.1(localhost),这种描述方式被称为“点-数表示法”。 
    IP地址层次:分为网络号和主机号两个层次。网络号表示主机所属网络,主机号表示主机本身。网络号与主机号的位数与IP地址分类有关。

    3、IP地址分配 
    IP地址分配的基本原则是:要为同一网络(子网、网段)内不同主机分配相同的网络号,不同的主机号。

    4、IP地址常见分类 
    IP地址类别与用途

    这里写图片描述

    A类IP地址 
    一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。

    B类IP地址 
    一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。

    C类IP地址 
    一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。

    D类地址用于多点广播(Multicast)。 
    D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

    E类IP地址 
    以“llll0”开始,为将来使用保留。

    5、特殊的IP地址

    **受限的广播地址:**32位全“1”的IP地址,只能做目的地址,用于向本网内部所有主机发送数据包(路由器拒绝向外网发送广播,隔离数据包在本网内)。

    直接广播地址:网络号全“1”,只能作目的地址,用于向目标网内所有主机发送数据包(路由器接受向外网转发数据包,意为广播在全网有效),如C类IP所有主机255.255.255.主机号、B类IP所有主机255.255.主机号。

    **本网络本主机地址:**32位全零的IP地址对应于当前主机,只能做源地址。

    本网特定主机地址:网络号全零的IP地址表示本网络内的特定主机(路由器拒绝目的地址为本网特定主机的数据包,意为只能向本网内特定主机发送数据包),只能做目的地址。

    环回地址就是网络ID为127的IP地址,用于一台主机的客户端与服务器端通过TCP\IP进行通信或者本机进程间通信,一般在自己的主机上进行软件开发测试时候会用到的localhost(127.0.0.1)就是环回地址。

    在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下: 
    A类地址:10.0.0.0~10.255.255.255 
    B类地址:172.16.0.0~172.31.255.255 
    C类地址:192.168.0.0~192.168.255.255

    二、子网掩码 

    子网掩码 又叫网络掩码、地址掩码
    上面我们说到IP地址分为网络号与主机号,但是路由如何区分网络号与主机号呢?就需要通过子网掩码。子网掩码必须与IP地址结合使用,A、B、C类的子网掩码分别为255.0.0.0,255.255.0.0与255.255.255.0(网络号字节为255,主机号字节为0)。

    也就是说给你一个IP地址,那么怎么知道它的网络号和主机号各是多少位呢?

    如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现

    子网掩码的重要作用:就是将某个IP地址划分成网络地址主机地址两部分。

    子网掩码的位数就是网络的位数。A类网络的网络位数是8位,子网掩码就是255.0.0.0,B类网络的网络位数是16位,子网掩码是255.255.0.0,C类是24位,255.255.255.0。

    以C类IP地址192.168.1.2为例使用子网掩码划分网络号与主机号。

    这里写图片描述

    当然,在计算主机号时,可不用取反子网掩码二进制,直接令其与IP地址异或即可。

    例1 不同子网下的主机能否直接通信(是否在同一网络/段下)

    假设两个IP地址分别是172.20.0.18和172.20.1.16,子网掩码都是255.255.255.0。

    我们可以知道两者的网络标识分别是172.20.0和172.20.1,无法直接通信,也就无法PING通。要想能相互通信,需要将子网掩码改成255.255.0.0

    例2 如何理解172.20.1.0/26

    上文中的26代表主机ID的掩码地址长度,从前往后有26位,即子网掩码的地址是255.255.255.192。

    子网掩码还可以用来将网络划分为更小的子网,将IP的两极结构扩充成三级结构,节约地址空间,减轻路由器负担。

    子网掩码的划分

    如果要将一个网络划分为多个子网,如何确定子网掩码?步骤如下:

    第一步:将要划分的子网数目转换为2的m次方。如果不是恰好是2的多少次方,则按照取大原则。

    第二步:将上一步确定的幂m按照高序占用主机地址前m位,再转化为十进制。如m为3,表示主机位中有3位被划分为网络标识号占用,因网络标识号都为1,故如是C类地址,主机号对应的字节变为11100000,转化为十进制后为224,故子网掩码为255.255.255.224,如果是B类网络,则子网掩码为255.255.224.0。

    网关

    网关(Gateway)又称网间连接器,就是一个网络连接到另一个网络的“关口”。

    网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络B向网络A转发数据包的过程。

      所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

    展开全文
  • java基础入门(一)

    万次阅读 多人点赞 2020-03-15 00:28:28
    2. 这篇教程是一个学习方向的引导,且只针对基础入门(更加进阶的知识笔者也还在学习)。 3. java的基础入门知识网上有很多,很多大神的博客里也有总结,笔者不认为自己能比大神总结的好。所以在这篇教程里,...

    前言:

    1. 笔者的java没有经过真正系统的学习过,只是跟着书上自学的。所以有些地方难免会理解错误之类的,如果看到错误的地方,请指出来,或者有什么不理解的地方也可以提出来,大家一起进步。

    2. 这篇教程是一个学习方向的引导,且只针对基础入门(更加进阶的知识笔者也还在学习)。

    3. java的基础入门知识网上有很多,很多大神的博客里也有总结,笔者不认为自己能比大神总结的好。所以在这篇教程里,很多基础知识笔者会直接引用一些大神的博客和网上的一些资料,做一个汇总。当然,同时也会加入笔者自己的理解,说一些笔者学习时踩过的坑,分享一些心得。

     

    话不多说,进入正题:

    java 简介

    简单的说,java是一门面向对象编程语言,吸收了C/C++的优点,摒弃了C/C++复杂的指针等内容,也不需要用户手动释放内存空间。java本身还具备了很强的可移植性,通过将源代码编译成二进制字节码,然后通过不同平台的java虚拟机来解释执行字节码,从而实行了“一次编译,到处执行”的跨平台特性。

    Java的应用领域非常广泛。可以做应用系统、互联网网站、以及移动端的安卓等。

    想了解更多的java的发展历史和语言特性,可以点击这里

     

    java 环境配置

    "工欲善其事,必先利其器",学习java首先要配置java运行所需要的java环境,这个网上也有很多教程了,我也不详细讲了。

    java环境配置教程:

    window环境:win7win10

    linux环境:通用教程云服务器(centos7)

    Mac环境:Mac

     

    集成开发环境安装:

    初学者推荐eclipse,安装和使用都比较简单,网上也有很多教程,如window用户可以看这篇教程。下文的例子都是基于eclipse环境,但如果你使用其他IDE也完全不影响代码运行。

    笔者现在用的是IntelliJ IDEA,功能相比eclipse更强大,更智能,尤其在代码提示和补全方面做得很好。笔者一开始学java的时候,也是用的eclipse,后面学java web的时候,就慢慢转用IntelliJ IDEA了,然后再回不来了。简单说说两者的优缺点。

    IntelliJ IDEA:功能强大、各类炫酷实用插件,智能化代码提示与补全,debug也很方便智能,适合开发大型项目。但是安装包很大,运行内存占用比较高,完整版收费(几百美元一年,但学生可以用教育邮箱免费申请使用资格),社区版虽然免费但是阉割了很多功能

    eclipse:免费!!安装包小(几百兆),解压即可使用,简单易上手。不足之处是代码提示和补全不够智能,插件很多但实用性不足。但是作为一款免费软件,eclipse已经非常棒了,对于初学者来说也完全够用。

    很多初学者配置环境时都会遇到一些莫名的问题,大部分都是因为jdk的路径问题引起。所以大家配置环境的一定不能照搬教程里的路径,要根据自己电脑里的jdk路径来配置。如果配置环境出现问题,这时候可以根据报错信息等百度看下原因。实在不行,可以 根据教程“重新配置环境”,这个方法可以解决大部分问题。(eclipse 不能正常运行也可以试试卸载重装。。)。其次也可能和jdk的版本及eclipe版本有关,下载的时候一定要根据你所使用的系统的版本来选择jdk版本和eclipse的版本,否则就会出错.

    这里我还要补充的是 有关java专业的一些术语:

    JRE(Java Runtime Environment):运行Java程序的用户使用的软件,包含了java虚拟机却不包含编译器。

    JDK(Java Development Kit):编写java程序的程序员所使用的开发工具包,JDK里包含了JRE。

    Server JRE :在服务器上运行java环境的软件

    SE (Standard Edition):用于桌面或简单服务器应用的java平台。(我们现在正在学习的)

    EE(Enterprise Edition):用于复杂服务器应用的java平台。

    ME(Micro Edition): 用于手机和其他小型设备的java平台。

    J2(Java 2):一个过时的术语,用于描述1998~2006之间的java版本。

    SDK(Software Development kit):一个过时的术语,用于描述1998~2006之间的JDK。

     

    到这里,默认你已经成功配置好了环境,成功运行了eclipse。

    (备注:1、eclipse默认是英文的,但也提供了中文语言包,下面有些教程的eclipse界面是中文的,但是笔者建议读者使用英文版,毕竟使用英文版软件、系统是一个程序员必须要学会习惯的

                 2、如果你不想用eclipse,完全可以选择其他你喜欢开发环境,如NetBeans和IntelliJ IDEA都是很棒的开发环境。)

    java 第一个程序

    下面开始练习用eclipse来写出你的第一个java程序,通过这个小程序你可以了解java最基础的语法,以便我们后续的学习。不要小看这个程序,几乎所有java程序都有这样的声明格式。

    相关教程:java 第一个程序

    java 数据类型

     

    java 是一门强类型的语言。这意味着必须为每一个变量声明一种类型。在java中一个有8种基本类型,四种整型(byte,short,int,long),两种浮点(float,double),一种字符类型char,一种用于表示真值的boolean型。

    相关教程 java 数据类型

    要注意的是:

    1. 读者后面会接触到一个字符串类型String,每个用双引号括起来的字符串都是String类型的实例,如:

     String e = "";//一个空字符串
     String hi= "hello";

    但是,String不是基本类型, 是标准java类库提供的一个预定类(类和对象的概念后续会讲到)。两个String类型相加的效果为两个字符串的拼接:

    String m = "abc";
    String n = "def";
    String p = a+b;//p = "abcdef";
    int i=13;
    String p = "abcdef"+i;// p="abcdef13"; 13被自动转换成字符串处理

    关于String的用法先简单了解下,后面等学习了对象和类的概念,我们再回头来了解下String类型。

    2. 在C语言里,可以用整数1和0代表代表布尔值true和false,但是,在java里,整数值和布尔值不能进行相互转换。

    3. 在java中,所有的数值类型所占据的字节数量与平台无关(int 永远占4个字节,long永远占8个字节)。

     

    java 变量

    学完了数据类型,我们来学变量。

    在java中,每个变量都有一个类型。声明变量类型时,变量的类型位于变量名之前,如:

    double salary;
    int days;
    long population;
    boolean done;

    相关教程:java 变量

    由于读者没有学习到修饰符及对象和类的相关知识,上面的教程可能会有些看不懂,但不必担心,我们这个小节学习的是变量,后面会讲到其他相关的知识。

    这里还想做几点补充:

    1. 变量的类型除了前面所讲八大基本类型,还可以是类名(如String 就是标准包里的一个类的名称)。

    2. 变量的命名规则:

      (1)变量名必须是一个以字母开头并由字母或数字构成的序列,且不能包含空格和java保留关键字

      (2)尽量使你的变量名有意义,容易一眼看出它本身所表达的意义,避免使用a,b,c等无意义的变量名。推荐使用驼峰命名            法来规范变量名。

    3.在C/C++里区别变量的声明和定义,但是在java中,不区分变量的声明与定义。

    int i=10;//是一个定义
    extern int i;//是一个声明

     

    java 运算符

     

    学习了数据类型及变量,下面我们就来了解下数据之间是怎么进行运算的.

    相关教程:java 运算符

    补充:

    任何数除以0,在运行过程中会抛出一个异常(java异常机制后面也会讲到,这里可以先理解成报错),负数的平方根的结果为NaN(不是一个数字)。

    java 输入输出

    为了增加后面示例程序的互动性,需要程序能够从控制台接收输入(标准输入流),并在控制台中以适当的形式输出(标准输出流)。

    这里要补充一个知识点:在java里,点号( . )用于调用方法(在C语言中被称为的函数)。通用的语法为:

    obeject.method(parameters);//这里表示的是调用了名为object对象的method方法,括号里是方法的参数

    注意,对于一个方法,即使是没有参数也需要使用空括号

    标准输出流:

         打印输出到“标准输出流”(即控制台窗口)是一件非常简单的事情。 

         在我们学习的java的第一个程序时,我们已经接触了标准输出流,并在控制台中输出了“Hello World!”。

    {
          System.out.println("Hello World!");
    }

         在这里,使用了System.out对象并调用了它的println方法并传递给他一个字符串参数(“hello world”)。println方法可以将传递给它的参数显示在控制台上。每次调用println都会在新的一行显示输出(如果想在输出后不换行,可以使用println,如System.out.print("hello");)。

         补充:

                 1.调用println方法也可以不传递参数,此时,将打印一个空行。

                 2.括号内可以使用“+”拼接字符串,实际上我们经常这么使用。     

    	System.out.println("Hello"+"World!");//在控制台中输出Hello world!
    	System.out.println("H"+"e"+"l"+"l"+"o");//在控制台中输出Hello

     

    标准输入流:

     

        标准输出流很简单,但是读取“标准输入流”System.in就没有那么简单了。

        首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。(构造函数和 new操作符在下一篇教程讲到)

    Scanner in = new Scanner(System.in);

        其次,你还要在程序的最开始添加上一行:

        import  java.util.Scanner; 

        这句话的作用是:引入java.util包下的Scanner类。这句话现在不理解完全没没关系,你可以暂时理解成“类似C/C++调用函数时需要声明的头文件”。现在你只需要套用模板就可以了。下面我给出个例子:

    import java.util.Scanner;
    
    /**
     *标准输入输出流的简单实例
     */
    public class Test {
    	public static void main(String[] args) {
    		//构造一个Scanner对象,命名为 in (你完全可以选择其他名字),并与System.in关联
    		Scanner in = new Scanner(System.in);
    		//标准输出流
    		System.out.println("what is your name?");
    		//调用nextLine方法,从控制台读取一个字符串,并赋值给name;
            //值得说明的是,从方法名上看,nextLine可以读取一行内容,实际上也是这样的,你可以输入一个很长很长的字符串,直到你敲下回车键。
    		String name = in.nextLine();
    		//同样,读取一个整数,并赋值给age
    		System.out.println("How old are you");
    		int age = in.nextInt();
    		//打印刚刚输入的信息
    		System.out.println("your name:"+name+"  your age:"+age);
    	}
    }

    运行示例:

    补充:想要读取不同的数据类型,需要调用不同的方法,

               nextLine() 读取输入的下一行字符串,可以包含空格(遇到Enter键视为结束符)

               next()        读取输入的下一个字符串(遇到空格键、Tab键或Enter键视为分隔符或结束符)

               nextInt()        读取输入的下一个整数

               nextDouble() 读取并转换下一个表示整数或浮点数的字符序列

              类似的,还有next.Byte(), nextFloat , nextLong(), nextShot()方法,可以根据名字得出用途

    java 控制流程

    和任何其他程序设计语言一样,java使用条件语句和循环语句确定控制流程。

    教程循环结构分支结构

    拓展: 

    带标签的break语句

    与C/C++不同,java提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。有时候在嵌套很深的循环语句中会发生一些不可预料的事情。此时可能会更加希望跳到嵌套的所有语句之外,但是添加一些额外的条件判断实现各层循环的检测很不方便,这是使用带标签额break语句就很方便了。

    注意:标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号(:)

    下面是一个伪代码示例

    Scanner in =new Scanner(System.in);
    int n;
    read_data:               //该标签标记的整个while语句块(即从while的大括号开始,到大括号结束)
    while(...){
    ...
      for(...){
         n=in.nextInt();
         if(n<0)
            break read_data; // 通过执行带标签的break跳转到带标签的语句块的末尾
       }
    }
    //break后,程序跳到这里并向下继续运行
    if(...){
    ....
    }
    

     

    注意:

     

           1. 带标签的break语句很容易让人想起C语言的goto语句,但是java虽然把goto当成保留字符,但却没有提供任何用法。

           2. 这个方法只能跳出语句块,而不能跳入语句块。

           3.可以将标签应用到任何语句中,甚至可以应用到if语句或者块语句中。

             (块是指由一对大括号括起来的若干条简单java语句)

    java 方法(Method)

    java里的"方法"(method)可能在其他语言(如C语言)里被称为"函数"(function)。简单的说,比如你为了求两个数的最大公因数,写了好多行代码,但如果需要求好多组数的最大公因数,你可以把这些代码用一个 "{}"括起来,并起一个名字,这样当需要用的时候,按照方法名字调用即可。

    教程java 方法

    上述的教程看到"方法调用"的内容即可,后续的 构造方法、java值传递、以及可变参数的内容后面的教程会讲到。

    方法的重载:

    简单的说,方法重载就是同一个方法名,不同的参数类型以及参数个数。有时候,会出现这样一种情况,你要设计一个方法,但是这个方法的形参类型和个数是不确定的,在C语言里,你可能就要设计多个不同的函数,且函数名不能一样,这样就会出现一个问题,调用函数的时候,非常麻烦,要针对参数的不同做出判断和处理;但是在Java里,由于有了方法的重载,你可以把方法名设置成一样的,只需要改变方法的形参列表,这样的好处,调用该方法的时候,Java虚拟机会根据你调用方法时传入的具体参数类型及个数选择相应的方法调用。

    教程:方法重载

    注意:

    1. java允许重载任何方法,而不只是构造方法。

    2. 方法的签名:方法名及参数类型。 值得注意的是方法的返回类型不是方法签名的的一部分,即,不能有两个名字形同、参数类型也相同,返回类型却不同的方法。

     

     

     

    这篇教程只是讲了java的一些基础语法,下一篇我们将开始讲java面向对象编程的思想。。。

    下一篇博客地址:Java基础入门(二)

    展开全文
  • 基础学C#编程—C#从小白到大咖

    万人学习 2019-06-17 11:28:17
    本课程从初学者角度出发,提供了C#从入门到成为程序开发高手所需要掌握的各方面知识和技术。 【课程特点】 1 由浅入深,编排合理; 2 视频讲解,精彩详尽; 3 丰富实例,轻松易学; 4 每章总结配有难点解析...
  • HTML5前端开发基础到实战

    千人学习 2018-12-17 10:50:46
    前端---直面用户,不仅要会网页布局、美化、特效等技术,还要进行用户交互、后台交互等动作。 本课程不仅可以教你使用新增的HTML5标签与属性实现网页布局... 关于课程的任何问题,可以加qq:2852372820 享受技术答疑~
  • 计算机网络基础知识总结

    万次阅读 多人点赞 2020-09-24 12:51:25
    1.网络层次划分 为了使不同计算机厂家生产的计算机能相互通信,在更大范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/...

    1.网络层次划分

    为了使不同计算机厂家生产的计算机能相互通信,在更大范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。
    出了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,他们之间的对应关系如下图所示:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RPK62okI-1600923073488)(https://i.loli.net/2018/10/01/5bb234b6321ea.jpg#shadow)]

    2.OSI七层网络模型

    TCP/IP协议是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都有自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。由于OSI七层模型为网络的标准层次划分,所以我以OSI七层模型为例从上向下进行一一介绍

    1)应用层

    应用层是操作系统或网络应用程序提供访问网络服务的接口。

    2)表示层

    表示层对上层数据或信息进行变换,保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。

    3)会话层

    会话层管理主机之间的会话进程,负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。

    会话层、表示层、应用层重点

    • 数据传输基本单位为报文
    • 包含的主要协议:FTP(文件传输协议)、Telnet(远程登陆协议)、DNS(域名解析协议)、SMTP(邮件传送协议)、POP3协议(邮局协议)、HTTP协议(Hyper Text Transfer Protocol)
    4)传输层

    第一个端到端(主机到主机)的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题

    传输层的任务是根据通信子网的特性,利用最佳的网络资源,为两个端系统的会话层之间提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。

    网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应地端口

    有关传输层的重点

    • 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议)
    • 重要设备:网关
    5)网络层

    网络层的目的是实现两端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。用少量的词来记忆网络层,那就是“路径选择,路由及逻辑寻址”。

    网络层涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP

    有关网络层的重点

    • 网络层负责对子网间地数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互联等功能
    • 基本数据单位为IP数据报
    • 包含的主要协议:
      • Internet Protocol(因特网互联协议)
      • Internet Control Message Protocol(因特网控制报文协议)
      • Address Resolution Protocol(地址解析协议)
      • Reverse Address Resolution Protocol(逆地址解析协议)
    • 重要地设备:路由器
    6)数据链路层

    数据链路层在物理层提供的服务的基础上再向网络层提供服务,最基本的服务是将原子网络层来的数据可靠地传输到相邻结点的目标机网络层,为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数组合成数据块,在数据链路层中这种数据块为(frame),帧是数据链路层的传送单位;如何控制帧再物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址数据成帧流量控制数据检错重发等。

    有关数据链路层的重点

    • 数据链路层为网络层提供可靠的数据传输
    • 基本数据单位为
    • 主要的协议:以太网协议
    • 两个重要设备名称:网桥交换机
    7)物理层

    激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传数据的可靠物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器

    3.IP地址

    1)网络地址

    IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号全为0,网络地址代表着整个网络。

    2)广播地址

    广播地址通常称为直接广播地址,是为了区分受限广播地址。
    广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。

    3)组播地址

    D类地址就是组播地址

    • A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255
    • B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255
    • C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255
    • D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信)
    • E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用

    注:只有A、B、C由网络号和主机号之分,D、E没有划分网络号和主机号

    4)255.255.255.255

    该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,首先广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的的地址的分组;一般广播地址既可以在本地广播,也可跨网段广播。例如:主机192.168.1.1/30直接广播数据包后,另一个网段192.168.1.15/30也能直接收到该数据包;若发送受限广播数据包则不能收到

    注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址则不能通过路由器

    5)0.0.0.0

    常用于寻找自己的IP地址,例如在RARP,BOOTP和DHCP协议中,若某个位置IP地址的无盘机想要知道自己的IP地址,他就以255.255.255.255为目的地址,像本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组

    6)回环地址

    127.0.0.0/8被用作回环地址,会换地址表示本机的地址,常用于对本机的测试,用得最多的是127.0.0.1

    7)A、B、C类私有地址

    私有地址(Private Address)也叫专用地址,他们不会在全球使用,只具有本地意义
    A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255
    B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255
    C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255

    4.子网掩码及网络划分

    随着互联网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号站位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用
    为了再网络分段情况下有效利用IP地址,通过对主机号的高位部分作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。

    什么是子网掩码?

    子网掩码是标志两个IP地址是否属于一个子网的,也是32位二进制地址,其每一个1代表该位是网络位,0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与计算所得结果相同,即表明它们共属于同一个子网中。

    注:在计算子网掩码时,要注意IP地址中的保留地址,即"0"地址和广播地址,他们是指主机地址或网络全为"0"或"1"时的IP地址,他们代表着本网络地址和广播地址,一般是不能被计算在内的。

    子网掩码的计算

    对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址位10.12.3.0,则该IP地址的子网掩码255.255.0.0;如果它是一个C类地址,则其子网掩码为255.255.255.0。其他类推。下面关键要介绍的是一个IP地址,还需要将其高位主机再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算

    1)利用子网数来计算

    求子网掩码前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数

    (1)将子网数转化为二进制表示:如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;

    (2)取得该二进制的位数,为N:该二进制为5位数,N=5

    (3)取得该IP地址的类子网掩码,将其主机地址部分的前N位置1即得出该IP地址划分子网的子网掩码

    该B类地址的子网掩码255.255.0.0的主机地址前5位置1,得到255.255.248.0.

    2)利用主机数来计算

    如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内由主机700台:

    (1)将主机数转化为二进制表示:700=1010111100;

    (2)如果主机数小于或等于254,则取得该主机的二进制位数,为N。如果大于254,也就是说主机地址将占据不止8位,该二进制为十位数,N=10

    (3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前将N位全部置0,即为子网掩码值。将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将十位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0.这就是将划分成主机为700台B类IP地址168.195.0.0的子网掩码。

    展开全文
  • WPF入门教程(一)---基础

    万次阅读 多人点赞 2018-08-20 10:39:54
    这篇主要讲WPF的开发基础,介绍了如何使用Visual Studio 2013创建一个WPF应用程序。 首先说一下学习WPF的基础知识: 1) 要会一门.NET所支持的编程语言。例如C#。 2) 会一点“标准通用标记语言”:WPF窗体程序使用...
  • MATLAB基础知识

    万次阅读 多人点赞 2019-03-20 17:13:44
    专题一 MATLAB基础知识 目录 1. MATLAB系统环境 2. MATLAB数值数据 3. 变量及其操作 4. MATLAB矩阵的表示 5. 矩阵元素的引用 6. MATLAB基本运算 7. 字符串处理 ------------------------------------------...
  • import java.io.IOException; import java.io.InputStream; import java.util.Properties; ... * 有时,需要配置文件,配置文件中保存的内容是什么 ?... * 保存一些经常变化的数据,部署后和开发时使用的数据 不一样, 如...
  • 2015年最新Android基础入门教程目录(完结版)

    万次阅读 多人点赞 2015-12-21 20:44:26
    2015年最新Android基础入门教程目录(完结版) 前言: 关于《2015年最新Android基础入门教程目录》终于在今天落下了帷幕,全套教程 共148节已编写完毕,附上目录,关于教程的由来,笔者的情况和自学心得,资源分享 ...
  • 最新Android基础入门教程目录(完结版)

    万次阅读 多人点赞 2018-03-29 19:17:14
    第一章:环境搭建与开发相关(已完结 10/10)https://blog.csdn.net/coder_pig/article/details/50000773Android基础入门教程——1.1 背景相关与系统架构分析Android基础入门教程——1.2 开发环境搭建Android基础入门...
  • 机械设计基础 第6版六版 杨可桢 课后习题答案

    万次阅读 多人点赞 2019-10-29 10:37:19
    以下为机械设计基础复习资料,希望对各位搞技术的童鞋有所帮助。 附文件下载: 机械设计基础习题答案
  • golang基础教程

    万次阅读 多人点赞 2019-05-28 21:38:58
    golang基础教程(一)、环境搭建 golang基础教程(二)、开发规范及API golang基础教程(三)、变量与数据类型概述 golang基础教程(四)、基本数据类型 golang基础教程(五)、基本数据类型的转换 golang基础教程...
  • Java基础知识思维导图

    万次阅读 多人点赞 2015-03-18 22:39:44
    Java基础知识的思维导图,包括Java的历史、语法基础、数据类型、循环和分支结构、字符串以及面向对象程序设计等内容。
  • 如何选择Docker基础镜像

    万次阅读 2018-07-09 11:32:06
    如何选择Docker基础镜像 镜像官网 操作系统基础镜像 busybox Alpine CentOS Ubuntu Debian 编程语言基础镜像 Java基础镜像 Python基础镜像 NodeJs基础镜像 应用基础镜像 Nginx基础镜像 Tomcat基础镜像 Jetty基础...
  • centos7设置基础软件仓库时出错

    万次阅读 2017-12-16 15:15:01
    centos7设置基础软件仓库时出错,centos7软件仓库 我下载了网络安装版的centos,文件名是:Centos-7-x86_64-NetInstall.iso。总是安装不正确。卡就卡在安装源这里。 反复搜索没有结果,试了163的源也不行,...
  • 在使用httpWebRequest访问数据时经常会碰到 基础连接已关闭这种问题,在代码中加入以下内容即可 HttpWebRequest request=new HttpWebRequest(); //增加下面两个属性即可 request.KeepAlive = false; request....
  • 基础库版本 安卓版本 安卓用户占比 iOS版本 iOS用户占比 总体占比 2.9.0 7.0.7 13.93% 7.0.7 17.23% 14.69% 2.8.3 7.0.5 76.78% 7.0.5 66.86% 74.47% 2.8.1 ...
  • Python3零基础入门学习视频+源码+课件+习题

    万次阅读 多人点赞 2020-05-15 09:21:28
    本文已迁移至:https://www.cnblogs.com/coco56/p/11925047.html
  • 设置阿里源,手敲下面的地址, 更新 : 现在需要勾选https,http取消了
1 2 3 4 5 ... 20
收藏数 4,212,663
精华内容 1,685,065
关键字:

基础