《计算机网络第6版-谢希仁》读书笔记
第二章 物理层
该章主要将网络通讯在物理信号层的具体实现。包括机械特性,信号媒介(包括网线,光纤等等)和信号波形(这样描述可能不太恰当。我是想说信号时序和信号电平幅值)。学这本书是想学习以太网的相关知识,物理层这部分就不细说了。用到什么介质再西差就行了。
第三章 数据链路层
在这层要对明白几个概念:LLC(逻辑链路控制),MAC,PHY,MII,RMII,SMI。知道了这些东西这层基本就差不多知道它的轮廓了。从硬件的角度出发一般带网络的电路都是处理器带MAC,然后在外面外扩一个PHY,在下面就是网络变压器和RJ45口以及一些保护电路了。一般来说LLC,MAC都是在处理器中。LLC是有存软件实现的,主要用来和上次协议进行接口,进行IP数据包的分包和打包等等工作。Mac层就不同了,它主要保障整个通讯过程的顺畅,包括数据的打包,数据包的过滤,数据的发送及冲突检测等等,有很多硬件寄存器来完成该部分工作。也就是MAC控制着PHY芯片完成数据的传送工作。MAC与PHY之间数据通讯采用RMII或者MII接口,寄存器采用SMI接口(一个时钟,一个数据读写线)。PHY芯片我的理解就是一个DA芯片,通过外部的网络变压器完成网络数据的读写工作。以上基本就是该层的基本轮廓,更多细节问题建议去看看相关的书籍。
第四章 网络层
该层主要解决设备到设备的问题。该章有几个关键词:ARP解析,ARP缓存,网络地址,主机地址,超级网,路由表。
由于数据链路成解决只是发送接收数据的问题,那么上层发送下来的数据如何准确地到达目的计算机呢。这就是网络层要处理的事情了。
首先先解决局域网内的设备到设备的问题。当设备启动以后它并不知道网络上有哪些设备,他们的网址是多少。那么他就要发送一个arp数据包询问局域网中某个IP地址设备的他的HA是多少。注意一个问题,ARP只能局域网内HA询问协议,如果不在一个局域网内就直接询问网关地址的HA后发送给路由器了,后续工作就交给路由器解决了。当局域网中被问到的设备收到ARP数据包后会进行回应,同时将询问方的IP地址和HA组成的数据存放到本机中的ARP缓存区,如果需要给询问方发送数据的时候就可以直接用了而不用再询问了。询问方也会将回应方的相关信息存入本机的ARP缓存区。这里面就有一个问题,如果局域网上设备有变化的话原来存在ARP混存区中的数据就没用了,如何实时更新呢,这就要给存入数据设置一个有效时间,一般几份种。这样在有效期过后就可以重新建立表从而保障数据是真实有效的。
上面讲完了局域网中的情况。如果没在一个局域网中该咋办呢。设备会将数据发送给网关设备,然后由网关设备进行处理。那么网关设备或者说路由器是如何处理的呢?讲这个问题之前要将搞明白网络地址和主机地址是咋回事。不懂的同学可以去网上百度一下,这里就不展开讲了。如果网络地址位数不定的话就构成了所谓的超级网。路由器进行路由选择主要是靠其内部的路由表来完成。路由表包括了两部分“目标IP地址”和“下一跳的IP地址”。但是请注意,这里面的IP地址可不是4字节的IP地址,而是网络地址(我们在给电脑设置地址的时候都会设置IP地址,子网掩码和网关地址对吧?有了IP地址和子网掩码就可以算出来该局域网的网路地址)。当路由器获得了一包数据以后首先将数据中的IP地址解析出来(大家可以想想为什么ARP协议必须在网络层),然后将IP地址和路由表中存的数据进行比较,如果有匹配的说明该数据要传到那个口连接的局域网中,然后路由器就可以通过ARP协议获得目标设备的HA,将数据重新打包(主要是数据链路层的HA信息)后发给目标设备。如果IP地址和所有路由表中的数据都对应不上就将数据传到路由器默认的地址去(我的理解就是网关的网关了。呵呵)。就是通过这样一级一级的路由,最后通过ARP锁定局域网中的目标设备,最终将数据传送给了目标机器。
第五章 运输层
该章讲述了如何将到数据发送到应用程序。该章有以下几个关键词:端口号,socket接口。tcp,udp
当IP层将数据解析完以后送到了运输层,运输层完成数据的组包和上送工作,从而实现将数据上送到应用层。通过端口号来唯一标识应用程序。有些端口号大家约定留给固定的应用程序,普通的应用程序需要临时指定。运输层给应用层留的接口叫socket接口。该接口通过绑定IP和端口号来实现设备和应用程序的绑定。socket首先绑定IP和端口号,对于服务器程序,socket建立监听流程和服务器响应流程。对于客户端,socket绑定完以后主动发起连接,然后和服务器进行通讯。数据传送有两种方式就是TCP和UDP方式。UDP方式不保证数据完整性,适合一对多的数据广播等应用。TCP方式保证数据的完整性适合一对一通讯。
第六章 应用层
该章讲述了应用层的软件是如何进行通讯的。我们知道软件之间进行通讯要知道对方的IP地址和端口号,这样才能建立连接。在6.2节《文件传送协议》中讲到了FTP,TFTP和telent通讯协议,这些都是比较专业的通讯手段,适合做开发或者做调试的人用。对于普通的老百姓如果想在网上查一个东西应该咋办呢。这就要说说万能的万维网了。我们每次通过谷歌或者360浏览器搜索资料的时候是不是只要输入我们想要的东西后点击搜索就可以,其实这包含了很多技术在里面,下面我们来一一分解:
首先我们说说万维网。万维网是一个大规模的联机式的信息储藏所。我们想要数据就要通过软件和万维网通讯获取数据,在这个过程中获取数据的软件相当于客户端,譬如各种浏览器。万维网服务器上运行服务器程序和浏览器进行通讯,最终将数据已网页的形式展现在我们的面前。在这个过程中有几个问题解决:
(1)如何获得地址
我们知道计算机只认IP地址和端口号,但我们在做搜索的时候只知道网址并记不住对应的IP地址,那么就要有一个系统将网址转化成IP地址,这就是“域名系统DNS”所起的作用。该系统会将我们输入的IP地址转化成IP地址供我们使用。对于网上的数据统一采用URL(统一资源定位符)来保障信息在万维网上的唯一性。
(2)如何规范客户端和服务器之间的通讯协议
服务器和客户端都有很多,如何统一它们之间的通讯协议从而保障它们能顺畅通讯能。大家规定万维网通讯都采用http协议。该协议分为请求行,首部行和实体主体三部分。采用http的URL的一般形式是:
http://<主机>:<端口>/<路径>
(3)如何规范网页内容
通过上面两条我们可以找到我们需要的资源了,但是如果想让所有的资源可以在搜索引擎上正确显示出来就要规范数据的内容。我们规定统一采用HTML来描述文件,采用CSS优化布局。
(4)如何实现客户端和服务器的数据交互
该部分通过动态万维网技术和活动万维网技术实现。要想实现该功能需要编写CGI(通用网关接口)脚本来实现。
(5)如何知道数据在什么地方
这就要依靠强大的搜索引擎了。强大的搜索引擎能获得更多我们需要的数据。
《计算机网络第6版-谢希仁》读书笔记相关推荐
- 读书笔记 | 墨菲定律
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 读书笔记 | 墨菲定律(一)
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记
<洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...
- 股神大家了解多少?深度剖析股神巴菲特
股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...
- 2014巴菲特股东大会及巴菲特创业分享
沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...
- 《成为沃伦·巴菲特》笔记与感想
本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...
- 读书笔记002:托尼.巴赞之快速阅读
读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...
- 读书笔记001:托尼.巴赞之开动大脑
读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...
- 读书笔记003:托尼.巴赞之思维导图
读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...
- 产品读书《滚雪球:巴菲特和他的财富人生》
作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...
最新文章
- 一些常见的Find 命令
- 银行业B端数字化转型逻辑
- 2021年高薪城市排名,数据盘点哪些城市对打工人最友好?
- 我是如何学习写一个操作系统(二):操作系统的启动之Bootloader
- C和指针之反转字符串
- 【开源项目】保存YUV420数据到本地
- 我眼中的服务提供和服务消费
- php redis type,redis中的几种常用基础对象介绍
- 前女友发来加密的 “520快乐.pdf“,我用python破解开之后,却发现。。。
- python一对一视频教学-使用Python的Tornado框架实现一个一对一聊天的程序
- Win10如何配置数据源ODBC数据源
- shell脚本——系统工具箱(SystemToolbox)
- html 字体围绕图片效果
- 教育教学微课题研究方案——实习调研论文
- Android 11 新特性和API兼容
- 淘宝直播商品识别大赛
- Xorg Drivers
- java实现word,pdf,excel,图片添加水印
- 学习使用solr时遇到的一些问题,记录
- 惧怕羊毛党?腾讯云为你保驾护航