网络层提供两种服务:
网络不负责可靠交互。端系统负责可靠交付。意思说中间丢失了重传就是了
层次化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广播地址
具体怎么划分课本百度有不做叙述
简单附上一个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算进去了
那么俩地址算出来就得255.255.255.252(除去全0和全一广播地址)刚好可用的是4-2 = 2个地址,这样就合适了
我们在通讯的时候是两个地址都用了IP地址和mac地址
IP地址决定数据包最终到哪里
mac地址决定数据包下一跳给谁,可能不是终点这里
附上一个简单的主机A到主机B的图:
发现这个mac一直在变化,但是目标IP和源IP没有变化
负责IP解析成mac地址(这里是正向的),根据这个性质就出现了黑客等ARP欺骗,什么意思呢?
举个列子:
假设现在有一个交换机连了几台主机
host1想发送数据给host2,那么先广播,收到host2的mac地址后传输数据包,但是现在出现了host4,host4告诉host1发送到他那里,然后就会出现这种情况host1广播发送后host4先收到,然后经过他在发送给host2,那么就形成了ARP欺骗
应用假设几个人连接一个交换机,再向外连接一个路由器上网但是呢几个人都在打游戏,带宽感觉不够很卡,然后ppp终结者,所有上网流量就都经过一台机器,以此可以控制网络流量,同样网络执法官,会告诉其他主机一个不存在的网关mac,然后其他主机收不到数据包,达到了控制上网的目的
逆向PARP刚好和ARP相反
首部 | 数据部分 |
---|---|
发送在前固定20字节 | 可变长度 |
数据路由:路由器在不同网段转发数据包
网络畅通条件:能去能回来
沿途路由器必须知道到目标网段下一跳给哪个端口
同样,沿途路由器必须知道到源网段下一跳给哪个端口
上面只是原则,具体实现书上有
路由表操作命令:
示例:
> 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
还有就是最长前缀种引入的,二叉线索树和路由表查找举例(这属于数据结构的知识了)
用来向路由器,主机报告差错的,查询网络故障
报文种类两种:
周期性广播 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虚拟网络则不提供。