【好书推荐】网络是怎样连接的
游山五岳东道主,拥书百城南面王。
万人丛中一握手,使我衣袖三年香。
– 龚自珍《投宋于庭翔凤》
(最后两句,我愿称之为目前所见最强“夸夸”词)
推荐理由
今天推荐的这本书想必很多搞计算机网络的人都听说过,毕竟是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
(地址解析协议)表,实现mac
与ip
地址的映射
ARP
的地址没有及时更新(缓存错误),会造成发送错误,这个时候要么等待时间让路由更新完成(可能要几分钟),要么手动删除对应表项用于以太网传输的双绞线也有不同的品质,传输的速率越高需要的品质越好。
集线器的作用就是将以太网包广播到所有连接的端口,别的事什么也不做。
除了拥有集线器的功能,交换机会分析以太网数据,其自身维护一张
port
和mac
地址的对应表,将对应mac
的数据转到对应port
。每个port
类似一个网卡(处理数据方面),但是没有mac
地址,所以不会核对mac
地址,而是接受所有数据。交换机是基于以太网设计的,路由器则是基于
ip
设计的。路由器的端口都具有mac
地址和ip
地址(和pc
的网卡差不多),所以也会成为接收方和发送,只接受发给自己的包(mac
地址)按理来说,纯粹路由器(只负责
ip
层面)的数据要经过交换机才能发送。不过现在的路由器都是内置交换机的。ip
是委托以太网将数据传输到下个路由器而不是最终目的地址。所以路由维护的ARP
表(ip
与mac
的对应)会找出目标路由的mac
。实现本地
ip
地址访问互联网的原理:向某个公有ip
发送请求,路由会将源ip
转换成本地的公有ip
访问目标,同时记录端口,等目标ip
返回数据给路由时,路由根据谁请求的分发回来。路由相当于一个中枢,只有他有公网访问的能力。
这也导致了外网不容易主动访问内网,除非手动给路由那个地址转换表添加私有地址和端口号。
【好书推荐】网络是怎样连接的相关推荐
- python自动化办公入门书籍推荐-好书推荐 | Python 如此神奇,让繁琐工作自动化...
原标题:好书推荐 | Python 如此神奇,让繁琐工作自动化 Python 如此神奇,让繁琐工作自动化 编程的威力 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Al Sweigart ...
- 计算机专业学生新学期必读好书推荐
小编寄语 九月的第一天,各位大一的准程序员们,欢迎你们来到技术的世界.图灵君为了帮同学们更快地进入新学期知识的大门,贴心地为计算机专业新生推荐新学期必读好书,助力你的学习之路! 另外,本周周四 9月2 ...
- 2020读过的好书推荐
1.引言 2020年即将过去,今年也读了不少书,是时候回顾一下,把好书列成书单,作为今年的一个小总结.大部分是在平时上下班通勤路上完成阅读,主要分为IT技术类,经管励志类和人文社科类. 2.好书推荐列 ...
- python经典好书-7本有关Python的经典好书推荐,适合各类人群
原标题:7本有关Python的经典好书推荐,适合各类人群 Python越来越受到各行业从业者的关注,成为职场人士极为关注的职业提升技能,为了解答很多初学者的问题,今天特别给大家推荐9本有关Python ...
- python 好书推荐_关于Python的好书推荐(三)
1.简单易学 2.免费.开放的资源 3.高等级语言 4.流行语言 5.海量数据库 6.可扩展 Python可能是为数不多的既简单又强大的编程语言之一.这对初学者和专家都有好处,更重要的是,编程很有趣. ...
- 书单推荐 | web前端好书推荐(一)
学习的最好途径就是看书. 开篇想给大家两点关于读书的建议: 经典书籍需要不断被重读--每一次重读都会有新的体会: 书籍并非读的越多越好--大多数书籍只是经典书籍中的概念延伸(有时甚至是照搬) 在此我 ...
- 7本有关Python的经典好书推荐,适合各类人群
Python越来越受到各行业从业者的关注,成为职场人士极为关注的职业提升技能,为了解答很多初学者的问题,今天特别给大家推荐9本有关Python的书籍,大家有兴趣可以看看哦! 1.基础书籍:<Py ...
- 科普:什么是上网?网络是怎样连接的?
网络是什么 相关资料 第一章:浏览器 1.我需要访问一个网址. 2. 具体分析 2.1 生成请求消息--web浏览器现身 2.2 IP地址查询--DNS上场 2.3 发送消息--Socket开工 2. ...
- Linux 开机网络无法自动连接配置、网络开机自动连接
第一步:查看开机后网络是否正常连接? 1.图形界面开机后直接看右上角的网络是否连接正常(如图一). 图一(表示未正常连接↑↑↑↑↑↑↑↑↑) 2.如果是命令页面的,可以使用 ...
- 网络摄像机ip修改工具_网络监控怎么连接网络
网络摄像机是现在市场上比较受欢迎的一种安防产品.现在向大家介绍一下网络监控怎么连接网络 工具原料摄像头 方法/步骤分步阅读 1.连接 网络摄像机是用网络线连接到PC机或者路由器上. 2.安装网络视频软 ...
最新文章
- 微信小程序wx:for 的使用
- 下拉列表插件bootstrap-select使用实例
- oracle not available
- sublimeformaya
- QT中的事件传递顺序小论
- ubuntu彻底卸载apache2、mysql、php(各版本通用)
- word List 13
- 无码系列-2-代码架构空想
- 51Nod-1050 循环数组最大段和【最大子段和+最小子段和+DP】
- H5_0020:判断安卓苹果平台
- ctf xss利用_Csrf+Xss组合拳
- linux内核源码版本查看
- 永远做重要而不紧急的事
- MySQL,Oracle,DB2,PostgreSQL上explain的用法
- java动物继承_java 编码实现动物世界的继承关系:动物(Animal)属性:名称(name)具有行为:吃(eat)、睡觉(sleep)...
- 华海清科在科创板上市:2020年扭亏为盈,清华为实际控制人
- android棉花糖,清甜棉花糖:安卓M/Android 6.0上手体验评测
- 利用XSS漏洞实现键盘记录器
- 150.HTML+CSS 完成魔幻的霓虹灯特效
- 美国标准信息交换标准码