基本术语
- 结点 (node) :网络中的结点可以是计算机,集线器,交换机或路由器等。
- 链路(link ) : 从一个结点到另一个结点的一段物理线路。中间没有任何其他交点。
- 主机(host) :连接在因特网上的计算机。
- ISP(Internet Service Provider) :因特网服务提供者(提供商)。
- IXP(Internet eXchange Point) : 互联网交换点 IXP 的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。
- RFC(Request For Comments) :意思是“请求评议”,包含了关于 Internet 几乎所有的重要的文字资料。
- 广域网 WAN(Wide Area Network) :任务是通过长距离运送主机发送的数据。
- 城域网 MAN(Metropolitan Area Network):用来将多个局域网进行互连。
- 局域网 LAN(Local Area Network) : 学校或企业大多拥有多个互连的局域网。
- 个人区域网 PAN(Personal Area Network) :在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络 。
- 分组/包(packet ) :因特网中传送的数据单元。由首部 header 和数据段组成。分组又称为包,首部可称为包头。
- 存储转发(store and forward ) :路由器收到一个分组,先检查分组是否正确,并过滤掉冲突包错误。确定包正确后,取出目的地址,通过查找表找到想要发送的输出端口地址,然后将该包发送出去。
- 带宽(bandwidth) :在计算机网络中,表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。常用来表示网络的通信线路所能传送数据的能力。单位是“比特每秒”,记为 b/s。
- 吞吐量(throughput ) :表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络的带宽或网络的额定速率的限制。
重要知识点
- 计算机网络(简称网络)把许多计算机连接在一起,而互联网把许多网络连接在一起,是网络的网络。
- 路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。分组交换采用存储转发技术,表示把一个报文(要发送的整块数据)分为几个分组后再进行传送。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段。在每个数据端的前面加上一些由必要的控制信息组成的首部后,就构成了一个分组。分组又称为包。分组是在互联网中传送的数据单元,正是由于分组的头部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立的选择传输路径,并正确地交付到分组传输的终点。
- 互联网按工作方式可划分为边缘部分和核心部分。主机在网络的边缘部分,其作用是进行信息处理。由大量网络和连接这些网络的路由器组成核心部分,其作用是提供连通性和交换。
- 计算机通信是计算机中进程(即运行着的程序)之间的通信。计算机网络采用的通信方式是客户-服务器方式(C/S 方式)和对等连接方式(P2P 方式)。
客户和服务器都是指通信中所涉及的应用进程。客户是服务请求方,服务器是服务提供方。 - 按照作用范围的不同,计算机网络分为广域网 WAN,城域网 MAN,局域网 LAN,个人区域网 PAN。
- 计算机网络最常用的性能指标是:速率,带宽,吞吐量,时延(发送时延,处理时延,排队时延),时延带宽积,往返时间和信道利用率。
- 网络协议即协议,是为进行网络中的数据交换而建立的规则。计算机网络的各层以及其协议集合,称为网络的体系结构。
- 五层体系结构由应用层,运输层,网络层(网际层),数据链路层,物理层组成。运输层最主要的协议是 TCP 和 UDP 协议,网络层最重要的协议是 IP 协议。
ping和ICMP是如何探测网络情况的?
ping和traceroute都是基于ICMP协议进行的。ping查询报文的操作,通过直接ping ip或者ping 域名的方式,计算机会一直发送ICMP请求,目标收到了信息会回复ICMP信息,头部类型8和0分别表示了发送和接收信息。
- 查询报文是属于按照正常思路使用ICMP协议的操作。
- 于此相对的,就是差错报文,差错报文是利用tracerouter发送UDP包到目标计算机的不常用端口(30000以上)的方式来可以让目标计算机返回错误信息。如果成功访问到了目标的UDP层,也会因为端口问题返回ICMP请求,这反而说明了当前计算机和目标计算机是相通的!另外,也可以通过设置TTL(time to live)的方式来进行中间路由的校验。
网关和路由的工作原理
网关和路由器一般是黏在一起的,网关往往分为两种,转发网关和NAT(network address translate)网关。两者区别:
- 转发网关在转发请求的时候只会改变mac头部,但是NAT网关在转发请求的时候会同时改变ip地址。
- 转发网关仅仅是起到一个过路财神的作用,就是为了进行数据信息的传递工作。但是NAT网关的作用就相对有趣了,是为了进行内外网的衔接而存在的。外网ip地址很稀有,因此就相对很贵,基本不可能对于内网中的每台设备都专门配备一个外网的ip,所以通过路由器时都会被伪装为同一个外网的ip,不同的是端口,NAPT(network address-port protocol)就是为此而存在的,该协议维护了一张表,用以表达两个网络间ip-端口对的互相映射关系。比如192.168.0.1就映射为外网的10086端口,192.168.0.2就映射为外网的10087端口,这样从内网发送出去的数据就可以互相区分彼此了,发送出去的数据也可以找回返回的路了。
路由协议:路由之间需要进行沟通从而知道你到底帮助我些什么?路由器会维护一张路由表来记录如下问题:
(1)目的网络:你的目的地是哪里?
(2)出口设备:将包从哪个口扔出去?
(3)下一跳网关:下一个路由器的地址?
路由之间通过两种算法来构建路由器之间的网状关系,以及相互的最短路径。
第一种:距离矢量路由
- 这种方式通过TCP协议来每隔几秒向邻近的路由器发送自己的路由信息,从而整个网络每个路由器都会通过这种方式逐渐丰富自己的路由信息,最后所有路由器都会知道自己与其他路由器的连接情况。
这种方式的优先是新装入路由快,但是路由一旦不行了,刷新路由就很慢,必须要不断试探直到距离超过阈值,才会判定路由之间不通。另外一个缺点就是需要发送整个全部路由表。网络太大就吃不消了。
基于该算法的协议为BGP(border gateway protocol),为了避免该算法的在网络过大下产生的问题,就分为iBGP和eBGP用以分别对付内网和外网。
第二种:链路状态路由算法
- 这种方式通过DUP协议来每隔一段时间来广播传递信息,常常用于数据中心。他发送的是路由状态的改变信息,因此发送的数据量会明显小于第一种。每当一台新的路由器启动时,会向邻居发送信息以确定自己和邻居之间的距离,然后将该信息广播出去,以让整个网络中的所有路由器都能知道他已经横空出世了!
同理,当邻居发送他怎么停机了时也会发送改动信息,以告诉整个网络,他好像暂时不行了。
基于该算法的协议为IGP(Interior Gateway Protocol),主要用于数据中心,因为他可能快速地对路由变化进行响应所以更加便于进行负载均衡的操作。
路由器和交换机的区别
- 工作层次不同:交换机比路由器更简单,路由器比交换机能获取更多信息,交换机工作在数据链路层,而路由器工作在网络层
- 数据转发所依据的对象不同。交换机的数据转发依据是利用物理地址或者说MAC地址来确定转发数据的目的地址,而路由器是依据ip地址进行工作的
- 传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域
拓展:域名、IP、MAC 与 ARP
- 域名是我们取代记忆复杂的 IP 的一种解决方案
- IP 地址才是目标在网络中所被分配的节点。
- MAC 地址是对应目标网卡所在的固定地址(物理地址)。
ARP 英文全名为:Address resolution protocol ,地址解析协议,ARP为IP与MAC提供动态映射,过程自动完成。当PC发出通信请求时,根据协议规定,它的目的地址必然是48bit的MAC地址的。MAC并不能和IP直接去通信。那么就需我们的ARP协议来做相应的转换工作。