《图解TCP/IP》读书笔记(四)
网络层与数据链路层一样,也有“点对点通信”,也就是终端节点之间的通信。
但是数据链路层仅能在同一种数据链路之间进行数据的传递。而网络层可以跨越多种数据链路进行包的传递。
网络层中数据的传输
当某个IP包到达路由器,路由器首先查找其目标地址,从而再决定下一步应该把这个包发往哪个路由器,然后将包发送过去。当包到达那个路由器后,会再次查找下一个目标地址,再由路由器转发给下一个路由器。直到找到最终的目标地址才把数据包发送给这个节点。
路由控制表
该表记录IP数据在下一步发给哪个路由器。IP包将根据这个路由表在各个数据链路上传输。
IP地址由网络地址和主机地址组成。
网络地址在数据链路的每个段配置不同的值。必须保证相互连接的每个段的地址不相重复。相同段内相连的主机必须有相同的网络地址,称这些主机处于“同一网段”。而IP被转发到某个路由器,就是利用目标IP地址的网络标识进行路由。
下面的例子来自知乎:车小胖
可以让我们理解子网掩码
从前有一个地主,有256间房子,地主家的门牌号码是“192.168.1”,那么他家第一间房子的门牌号码是192.168.1.0,第二间是192.168.1.1,…第256间的编号是192.168.1.255。
地主老了,需要把256间房子分给4个儿子,平均分配,每个儿子可以分64间。
请来一位先生主持公道,先生这么来操作:
192.168.1.0-192.168.1.63 分给大儿子
192.168.1.64-192.168.1.127 分给二儿子
192.168.1.128 -192.168.1.191 分给三儿子
192.168.1.192-192.168.1.255 分给四儿子
那如何来描述四个儿子的子网网段呢?
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
/26是什么鬼?
255.255.255.192的二进制是多少? “11111111-11111111-11111111-11”大家数数一共多少个1?不用数了,是26个1,为了简化子网掩码的表示,用/26代替255.255.255.192。
按位与运算
我们来看大儿子的网段192.168.1.0/26是如何得到的?
以大儿子的房间为例:
192.168.1.0-192.168.1.63
二进制表示:
192.168.1.0
11000000.10101000.00000001.00000000
192.168.1.63
11000000.10101000.00000001.00111111
首尾地址完全相同的是多少?
11000000.10101000.00000001.00
数数一共多少位?26位!那么用这个“192.168.1.0/26”就可以表示大儿子所有房间。
对照房间的门牌号码“192.168.1.199”,很显然属于四儿子的。
一个主机192.168.1.199/26 能否和直连主机192.168.1.200/24 通信?可以的,因为都是四儿子的房间。
一个主机192.168.1.199/26 能否和直连主机
192.168.1.1/24 通信? 不可以,因为一个是大儿子的房间,一个是四儿子的房间,无法直连通信!
IP地址的分类
IP地址分类IP地址
A类:0.0.0.0-127.0.0.0(前8位位网络标识)
B类:128.0.0.1-191.255.0.0(前16位位网络标识)
C类:192.168.0.0-239.255.255.0(前24位位网络标识)
D类:224.0.0.0-239.255.255.255
子网掩码
A类:11111111. 00000000.00000000.00000000
即 255.0.0.0
B类:11111111. 11111111.00000000.00000000
即 255.255.0.0
C类:11111111. 11111111.11111111.00000000
即 255.255.255.0
所以,192.168.1.1/24的子网掩码为255.255.255.0
1. 广播地址
1.1广播地址的作用
用于同一个链路中相互连接的主机直接发送数据。
1.2如何设置广播地址?
将主机的主机地址部分全部设置为1,就成了广播地址
2. 路由控制
在发送数据包时使用的地址是IP地址,但是仅有IP地址是不够的,在数据发送的过程中还需要指明路由器或主机的信息,以便真正发往目标地址。
2.1路由控制表的形成方式
- 人为控制:管理员手动设置,这里称为静态路由控制
- 路由器自动刷新:在与其他路由器交换信息的时候自动刷新,这里称为动态路由控制。