赞
踩
以太网设备比如网卡都有自己唯一的MAC地址,它们是以MAC地址传输以太网数据包的,但是它们却识别不了IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使数据包能发到一个确定的地方去,这就是ARP(地址解析协议)所以它的作用为:
ARP协议建立了主机 IP地址 和 MAC地址 的映射关系。
在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址
主机会发送广播请求ff-ff-ff-ff,其他主机不会响应,目的主机收到后会携带自己的mac地址单播回复,收到后保存在ARP缓存中
DNS协议则是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。
DNS系统
- 一个组织的系统管理机构, 维护系统内的每个主机的IP和主机名的对应关系,如果新计算机接入网络,将这个信息注册到数据库中,用户输入域名的时候,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的IP地址。
DNS理论知识
一、DNS域名结构
1、域名的层次结构
域名系统必须要保持唯一性。为了达到唯一性的目的,因特网在命名的时候采用了层次结构的命名方法:
我们熟悉的,www.baidu.com
域名解析过程
域名解析总体可分为以下过程:
递归查询
迭代查询
,向一个根域名服务器进行查询根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址
本地域名服务器最后把查询结果告诉主机
上文我们提出了两个概念:递归查询和迭代查询
(1)递归查询:
(2)迭代查询:
通俗地说,递归就是把一件事情交给别人,如果事情没有办完,哪怕已经办了很多,都不要把结果告诉我,我要的是你的最终结果,而不是中间结果;如果你没办完,请你找别人办完。
迭代则是我交给你一件事,你能办多少就告诉我你办了多少,然后剩下的事情就由我来办。
ICMP协议是一个网络层协议。一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通
;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成这样的功能–ICMP协议。
ICMP协议的功能主要有:
通知在发送过程中IP包被丢弃的原因
常见的ICMP报文
相应请求
我们用的ping操作中就包括了相应请求(类型字段值为8)和应答(类型字段值为0)ICMP报文。
过程:
一台主机向一个节点发送一个类型字段值为8的ICMP报文,如果途中没有异常(如果没有被路由丢弃,目标不回应ICMP或者传输失败),则目标返回类型字段值为0的ICMP报文,说明这台主机存在。
目标不可达,源抑制和超时报文
这三种报文的格式是一样的。
- (1)目标不可到达报文(类型值为3)在路由器或者主机不能传递数据时使用。
例如:我们要连接对方一个不存在的系统端口(端口号小于1024)时,将返回类型字段值3、代码字段值为3的ICMP报文。
常见的不可到达类型还有网络不可到达(代码字段值为0)、主机不可达到(代码字段值为1)、协议不可到达(代码字段值为2)等等。- (2)源点抑制报文(类型字段值为4,代码字段值为0)则充当一个控制流量的角色,通知主机减少数据报流量。由于ICMP没有回复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率。
- (3)无连接方式网络的问题就是数据报会丢失,或者长时间在网络游荡而找不到目标,或者拥塞导致主机在规定的时间内无法重组数据报分段,这时就要触发ICMP超时报文的产生。
超时报文(类型字段值为11)的代码域有两种取值:代码字段值为0表示传输超时,代码字段值为1表示分段重组超时。
时间戳请求
时间戳请求报文(类型值字段13)和时间戳应答报文(类型值字段14)用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接受方收到请求后填充接受时间戳后以类型值字段14的报文格式返回,发送方计算这个时间差。
ping命令的功能
那么如何验证的呢?
问题:
telnet是23端口,ssh是22端口,那么ping是什么端口?
答:ping命令是基于ICMP,是在网络层。
而端口号,是传输层的内容。所以在ICMP中根本就不关注端口号这样的信息。
traceroute
域(自治系统)
Internet网被分成多个域或多个自治系统。一个域(domain)是一组主机和使用相同路由选择协议的路由器集合,并由单一机构管理。换言之,一个域可能是由一所大学或其它机构管理的互联网。
内部网关协议
内部网关协议(IGP)在一个域中选择路由。
外部网关协议
外部网关协议(EGP)为两个相邻的位于各自域边界上的路由器提供一种交换消息和信息的方法。BGP是常用的外部网关协议,是不同 自治系统的路由器之间交换路由信息的协议。
内部网关协议分类
RIP (Routing Information Protocol),为最早出现的距离向量路由协议。属于网络层,其主要应用规模较小,可靠性要求较低的网络,可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达那些网络,这些网络有多远等。RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录,如:
通常为“跳数”,即从源端口到目的的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1.RIP允许一条路由最多智能包含15个路由器,因此距离为16表示网络不可到达。
RIP如何交换信息?
仅仅只和相邻路由器交换信息RIP协议好消息传得快,坏消息传的慢:
当网络出现故障时,要经过较长的时间才能将此信息传送到所有的路由器,“慢收敛”。当出现坏消息时,比如网1出现了故障:这个时候R1是知道是无法到达的,则其到网1的距离为16,并且为直接交付。但是R2在收到R1报文之前,即在R2并不知道R1出故障时,发送了原来的报文。于是,R1收到R2跟新报文后,误以为可以经过R2到网1,于是更新自己的路由表,并且将次更新信息发送给R2.
配置了链路状态路由协议的路由器可以获取所有其它路由器的信息来创建网络的“完整视图”(即拓扑结构)。并在拓扑结构中选择到达所有目的网络的最佳路径(链路状态路由协议是触发更新,就是说有变化时就更新)。
链路状态协议适用于以下情形:
(1)网络进行了分层设计,大型网络通常如此。
(2)管理员对于网络中采用的链路状态路由协议非常熟悉。
(3)网络对收敛速度的要求极高。
OSPF(开放最短路径优先协议)
最短路径优先:指OSPF使用Dijkstra最短路径算法
,是IGP协议。OSPF用于单一系统内决策路由。与RIP相比,OSPF是链路状态路由协议,而RIP是距离向量路由协议。链路是路由器接口的另一个说法,即OSPF也称为接口状态路由协议。
OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由。
与大多数路由协议不同(参考BGP和RIP的工作过程),本协议不依赖于传输层协议(如TCP、UDP)提供数据传输、错误检测与恢复服务,数据包直接封装在网际协议(协议号89)内传输。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。