网络原理知识记录

一:路由器

参考链接

路由器也就是网关路由器, 在网络中的位置如下

电脑想要上网,就需要经过网关。网关直接和ISP(联通)的网络相连,假如某台路由器有一个外网地址:61.52.247.112。

由于只有一个外网地址,如果都使用这个ip,局域网内部的电脑不能同时上网。所以需要一个办法让局域网内部的电脑能同时上网:NAT(网络地址转换)

1.网络地址转换

现在的路由器不仅仅是一个路由器,同时是一个DHCP服务器,DHCP也就是动态主机配置协议,其实就是给局域网内部的电脑分配ip用的。

现在这台路由器所在局域网内有一台电脑TP-Link 7954想要上网,路由器给他分配了一个ip是192.168.1.2 ,这是一个内网ip,所以这个ip本身是无法上网的。(每个路由器都可以给自己局域网内的电脑分配192.168.1.2的ip)。

注意:我们需要知道内网IP段有哪些

1
2
3
A类:10.0.0.0-10.255.255.255
B类:172.16.0.0-172.31.255.255
C类:192.168.0.0-192.168.255.255

电脑TP-Link 7954想要上网必须经过这个路由器。现在电脑TP-Link 7954想要访问百度,他通过交换机发来一个数据帧:

路由器把数据链路层的外衣去掉,发现数据包的目标地址是115.239.211.112,路由器就知道这是要向外网发出请求了。于是路由器开始干下面的事情:

1️⃣路由器把IP数据包的源地址192.168.1.2替换成路由器从联通那里拿到的外网地址61.52.247.112。

2️⃣这还不够,路由器会创建一个新的端口号2001,把TCP数据包中的源端口也替换掉,数据包变成了这样:

所以路由器就是把TCP层的端口号和IP层的源地址IP号替换掉,目的是让外部认为这是路由器自身发出的消息,外界根本不知道TP-Link 7954这台电脑。

然后路由器再给这个IP数据包穿上数据链路层的外衣,把数据包发送给联通的网络剩下的事情就不管了。

注意:以太网帧的mac地址,源地址已经是路由器的地址了,而不再是TP-Link 7954了, 因为路由器是我和联通网络之间的数据链路。

像上面那样替换源地址(包括源IP地址和源mac地址)和端口号就叫做网络地址转换,也就是NAT

当然不止TP-Link7954通过这个路由器上网,还有很多别的电脑也通过这个路由器上网,路由器需要把这些信息记录下来,形成这张表:

过了不久,百度网站的回复信息就会通过别的路由器转到这个路由器来,这个路由器需要反过来处理一下。

首先去掉数据链路层的外衣,发现TCP和IP数据包包含这样的消息:

目的地IP : 61.52.247.112 , 端口 2001

这时候去查表,找到192.168.1.2:3345,这就表明是发给TP-Link 7954的信了。

那就再次把数据报表中的IP地址和端口号改了,让TP-Link 7954 认为这个数据包就是路由器给他的。

就这样, 路由器成功的用区区一个外网的IP就支持了局域网内多个电脑的上网需求, 并且局域网内的电脑根本就不知道是怎么回事!

(在我看来,路由器就是一个代理功能)

2.路由器和交换机的区别

工作层次不同:

​ 交换机工作在数据链路层(第二层)

​ 路由器工作在网络层(第三层)

转发依据不同:

​ 交换机转发所依据的对象:MAC地址(物理地址)

​ 路由器转发所依据的对象:IP地址(网络地址)

主要功能不同:

​ 交换机主要是用于组件局域网,在局域网内部使用

​ 路由器主要是将交换机组建好的局域网连接起来,或者接入Internet

​ 交换机能做的,路由器都能做,交换机不能分割广播域,路由器可以。路由还可以提供发防火墙的功能。

通俗的说:

​ 交换机:转发数据

​ 路由器:找路

​ 交换机是连接一个局域网内的设备的,路由器是连接不同网络的设备

3. 特殊IP地址

1️⃣ 上面提到的内网IP段

2️⃣ 广播地址:255.255.255.255 。用于向局域网内广播信息

主机号全部为1的地址是子网广播地址,如:192.168.1.255

主机号全部为0的地址是代表该子网的网络地址,如:192.168.1.0

3️⃣ 0.0.0.0:所有未知的主机和目的网络(类似于默认匹配)