《图解TCP/IP》内容表述

在这里插入图片描述
思维导图已附上,本次按照整本书的脉络来讲。

第一章
  首先作者该说什么呢,先介绍互联网发展史。

  1. 互联网的发展大只能分成七个阶段:
    1.1 用制片记录信息的批处理
    1.2 一台处理器多个使用者的分时系统
    1.3 连接两个计算机的计算机通信
    1.4 多个计算机一起写作的计算机网络
    1.5 众多计算机写作的互联网普及
    1.6 时代开始围绕着互联网发展的以互联网技术中心
    1.7 着重安全的建立安全连接

  2. 不同计算机的沟通是通过协议的,协议使得不同的CPU和OS能够正常交换信息协作。总之,协议很重要。

  3. 协议谁制定?协议的制定者有专门的一些机构:书中介绍了 IETF和ISO

  4. 协议的制定有自己的规范,从RFC草案发展而来

  5. 为了方便开发,ISO规定了OSI七层模型,重点就是了解这七层以及对应的功能(自己去看)。

  6. 之后介绍了传输类型。
    6.1 有连接传输无连接传输。两者各有优缺点。
    6.2 链路层分电路交换分组交换
    6.3 传输层根据传输对象也有分类

  7. 之后介绍了地址的概念
    7.1 总的来说,地址在全球来说是唯一的。
    7.2 地址也分有层次 IP地址的和无层次的MAC地址

  8. 网络中各种设备:网卡、中继器、路由器、4-7层交换机和网关

  9. 介绍了实际中网络的情况。
    9.1 网络分主干道和边远地区
    9.2 通信分互联网通信和移动通信
    9.3 从发布者来看,把数据分到多个数据中心去了
    9.4 同时因为使用资源的数量是有时段的,于是介绍了运技术虚拟化

第二章
第二章是后面内容的总体概况,后面章节基本按照第一章和二章的内容进行详细描述
第二章讲了TCP/IP的背景和历史
  TCP/IP一开始是用于军事的,后面用于大学研究,最后普及开来。
  整个互联玩其实是由大量ISP提供服务的,个人从ISP接入互联网。而各IPS的信息由NOC进行数据处理,IX对各ISP进行数据交换。
  之后介绍了各层应用协议和例子,这里不细说。

第三章
第三章说了网络链路层
首先链路层的任务是什么:协议定义可通过通信媒介互连的设备之间传输的规范
在本章需要知道什么是MAC,MAC是无层次的地址,用于识别数据链路层中互连的节点。
MAC地址应该是全球唯一的,网卡出场的时候就烧录进去的地址。但是由于一些地方可以自己设置MAC地址,一些虚拟机也能,所以全球来看MAC地址是不唯一的。**但是只要一个数据链路里每个设备的MAC地址是唯一的就不会有问题。**而各通信协议设计的时候,都是以MAC地址的唯一性作为前提的。

信息传输介质也有分类:共享型和非共享。
前者可以多个设备同时进行传输,后者多个设备只能单设备进行传输。

再然后介绍了VLAN技术,虚拟网段。
首先一个问题,为了给各个计算机划分网段,新增计算机的时候就要重新进行分配十分麻烦,于是就有了VLAN技术,通过VID各交换机对设备进行识别。可以在程序上对各设备所属网段进行划分。

然后就是介绍以太网,里面不得不提IEEE802。因为局域网国际标准化项目启动与80年2月所以编号是802。

无线通信方面,根据使用的范围分类:PAN(蓝牙),LAN,MAN,RAN

PPP协议:用于点对点协议,其实就是和ISP协商上网的协议。密码验证方式分CHAP和PAP
协议分层LCP和NCP。前者建立和断开连接,设置最大接受单元;后者负责地址设置和TCP/IP首部的压缩。

再之后介绍了其他的数据链路类型,比如ATM及信元的概念,大量传输数据的HIPPI协议和光纤。

接下来是公用网络,也就是远距离传输。
如果看过《网络是如何连接的》,就会很熟悉了。
ADSL,非对称数字用户环路,这个时候数据会从数字信号变成模拟信号然后远距离传输。
光纤相关的FTTH,书中还介绍了FTTB和FTTC。FTTB是到大楼,然后大楼内部再布线实现网络;FTTC是到一户人家,然后把周围住户一同接入。
有线电视技术,主要特点是上行速度慢于下行速度。
专线技术价格昂贵
v*n使用MPLS(多协议标签转换),后面介绍了v*n的特点,单向传输,可以通过标签构建虚拟链路,传输快。在IP首部添加了“封装安全有效荷载”和“首部认证”,安全性是有保障的。这也缓解专线价格贵的问题,可以使用v*n。

第四章和第五章
介绍了IP协议,IP就是有层次的地址,最终指导信息传递到正确的设备。
IP到达目的地需要路由控制,通过在各个路由之间转发达到最终目的地。
然而光靠IP协议是没有用的,还需要一堆协助协议

  IP地址由主机标识和网络标识,通过子网掩码区分这两块数据。
  一开始IP地址分ABCD类,D是广播用,且一个设备一个IP地址。然后发现IP地址实在不够用,于是实现动态分配。
  DHCP技术,分配机制有两种,固定MAC地址固定IP,接入后随机分配IP地址。这两种方式是共同作用的。IP地址的分配是用户向ISP申请,ISP再通过ICANN机构分配。
  但是后来发现IP地址还是不够,于是子网掩码不再是0/8/16/24/32这种8的倍数了,之后是2的次方数。换句话说就是放弃了IPD地址的分类,这就是CIDR技术,无类型域间选路。
  可是还有一个问题,一旦设置一个域内子网掩码为27,整个域内子网掩码都是27.为了解决这个问题推出了VLSM技术,也就是可变长子网掩码。实现了域内不同部门不同的子网掩码长度。

地址按照分类有全局地址和私有地址,私有地址是用于没连接互联网的独立网络中主机。后来再根据NAT与NAPT技术,对私有地址转换为共有地址,可以实现一个全局IP与多个主机的通信。

其他的技术还有DNS和ARP这里不再重复介绍。但是ARP还有个对应技术RARP,也就是根据MAC地址反问自己的IP地址,这需要一个RARP服务器实现该功能。

ICMP之前别的书也做过介绍,但是因为IPv6中ARP功能合到了ICMPv6中,换句话说,对于IPv6而言ICMP包含了报错和查询功能。这也就是ICMPv6信息和ICMPv4的区别。前者信息分类为错误消息和信息消息,而后者则是错误消息和诊断查询消息。

IP隧道功能,应用场景就是两个使用IPv6的域中间夹杂了个支持IPv4的域,使用IP通道能把信息从中间传输过去。该技术特点是在网络层首部再添加网络层首部。

通信质量控制,QoS技术,用于解决信息传输优先级问题,当信息拥堵的时候优先抛弃哪些信息。总的来说技术分为IntServ和DiffServ,前者精细控制后者粗糙控制。IntServ比较消耗网络资源,根据字段的值进行详细判断,后DiffServ则根据厂商等各种大致信息进行控制。总体来说DiffServ实用性更强。

显示拥堵通知这块我不是很理解,只知道是一个用于解决网络拥堵情况的协议。特点描述就是,不断地试探和侵占网络传输资源,如果超时了就减少发送量,如果传输顺利就一直加大传输速率。

简单介绍一下IPv6,对比IPv4的32bit,IPv6有128bit。IPv6根据分类有不同的地址组成,全局单播地址链路本地单播地址唯一本地地址。总之可分配的IP地址数量短期来看是用不完的,理论上可以给每个设备配一个IP地址。问题在于IPv4已经用习惯了,所以IPv6的普及率是个问题。

IPv4和IPv6首部细节我没仔细记忆,等到后面需要的时候再查看。总之里面一堆控制信息,然后记录了源地址和目标地址。

到这再说一下NAT,NAT技术其实有个缺点,就是网关外的设备无法连接到NAT设备内部网络。NAT的机制是当内部设备发送信息到外网的时候,私有地址转换为共有地址,端口地址也发生改变,并记录在一张对应表里。但是当连接从外部发起的时候,转换表里是没有内部设备的IP和端口信息的。对此有两个解决办法:
1、使用IPv6,每个设备都配备个全局IP
2、定时给NAT设备发个虚拟信息包,维持转换表中有该设备信息。

这种让NAT外部设备发起连接找到内部设备的情况称作NAT穿越

第六章 TCP和UDP
该内容已在《图解HTTP》中有描述,但是本书介绍了几个TCP和UDP协议的衍生类型
UDP-Lite 当接收到错误包的时候,不希望丢弃全部UDP信息就可以使用该协议。常用于视频连接等即时传输。
SCTP流控制协议,用于给多个IP地址同时通信,通信过程中出现以太网和无线LAN的切换也能够保持通信不断。用于给具备多个NIC的主机提供可靠传输。
DCCP,解决UDP没有拥塞控制的问题。

第七章
路由协议:
作用就是把信息传递到正确的地方
按照设置可以分为动态和静态。静态的问题是设置随着路由器变多愈加繁琐,且一个路由器出了故障不能自动更新路由表。动态能解决静态的问题,但是更考验技术,设置不好就是一场灾难。

路由算法具有代表性的是距离向量和链路状态算法。
距离向量很好理解,表里只算距离。但是会有个问题就是:路由发出的探索信息可能无限循环。
链路状态算法则是统计整个域内的状态。但是随着连接的路由器变多,获取完整的链路表要的时间就越长。
相关的概念是路由收敛,这里采用百度来的表述:
路由收敛指网络的拓扑结构发生变化后,路由表重新建立到发送再到学习直至稳定,并通告网络中所有相关路由器都得知该变化的过程。

这两种算法的代表:
距离向量:RIP及后来的RIP2
链路状态:OSPF

OSPF制定一个路由为中心交换路由,有它统一进行链路探索和链路表的更新。链路状态算法中所有路由的转发表是一致的。

为了解决链路状态算法的问题,将区域分层进行管理。提出了AS(自治系统)的概念。也就是一个AS
然后使用路由连接各个AS,这样的路由叫主干路由。通信协议叫做IBGP,内部边界网关协议。
然后一个ISP里有多个AS,使用16bit的AS编号区分,各个ISP之间传输信息就是用EBGP,外部边界网关协议。
整个互联网就是分布式系统。

第八章应用协议和第九章网络安全
对比之前看的书没有太多补充的知识。
电子邮件:
使用的是SMTP协议,但是该协议必须传输和接收方一直开机。为了解决这个问题,搞了个专门的邮件服务器二十四小时开机。为了满足多个设备共同管理邮件的需求,添加了IMAP协议(Internet message access protocol)统一管理状态。

原本网络邮件只有文本内容,后来通过MIME数据格式,使得邮件内容丰富起来。

网络管理方面
使用的是SNMP协议,管理网络状态。
MIB是其数据格式,它是在树状结构的数据库中为每个项目附加编号的一种信息格式。

之后有RMON协议,监控的数据从一个点变成了一条线。

多媒体通信实现技术:
SIP 通话发起协议
RTP 用于实现UDP协议的顺序传输,为每个报文附加时间戳和***。
MPEC 数据压缩技术
这些我也就了解了个概念。

个人感想

难度方面:
  因为之前看过《网络是如何连接的》所以对整个网络的连接形式有了一定的认知模型,读完该书后对这些细节内容有了更详细的了解。了解了信息在网络传输中的不少细节问题。
  对我而言,本书的所含的知识量比《网络》少一些,因为《TCP/IP》大部分情况下只是涉及了一些协议内容,而另一者在我阅读的时候是完整构建整个网络的传输模型。

本书内容:
  本书介绍的不只是是TCP与IP协议,是整个用于互联网连接的所有协议,根据ISO定制的OSI模型,从最上的应用层到数据链路层的协议都有讲解。对我而言主要是明白了在实际使用中的传输细节,传输方式,特别是路由控制方面的内容。总之是扩大了知识面,使脑中互联玩认知模型更接近实际情况

关于学习方法:
  最近在实验费曼阅读法,阅读完一个章节记录读书笔记,每读一章节都会回头看学了什么,从而把新学的和已看过的内容尽量关联起来。所以从10.26号开始在上班空余之时学到11.3号才读完。
  我总有一种感觉就是阅读读的非常慢,但是我知道这是错觉,因为通过目前已有的方法,我已经尽可能的读的快了。其实还有一点就是熟练度,潜意识的训练是个长期的过程,戒骄戒躁是必备的素质。