输入网址回车后,都发生了什么

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

输入网址后首先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地址和子网掩码转换成二进制,进行与操作,得到的就是网络号,剩下的就是主机号

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

原文地址:https://www.cnblogs.com/reblues/p/5618846.html