配置静态路由传送网络包

网络协议的分层

  1. 物理层
  2. 数据链路层 (MAC)
  3. 网络层(IP,TCP)
  4. 传输层
  5. 会话层
  6. 表现层
  7. 应用层(HTTP)
  • TCP在三次握手的时候,IP层和MAC层在做什么
    • TCP没法送一次消息,都会带着IP层和MAC层,IP层和MAC层所有的运行机制都要运行一遍。
  • 网络上的跑的包都是完整的,可以有下层没上层,但不能有上层没下层。
  • 将子网掩码(255.255.255.0)和IP(10.100.122.255)地址按位计算AND得到网络号(10.100.122)。
  • CIDR(误类型域间选路)10.100.122.2/24,32位中前24位是网络号,后8位是主机号。
  • 例子:求16.158.165.91/22这个网络的第一个地址、子网掩码和广播地址。
    • 22->(前22位是网络号,后8位是主机号) 前16位为1,中间的165转为10100101,所以网络号是16.158.<101001>, 主机号是<01>.91。
    • 第一个地址是16.158.<101001><00>.1即16.158.164.1,子网掩码255.255.<111111>.0即255.255.252.0,广播地址:16.158.<101001><11>.255即16.158.167.255
    • 小结:先处理/后数字, 得到这个ip的网络号和主机号,第一个网址就是网络号的第一个ip,子网掩码将255.255.255.255和网络号按位与,后面都为0,广播地址就是将主机号都设为1的ip
  • MAC 地址的通信范围比较小,局限在一个子网里面。例如,从 192.168.0.2/24 访问192.168.0.3/24 是可以用 MAC 地址的。一旦跨子网,即从 192.168.0.2/24 到192.168.1.2/24,MAC 地址就不行了,需要 IP 地址起作用了。
  • MTU 是二层 MAC 层的概念。MAC 层有 MAC 的头,以太网规定连 MAC 头带正文合起来,不允许超过 1500 个字节。正文里面有 IP 的头、TCP 的头、HTTP 的头。如果放不下,就需要分片来传输。

ICMP(Internet Control Message Protocol)

互联网控制报文协议。格式:

类型1:查询报文类型,ping 是基于 ICMP 协议工作的。

类型2:差错报文类型。终点不可达,源站抑制,时间超时,路由重定向。

  • 例子:假定主机 A 的 IP 地址是 192.168.1.1,主机 B 的 IP 地址是 192.168.1.2,它们都在同一个子网。那当你在主机 A 上运行“ping 192.168.1.2”后,会发生什么呢?

    1. 源主机首先建立一个ICMP请求数据包,有类型字段,和顺序字段(用来区分连续ping的时候)发出的多个数据包。
    2. ICMP协议将目标IP和数据包传给IP层,交换机根据ARP映射表找到目标IP对应的MAC地址后,传送出去。目标主机接收到之后,检查MAC地址和IP,将有用的信息 提取后交给ICMP。
    3. 如果在规定的时间内没有接收到ICMP说明主机不可达。
  • 默认网关getaway,地址一定是和源ip是同一个网段的,往往不是第一个就是第二个。网关往往是一个三层转发的设备,就是把mac和ip头都取下来,看看接下来包往哪里转发的设备。

  • 路由器是一台设备,它有五个网口或者网卡,相当于有五只手,分别连着五个局域网。每只手的 IP 地址都和局域网的 IP 地址相同的网段,每只手都是它握住的那个局域网的网关。任何一个想发往其他局域网的包,都会到达其中一只手,被拿进来,拿下 MAC 头和 IP 头,看看,根据自己的路由算法,选择另一只手,加上 IP 头和 MAC 头,然后扔出去。

  • 静态路由:就是在路由器上,配置一条一条规则。这些规则包括:想访问 BBS 站(它肯定有个网段),从 2 号口出去,下一跳是 IP2;想访问教学视频站(它也有个自己的网段),从 3号口出去,下一跳是 IP3,然后保存在路由器里。

ip头和mac头哪些变,哪些不变

  • MAC 地址是一个局域网内才有效的地址。因而,MAC 地址只要过网关,就必定会改变,因为已经换了局域网。两者主要的区别在于 IP 地址是否改变。不改变 IP 地址的网关,我们称为转发网关;改变 IP 地址的网关,我们称为NAT 网关。

两种类型的网络传输

  • 第一种(IP头里面的地址都是不变的)

1. A要访问B,首先判断B的ip是否是一个网段的,不是的话,需要发给网关,已经静态配置好的是192.168.1.1,并且发送ARP获取mac地址,之后发送包。包含:
 - 源MAC,目标MAC,源IP,目标IP
2. 在路由中配置了静态路由之后,要访问192.168.4.0/24,要从162.168.56.1出口出去,下一跳为192.168.56.2.所以路由器接着发送包:
- 源mac换成自己的,目标mac换成下一路由的,源IP A的IP ,目标IP B的IP
3. 同理,B中设置了静态路由,若访问192.168.4.0,都从192.168.4.1这个口出去。
4. 整个过程可以看到,每到一个新的局域网,MAC是变的,但IP不变,在IP头里,不会保存任何网关的IP,下一跳就是某个IP要将这个IP转为MAC,放入MAC中	.
  • 第二种(A和B是不同内网的相同IP)
    1. B需要有一个唯一IP,比如192.168.56.2,在网关B上,外网192.168.56.2对应内网192.168.1.101
    2. A访问B时,发现B不是一个网段,需要发给网关。
      • 源mac,服务器A的mac
      • 目标mac,192.168.1.1,网口的mac
      • 源ip,A的ip
      • 目标ip,B公网的ip
    3. 第一个路由A也需要有个公网IP,同样发给网关(源IP是转换后的路由A的ip,目标ip不变)
    4. B收到后,根据路由配置,发送给服务器B。
posted @ 2019-07-31 22:19  Jimmyhe  阅读(385)  评论(0编辑  收藏  举报