游山五岳东道主,拥书百城南面王。

万人丛中一握手,使我衣袖三年香。

– 龚自珍《投宋于庭翔凤》

(最后两句,我愿称之为目前所见最强“夸夸”词)

推荐理由

今天推荐的这本书想必很多搞计算机网络的人都听说过,毕竟是xx入门入门系列的神书之一,豆瓣评分高达 9.2 分。(一般高于 9 分都算得上优秀中的优秀了,读了不吃亏的那种。 )

之前在大学时代也曾有幸拜读过一部分,后来没用上也就没有深入地了解。最近由于工作需要,大部分的工作内容都是与网络有关,工作中渐渐发现自己在计算机网络方面基础不牢,也没有形成比较好的知识体系,所以又有缘与这本书相遇,慢慢且细致地读完了。

说回书的内容,关于网络的知识算是大而全,基本是按照 TCP/IP 协议簇四层结构来讲解,由于是针对初学者的讲解地比较简单,语言描述及大量注释也是对初学者比较友好。

如果是打算或者已经从事该技术相关行业的开发者可以好好看看,培养一种对网络技术领域比较全面的系统观。现在网络技术在各个行业用的真的是越来越多,比如笔者所在的新能源汽车电子行业,随着智能座舱、自动驾驶、车联网功能的发展,需求也越来越大。还有消费类电子也有巨大的需求,比如智能家居(灯泡都要联网)等。

虽说多一技傍身总是好的,不过庄子也说过,“吾生也有涯,而知也无涯。以有涯随无涯,殆已!”,如果你想学习这门技术,最好还是从事这个行业,在学中做,在做中学,这样才能学得快且真正学到精髓。

个人笔记与思考

  • 比较大的感悟:

    • 各种网络设备也是健忘的,记不住那么多对应关系,所以它会维护很多的表,这些表都是用来提高效率的。

    • 分层思想是一种伟大的思想,通过分明的层次感让庞大复杂的系统变得井然有序。

  • DNS 服务器提供域名与 ip 的对照表。

  • URL 输入浏览器,浏览器会对其解析。比如网址,会解析出服务器地址及其所要访问的服务器路径。

  • http 协议定义了客户端和服务器之间的交互消息内容和步骤。
    客户端首先请求信息,就是对什么进行怎样的操作。对什么指的是服务器路径之类的,操作则有GET,post等方法(put和delete能支持修改和删除,比较少见)。
    服务器收到后会解析,成功就返回内容,失败会返回对应的状态码,比如常见的404。

  • 嵌入式中需要联网时使用http协议要填入大量的东西,在浏览器那么简单,原来是浏览器帮你解析了。

  • 当一个网页还存在图片视频等内容时,一般只能获取到文字和为图片等内容留下空间,然后要填充图片还要重新发起请求。这也就是网不好时只能出现文字图片老是刷不出来的情况。

  • ip 地址是 32bit,分为网络号和主机号,具体如何分得看掩码(为 1 的部分为网络号,为 0 的部分为主机号)。主机号全为 0 代表整个子网,全为一代表广播。(这一点很重要)

  • 只有知道 ip 地址才能完成通信。(ip地址唯一定位网卡的位置)

  • 为什么网址不直接用 ip,原因是不好记。为什么不直接用网址实现类似 ip 的功能,因为效率低。

  • dns,域名服务系统,实现服务器名称与 ip 地址关联。dns 服务器也是有 ip 地址的,windows中也有设置的地方。

  • 以太网的帧的数据长度为 MTU 值(最大传输单元),为 1500 字节。
    由于以太网帧的大小限制,tcp 的数据量太大就得拆包,tcp 会给每个包编号,确保接收方能够搞清顺序。

  • tcp 的应答机制是一种错误补偿机制,确保了数据能够完整传输,丢了数据再补发就行了。所以tcp 协议不存在丢包的问题。tcp 采用动态改变 ack 等待时间的方式,避免等待时间过长或者过短的问题,因为由于距离或者网络堵塞的原因。

  • 网络分层协议的目的是为了分工,也为了灵活性。由于数据传输过程中可能会经过不同层次的协议,同时也可能在同一层协议中传输多次(面临多次拆包装包,比如经过多个路由)。同时网络传输不一样要以太网,我也可以选择无线网路代替,分层让一切都变得灵活。

  • ip 地址是网络传输的关键,决定了从哪里来到哪里去。

  • 拥有 ip 地址的不是具体我们看到的设备,比如不是计算机而是网卡。一台电脑可以有多个网卡。

  • ip 地址中的子网掩码决定了只有同一个网段的 ip 地址才能通信。这也帮助了计算机去判断使用的是那张网卡(如果多个网卡 ip 属于同一个网段,应该得加网卡号)

  • 网卡的 mac 地址是宇宙唯一的,但是只存在于 ROM,但是在使用的时候却可以更改,那是因为上电后这个值被拷贝到内存后就可以篡改了,你想改什么值都行。甚至你可以不理会自带的 mac,自己定义然后给传输协议就好了。

  • ARP(地址解析协议)表,实现 macip 地址的映射
    ARP 的地址没有及时更新(缓存错误),会造成发送错误,这个时候要么等待时间让路由更新完成(可能要几分钟),要么手动删除对应表项

  • 用于以太网传输的双绞线也有不同的品质,传输的速率越高需要的品质越好。

  • 集线器的作用就是将以太网包广播到所有连接的端口,别的事什么也不做。

  • 除了拥有集线器的功能,交换机会分析以太网数据,其自身维护一张 portmac 地址的对应表,将对应 mac 的数据转到对应 port。每个 port 类似一个网卡(处理数据方面),但是没有mac 地址,所以不会核对 mac 地址,而是接受所有数据。

  • 交换机是基于以太网设计的,路由器则是基于 ip 设计的。路由器的端口都具有 mac 地址和 ip 地址(和 pc 的网卡差不多),所以也会成为接收方和发送,只接受发给自己的包(mac地址)

  • 按理来说,纯粹路由器(只负责 ip 层面)的数据要经过交换机才能发送。不过现在的路由器都是内置交换机的。

  • ip 是委托以太网将数据传输到下个路由器而不是最终目的地址。所以路由维护的 ARP 表(ipmac 的对应)会找出目标路由的 mac

  • 实现本地 ip 地址访问互联网的原理:向某个公有 ip 发送请求,路由会将源 ip 转换成本地的公有 ip 访问目标,同时记录端口,等目标 ip 返回数据给路由时,路由根据谁请求的分发回来。路由相当于一个中枢,只有他有公网访问的能力。
    这也导致了外网不容易主动访问内网,除非手动给路由那个地址转换表添加私有地址和端口号。

【好书推荐】网络是怎样连接的相关推荐

  1. python自动化办公入门书籍推荐-好书推荐 | Python 如此神奇,让繁琐工作自动化...

    原标题:好书推荐 | Python 如此神奇,让繁琐工作自动化 Python 如此神奇,让繁琐工作自动化 编程的威力 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Al Sweigart ...

  2. 计算机专业学生新学期必读好书推荐

    小编寄语 九月的第一天,各位大一的准程序员们,欢迎你们来到技术的世界.图灵君为了帮同学们更快地进入新学期知识的大门,贴心地为计算机专业新生推荐新学期必读好书,助力你的学习之路! 另外,本周周四 9月2 ...

  3. 2020读过的好书推荐

    1.引言 2020年即将过去,今年也读了不少书,是时候回顾一下,把好书列成书单,作为今年的一个小总结.大部分是在平时上下班通勤路上完成阅读,主要分为IT技术类,经管励志类和人文社科类. 2.好书推荐列 ...

  4. python经典好书-7本有关Python的经典好书推荐,适合各类人群

    原标题:7本有关Python的经典好书推荐,适合各类人群 Python越来越受到各行业从业者的关注,成为职场人士极为关注的职业提升技能,为了解答很多初学者的问题,今天特别给大家推荐9本有关Python ...

  5. python 好书推荐_关于Python的好书推荐(三)

    1.简单易学 2.免费.开放的资源 3.高等级语言 4.流行语言 5.海量数据库 6.可扩展 Python可能是为数不多的既简单又强大的编程语言之一.这对初学者和专家都有好处,更重要的是,编程很有趣. ...

  6. 书单推荐 | web前端好书推荐(一)

     学习的最好途径就是看书. 开篇想给大家两点关于读书的建议: 经典书籍需要不断被重读--每一次重读都会有新的体会: 书籍并非读的越多越好--大多数书籍只是经典书籍中的概念延伸(有时甚至是照搬) 在此我 ...

  7. 7本有关Python的经典好书推荐,适合各类人群

    Python越来越受到各行业从业者的关注,成为职场人士极为关注的职业提升技能,为了解答很多初学者的问题,今天特别给大家推荐9本有关Python的书籍,大家有兴趣可以看看哦! 1.基础书籍:<Py ...

  8. 科普:什么是上网?网络是怎样连接的?

    网络是什么 相关资料 第一章:浏览器 1.我需要访问一个网址. 2. 具体分析 2.1 生成请求消息--web浏览器现身 2.2 IP地址查询--DNS上场 2.3 发送消息--Socket开工 2. ...

  9. Linux 开机网络无法自动连接配置、网络开机自动连接

    第一步:查看开机后网络是否正常连接? 1.图形界面开机后直接看右上角的网络是否连接正常(如图一).               图一(表示未正常连接↑↑↑↑↑↑↑↑↑) 2.如果是命令页面的,可以使用 ...

  10. 网络摄像机ip修改工具_网络监控怎么连接网络

    网络摄像机是现在市场上比较受欢迎的一种安防产品.现在向大家介绍一下网络监控怎么连接网络 工具原料摄像头 方法/步骤分步阅读 1.连接 网络摄像机是用网络线连接到PC机或者路由器上. 2.安装网络视频软 ...

最新文章

  1. 微信小程序wx:for 的使用
  2. 下拉列表插件bootstrap-select使用实例
  3. oracle not available
  4. sublimeformaya
  5. QT中的事件传递顺序小论
  6. ubuntu彻底卸载apache2、mysql、php(各版本通用)
  7. word List 13
  8. 无码系列-2-代码架构空想
  9. 51Nod-1050 循环数组最大段和【最大子段和+最小子段和+DP】
  10. H5_0020:判断安卓苹果平台
  11. ctf xss利用_Csrf+Xss组合拳
  12. linux内核源码版本查看
  13. 永远做重要而不紧急的事
  14. MySQL,Oracle,DB2,PostgreSQL上explain的用法
  15. java动物继承_java 编码实现动物世界的继承关系:动物(Animal)属性:名称(name)具有行为:吃(eat)、睡觉(sleep)...
  16. 华海清科在科创板上市:2020年扭亏为盈,清华为实际控制人
  17. android棉花糖,清甜棉花糖:安卓M/Android 6.0上手体验评测
  18. 利用XSS漏洞实现键盘记录器
  19. 150.HTML+CSS 完成魔幻的霓虹灯特效
  20. 美国标准信息交换标准码

热门文章

  1. Linux入门到进阶
  2. 函数式编程、面向对象编程、面向过程编程
  3. pHP 眼病,眼科疾病phpv什么意思 深入了解永存原始玻璃体增生症
  4. 字符串 String
  5. linux——读取文件(read)
  6. 电子邮件服务器的工作原理,电子邮件工作原理 电子邮件有什么特点呢
  7. js 冒泡排序 去重的方法
  8. FastDFS短域名实现方案、seo优化
  9. media query ios android,iPhone/Android浏览器是否支持CSS @media?
  10. vulnhub靶场-Nagini