zoukankan      html  css  js  c++  java
  • 网络层学习笔记一

    1、网络层提供的两种服务

    2 网际协议 ip

    IP协议配套使用的还有3个协议

    地址解析协议 ARP

    网际控制报文协议 ICMP

    网际组管理协议 IGMP

    3 虚拟互联网络

    要将网络互相连接起来要使用一些中间设备,根据设备所在的层次,可以用以下四种不同的中间设备

    1、物理层使用的中间层设备:转发器

    2、数据链路层使用的中间层设备:网桥或桥接器

    3、网络层使用的中间层设备:路由器

    4、网络层以上使用的中间层设备:网关

    H1要把一个IP数据报发给H2

    3 分类的IP地址

    3.1 IP 地址及其表示方法

    由于近年来使用无分类的IP地址进行路由选择,类地址的区分已经成为历史。

    3.2 常用的3类地址

     1 A类地址

    网络号占一个字节,该字段第一位已固定为0,可指派的还有126个(2^7-2)

    IP地址中网络号全为0的地址是个保留地址,意思是本网络

    IP地址中网络号为127的保留作为环回测试地址,用于主机进程之间的通信

    主机号占3个字节,主机数是2^24-2

    主机号全为0:代表一个网络地址

    主机号全为1:表示该网络上的所有主机

    4、IP地址和硬件地址

    路由器每接入一个不同的网段就需要一个mac地址

     

     5 地址解析协议ARP

    知道一个设备的IP地址,需要找出其相应的硬件地址。ARP就是用来解决这样的问题的

    每一台主机上都设有一个ARP高速缓存,里面存有本局域网上的各主机和路由的IP和硬件地址的映射表,当主机A要向本局域网的某台主机B发送IP 数据报时,就会先在ARP中寻找IP和对应的MAC地址,写入到帧首部,然后通过局域网把该MAC帧发往此硬件地址

    如果没找到ip 就会发往路由,原理一样

    6 IP数据报格式

    字段解释:

    1 版本:占4位,指ip协议的版本,通信双方使用的IP协议的版本必须一致,目前广泛使用的是ipv4地址

    2 首部长度:占4位,可表示的最大十进制数是15,单位是32位(即4个字节),因为ip首部最少都有20个字节,所以首部长度的最小值是5。当ip报文的首部长度不是4的整数倍时,必须用最后的填充字段填充,

    3 区分服务 一般不使用

    4 总长度 首部和数据长度之和,单位为字节,占16位,因此数据报长度是2^16-1个字节。每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度MTU,当一个IP数据报封装成链路层帧时,数据总长度不能超过MTU,否则应该进行分片处理

    5 标识 :16位,当数据需要分片时,该字段保证了 各个数据报片能正确地重装为原来的数据

    6 标志:3位,目前只有两位有意义,最低位为MF,MF=1:表示后面还有分片,0:表示这是若干数据片中的最后一个;倒数第二位为DF,1:不能分片,0:能分片

    7 片偏移:13位,某片在分组中的相对位置,也就是相对于用户数据字段的起点,该片应该处于原数据的哪个位置,单位是8字节,

    8 生存时间:8位 ,跳数 ,最大值是255,每经过一个路由,该值就减1,为0时就会被丢弃

    9 协议 :8位 指出该数据报携带的数据是使用何种协议,以便使目的主机ip层知道 应将数据部分上交给哪个协议进行处理

    ip数据报可变部分:用的很少

    7 IP 层转发分组流程

    路由表会指出到某个网络怎么走

    当路由器收到一个待转发的数据包,从路由表得出xia'yi'tiao路由器的IP后,将这个ip地址送交到数据链路层的网络接口软件,网络接口软件负责把下一跳路由器的ip地址转换成硬件地址,并将此硬件地址放在链路层的MAC帧的首部。

    特定主机路由

    因特网所有的分组转发都是基于目的主机所在的网络,但在大多数都允许有这样的特例,即对特定的主机制定一个路由,这种路由就交特定主机路由

    默认路由

    默认路由又叫网关,当一个数据报到达路由器时,如果路由器在路由表中没有找到目的ip所对应的网段,该数据报就会发往默认路由所在的下一跳

    分组转发算法:

    1)从数据报首部提取到目的ip地址D,得出目的网络地址N

    2)若N就是与此路由直接连接的某个网络地址,则进行直接交付,不需要再经过其他路由器,直接把数据报直接交付目的主机,否则进行(3)

    3)若路由表中有目的地址D的特定主机路由 ,则把数据报传送给路由表中指明的下一跳地址,否则执行(4)

    4)若路由表中有到达目的网络N的路由,则把数据报传送给路由表中指明的下一跳地址,否则执行(5)

    5)若路由表中有一个默认路由,则把数据报传送给路由表中指明的下一跳地址,否则执行(6)

    6)报告转发分组出错

    8 划分子网构造超网

    8.1 划分子网

     1 为什么要划分子网

     一 :使IP地址空间利用率更高

    二 给每个物理网络分配一个网络号,会使路由表变太大因而使网络性能变差

    2 子网划分思路

    一 一个单位有很多物理网络(很多主机电脑),可以将这些物理网络划分为很多子网。划分子网使属于单位内部的事情,外部网络看不见这个网络有多少个子网组成,这个单位对外仍表现为一个网络

    二 划分子网的方法使从网络的主机号借用若干位作为子网号,于是两级ip就变成了3级ip地址

    9 子网掩码

    标志了有多少位使网络位,1对应的是网络位,0对应的是主机位

    现在互联网规定,所有网络必须使用子网掩码,同时再路由表中也必须使用子网掩码这一栏

    10 使用子网时的分组转发

    在划分子网的情况下,分组转发算法必须做相应的改动。

    使用子网划分后,路由表必须包含:目的网络地址、子网掩码、下一跳地址

    分组转发算法:

    1)从收到的数据报首部提取目的IP地址D

    2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检擦:用各网络的子网掩码和D相与,看结果是否与相应的网络地址匹配,若匹配则把分组直接交付,否则执行3)

    3)若路由表中有目的地址D的特定主机路由 ,则把数据报传送给路由表中指明的下一跳地址,否则执行(4)

    4)对路由表中的每一行(目的网络地址、子网掩码、下一跳)用其中的子网掩码与D相与,结果为N,若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由,否则执行5)

    5)若路由表中有一个默认路由,则把数据报传送给路由表中指明的下一跳地址,否则执行(6)

    6)报告转发分组出错

    主机H1向H2发送分组

    10 无分类编址CIDR构造超网

    CIDR最主要的两个特点:

    1 消除了传统的ABC地址分类及划分子网的概念,因此IP地址又从3级变为了2级,

    2

    路由表也变为了网络前缀 + 下一跳,采用最长前缀匹配原则

  • 相关阅读:
    UML类图和用例图
    设计模式基本原则
    c# 协变和逆变
    git本地忽略
    计算器科学概论-数据操控
    计算机科学概论-数据存储
    docker部署gitlab-ce
    sqlserver2008R2 本地不能用localhost连接
    Redis常用命令
    C# 值类型和引用类型的区别
  • 原文地址:https://www.cnblogs.com/lfxiao/p/9206941.html
Copyright © 2011-2022 走看看