文章目录
- 基本概念
- IP和TCP分别解决什么问题
- 以下过程都是在网络层完成的
- 网段划分
- 路由
- 路由转发过程
- 路由表
基本概念
主机: 配有IP地址, 但是不进行路由控制的设备。
路由器: 即配有IP地址, 又能进行路由控制。
节点: 主机和路由器的统称。
IP和TCP分别解决什么问题
- TCP解决决策问题,IP解决执行问题
- IP给数据提供了从主机A跨网络传送给主机B的能力,但是IP层不提供可靠性机制,只是“较大概率可靠”
如何理解呢?
当产生数据未正常接收等问题的时候,TCP有超时重传、快重传等各种策略,这相当于给网络层的IP再次分发了任务,这就是一种决策,就是一种可靠性。
而IP只需要按照TCP做出的决策:如何发、发多少等去完成自己的任务,如果发生异常,就回到TCP决策层再次决策。
以下过程都是在网络层完成的
网段划分
IP地址分为两个部分, 网络号和主机号。即 IP=网络号+主机号。
网络号: 保证相互连接的两个网段具有不同的标识;
主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号
- 不同的子网其实就是把网络号相同的主机放到一起.
- 如果在子网中新增一台主机, 则这台主机的网络号和这个子网的网络号一致, 但是主机号必须不能和子网中的其他主机重复
路由
路由转发过程
数据包传输主要是要找到入口路由器,意味着即将目的IP对应的局域网,其次才可以找到目的IP的主机。
IP数据包的传输过程和日常生活问路一样:
- 当IP数据包, 到达路由器时, 路由器会先查看目的IP;
- 路由器决定这个数据包是能直接发送给目标主机(意味着已到达入口路由器), 还是需要发送给下一个路由器;
- 依次反复, 一直到达目标IP地址
- IP的意义
IP最大的意义在于路径选择。 也就是为什么需要把这个数据包由A交到B呢?这是由目的IP决定的。
而如何把数据包从A交到B,是数据链路层解决的,也就是MAC帧,目前网络层决定的是A到B。
IP数据包传输的时候每一跳是在数据链路层中的一个区间. 具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间
而每一跳之间的连接叫做一个节点,这里指的是路由器。
那么如何判定当前这个数据包该发送到哪里呢? 这个就依靠每个节点内部维护一个路由表。
凡是能够直接跳转到下一跳的,一定是直接相连的节点,也就是它们一定在同一个局域网。所谓的路由转发其实就是报文在不同局域网内各个相连节点传输的过程。
路由表
- 路由表可以使用route命令查看
- 如果目的IP命中了路由表, 就直接转发即可;
- 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地址
路由转发的过程其实就是不断排除子网的过程,通过路由表,每次跳转的时候都可能是从某子网跳到某子网,所以其实就是不断地排除,最后到达入口路由器(目的IP的子网入口)。