计算机网络(The Network Layer 3)网络层

网络层


网络层提供两种服务:
网络不负责可靠交互。端系统负责可靠交付。意思说中间丢失了重传就是了

  1. 虚电路
    在这里插入图片描述
  2. 数据报
    无连接,尽力交付
    也就是走哪条路按照路由器自己选择怎么走,可能就不止一条路了和虚电路就不一样了,这样就非常可靠了
    在这里插入图片描述

网络IP

  1. 虚拟互联网
    互联设备:
  • 转发器(物理层)
  • 网桥或交换机(数据链路层)
  • 路由器(网络层)
  • 网关(网络层以上)其实也就是接其他路由器的接口,可以有多个IP前提是网关也得正确,错了可能就出不去了,习惯性用本网段第一个地址(假设IP:192.168.1.21 那么网关就是 192.168.1.1)
  1. 网际协议IP相关ip
    地址解析协议(ARP)
    逆地址解析协议(RARP)
    网际控制报文协议(ICMP)
    网际组管理协议(IGMP)
    在这里插入图片描述

层次化ip地址
有了网段的划分
具体区分:IP分为了网络部分和主机部分
网路地址:(32位分成4段,一个段8位这种是固定划分了)
A(networkid 8 hostid 24)127(网络号)特殊本地环回地址
B(networkid 16 hostid 16)
C(networkid 24 hostid 8)
D 组播,多播

子网掩码就具体的不再叙述
C:255.255.255.0
B:255.255.0.0
A:255.0.0.0
可以判断网段做&运算

那么假如是说不在一个网段
列如:
192.21.80.123(src)
192.21.90.23(dest)

src&子网掩码255.255.255.0发现和dest不在一个网段那么就要网关192.21.80.1出去经过路由转发到目的IP

路由器接口需要是不同网段
地址可以是DNS自动获得

注意一些特殊地址:
127.0.0.1本地环回
169.254.0.0 window自动分配凑合用,没IP的时候
私网地址(看见这个多半是内网,远程连接想操作不行)
10.0.0.0
172.16.0.0 — 172.31.0.0
192.168.0.0 – 192.168.255.0
练习:计算111.222.66.66/13的广播地址和网段地址
111.11011000.0.0 = 111.216.0.0 网络地址
111.11011111.255.255 = 111.223.255.255/13广播地址

  1. 子网划分
    意义:节省地址资源
    比如你只有5台主机但是用c类有254个地址这样就富裕了
    其实这里就是不固定字长的划分
    注意:主机部分不能全为1或者0
    同样这里子网划分也是靠子网掩码,其实就是动态移位,不受前面八个一部分的限制

具体怎么划分课本百度有不做叙述
简单附上一个c类等分分两个网段的简略图:
在这里插入图片描述
同理四个网段:在这里插入图片描述

以此类推多个子网的划分也可以得出

但是万一不是等分,不等分怎么办,假设200台主机,叫你划分成150和50,但是这样在c类中显然不行,除2只有两个128显然150放哪个区间都不合适的,那么也就是说子网划分遵守这种除2的规律

比如这种情况:190台主机要求我们划分成110 50 20 10

可以这样划分

0-15 16-31 32-63 64-127 128-255
富余 放10 放20 放50 放110

那么我们知道主机号和子网掩码也是能够得到对应的那个网段的子网号
比如:

主机地址 192 168 0 101
二进制 11000000 10101000 00000000 01100101
子网掩码 11111111 11111111 11111111 11000000
子网地址 11000000 10101000 00000000 01000000
十进制 192 168 0 64

这里采用的是主机位归零

那么同样下这种情况怎么办?超网
在这里插入图片描述

情景:假设上面一台交换机接了199台主机,剩下一个口子又接了一台交换机交换机接了200个主机,显然这样超出了1-254这个范围不够了,这时候就需要合并子网网段形成超网,除非路由器存两个不同网段,两个交换机之间的交互就要每次都经过路由器

假设:
第一个子网:192.168.0.0
掩码:255.255.255.0
第二个子网:192.168.1.0
掩码:255.255.255.0

这时候就恰恰与上面相反,移动一位即可,也就是
合并后:
子网网段:192.168.0.0
掩码:255.255.254.0

那么以此类推出合并网段的规律:
在这里插入图片描述

也就是小的是偶数大的是奇数就能合并
举个例:
192.168.1.0
192.168.2.0

1(01)
2(10)
那么移一位就不行了得两位,那么就会包含大了,也就是把192.168.0.0和192.168.3.0算进去了

特殊的ppp的网络

那么俩地址算出来就得255.255.255.252(除去全0和全一广播地址)刚好可用的是4-2 = 2个地址,这样就合适了

IP和mac

我们在通讯的时候是两个地址都用了IP地址和mac地址
IP地址决定数据包最终到哪里
mac地址决定数据包下一跳给谁,可能不是终点这里

附上一个简单的主机A到主机B的图:
发现这个mac一直在变化,但是目标IP和源IP没有变化

在这里插入图片描述

ARP&PARP协议

负责IP解析成mac地址(这里是正向的),根据这个性质就出现了黑客等ARP欺骗,什么意思呢?
举个列子:
假设现在有一个交换机连了几台主机
在这里插入图片描述
host1想发送数据给host2,那么先广播,收到host2的mac地址后传输数据包,但是现在出现了host4,host4告诉host1发送到他那里,然后就会出现这种情况host1广播发送后host4先收到,然后经过他在发送给host2,那么就形成了ARP欺骗

应用假设几个人连接一个交换机,再向外连接一个路由器上网但是呢几个人都在打游戏,带宽感觉不够很卡,然后ppp终结者,所有上网流量就都经过一台机器,以此可以控制网络流量,同样网络执法官,会告诉其他主机一个不存在的网关mac,然后其他主机收不到数据包,达到了控制上网的目的

逆向PARP刚好和ARP相反

IP数据报格式

首部 数据部分
发送在前固定20字节 可变长度

在这里插入图片描述
具体每个部分的说明:

  • 版本:ipv4还是6
  • 首部长度:最大就是2的4 -1也就是15个单元,一个单元四字节,那么算出来IP的首部最大长度是60字节(主要有个可变部分所以这里是变长的)
  • 区分服务:看谁高级,比如用qq边视频边发邮件,那么视频就肯定高级,实时性要求高那么优先级就高,一定要和路由器上一块配才起作用
  • 总长度:数据包长度
  • 标识:计数器每产生一个数据报加一
  • 标志:记录是否分片了
  • 片偏偏移:字节比如3800按照1500的mtu你就得分成三部分,具体分法看书
  • 生存时间:TTL(time to live) 每过一个路由器减一,变成0后不转了,消失,window 128 ,liunx 255
    假设我们要设置TTL 命令是:ping 219.148.38.148 -i 5(这里设置的是5)
    当然这个还能确定ping 路径 1,2,3.。这么尝试,然后看ip回复在这里插入图片描述
  • 协议:标明上层协议是什么 6tcp 17 udp
  • 首部校验和:验证首部有没有错误(具体怎么算看书 )
    合适大家尝试用抓包工具进行分析

IP转发分组流程

数据路由:路由器在不同网段转发数据包
网络畅通条件:能去能回来
沿途路由器必须知道到目标网段下一跳给哪个端口
同样,沿途路由器必须知道到源网段下一跳给哪个端口
上面只是原则,具体实现书上有
路由表操作命令:

示例:

> route PRINT
> route PRINT -4
> route PRINT -6
> route PRINT 157*          .... 只打印那些匹配  157* 的项

> route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
         destination^      ^mask      ^gateway     metric^    ^
                                                     Interface^
  如果未给出 IF,它将尝试查找给定网关的最佳
  接口。
> route ADD 3ffe::/32 3ffe::1

> route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

  CHANGE 只用于修改网关和/或跃点数。

> route DELETE 157.0.0.0
> route DELETE 3ffe::/32

还有假设你敲 ipconfig /all 想把这里的信息存到文本里面
那么就敲ipconfig /all >路径.txt

还有就是最长前缀种引入的,二叉线索树和路由表查找举例(这属于数据结构的知识了)
在这里插入图片描述

ICMP协议

用来向路由器,主机报告差错的,查询网络故障
报文种类两种:

格式:
在这里插入图片描述

  1. icmp差错报告报文
    终点不可达
    源点抑制
    时间超过:
    可能是网络拥塞引起的。时通时断,显示能 request time out,或者replying 地址通了,但是呢延迟很大,time数字很大,同样这样也能评估带宽
    在这里插入图片描述
    查看哪里不通pathping ip (跟踪数据包的路径) 还能算丢包率,但是呢有些路由器不让通采取了一些防御性的措施
    在这里插入图片描述

参数问题
改变路由
在这里插入图片描述

  1. icmp询问报文
  2. icmp重定向功能
    比如:
    在这里插入图片描述
    那么这样呢就提高了效率

动态路由RIP

周期性广播 30s一次,最大十六跳这些知识呢书上很详细了不做叙述,考试喜欢考但是实际意义不大,会配置动态路由即可,记住网关就是默认路由,显示路由表route print

网络连接方式的区别

1.bridged(桥接模式)
  在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。
  在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。
  使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
2.host-only(主机模式)
  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
  提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
  在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
  如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。
3.NAT(网络地址转换模式)
  使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
  如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
  提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供。

发布了38 篇原创文章 · 获赞 1 · 访问量 2255

猜你喜欢

转载自blog.csdn.net/CRD8843/article/details/104090320