常见网络问题

1.常见路由器协议
常见的路由协议有RIP、IGRP(Cisco私有协议)、EIGRP(Cisco私有协议)、OSPF、IS-IS、BGP等。
RIP协议是最简单的路由协议。主要传递路由信息,通过每隔30秒广播一次路由表,维护相邻路由器的位置关系,同时根据收到的路由表信息计算自己的路由表信 息。RIP是一个距离矢量路由协议,最大跳数为16跳,16跳以及超过16跳的网络则认为目标网络不可达。
OSPF协议是“开放式最短路径优先(Open Shortest Path First)”的缩写,属于链路状态路由协议。OSPF提出了“区域(area)”的概念,每个区域中所有路由器维护着一个相同的链路状态数据库 (LSDB)。区域又分为骨干区域(骨干区域的编号必须为0)和非骨干区域(非0编号区域),如果一个运行OSPF的网络只存在单一区域,则该区域可以是 骨干区域或者非骨干区域。OSPF利用所维护的链路状态数据 库,通过最短生成树算法(SPF算法)计算得到路由表。OSPF的收敛速度较快。由于其特有的开放性以及良好的扩展性,目前OSPF协议在各种网络中广泛部署。
IS-IS协议(中间系统到中间系统)的缩写,属于链路状态路由协议。和OSPF相同,IS-IS也使用了“区域”的概念,同样也维护着一份链路状态数据库,通过最短生成树算法(SPF)计算出最佳路径。 IS-IS的收敛速度较快。集成化IS-IS协议是ISP骨干网上最常用的IGP协议。
IGRP协议是“内部网关路由协议”,IGRP和RIP一样,同属距离矢量路由协议,因此在诸多方面有着相似点。IGRP最大的特点是使用了混合度量值,同时考虑了链路的带宽、 延迟、负载、MTU、可靠性5个方面来计算路由的度量值,而不像其他IGP协议单纯的考虑某一个方面来计算度量值。
BGP为了维护各个ISP的独立利益,标准化组织制定了ISP间的路由协议BGP。 BGP是“边界网关协议(Border Gateway Protocol)”的缩写,处理各ISP之间的路由传递。但是BGP运行在相对核心的地位,需要用户对网络的结构有相当的了解,否则可能会造成较大损失。
2. http协议get和post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
 1.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
  POST把提交的数据则放置在是HTTP包的包体中。
2.GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据。
3.POST的安全性要比GET的安全性高。

3.DNS的解析过程
DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。
早在1983年因特网开始采用层次树状结构的命名方法,并使用分布式的域名系统DNS。并采用客户服务器方式。DNS使大多数名字都在本地解析(resolve),仅有少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机除了故障,也不会妨碍整个DNS系统的正常运行。

根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。

顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。

权限域名服务器:负责一个“区”的域名服务器。

本地域名服务器:本地服务器不属于下图的域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

过程:
1.客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
2.当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
3.如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
4.本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
5.重复第四步,直到找到正确的纪录。
6.本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

4.ping的过程
Ping命令的主要作用的是检查网络的连通情况和检测网络的速度。
一次完整的ping命令涉及到的协议:
UDP ICMP ARP OSPF
ICMP报文:Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

//超详细过程
1、Pc1在应用层发起个目标IP为192.168.2.2Ping请求。
2、传输层接到上层请求的数据,将数据分段并加上UDP报头。下传到Internet层。   
3、网际层接收来处上层的数据后,根据ICMP协议进行封装,添加PC1的IP为源IP为和PC2IP为目标IP后封装成数据包。下传到网络接口层,因Pc1ip与pc2ip不在同一网段,所以数据包将发往网关Router E0口。  
4、网络接口层接收数据包后,进行封装,源MAC地址为PC1的MAC地址,目标MAC地址则查询自己的ARP缓存表以获取网关MAC地址。如果PC1 arp缓存表中没有网关对应的MAC地址,则PC1发出一个ARP广播报文。ARP报文中源MAC地址为Pc1mac地址,源IP地址为PC1 IP,所要请求的是网关IP对应的MAC地址  
5、交换机1从F0/1接收到ARp帧后,检查自己Arp缓存表中是否有与F0/1口相对应PC1的mac地址。没有,则将PC1Mac地址与F0/1接口对应起来,存储到交换机1的arp缓存表中。然后将该ARP请求报文进行除F0/1口以外的所有端口进行泛洪。 
6、Router收到ARP广播后,进行解封装,发现所要请求的MAC地址是自己的。则Router将PC1的mac地址写入arp缓存表中。然后向PC1发送一个ARP应答单播。该单播消息包括目标IP为PC1ip,目标Mac为pc1mac地址,源IP为Router的E0口IP,源Mac为Router的E0的Mac。  
7、ARP帧F0/24口传给交换机,交换机同样检查MAC表,然后将F0/24口与Router的E0的MaC地址对应起来,存入MAC缓存表中,然后转发该帧。  
8、Pc1接收到Router的arp应答帧后,将Router的E0的MAC地址存入arp缓存中,并将Router的E0的Mac地址作为目标地址封装到数据帧中。发给下层进行网络传输。 
9、Router的E0接收这个帧后,看目标mac地址是否指向自己。是,PC2则将帧头去掉,然后检查目标ip地址,发现这个目标ip不是自己,刚不再进行解封装。  
10、Router在自己的route表中检查自己的是否有去往目标地址的路由,没有则丢弃该帧。有,路由器经检查发现是去往与E1口直连的网段。则路由器对数据包进行二层封装成帧,源IP为pc1的IP,源mac地址为routerE1口的Mac地址,目标IP为Pc2的ip,目标Mac地址则检查自己的arp缓存表获取。如果没有,则发送ARp请求报文。  
11、交换机收到报文后也检查ARp缓存表,然后存储对应接口的MAC地址后进行除接收端口外的泛洪。  
12、PC2收到ARP广播后,进行解封装,发现所请求的MAC地址是自己的。则RouterE1的mac地址写入arp缓存表中。然后向PC1发送一个ARP应答单播。该单播消息包括目标IP为RouterE1的ip,目标Mac为RouterE1的mac地址,源IP为PC2的IP,源Mac为pc2的Mac。  
13、ARP帧经F0/24口传给交换机,交换机同样检查MAC表,然后将F0/24口与PC2的MaC地址对应起来,存入MAC缓存表中,然后转发该帧。  
14、RouterE1口接收到PC2的arp应答帧后,将Pc2的MAC地址存入arp缓存中,并将Pc2的Mac地址作为目标地址封装到数据帧中,然后转发。  
15、Pc2网际层接收到这个信息包,查看包头,发现目标IP和自己匹配,则解封装,将数据向上层传输。  
16、传输层接收来自下层的Ping请求的UDP报文,则去掉UDP报头,向应用层传送。   
17、应用层收到ping请求后,发送一个PIng回应报文给PC
//大致过程
1.首先查本地arp cache信息,看是否有对方的mac地址和IP地址映射条目记录 
2.如果没有,则发起一个arp请求广播包,等待对方告知具体的mac地址 
3.收到arp响应包之后,获得某个IP对应的具体mac地址,有了物理地址之后才可以开始通信了,同时对ip-mac地址做一个本地cache 
4.发出icmp echo request包,收到icmp  echo reply包

5.socket的使用
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。
Socket分为:面向连接的Socket通信;面向无连接的socket通信。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值