《图解TCP/IP》读书笔记

正文版权归知乎和作者吴双本人共同拥有 转载和爬虫请声明原文地址
www.cnblogs.com/tdws

一.写在前头

  前几日下午读完《图解TCP/IP》后就想,应该和TCP/IP协议簇的争持和通信过程做个了断,给协调写一篇读书笔记吧,坐到电脑面前,又深感无力,因为自己深知自己从无法力用一篇简短的笔记,来描述图解TCP/IP讲了何等。这自己只得就
【第一次阅读图解TCP/IP】
给自家带来了如何来做两回笔记,当然希望将来能挤出时间,阅读第二遍。和《TCP/IP详解》相相比,实在的说,二零一八年一贯看不懂详解,根本看不懂….,可是图解这本书,对于有必然网络基础的人来说,看了实在会觉得醍醐灌顶。就像学C#的时候,读一读CLR的感觉。

  比如此前写socket的时候,起头自我设想不到socket是一个哪些的概念,也不领会为什么说它是抽象层。我也不可能彻底领略,websocket和socket的区分,三个层面的事物嘛。我也曾不可能分晓,http报文怎么着通过并利用TCP/IP协议簇的一多级协议从上游到下游,即使在翻阅了《图解HTTP》后,很多内容也是不行纳闷的。甚至连在高校学的数电模电传递高低电压,也没能被自己联想到物理层上。

  在阅读的过程中,自己会挑一些回想深远的,和对协调相比重要的一部分截图到有道云笔记,每便再翻开书的时候,先把往日的截图笔记撸两眼。    

图片 1

 

二.什么是协商?怎么着通信?

 协议就是这P这P的Protocol,无论是OSI七层模型依旧TCP/IP四层模型,上下层之间的并行所依照的预约叫做【接口】,同一层之间所依照的约定叫做【协议】,所以您可以说TCP是传输层协议,HTTP是网络层协议,你使用Socket
一套API调用TCP举办通信叫做调用API接口,还有我们最广大的Web请求,使用的叫做Http【协议】,为何不叫做Http【接口】,因为其通信属于在应用层到应用层,使用的号称,各自通过【接口】逐层处理报文数据->TCP数据段->IP数据包->链路数据帧->物理比特位,在流经各层接口时,附带上该层的首部,以便在到达目的时,再由各层逐步剥去首部,復苏原有高层次的数量表现模式,比如数据报。

图片 2

 

三.物理层&数据链路层

那本书从网络通信的最底部讲起。物理层->数据链路层。

物理层传输的是电和光信号,就像高低电位代表1和0。

数据链路层的发送端和终点端通信凭借MAC地址,MAC可以辨别出【同一个传输介质】上的设备,注意是同一个传输介质。这里其实就是干吗网络层需要借助IP地址而不是MAC地址,这是因为MAC的通信,是不可以跨传输介质的。我们都知晓互联网的结缘,是有好多小范围的以太网或局域网结合,没有人能保证不同范围不一地方的网络搭建和连接使用同样的传导介质,传输介质也许有同轴电缆,双绞线,光纤电缆,无限电磁波d等等。下边有说到物理层传输的是01体系,而数据链路层并不是单独的处理0和1,数据链路层的传输单位叫做帧,并且【不同】的数量链路的【最大】允许传输单元也不同,比如以太网最大单元为1500字节,FDDI(光纤分布式数据接口)为4352字节,这也是底下要涉及网络层IP协议所缓解的题材,请继续往下看。

这就是说为何有了MAC地址,物理层的信号就领悟怎么走啊?这就是以太网沟通机(五个端口的网桥)所要处理的事体了,其经过自学的历程,学习到哪些目的mac地址应该走不行物理上网络接口。书中原文说道【实质上得以明白为mac地址就是接口的目的】。

四.网络层

 网络层,在大家做Web方面,听到最多的应当非IP协议莫属了,IP一包为单位,可是仅凭IP协议,不可以到位通信。

鉴于IP地址不美观和不便民人类社会的记得,有了IP的别名-域名,咋样遵照域名找到IP地址举行多少传输,这个时候根本的就是网络层的DNS。

其余,在行使IP通信的时候,最后肯定要透过数据链路和物理层呀,数据链路层需要的是MAC地址,那么按照IP地址拿到MAC地址的说道就是网络层的ARP。

网络层重要担负终端节点间的通信,数据链路层首要效率是并肩同一种多少链路之间展开包传递。一旦数据的传递,需要跨数据链路,那么网络层的职能就反映出来了。这其实正解决了上一小节所指出的【不同】的数目链路的【最大】允许传输单元也不比的题材和MAC可以辨别出【同一个传输介质】上的装备。下边上图,来自于原书。光纤分布式数据接口最大传输单元为4352,以太网为1500,数据在发送和接收端所需传输路径已经属于不同介质,跨越不同数量链路了,所以这么些时候发挥效用的是IP分片。

图片 3

还有另外一种,叫做最大传输单元发现体制,其行事如下图所示:

图片 4

对此数据链路层和IP层有一个印象的比方。乘客找到了旅行社定制旅游行程,从出发地到目的地(终端到顶点通信)得到的计划是,飞机->火车->公交车。那么游客所买的票机票,火车票,公交卡,只可以在固化区间(数据链路)有效。

图片 5

 

五.传输层

 传输层最要紧的通信协议是TCP和UDP。前者为有连接型,后者为无连接型。TCP通信保证了数据传输的可靠性所有的数额传输,需得到相应的认同应答。上面是二种丢包,并保证可靠性传输的言传身教。

                                                     
  图片 6

 

此外为了传输效率,TCP的窗口机制是这么的,

下边两张图是传输成功的意况与回应失利的情状

              图片 7

 

下边图片所示,为发包战败的情景:

图片 8

六.应用层

在TCP/IP四层模型中,应用层位于最顶层,相对于OSI七层模型,其蕴藉应用层,表示层,会话层。会话层负责管理什么日期断开和连接,传输层负责的则是具体实施动作。在TCP/IP中,那个之所以被分类到应用层,我觉得是要留住更多的长空到大家的服务器应用上,大家可以在高档代码层面管理会话和数量格式转换。关于应用层协议日常询问和动用最多的就是http了,不在此做速记啦。看来想要了然应用层的合计,底层的说道多了然一些,总会令人感觉到明朗。