诗林 发表于 2024-10-15 21:34:55

【盘算机网络】详解IP协议&网段划分&路由转发&子网掩码&网络号

一、IP功能

        IP可以实现主机定位和路由选择,提供一种能力,将数据可靠地从A点跨网络送到B点。数据先根据目的IP在局域网之间进行转发,再在局域网内进行内网转发。
二、IP协议报头

https://i-blog.csdnimg.cn/direct/d6b667e4ade34854beb5a5fc55bbabb7.png
   

[*]4 位版本号(version):指定 IP 协议的版本,对于 IPv4 来说,就是 4。
[*]         4 位头部长度(header length):IP 头部的长度是多少个 32bit,也就是 length 4的字节数。4bit 表现最大的数字是 15,因此 IP 头部最大长度是 60字节。
[*]               8 位服务类型(Type Of Service):3 位优先权字段(已经弃用),4 位 TOS 字段,和1 位保存字段(必须置为 0)。4位TOS分别表现:最小延时,最大吞吐量,最高可靠性,最小本钱。这四者相互冲突,只能选择一个。对于 ssh/telnet 如许的应用步伐,最小延时比力                重要;对于 ftp 如许的步伐,最大吞吐量比力重要。
[*]16 位总长度(total length):IP 数据报团体占多少个字节。
[*]         16 位标识(id):唯一的标识主机发送的报文。假如 IP 报文在数据链路层被分片了,那么每一个片里面的这个 id 都是相同的。
[*]               3 位标志字段:第一位保存(保存的意思是如今不用,但是还没想好说不定以后要用到)。 第二位置为 1 表现克制分片,这时候假如报文长度超过 MTU,IP 模块就会抛弃报文。第三位表现"更多分片",假如分片了的话,最后一个分片置为 0,其他是 1。类似于一个竣事标记。
[*]13 位分片偏移(framegament offset): 是分片相对于原始 IP 报文开始处的偏移. 其实就是在表现当前分片在原报文中处在哪个位置. 实际偏移的字节数是这个值除8得到的。因此, 除了最后一个报文之外, 其他报文的长度必须是 8 的整数倍(否则报文就不连续了).
[*]8 位生存时间(Time To Live, TTL):数据报到达目的地的最大报文跳数。一般是64。每次经过一个路由,TTL -= 1,一直减到 0 还没到达,那么就抛弃了。这个字段主要是用来防止出现路由循环。
[*]8 位协议: 表现上层协议的类型。
[*]16 位头部校验和: 使用 CRC 进行校验, 来辨别头部是否损坏。
[*]32 位源地点和 32 位目的地点: 表现发送端和吸收端。
三、网段划分

           IP 地点分为两个部分, 网络号和主机号。网络号:包管相互连接的两个网段具有差异的标识;主机号:同一网段内,主机之间具有相同的网络号,但是必须有差异的主机号。差异的子网其实就是把网络号相同的主机放到一起。假如在子网中新增一台主机,则这台主机的网络号和这个子网的网络号一致,但是主机号必须不能和子网中的其他主机重复。    https://i-blog.csdnimg.cn/direct/53c6d9c5160d4f0ba993a970d43002b0.png            每一个子网都有唯一的标识,就是网络号。发送的报文在转发时可以根据网络号进行淘汰路径,直到找到目的网络。CIDR(Classless Interdomain Routing)技能引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;子网掩码也是一个 32 位的正整数。通常用一串 "0" 来末端;将 IP 地点和子网掩码进行 "按位与" 操作,得到的结果就是网络号。https://i-blog.csdnimg.cn/direct/671cb6ac81194717866f93a589f4bed5.png            IP 地点和子网掩码还有一种更简便的表现方法,比方 140.252.20.68/24,表现 IP 地点140.252.20.68, 子网掩码的高 24 位是 1,也就是 255.255.255.0。 四、私有IP和公网IP

           假如一个构造内部组建局域网,IP 地点只用于局域网内的通讯,而不直接连到 Internet 上,理论上 使用恣意的 IP 地点都可以,但是 RFC 1918 规定了用于组建局域网的私有IP地点。   

[*]
[*]         10.*,前 8 位是网络号,共16,777,216个地点。
[*]172.16.*到 172.31.*,前 12 位是网络号,共1,048,576个地点。
[*]         192.168.*,前16位是网络号共65,536个地点。
包罗在这个范围中的,都成为私有IP,其余的则称为全局IP(或公网IP)。 
五、运营商和路由转发

        运营商将网络基础设施搭建好。我们将来所有的报文都必须经过运营商,无法绕过运营商。 如今的路由器已经支持组建局域网,一般的家用设备所分配的IP地点都是192.168开头的IP地点。https://i-blog.csdnimg.cn/direct/fa8d05b9f350448d8d21f2dddca73f20.png
           一个路由器可以设置两个IP地点,一个是WAN口IP,一个是 LAN口IP(子网IP)。路由器 LAN 口连接的主机,都附属于当前这个路由器的子网中。差异的路由器,子网IP其实都是一样的(通常都是 192.168.1.1)。子网内的主机IP地点不能重复。但是子网之间的IP地点就可以重复。每一个家用路由器,其实又作为运营商路由器的子网中的一个节点。如许的运营商路由器大概会有很多级,最外层的运营商路由器,WAN口IP就是一个公网IP了。子网内的主机需要和外网进行通讯时,路由器将IP首部中的IP地点进行更换(更换成WAN口IP),如许逐级更换,终极数据包中的IP地点成为一个公网 IP。这种技能称为NAT(Network Address Translation,网络地点转换)。我们所有人访问网络都是在内网当中访问的,我们无法直接访问公网,公网由各国的运营商进行报文的转发。    https://i-blog.csdnimg.cn/direct/da84db77b6de4ec18785d197e0fbe101.png            NAT 路由器收到外部的数据时,又会把目的IP从202.244.174.37更换回10.0.0.10,在NAT路由器内部,有一张主动天生的用于地点转换的表,当 10.0.0.10第一次向163.221.120.9发送数据时就会天生表中的映射关系。假如局域网内有多个主机都访问同一个外网服务器, 那么对于服务器返回的数据中,目的IP都是相同的。那么NAT路由器如何判断将这个数据包转发给哪个局域网的主机?这时候NAPT来解决这个题目了。使用IP+port来创建这个关联关系。这种关联关系也是由NAT路由器主动维护的。比方在TCP的情况下,创建连接时,就会天生这个表项,在断开连接后就会删除这个表项。    https://i-blog.csdnimg.cn/direct/3b0d4640c4c3403ba717d8399c43412d.png           路由器要有路由发现的算法。IP数据包的传输过程也和问路一样。当 IP 数据包,到达路由器时,路由器会先查看目的IP;路由器决定这个数据包是能直接发送给目的主机,还是需要发送给下一个路由器;依次反复,一直到达目的IP地点。如何判断当前这个数据包该发送到哪里呢?这个就依赖每个节点内部维护一个路由表。              路由表可以使用route命令查看   。假如目的IP掷中了路由表,就直接转发即可。路由表中的最后一行,主要由下一跳地点和发送接口两部分组成,当目的地点与路由表中别的行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地点。假设某主机上的网络接口设置和路由表如下:   https://i-blog.csdnimg.cn/direct/ebf7b18f93a74168b4f838e92ea69c6d.png               这台主机有两个网络接口,一个网络接口连到   192.168.10.0/24网络,另一个网络接口连到 192.168.56.0/24 网络;路由表的 Destination 是目的网络地点,Genmask 是子网掩码,Gateway 是下一跳地点,Iface是发送接口,Flags中的 U 标志表现此条目有用(可以禁用某些 条目),G标志表现此条目的下一跳地点是某个路由器的地点,没有G标志的条目表现目的网络地点是与本机接口直接相连的网络,不必经路由器转发。                      转发过程例 1: 假如要发送的数据包的目的地点是 192.168.56.3                 跟第一行的子网掩码做与运算得 到 192.168.56.0,与第一行的目的网络地点不符,再跟第二行的子网掩码做与运算得到192.168.56.0,正是第二行的目的网络地点,因此从 eth1 接口发送出去;由于192.168.56.0/24 正是与 eth1 接口直接相连的网络,因此可以直接发到目的主机不需要经路由器转发。                转发过程例 2: 假如要发送的数据包的目的地点是 202.10.1.2。依次和路由表前几项进行对比,发现都不匹配;按缺省路由条目,从eth0接口发出去,发往192.168.10.1路由器;由 192.168.10.1 路由器根据它的路由表决定下一跳地点。                六、地域间的网段划分

         这里为了方便,我们直接将各个国家作为网段划分单位,将每个国家的每个省作为更小一级的网段划分单位举例子。以IPv4为例,假设美国划分到的网段是1.0.0.0/8,中国划分到的网段是2.0.0.0/8,俄罗斯划分到的网段是3.0.0.0/8,也就是说拿出前八个比特位来区分国家。我们国家第一台国家级间的路由器IP地点就为2.0.0.1/8。
https://i-blog.csdnimg.cn/direct/22cca6d41a2849c3b218350a038a6dbc.png
        我们国家再拿出5个比特位来区分省市,那么陕西省的第一台省间路由器IP地点就是2.8.0.1/13。市与市之间再接纳相同的方法,拿出几个比特位来划分市。进一步的,由于IP地点数目的限制,在整个市里就可以构建出一个局域网了,市里的路由器就可以和运营商的出入口路由器构建成一个子网。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【盘算机网络】详解IP协议&网段划分&路由转发&子网掩码&网络号