网络层#
一、网际协议IP
与IP协议配套使用的三个协议:
1、ARP(Address Resolution Protocol): 地址解析协议,被IP协议使用
2、ICMP(Internet Control Message Protocol):网际控制报文协议,使用IP协议
3、IGMP(Internet Group Management Protocol):网际组管理协议,使用IP协议
网络层,又叫网际层, IP层
二、虚拟互连网络
1、网络互连要使用的中间设备:
1)转发器(集线器) ,物理层网络互连设备,扩大网络区域,非严格意义网络互连
2)网桥(以太网交换机) ,数据链路层,扩大网络区域,非严格意义网络互连
3)路由器(router) ,网络层互连设备
4)网关(gateway) ,网络层以上的互连设备
2、路由器 就是一台专用计算机,用来在互联网中进行路由选择
3、分组交换(存储转发)过程:
1)源主机首先查看自己的路由表,看目的主机是否在本网络上,若是,则直接交付,否则,下一步
2)源主机将分组(数据报)逐个发往和自己相连的路由器R1,R1将分组放到缓存中,然后查找R1的路由表,并将分组转发给下一个路由器R2。。。
3)一直转发下去,知道路由器Rn和目的主机相连时,将分组转交付给目的主机
三、分类的IP地址
1、A类地址: 8位网络号,24位主机号
1)网络号第一位固定为0,只有7位可用,共2^7-2=126个
2)网络号全0(00000000)表示本网络 ;127(除第一位全1,即01111111)保留作为本地软件环回测试本主机进程间的通信
3)目的地址为环回地址的IP数据报永远不会出现在任何网络上,因网络号127不属于任何网络
4)主机号占24位,共2^24-2=16777214个主机号可用
5)全0的主机号字段表示该IP地址是“本主机”所连接到的单个网络地址 ,如一主机IP为5.6.7.8,则5.0.0.0为该主机所在网络地址
6)全1的主机号表示“all”,即该网络上的所有主机
2、B类地址: 16位网络号,16位主机号
1)网络号前两位固定为10,共14位可以分配,共2^14-1=16383个(不存在A类中网络号减2,但128.0.0.0是不指派的,所以减1)
2)最大主机数2^16-2(扣除全0和全1主机号)=65534个
3、C类地址: 24位网络号,8位主机号
1)网络号前三位固定为110,有21位可用,共2^21-1=2097151个(192.0.0.0不指派)
2)醉倒主机数为2^8-2=254个(扣除全0和全1的主机号)
四、IP地址的一些重要特点
1、路由器仅根据目的主机所连接的网络号来转发分组,而不考虑主机号
2、一个路由器至少应当连接两个网络,所以一个路由器总是有两个或两个以上不同的IP地址,其每个接口都有一个不同网络号的IP地址
3、一个网络是指具有相同网络号的主机的集合,因此用转发器(集线器)或者网桥(以太网交换机)连接起来的若干个局域网仍然为一个网络
4、具有不同网络号的局域网必须使用路由器进行互连
五、IP地址与硬件地址 (硬件地址,物理地址,mac地址同义)
1、物理地址 是数据链路层和物理层使用的地址,IP地址 是网络层和以上各层使用的地址,是一种逻辑地址
2、IP地址放在IP数据报的首部,是IP数据报的一部分,整个IP数据报是MAC帧的数据部分;而硬件地址是放在MAC帧的首部
3、连接在通信链路中的设备(主机或者路由器)在收到MAC帧时,根据MAC帧首部的硬件地址决定是否收下这个MAC帧。只有在剥离MAC针对额首部和尾部之后,把MAC帧剩下的数据部分上交给IP层之后,网络层才能在数据报的首部中找到源IP地址和目的IP地址
4、在网络层抽象的互联网上只能看到IP数据报,看不到MAC帧首部和尾部的变化
5、在间接交付的数据报传输过程中,MAC帧每到达一个结点,在发往下一个结点之前,都会更新MAC帧首部的源地址和目的地址;但是IP数据报首部的源IP地址和目的IP地址始终不会改变
六、ARP地址解析协议
1、网络层使用IP地址,但是在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址 来查找
2、地址解析协议ARP是通过在主机ARP高速缓存中存放一个(本局域网内各主机和路由器)从IP地址到硬件地址的映射表
3、ARP映射表的初始化:
1)本机ARP进程在本局域网上广播发送 一个ARP请求分组(报告自己的IP地址、自己的硬件地址,目的IP地址),同时将自己的IP地址到硬件地址的映射写入自己的ARP缓存
2)在本局域网上所有的主机运行的ARP进程都能收到此ARP请求分组
3)局域网中某主机B的IP地址与ARP请求中目的IP地址一致,收下该分组,并响应请求,单播发送响应分组(报告自己的IP地址、硬件地址),同时将A的地址映射写入自己的ARP缓存
4)主机A收到B的响应分组之后,将B的地址映射写入自己的ARP缓存
4、注意:ARP 是解决同一局域网上主机和路由器的IP地址和硬件地址的映射问题 ,对于源主机和目的主机不在同一局域上的时候,ARP也只需要解析同一个局域网内主机到路由器或者路由器到路由器之间的映射,并将解析出来的硬件地址更新到MAC帧的首部,所以其中ARP的使用仍然是在同一局域网上
七、IP数据报的格式
1、IP数据报由首部 和数据部分组成
2、首部由固定部分(20字节) 和可变部分组成,后者很少被使用
3、首部固定部分各字段含义:
1)版本: 4bit,4(IPv4)或者6(IPv6)
2)首部长度: 4bit,单位是4字节,可表示的最大十进制数为15
3)区分服务: 8bit,一般不使用,使用区分服务时起作用
4)总长度: 16bit,单位字节,最大可表示2^16-1=65535字节(实际传输时也会受到数据链路层的MTU值限制)
5)标识(identification): 16bit
6)标志(Flag): 3bit,目前只有两位有意义
~最低位记为MF(More Fragment):1表示后面还有分片,0表示后面没有(连续分片的最后一个)~中间位记为DF(Don't Fragment):不能分片,为0时才允许分片
7)片偏移: 13bit,较长的分组分片后,当前分片在原分组的相对位置
8)生存时间TTL: 8bit,数据报的寿命,路由器每次转发数据报就把TTL值减1,TTL值减为0后就丢弃这个数据报
9)协议: 8bit,指出数据报携带的数据使用哪种协议,告诉目的主机的IP层应将数据交给哪个协议来处理
10)首部检验和: 16bit,只检验数据报首部,不包括数据部分
11)源地址: 32bit
12)目的地址: 32bit
八、构成超网
1、使用变长子网掩码VLSM可以进一步得到无分类编址方法,叫作无分类域间路由选择CIDR ,CIDR(Classless Inter-Domain Routing)
2、构成超网的路由表由网络前缀 和下一跳地址组成
2、最长前缀匹配: 当在查找路由时发现不止一个匹配结果时,应当从匹配结果中选择具有最长网络前缀的路由
3、使用二叉线索查找路由表
九、ICMP网际控制报文协议
1、ICMP允许主机或者路由器报告差错情况和提供有关异常情况的报告
2、ICMP报文是装在IP数据报中,作为其中的数据部分 ,可以理解为ICMP报文作为IP层数据报的数据,加上IP数据报的首部,组成IP数据报并发送出去
3、ICMP报文有ICMP差错报告报文和ICMP询问报文
4、ICMP差错报告报文包括4种类型,终点不可达,时间超过,参数问题和改变路由
5、ICMP询问报文有2种类型,回送请求和回答,时间戳请求和回答
1)分组网间探测PING(Packet Internet Groper) 即使用了ICMP回送请求与回送回答报文,用于用于测试两台主机之间的连通性
十、互联网的路由选择协议
1、把整个互联网划分为许多较小的自制系统AS(autonomous system),一个大的ISP就是一个AS
2、分为内部网关协议IGP(Interior Gateway Protocol) 和外部网关协议EGP
3、内部网关协议:
1)RIP,Routing Information Protocol ,路由信息协议
~基于距离向量的路由选择协议~特点1、仅和相邻的路由器交换信息
~特点2、路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表~特点3、按固定的时间间隔交换路由信息
~特点4、好消息传播的快,坏消息传播的慢~RIP协议使用运输层用户数据报UDP进行传送
2)OSPF,Open Shortest Path First ,开放最短路径优先
~特点1、像本自治系统所有路由器发送信息~特点2、发送的信息就是本路由器相邻的所有路由器的链路状态,但这只是路由器知道的部分信息
~特点3、只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此消息~OSPF协议直接用IP数据报传送
4、外部网关协议
BGP,Border Gateway Protocol ,边界网关协议
十一、虚拟专用网VPN
1、一个机构内并不需要把所有的主机接入到互联网,让这些不接入互联网的主机使用仅在本机构内有效的IP地址(称为本地地址)
2、专用地址只能用作本地地址,不能用作全球地址。在互联网中的所有的路由器,对目的地址为专用地址的数据报一律不进行转发 (下面为RFC指定的专用地址)
1)10.0.0.0到10.255.255.255(或记为10.0.0.0/8,又称24位块)
2)172.16.0.0到172.31.255.255(或记为172.16.0.0/12,又称20位块)
3)192.168.0.0到192.168.255.255(或记为192.168.0.0/16,又称16位块)
3、使用IP隧道技术实现虚拟专用网,为两个场所的内网进行通信:
1)每个场所至少有一个路由器拥有合法的全球IP地址,且该路由器在专用内部网络的接口地址则是专用网的本地地址
2)路由器R1收到内部数据报后,发现其目的主机必须通过互联网才能到达,就把整个内部数据报进行加密 ,然后重新加上数据报的首部,封装成在互联网上发送的外部数据报。源地址就是路由器R1的全球IP地址,目的地址是另一个场所交换机R2的全球IP地址。 R2接收到这个外部数据报后,去除数据报的数据部分解密,并解析出其真实的目的地址(本地地址),然后交付目的主机。
十二、网络地址转换NAT
1、当本地IP的主机需要与互联网主机通信时,在路由器上安装NAT软件(称为NAT路由器),转发本地主机到互联网主机的数据报
2、NAT路由器收到专用网内部的主机A发往互联网主机B的IP数据报后,将IP数据报首部的源IP更改为自己的全球IP地址,然后转发出去。同时路由器在自己的地址转换表记录本地IP地址,和更改后的全球IP地址,以便信息返回之后,可以正确的发送给本地主机