1.OSI分层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
TCP/IP分层: 数据链路层,网络层,传输层,应用层
2.每一层的协议如下:
物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关)
数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、,ICMP, IGMP (路由器)
传输层:TCP、UDP、SPX
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
3.ARP(地址解析协议)工作原理:
1)每个主机都会在自己的ARP缓冲区建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系
2) 源主机要发送数据时,首先检查ARP列表中有没有对应IP地址的目的主机MAC地址,如果有则直接发送数据,如果没有则向本网段的所有主机发送ARP数据包
数据包的内容有源主机的IP地址,源地址MAC地址,目的主机的IP地址
3)当本网段的所有主机收到ARP时,检查自己的IP地址是否是目的地址,如果不是则忽略,如果是,则取出源主机IPI和MAC地址,并将自己的MAC地址写入数据包,返回给源主机
4) 源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据
4.交换机,路由器,网关概念及用途
1) 网关: (物理层)连接两个网络设备,能在不同协议间移动数据
2)交换机:(数据链路层)是一种基于MAC识别,能完成封装转发数据包功能的网络设备,具有流量控制功能,主要用于组建局域网
3)路由器:(网络层) 不同网络间移动数据,选择最佳信息传输的线路,是网络的枢纽,组成广域网的重要部分
交换机和路由器区别:
1>工作层次不同,交换机一般工作在数据链路层,负责同一网段的通信;路由器在网络层,负责不同网段的通信.
2>数据转发依据的对象不同:交换机根据MAC地址转发数据的目的地址,而mac地址不可修改, 路由器根据IP地址来确定数据转发的目的地址,可动态分配
3>...
5.TCP和UDP区别
TCP提供面向连接的,可靠的数据流传输,而UDP提供的是非面向连接的,不可靠的数据流传输
TCP传输的单位是TCP报文段,UDP传输单位是用户数据报
6.
在浏览器中输入www.baidu.com后执行的全部过程
1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。
7.DNS域名系统工作原理:
当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称. 客户机发送的每条查询信息包括:DNS域名,DNS域名的指定类别,指定的DNS域名.主要基于UDP服务,端口53,该应用一般不直接为用户使用么事为其他应用服务,如HTTP SMTP等
在其中需要完成主机名到IP地址的转换
在地址栏输入URL到页面加载经历以下几个过程:
1、首先,在浏览器地址栏中输入url
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5、握手成功后,浏览器向服务器发送http/https请求,请求数据包。
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、读取页面内容,浏览器渲染,解析html源码
9、生成Dom树、解析css样式、js交互
10、客户端和服务器交互
11、ajax查询
其中,步骤2的具体过程是:
- 浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
- 操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);
- 路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;
- ISP缓存:若上述均失败,继续向ISP搜索。