IP协议基础

news/2024/12/5 8:35:00/

文章目录

    • 基本概念
      • IP和TCP分别解决什么问题
    • 以下过程都是在网络层完成的
    • 网段划分
    • 路由
      • 路由转发过程
      • 路由表

基本概念

主机: 配有IP地址, 但是不进行路由控制的设备。

路由器: 即配有IP地址, 又能进行路由控制。

节点: 主机和路由器的统称。

IP和TCP分别解决什么问题

  1. TCP解决决策问题,IP解决执行问题
  2. IP给数据提供了从主机A跨网络传送给主机B的能力,但是IP层不提供可靠性机制,只是“较大概率可靠”

如何理解呢?

当产生数据未正常接收等问题的时候,TCP有超时重传、快重传等各种策略,这相当于给网络层的IP再次分发了任务,这就是一种决策,就是一种可靠性。

而IP只需要按照TCP做出的决策:如何发、发多少等去完成自己的任务,如果发生异常,就回到TCP决策层再次决策。

以下过程都是在网络层完成的

网段划分

IP地址分为两个部分, 网络号和主机号。即 IP=网络号+主机号

网络号: 保证相互连接的两个网段具有不同的标识;
主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号

  • 不同的子网其实就是把网络号相同的主机放到一起.
  • 如果在子网中新增一台主机, 则这台主机的网络号和这个子网的网络号一致, 但是主机号必须不能和子网中的其他主机重复

路由

路由转发过程

数据包传输主要是要找到入口路由器,意味着即将目的IP对应的局域网,其次才可以找到目的IP的主机。

IP数据包的传输过程和日常生活问路一样:

  1. 当IP数据包, 到达路由器时, 路由器会先查看目的IP;
  2. 路由器决定这个数据包是能直接发送给目标主机(意味着已到达入口路由器), 还是需要发送给下一个路由器;
  3. 依次反复, 一直到达目标IP地址
  • IP的意义

IP最大的意义在于路径选择。 也就是为什么需要把这个数据包由A交到B呢?这是由目的IP决定的。

而如何把数据包从A交到B,是数据链路层解决的,也就是MAC帧,目前网络层决定的是A到B。

IP数据包传输的时候每一跳是在数据链路层中的一个区间. 具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间

而每一跳之间的连接叫做一个节点,这里指的是路由器。

那么如何判定当前这个数据包该发送到哪里呢? 这个就依靠每个节点内部维护一个路由表。

凡是能够直接跳转到下一跳的,一定是直接相连的节点,也就是它们一定在同一个局域网。所谓的路由转发其实就是报文在不同局域网内各个相连节点传输的过程。

路由表

  • 路由表可以使用route命令查看
  • 如果目的IP命中了路由表, 就直接转发即可;
  • 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地址

路由转发的过程其实就是不断排除子网的过程,通过路由表,每次跳转的时候都可能是从某子网跳到某子网,所以其实就是不断地排除,最后到达入口路由器(目的IP的子网入口)。


http://www.ppmy.cn/news/62487.html

相关文章

Acwing1293. 夏洛克和他的女朋友

夏洛克有了一个新女友(这太不像他了!)。 情人节到了,他想送给女友一些珠宝当做礼物。 他买了 n 件珠宝,第 i件的价值是 i1,也就是说,珠宝的价值分别为 2,3,…,n1。 华生挑战夏洛克&#xff0…

算法DAY52 动态规划10 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

300.最长递增子序列 五部曲: 1、dp数组的含义: dp[ i ] : 代表 截至到nums[i] (包括 nums[i]) 的序列中,以nums[i] 结尾的,最长递增子序列的长度。这里强调以nums[i] 结尾,是因为还要跟nums[j]做对比,确定…

106.(cesium篇)cesium椎体旋转

听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <html lang="en"> <

互联网摸鱼日报(2023-05-08)

互联网摸鱼日报&#xff08;2023-05-08&#xff09; InfoQ 热门话题 数据库内核杂谈&#xff08;三十二&#xff09;- 杂谈五周年特别篇 比Python快35000倍&#xff01;LLVM&Swift之父宣布全新编程语言Mojo&#xff1a;编程被颠覆了 李彦宏回应文心一言与ChatGPT差距2个…

【Vue学习笔记4】基于Vue3的Composition API + <script setup>

继续前面的学习笔记。 1. 写一个累加器组件 在 src 下的 components 目录下新建一个 Counter.vue &#xff0c;并在这个文件里写出下面的代码&#xff1a; <template><div><h1 click"add">{{ count }}</h1></div> </template>…

代码随想录刷题-栈与队列-删除字符串中的所有相邻重复项

文章目录 删除字符串中的所有相邻重复项习题栈string实现 删除字符串中的所有相邻重复项 本节对应代码随想录中&#xff1a;代码随想录&#xff0c;对应视频链接为&#xff1a;暂无 习题 题目链接&#xff1a;1047. 删除字符串中的所有相邻重复项 - 力扣&#xff08;LeetCod…

第三章数据链路层

1.数据链路层的概述 1.0地位 数据链路层在网络体系结构中所处的地位 链路(Link)就是从一个结点到相邻结点的一段物理线路&#xff0c;而中间没有任何其他的交换结点。数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上&#xff0c;就构成了数据链路。数据链路层以帧…

Mac安装docker

一、docker是什么&#xff1f; 1、Docker的三个基本概念: Image(镜像)Container(容器)Repository(仓库) Docker的思想来自于集装箱&#xff0c;集装箱解决了什么问题&#xff1f; 在一艘大船上&#xff0c;可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了&a…