zoukankan      html  css  js  c++  java
  • 02 网络基础

    浏览器地址栏中的资源格式

    uri:统一资源标识符,将互联网中所有的内容如一个文件,一张图片,一篇博客文章等这些都统一称于一个资源,这是uri的思想。

    url:统一资源定位符,是实现uri的一种查找格式,我们之前学的内容找某个资源时,需要目标ip(自动找mac)和端口,而url是基于前两点附加的查找格式,可以快速的定位访问的资源在某个地方。

    url格式例: http:// www.cnblogs.com /linhaifeng/p/8566036.html

    ​ 采用的应用层协议 域名相当于ip地址默认端口80 文件路径(软件管理的虚拟路径)

    服务端应用软件规定:客户端要下载的数据都在/var/www/html文件夹内找

    /var/www/html就是软件管理的根目录

    /linhaifeng/p/8566036.html --》/var/www/html/linhaifeng/p/8566036.html

    socket套接字软件

    什么是socket套接字软件

    socket是一款别人写好的软件,目的是为了程序员开发基于网络通信的软件提供方便,它将网络7层中的传输层及以下全部封装好,在写软件时,提前下载好套接字软件,直接调出来使用就好了。传输层及以下层面基本原理知识太过复杂,学习,使用起来难度很大,时间很长。

    ​ 应用层

    socket=

    ​ 传输层

    ​ 网

    ​ 数

    ​ 物

    dhcp套接字查询服务

    实现网路通行需要具备4个要素:

    ​ 1、本机的ip地址

    ​ 2、子网掩码

    ​ 3、网关的ip地址

    ​ 4、DNS的ip地址

    获取以上地址,有两种方式:

    ​ 1、静态获取=》手动配置

    ​ 2、动态获取=》通过dhcp

    获取方式:

    以太网卡 ip头 udp头 dhcp数据包

    (1)最前面的”以太网标头”,设置发出方(本机)的MAC地址和接收方(DHCP服务器)的MAC地址。前者就是本机网卡的MAC地址,后者这时不知道,就填入一个广播地址:FF-FF-FF-FF-FF-FF。

    (2)后面的”IP标头”,设置发出方的IP地址和接收方的IP地址。这时,对于这两者,本机都不知道。于是,发出方的IP地址就设为0.0.0.0,接收方的IP地址设为255.255.255.255。

    (3)最后的”UDP标头”,设置发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口。

    这个数据包构造完成后,就可以发出了。以太网是广播发送,同一个子网络的每台计算机都收到了这个包。因为接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是发给谁的,所以每台收到这个包的计算机,还必须分析这个包的IP地址,才能确定是不是发给自己的。当看到发出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服务器知道”这个包是发给我的”,而其他计算机就可以丢弃这个包。

    客户端dhcpclient(固定端口68号)---------------》dhcpserver(固定67号)

    http 协议默认端口是80

    DNS域名解析

    DNS的作用:在互联网中,其实没有类似于www.xxx.com这种域名方式,而替代的是以IP地址,如222.222.222.222,那我们在IE地址栏中应当输入222.222.222.222才能打开网站www.xxx.com,但我们细想一下,互联网上的网站成千上万,如果每个网站登陆都需要记住一大串数字,那是不是特别不方便,对于记忆力不强的人,根本无法记住这么烦琐的数字。这个时候DNS就出现了,它的作用就是将222.222.222.222解析为www.xxx.com,那么我们登陆的时候就直接输入域名就可以了。

    为什么一定要设置DNS才能上网?有些朋友可能会发现,为什么我可能登陆QQ、MSN,但却打不开网页呢?其实大部分原因都是因为DNS服务器故障造成的,DNS服务器地址是唯一的,是运营商提供给终端用户用来解析IP地址及域名的关系,而如果不设定DNS服务器地址,那么就无法查询地址的去向,自然也就打不开网页,而QQ、MSN等及时聊天软件,采用的是UDP传输协议,即不可靠传输协议,无需提供DNS服务器地址,也同样可以登陆。(全球一共13台dns根服务器)

    dns查询的方式

    浏览器DNS缓存->本地系统DNS缓存->本地计算机HOSTS文件->ISP DNS缓存->递归or迭代搜索

    递归查询:一层层的查询

    迭代查询:一层找不到,这一层指向某一层查询,类似,我不知道,但是我知道谁知道你去找他。

    ip地址的组成

    ip地址的分类

    ip地址可分为abcde5类,每个种类网址的位数和主机地址位数都不同,总体来说,二进制位数越小表示数量越少。

    A类:1-126

    B类:128-191

    C类:192-223

    D类:224-239

    E类:240-255

    特殊的ip地址:

    1、。。。。.0 :是网络地址

    2、。。。。.255:是前面区域的广播地址

    3、4个255:是全网的广播地址

    4、127.0.0.1:本地回环地址,自己单独交互使用,不分享到其他计算机。

    5、私有地址:内网的地址,只能在局域网内用。

    6、0.0.0.0:无效的地址,不能用。

    子网掩码

    所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

    知道”子网掩码”,我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

    比如,已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算。

    172.16.10.1:10101100.00010000.00001010.000000001

    255255.255.255.0:11111111.11111111.11111111.00000000

    AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

    172.16.10.2:10101100.00010000.00001010.000000010

    255255.255.255.0:11111111.11111111.11111111.00000000

    AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

    结果都是172.16.10.0,因此它们在同一个子网络。

    简单来说就是用来标识一个ip地址的网络号个数,对ip地址打记号。

    标识形式1:

    从左到右,只要属于网络号,子网掩码就标识为1,主机号为0.

    例: 11111111.1111111.111111111.00000000-》255.255.255.0

    标识形式2:

    在ip地址后面/。。
    10101100.00010000.00001010.00000010-》ip地址:172.16.10.2/25

    ​ 11111111.11111111.11111111.10000000-》子网掩码

    ​ 10101100.00010000.00001010.00000010-》 网络号: 172.16.10.0
    ​ .00000010-> 主机号: 2

    网络地址的计算方式:ip地址与子网掩码都转换成二进制,然后按位与运算两个1为1,一个1为0

    子网划分

    核心:借主机位给网络位使用,以此来达到把一个大网段划分为n个儿子网段的目的,目的:进行子网划分是节省ip地址
    缩小广播域

    vlan虚拟局域网络

    如果一个局域网baidu有上百台主机,一旦产生广播风暴,那么这个网络就会被彻底的瘫痪。可以通过vlan划分广播域,这样使得广播被限制在每一个vlan里面,而不会跨VLAN传播。不同vlan之间的成员在没有三层路由的前提下是不能互访的,这也是一种安全的考虑。

    划分vlan的一个好处是网络管理方便管理灵活,当一个用户需要切换到另外一个网络时,只需要更改交换机的vlan划分即可,而不用换端口和连线。

    简单来说:vlan是在交换机内划分出的多个广播域,一个广播域称之为一个虚拟的局域网

    二层隔离:两台计算机的网线只要接在不同的vlan里(一个vlan就是一个广播域)里,就是二层隔离

    三层隔离:ip地址与子网掩码运算得到网络地址不一样,即网段不一样,这就是三层隔离

    注意:二层的隔离应该与三层的隔离保持一致
    二层隔离应该与三层隔离保持一致

    ​如果不一致会有什么问题?

    会出现三层是隔离的,但是数据包发到了交换机之后,因其是二层设备

    所以直接基于二层就开始广播,这就导致了一些不必要的广播包

    vlan特点:

    1、限制网络上的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。VLAN分段可以防止广播风暴波及整个网络。VLAN可以提供建立防火墙的机制,防止交换网络的过量广播。

    2、增强局域网的安全性’含有敏感数据的用户组可与网络的其余部分隔离,从而降低泄露机密信息的可能性。

    3、借助VLAN技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境,就像使用本地VLAN一样方便、灵活、有效。

    IEE对vlan制定了标准协议,802.IQ:4个字节,最大同时4096个字节(网络还有2个不能用)会在数据帧中源mac与目标mac之后加4个Byte的Vlan tag(Vlan标签),其中有12个bit位用来表示vlan id(0-4095),共4096个

    vlan id,即802.1Q协议规定一台交换机最多划分4096个vlan

    交换机的端口分为2种:

    Access port:只连接主机

    1、收到计算机发来数据包时会加上4byte的vlan tag

    2、发送包给计算机时,会去掉4byte的vlan tag

    Trunk port:一个trunk口可以同时划分给多个vlan,涉及交换机的串联。

    1、收到的数据包会带着4byte的vlan tag

    2、发出的数据包会带着4byte的vlan tag

  • 相关阅读:
    C#类头部声明样式
    VisualStudio使用技巧及快捷键
    #使用ListView更新数据出现闪烁解决办法
    获取公网IP地址
    JArray数组每个JObject对象添加一个键值对
    部署网站出现System.ServiceModel.Activation.HttpModule错误
    MYSQL存储引擎的比较
    数据库索引原理(转载)
    皮尔逊相关系数
    进程与线程
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14612567.html
Copyright © 2011-2022 走看看