网络层(IP)

📅 发布时间:2026/7/10 11:47:04 👁️ 浏览次数:
网络层(IP)
引言我们之前谈的都是直接把主机A的内容发送给主机B但是我们要知道主机A到主机B通信并不是直接联系的而是中间会经过很多路由器但是为什么报文要经过这么多的路由器呢?在网络中这个过程就是路径选择的过程因为主机A向主机B交给数据就决定了它的路径是这个所以很大的因素是IP决定的在网络通信过程中每个主机都有IP地址但是IP地址也是有类别的分为子网IP、公网IP但是接下来我们谈的IP统一指的是全球内具有唯一性的IP也就是公网IP比如我们的云服务器在哪里都可以使用主机A是怎么把数据交给路由器的呢?首先他们一定是在一个局域网内所以他们要是直连的所以网络链接其实就是有无数个局域网链接通信而成的网络信道而对局域网的选择取决于IP值IP分为IPV4和IPV6而我们现在使用的大部分是IPV4而IPV4使用点分十进制来表示而且每一个数字的范围都是[0,255];1.IP4和IP6的区别1.1 IP的格式1.2 目的IP如果我们要去北京故宫玩我们刚来时先说的是要去北京但是到了北京才能说要找故宫所以目的IP地址目标网络目标主机;总的来说就是我们是根据目的IP来进行我们的路径选择2. IP报头相关知识点每一层都有自己的报头当然我们的网络层也就不例外①16位总长度 :是为了记录数据总长度为了防止数据丢失②IP报头是如何解包的?4位首部长度16位总长度③IP报头是如何分用的?UDP和TCP底层都用的是IP呢么当数据从IP层向UDP和TCP传输的时候应该传输给哪个呢?根据的是8位协议号它表示的就是上层协议的类型而最小延迟、最大吞吐量、最高可靠性、最小成本、这四个一般在使用的时候只能选择一个④什么是环路问题在路由器A和路由器B之间一直互相转发形成环所以得使用8位生存时间(选项填充是可变部分通常不启用。3.TCP和IP的区别IP的核心作用是把数据包跨网络转发给目标主机但是如果在转发过程中发生了丢包问题呢?我们的IP层关心吗?答案是:不关心而是由我们的TCP关心也就是TCP的超时重发而IP只有一种能力呢就是把数据跨网络传输但是有能力就一定能做到吗?不一定只是说有很大的概率所以如何做到百分之百的传输成功呢?呢就是需要TCP的超时重传啦所以TCP是策略而IP是解决主机距离变长的核心问题也就是一个在做决策一个在做执行4.网段划分IP网络地址主机标识子网的IP地址从哪里来?路由器具有构建子网的能力也就是说子网的IP地址是由路由器分配的路由器的IP地址的主机标识一般都是1号主机标识4.1什么是网段划分网段划分给学生进行学号的编写4.2为什么要进行网段划分支持网络建设增加淘汰概率学生证丢了之后寻找的故事每个学院是一个局域网学生会主席就是路由器而校群可以看成一个简单的公网而整个结构是精心设计过的,即每个局域网的IP地址的前缀相同这种做法为什么效率高?因为可以高效淘汰直接可以淘汰前缀不同的即整个计算机的所有人4.3如何进行网段划分①DHCP通过合理设置主机号和⽹络号, 就可以保证在相互连接的⽹络中, 每台主机的IP地址都不相同;那么问题来了, ⼿动管理⼦⽹内的IP, 是⼀个相当⿇烦的事情.有⼀种技术叫做DHCP, 能够⾃动的给⼦⽹内新增主机节点分配IP地址,避免了⼿动管理IP的不便,⼀般的路由器都带有DHCP功能. 因此路由器也可以看做⼀个DHCP服务器.②五种IP地址类型过去曾经提出⼀种划分网络号和主机号的方案, 把所有IP 地址分为五类, 如下图所示③CIDR无类别域间路由随着Internet的飞速发展上面的划分方案的局限性很快显现出来。大多数组织都申请B类网络地址导致B类地址很快就分配完了而A类却浪费了大量地址。例如申请了一个B类地址理论上一个子网内能允许6万5千多个主机。A类地址的子网内的主机数更多。然而实际网络架设中不会存在一个子网内有这么多主机的情况。因此大量的IP地址都被浪费掉了。针对这种情况提出了新的划分方案称为CIDR无类别域间路由引入一个额外的子网掩码subnet mask来区分网络号和主机号。子网掩码也是一个32位的正整数通常用一串连续的1开头以一串连续的0来结尾。将IP地址和子网掩码进行按位与操作得到的结果就是网络号。网络号和主机号的划分与这个IP地址原本是A类、B类还是C类无关仅取决于子网掩码从而实现了更灵活、更高效的地址分配。④特殊的IP地址主要包括以下几种将IP地址中的主机地址全部设为0就成为了网络号代表这个局域网本身。将IP地址中的主机地址全部设为1就成为了广播地址用于给同一个链路中相互连接的所有主机发送数据包。127.*的IP地址用于本机环回测试通常是127.0.0.1。发送到这个地址的数据包会被协议栈立即返回不会离开本机常用于测试本地的网络软件或配置。⑤私有IP地址和共有IP地址如果一个组织内部组建局域网IP地址只用于局域网内的通信而不直接连接到Internet上理论上使用任意的IP地址都可以。但是RFC 1918规定了用于组建局域网的私有IP地址范围包含在这个范围内的都称为私有IP其余的则称为全局IP或公网IP。私有IP地址主要用于局域网内部通信不会在公网上被路由因此可以在不同的局域网中重复使用有效缓解了IP地址短缺的问题。当局域网内的主机需要访问公网时通常通过网络地址转换NAT即Network Address Translation技术将私有IP转换为公网IP。私有IP地址范围10.0.0.0 到 10.255.255.255前8位是网络号共16,777,216个地址。172.16.0.0 到 172.31.255.255前12位是网络号共1,048,576个地址。192.168.0.0 到 192.168.255.255前16位是网络号共65,536个地址。4.4运营商①基本的网络情况②WIN口IP和LAN口IP②全球的网络情况什么是下一跳?简单来说下一跳是数据包从源主机前往目的主机的路径上下一个要经过的、直接相连的路由器的IP地址。可以把它理解为“快递的下一站”起点当前路由器或你的电脑要发一个数据包。终点数据包的最终目标IP。地图路由表路由器查询路由表发现“要去那个终点我不能直接送到但我可以把包裹交给离终点更近的下一站下一跳路由器”。下一跳这个“下一站”就是下一跳的IP地址。关键点它必须是当前路由器直接相连的邻居路由器的接口地址。数据包就是通过物理链路直接传给这个邻居然后由邻居继续接力转发。海底光纤嘎嘎嘎全球联系5.路由5.1 什么是路由在复杂的⽹络结构中, 找出⼀条通往终点的路线;5.2什么是路由表P数据包的传输过程也和问路⼀样.• 当IP数据包, 到达路由器时, 路由器会先查看⽬的IP;• 路由器决定这个数据包是能直接发送给⽬标主机, 还是需要发送给下⼀个路由器;• 依次反复, ⼀直到达⽬标IP地址;那么如何判定当前这个数据包该发送到哪⾥呢? 这个就依靠每个节点内部维护⼀个路由表①如何查看路由表信息route命令6.分片问题6.1 为什么要分片为了减少网络层的丢包概率6.2 怎么分片①补充概念②如何知道自己有没有被分片③如何知道报文是否收全④为什么片偏移具体的数字要是8的整数倍?是为了让报文以16位出去的符合计算机原理因为现在片偏移只有13位8刚好是2的3次方乘以8后刚好实现了这样的目的并且每个分片都有自己的报头片偏移是上一个分片的长度也就是说写进13位片偏移除以8写出13位片偏移乘以8