计算机网络网络层笔记
互联网提供的两种服务
1.虚电路服务
2.数据报服务
需要记住的是现在只用第二种也就是数据报服务
网际协议IP
物理层的中断系统:转发器(hub)
链路层的中断系统:交换机
网络层的中断系统:路由器
网络层以上:网关
如上图所示,网关是用来访问其他的网段的一个接口,网关的地址一般都是网段地址的第一个地址
ip协议的介绍
ip协议是TCP/IP协议中的的最最主要的协议之一,当然还有其他的四个协议
ARP:
RARP(现在基本已经弃用)
ICMP:一般是用来报告网络中的故障的
IGMP:
都是下面的IPv4协议栈的
IP地址
层次化IP地址
简单来说就是将ip地址划分为网络段和主机段,这样当其他的网段向本网段发送地址的时候就不用知道具体的每个主机的IP地址,只需要将数据帧发送到相应的网络段就行了
下面的这张图片是子网掩码的重要部分
下面的是CIDR,就是将IP地址划分为网络段和主机地址段
所以从上面的图片中可以清晰的看到
0-126的是A类地址,这里不用127的原因是127表示的环回地址,用来表示自己127.0.0.1
128-192的是B类地址,196.25.0.28表示当没有人分配地址的时候计算机自己给自己分配地址
192-255的是C类地址
还有一些私网地址
子网掩码是用来对比是否在同一个网段的重要部分,通过子网掩码就可以划分不同的网段
简单的例题
题目是将左边的框框拖到右边来得到相应的网段,关于主机的那两个都很简单,只要做计算就行,
但是主要是看路由器的那两个,注意两个路由器之间是点到点连接的,所以知道/30就行,也就是4个子网(两个不可用,两个给路由用),所以就可以轻易看出169的那个是可行的
超网
这里的例子指的是,如果在一个网段内规定的是C类网络,但是一个网段中有400台主机,那么这个时候就需要给网关设置连个地址,来进行A和B之间的数据传输,但是因为本身就有交换机的存在所以本来就可以通过交换机来交换数据,而不用网关,而超网就解决了这样的一个问题
就是将这个子网掩码向前移动一位
IP地址和MAC地址
首先思考一个问题,就是既然MAC地址是全球都不一样的,那么是不是就可以通过直接用MAC地址来实现数据传播呢
显然不行,因为如果直接用MAC地址传播必须要用广播,这样不仅大大降低了效率,而且不安全,所以要用IP地址
下面的这个是A到B传输的过程,IP地址只是标记了最终的目标,而MAC地址决定了下一跳给谁
ARP协议
ARP的主要作用就是将IP地址解析成为MAC地址
就是当我的主机需要发消息的时候,就必须发送一个广播来确定对应IP地址的MAC地址,然后ARP就会将这个地址记下来,方便以后的访问
那么既然有广播就会有网络安全问题,别人可以利用广播的这个漏洞实现抓包
ARP欺骗应用
当主机们想要发送消息到路由的时候,由于ARP协议开始都要广播来确定路由器的MAC地址,所以这个时候骗子主机又可以欺骗这个主机来告诉主机骗子主机的MAC地址就是路由的地址,这样就可以让所有的主机都经过骗子主机,这样不仅仅可以截获信息,还能限制流量
还有一系列的由ARP导致的问题
逆向ARP(RARP)
逆向ARP就是将MAC地址解析成IP地址
IP数据报
注意IP数据报的首部长度是固定的20字节
生存时间:TTL,当TTL变成0了就会自动消失
网络畅通的条件
数据路由 路由器在不同的网段转发数据包
网络畅通的条件 能去能回
沿途的路由必须知道目标网络的下一跳给哪个接口,回来的时候也一样,必须都相互知道
静态路由
必须管理员手动设置路由器的查询表才能通
动态路由RIP(最早)
周期性广播:每隔30秒告诉邻居自己的信息,并且只留最短的路径信息
以跳数为单位:计算经过了几个路由器,这种设置的坏处就是没有考虑贷带宽
配置Rip的时候只看是哪一类地址,RIP协议不会管你的什么子网划分,它自动给你分配好了根据你的网络类型
路由例子
其中路由能够知道直接相连的地址,所以
(pc0)>>ping 172.16.0.1
通
但是
(pc0)>>ping 172.16.0.2
不通
因为路由器2和PC0不是直连的,所以不知道怎么走,这个时候就要手动添加路由表得到走的方向
计算机的网关就是默认路由
就是当计算机不知道你的数据要发送到哪里的时候就会直接发送给网关
计算机上面最好只设置一个网关,不然会因为负载均衡导致一系列的有规律的丢包现象
负载均衡
配置路由表让Router3出去的时候经过Router1到Router2
配置Router2的路由表让到Router3的路由表经过Router4
就可以实现负载均衡
最长前缀匹配
ICMP协议
作用:探测网络有没有故障
询问报文:就是数据报发出去的时候用到的
差错报告报文:就是返回信息的时候得到的消息
|
|--------------改变路由(重定向):
如果PC1设置的网关是Router2,那么要发送给Router1的话就只能通过Router2发送,这样就会导致重复发送,那么重定向就会自动选择最优路径
结构
OSPF协议
和RIP都是动态路由协议
相比于RIP,OSPF不是仅仅传递给邻居,而是传递给全部配置了OSPF配置的路由
度量值:带宽 而RIP是跳数
支持多区域
试探式计算,用迪杰斯特拉算法
触发式更新,就是没有事情的时候不更细,当路由器坏掉的时候或者更新的时候自己会更新
那如果由的路由故障了怎么办呢,就是通过hello来互相确认建在
三个表
邻居表 hello
链路状态表
计算路由表
仅仅支持二级结构,不支持三级结构
外部网关BGP协议
是不同区域之间的最段路径的选择