zoukankan      html  css  js  c++  java
  • 输入网址回车后,都发生了什么

    最近在准备面试,主要是网络方面的,记得上次去这家公司的时候面试就问过这个问题,当时啥也不知道,所以现在总结一下。

    输入网址后首先DNS(域名解析协议)将输入的网址转化成对应的ip,然后网络层在路由表中查找最适合的一条路由连接到对应的服务器ip,也就是刚才转换出来的ip上,此时传输层tcp进行三次握手后建立连接,服务器收到http请求get或者post等后,进行相应的处理并将结果数据返回到服务器上,此时,输入网址后对应的信息就会显示出来。

    Q1:为什么要用DNS解析?

    A:因为一个主机对应的一个ip,要访问一个网络上的服务器,必须要知道他的网址才可以,DNS解析就是一个转化的过程。

    Q2:ip是网络层的,那数据链路层有什么变化吗?

    A:数据链路层主要是mac地址,一个mac地址对应的一个ip,他们之间的转换主要是arp(地址解析协议)和rarp协议,一个如果一个主机想发送信息给另一个ip,首先会查询自己的arp缓存表是否有目的ip对应的mac地址,如果有则直接发送,如果没有,则进行一个包含目的ip的arp请求广播,所有受到这个请求广播的主机都会检查这个ip是否和自己的ip一致,如果不一致则忽略,如果一直,则先将源主机的ip和mac地址写到本地arp表中,如果arp表里已经有了这个信息则进行覆盖,然后发送一个包含本机mac地址的响应包单播给源主机。rarp和arp类似,只不过arp是将ip转换成mac地址,rarp是将mac地址转换成ip

    下面说一下路由器和交换机的区别

    路由器工作在网络层,以ip决定数据转发的地址,使用路由器相当于多个设备共用一个ip上网

    交换机工作在数据链路层,以mac地址决定数据转发的地址,使用交换机相当于共用一根网线上网

    路由器包含了交换机的功能,如果将路由器的wan端口拔掉,插到Lan端口上,就相当于把路由器变成了交换机

    ip与子网掩码

    ip由网络号和主机号组成

    A类地址:ip转换成二进制后第一位都是0,第一位网络号,范围1.0.0.0-126.0.0.0,子网掩码255.0.0.0,私有地址10.0.0.0-10.255.255.255

    B类地址:ip转换成二进制后前两位是10,前两位网络号,范围128.0.0.0-191.255.0.0,子网掩码255.255.0.0,私有地址172.16.0.0-172.31.255.255

    C类地址:ip转换成二进制后前三位是110,前三位网络号,范围192.0.0.0-223.255.255.0,子网掩码255.255.255.0,私有地址192.168.0.0-192.168.255.255

    D类地址:ip转换成二进制后前四位是1110,不分网络号主机号,范围224.0.0.0-239.255.255.255

    E类地址:ip转换成二进制后前五位是11110,不分网络号主机号,范围240.0.0.0-255.255.255.254

    子网掩码相当于将一个ip又分成了好几个子网来区分网络号和主机号的,将ip地址和子网掩码转换成二进制,进行与操作,得到的就是网络号,剩下的就是主机号

    以上,可能有些地方写的还不是特别准确,以后再来改

  • 相关阅读:
    41.分词器简单介绍
    40.倒排索引核心原理
    39.exact value and full text
    38.mapping小例子
    37.query string、_all metadata
    36.分页及deep paging
    35.multi-index和multi-type搜索模式
    BZOJ 1680 [Usaco2005 Mar]Yogurt factory:贪心【只用考虑上一个】
    BZOJ 1637 [Usaco2007 Mar]Balanced Lineup:前缀和 + 差分
    BZOJ 1647 [Usaco2007 Open]Fliptile 翻格子游戏:部分枚举 位运算
  • 原文地址:https://www.cnblogs.com/reblues/p/5618846.html
Copyright © 2011-2022 走看看