《图解TCP/IP》第四章

4.1 IP 即网际协议

4.1.1 IP(IPv4、IPv6)相当于OSI参考模型中的第3层-网络层

4.1.2 数据链路层和网络层的关系:

  1. 数据链路层的主要作用是在互连通一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。

  2. 为什么需要数据链路层网络层两个层次来分别负责直连设备的通信没有直连的两个网络之间的通信

    数据链路层相当于火车票,而网络层相当于行程表。只有行程表而没有车票就无法搭乘交通工具到达目的地。反之,除了车票其他什么都没有也到达不了目的地。

4.2 IP 基础知识

IP 大致分为三大作用模块:IP 寻址、路由、IP 分包与组包。

4.2.1 IP 地址属于网络层地址

  1. 在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码来进行标识。比如:MAC地址正是用来标识同一个链路中不同计算机的一种标识码
  2. 作为网络层的IP,也有这种地址信息。一般叫做IP地址。IP地址用于在链接到网络中的所有主机中识别出进行通信的目标地址
  3. 不论是以太网,无线局域网,PPP等,都不会改变IP地址的形式。网络层对数据链路层的某些特性进行了抽象,数据链路层的类型对IP地址形式透明
  4. 网桥或者交换机等物理层或数据链路层数据包转发设备中,不需要设置IP地址。因为这些设备只负责将IP包转化为 0、1 比特流转发,不需要应对IP协议。

4.2.2 路由控制

路由控制是指将分组数据发送到最终目标地址的功能。

多跳路由器

“跳”是指网络中的一个区间。IP包正是在网络中一个个跳间被转发。因此IP路由也叫做多跳路由。在每个区间内决定这包在下一条被转发的路径。

多跳路由器是指路由器或主机在转发IP数据包时只指定下一个路由器或主机,而不是将到最终目标地址为止的所有通路全都指定出来。

路由控制表

为了将数据包发给主机,所有主机都维护这一张路由控制表。该表记录IP数据在下一步应该发给哪个路由器,IP包将根据这个路由表在各个数据链路上传输。

《图解TCP/IP》第四章的更多相关文章

  1. 《Linux命令行与shell脚本编程大全》23章24章

    第二十三章 使用其他shell bash shell是linux发行版中最广泛使用的shell.但是它并不是唯一的选择,还有其他的shell可以供你选择. 23.1 什么是dash shell 百度百 ...

  2. 《Linux命令行与shell脚本编程大全》第九章 安装软件程序

    包管理系统(PMS):用来进行软件安装.管理和删除的命令行工具 9.1包管理基础 1.主流的Linux发行版都采用了某种形式的包管理系统来控制软件和库的安装 2.PMS用一个数据库来记录:系统上安装了 ...

  3. Linux命令行与shell脚本编程大全.第3版(文字版) 超清文字-非扫描版 [免积分、免登录]

    此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Linux命令行与shell脚本编程大全.第3版 (大小:约22M)

  4. 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  6. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  7. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---56

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  10. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---54

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

随机推荐

  1. Luban图片压缩

    导入依赖: implementation 'top.zibin:Luban:1.1.3' public class MainActivity extends AppCompatActivity { p ...

  2. 【垃圾回收-CMS】Java内存回收实践经验 防止内存报警

    jdk6和7服务器端(-server) 默认的新生代的垃圾回收器为:PS Scavenge,老年代默认的垃圾回收器为:PS MarkSweep 目前项目使用了jdk7,tomcat7,经常出现内存堆使 ...

  3. Promise 配合 axios 使用

    Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法 很细致的Promise使用详解 自己脑补 vue 工程化的 ...

  4. springboot配置定时任务并发执行

    @Configuration public class ScheduleConfig implements SchedulingConfigurer { @Override public void c ...

  5. MYSQL 那些事

    1.一条update语句 1.先通过引擎找到对应的行数据,并加锁 2.对行数据进行修改并调用引擎接口修改这条数据,然后释放锁(此时并没有把数据在磁盘上做出修改) 3.redo log在内存中生成这条u ...

  6. 码农会锁,synchronized 对象头结构(mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 感觉什么都不会,从哪开始呀! 这是最近我总能被问到的问题,也确实是.一个初入编程职场 ...

  7. Android Studio的第一次经历

    第一个简单APP的制作是从xml开始的,通过在java新建一个empty  activity,并在layout里找到对应的xml文件进行编写.每编写一个xml就要事先新建 一个对应的empty  ac ...

  8. Dapr Golang HTTP 调用

    Dapr Golang HTTP 调用 版本介绍 Go 版本:1.15 Dapr Go SKD 版本:0.11.1 工程结构 从上图可知,新建 3 个 Go 启动项目,cmd 为启动项目目录,其中 c ...

  9. HTML图片点击放大---关闭

    <html lang="en"> <head> <meta charset="UTF-8"> </head> & ...

  10. springboot mybatis保存数据中文保存成???

    springboot mybatis保存数据中文保存成??? 解决方法: 数据库存连接配置后面加characterEncoding=UTF-8 如下例: spring.datasource.url=j ...