网络通讯的整个流程

网络通讯的整个流程

一、网络通讯的支撑组件

  • 网卡chrome

    电脑要想联网,首先要有一个网卡,网卡提供了网络的接口,网卡上有全球惟一标识码mac。windows

  • mac地址浏览器

    mac地址是出厂的时候就给定好的,一个设备的mac地址号码是全球惟一的。 head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具有网卡,发送端和接收端的地址即是指网卡的地址,即mac地址。缓存

    mac地址:每块网卡出厂时都被烧制上一个世界惟一的mac地址,长度为48位2进制,一般由12位16进制数表示(前六位是厂商编号,后六位是流水线号)服务器

    查看mac地址的方法:windows下在cmd窗口输入ipconfig -all指令:下面显示的这个物理地址就是mac地址。网络

  • IP地址dom

    IP地址分为IPV4和IPV6,而咱们通常用IPV4便可。IPV4是用4个点分十进制组成的,0.0.0.0-255.255.255.255,这就是咱们的IP地址表示形式。ide

    通常状况下咱们会把IP地址配制成自动获取的方式,由路由器和交换机自动给你分配一个局域网IP地址。网站

    也能够自行设定一个IP地址,可是须要注意配置成当前子网的信息。url

  • 子网掩码

    子网掩码就是计算当前计算机是否属于xx网段或xx子网

  • 网关

    网关就是进行NAT转换,将局域网的地址转换成公网地址。

  • DNS

    DNS是进行域名解析的,所谓的域名解析就是将域名与关联的IP地址进行关联,在必定程度上缓解了IP地址不够用的状况

  • ARP协议

    经过IP地址获取对应的mac地址

    以广播的方式发送数据包,获取目标主机的mac地址

二、网络通讯的整个流程

20190108173417126_18228.png

流程描述

  • 第一步:打开浏览器,想要请求访问京东,在地址栏输入了网址:www.jd.com( www.jd.com是域名就是一个IP地址的名称,IP地址很差记,全部有了域名。)
  • 第二步:先将请求信息发给了交换机,而后交给了路由器,路由发给DNS服务器,经过DNS协议去找咱们要访问的京东的IP地址:

  • 第三步:查到的京东服务器对应的IP地址以后,路由器经过路由协议找到一个路由转发的最优路径,将你的请求信息还送给这个IP地址的京东的路由器
  • 第四步:京东的路由器发给了京东网站的服务器上
  • 第五步:京东网站服务器按照来的时候的路径,在返回给你他本身的网站
  • 第六步:当你打开浏览器的时候,你的电脑给你的浏览器这个运行起来的程序给了一个编号,叫作端口号,当你的电脑收到京东发送过来的消息的时候,你的电脑经过端口号找到你的浏览器,你的浏览器拿到了京东的网站信息,而后将网站呈如今了本身的浏览器上

三、DNS服务器

当咱们请求https:\\www.jd.com的时候,首先电脑会在本地的DNS缓存中找是否有这个DNS缓存(DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。

域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,一般包含组织名,并且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。 DNS是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中全部主机的域名和对应IP地址,并具备将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个IP地址能够有多个域名,而IP地址不必定有域名。

域名系统采用相似目录树的等级结构。域名服务器一般为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。)本地的DNS缓存是在咱们访问过一个网站以后,例如京东,那么本地会保存一个京东域名和京东服务器IP地址的映射关系,未来再次请求的时候,就不用再到外部的DNS上查询这个域名对应的IP地址了,提升了效率,若是是第一次请求,请看上面的DNS查询过程

步骤

  本地查询顺序

    浏览器缓存: 浏览器会按照必定的频率缓存DNS记录。chrome://net-internals/#dns 查看chormeDNS缓存。

    操做系统缓存: 若是浏览器缓存中找不到须要的DNS记录,那就去操做系统中找。cmd命令ipconfig /displaydns 用于查看操做系统dns缓存。

    路由缓存: 路由器也有DNS缓存。 找本机的hosts文件 Windows host文件路径: C:\WINDOWS\system32\drivers\etc\hosts (因为直接修改以后不能保存,能够copy一份到桌面,修改以后,在替换掉原路径下的文件就能够了),hosts文件以静态映射的方式提供IP地址与主机名的对照表。

    ISP(网络服务提供商):若是仍是没有,那么就去检查ISP有没有吧~,每个ISP(网络服务提供商),或一个大学,甚至是一个大学里的系都会有一个本身的本地域名服务器,他会在url第一次访问时缓存该域名的指向。下次再访问时,他会从缓存里把这个url曾经指向的IP调出来。

  

    递归查询

      第一步:在hosts静态文件、DNS解析器缓存中查找某主机的IP地址

      第二步:上一步没法找到,去DNS本地服务器(即域服务器)查找,其本质是去区域服务器、服务器缓存中查找

      第三步:本地DNS服务器查不到就向ISP(ISP是互联网服务提供商(Internet Service Provider))的简称,ISP有专门的DNS服务器应对DNS查询请求。再找不到就根据‘根提示文件’向负责顶级域‘.com’的DNS服务器查询

      第四步:'根DNS服务器'根据查询域名中的'xyz.com',再向xyz.com的区域服务器查询

      第五步:www.xyz.abc.com的DNS服务器直接解析该域名,将查询到的ip再原路返回给请求查询的主机

    迭代查询:

      第一步:在hosts静态文件、DNS解析器缓存中查找某主机的IP地址

      第二步:上一步没法找到,在DNS本地服务器(即域服务器)查找全部本层次的区域服务器

      第三步:本地DNS服务器查不到就向ISP是互联网服务提供商(Internet Service Provider)的简称,ISP有专门的DNS服务器应对DNS查询请求。再找不到就查询上一层次的全部区域服务器,以此类推直至根域名DNS服务器‘.’

      第四步:到达根域名服务器后又向下查询,直至查到结果为止。

    迭代查询与递归查询结合

    递归查询须要通过逐层查询才能得到查询结果,当查询具备许多层次的DNS结构时效率很低,因此通常采用二者相结合的查询方式。

      第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址

      第二步:上一步没法找到,去DNS本地服务器(即域服务器)查找,其本质是去区域服务器、服务器缓存中查找

      第三步:本地DNS服务器查不到就向ISP是互联网服务提供商(Internet Service Provider)的简称,ISP有专门的DNS服务器应对DNS查询请求。再找不到就根据‘根提示文件’向负责顶级域‘.com’的根DNS服务器查询

      第四步:根DNS服务器直接将其区域DNS服务器的ip地址返回给本地服务器,而不用再向xyz.com的区域服务器查询。

      第五步:(京东有本身DNS服务器)本地DNS服务器将结果返回给请求的主机

四、交换机、路由器和网关

​ 而后经过路由A转发将消息发出去,消息中包含目标路由D的网关的IP地址,网关分不少的类型:传输网关、应用网关、协议网关等等,咱们常常说的网关是指的传输网关,简称网关,咱们主要就看它,网关在路由器这里,当请求信息发送到了网关这里的时候,咱们先到路由表里面看看有没有这个请求的目标地址的IP,若是没有说明不是咱们本身网络内部的IP地址,须要路由转发出去,到internet网络中,可是网络这么大,怎么办,那么经过网关计算出一个最佳的传输路径去找到对应的目标网关地址,在路由转发的过程当中(当请求被路由B接收到了以后,路由B打开以后发现不是找本身的,就会把请求信息包继续转发)而后传输到这个网关地址的路由器上,目标网关路由器上设置了一些IP地址+端口和各个服务器上的映射关系,即使是全部的交换机都接收到了这个请求,可是仍是可以找到对应的服务器。在经过交换机发送到对应的服务器上

​ 那么网关究竟是什么呢?网关实质上是一个网络通向其余网络的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转发数据包的过程也是如此。

​ 京东的路由器干了什么呢:京东的路由器拿到请求消息以后,须要发给内网(局域网)中的对应的服务器上,这里在路由器上作了一个映射关系也就是说只要访问我这个192.168.3.0:443端口的请求,都去找京东的服务器A,就相似这么个映射关系,具体状况看到时候路由器交换机怎么设置

相关文章
相关标签/搜索