计算机网络 基础学习笔记(细碎知识点2) 夜车星繁的博客

学习计算机网络算下来有一个星期了;因为课内的任务也比较多,所以进度比较慢,到现在没有像学习Python一样超前。在此将整理的计网学习笔记和自己的一些理解作为此篇博客主要内容。

跳过一些历史知识,我们讲一讲计算机网络的一些基础。

什么是协议:

协议就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备、不同的CPU以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。反之,如果使用的协议不同,就无法通信。这一点像是两个人交谈,事先说明彼此之间用汉语。如果协议不同,就像是语言不通,达不到交流信息的目的。

协议的分层:
ISO在制定标准化OSI之前,对网络体系结构相关的问题进行了充分的讨论,最终提出了作为通信协议设计指标的OSI参考模型。这一模型将通信协议中必要的功能分成了7层。通过这些分层,使得那些比较复杂的网络协议更加简单化。


在这一模型中,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做“接口”。同一层之间的交互所遵循的约定叫做“协议”协议分层就如同计算机软件中的模块化开发。

OSI参考模型的建议是比较理想化的。它希望实现从第一层到第七层的所有模块,并将它们组合起来实现网络通信。分层可以将每个分层独立使用,即使系统中某些分层发生变化,也不会波及整个系统。

因此,可以构造一个扩展性和灵活性都较强的系统。此外,通过分层能够细分通信功能,更易于单独实现每个分层的协议,并界定各个分层的具体责任和义务。这些都属于分层的优点。
 

OSI参考模型中各个分层的作用:

  • 应用层:为应用程序提供服务并规定应用程序中通信的相关细节。包括文件传输,电子邮件,远程登录等协议。
  • 表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设备对同一比特流解释的结果可能会不同。因此,使它们保持一致是这一层的主要作用。
  • 会话层:负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数搀传输相关的管理,
  • 传输层:起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。
  • 网络层:将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。
  • 数据链路层:负责物理层面上互连的、节点之间的通信传输。例如与1个以太网相连的2个节点之间的通信。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。
  • 物理层:负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互换。

传输方式的分类:

1.面向有连接型
面向有连接型中,在发送数据之前,需要在收发主机之间连接一条通信线路”。
面向有连接型就好比人们平常打电话,输入完对方电话号码拨出之后,只有对端拿起电话才能真正通话,通话结束后将电话机扣上就如同切断电源。因此在面向有连接的方式下,必须在通信传输前后,专门进行建立和断开连接的处理。
如果与对端之间无法通信,就可以避免发送无谓的数据。
2.面向无连接型
面向无连接型则不要求建立和断开连接。发送端可于任何时候自由发送数据。反之,接收端也永远不知道自己会在何时从哪里收到数据。因此,在面向无连接的情况下,接收端需要时常确认是否收到了数据。
这就如同人们去邮局寄包裹一样。负责处理邮递业务的营业员,不需要确认收件人的详细地址是否真的存在,也不需要确认收件人是否能收到包裹,只要发件人有一个寄件地址就可以办理邮寄包裹的业务。面向无连接通信与电话通信不同,他不需要拨打电话挂掉电话而是全凭发送端自由发送自己想传递的数据。

IP为什么面向无连接:

1.简化:面向连接比起面向无连接处理相对复杂!

2.提速:每次通信之前都需要建立连接,会降低处理速度!

需要有连接时,可以委托上一层(传输层)提供此项服务,因此,IP为了实现简单化与高速化采用面向无连接方式。

网络通信当中,也可以根据目标地址的个数及其后续的行为对通信进行分类。
如广播、多播等就是这种分类的产物。


单播(Unicast):

字面上, "Uni"表示"1", "Cast"意为“投掷”。组合起来就是指1对1通信。早先的固定电话就是单播通信的一个典型例子。

例如人与人一对一对话。


广播(Broadcast):

字面上具有“播放”之意。因此它指是将消息从1台主机发送给与之相连的所有其他主机。广播通信”的一个典型例子就是电视播放,它将电视信号一齐发送给非特定的多个接收对象。
此外,我们知道电视信号一般都有自己的频段。只有在相应频段的可接收范围内才能收到电视信号。与之类似,进行广播通信的计算机也有它们的广播范围。
只有在这个范围之内的计算机才能收到相应的广播消息。这个范围叫做广播域。

多播(Multicast):

多播与广播类似,也是将消息发给多个接收主机。不同之处在于多播要限定某一组主机作为接收端。多播通信"最典型的例子就是电视会议,这是由多组人在不同的地方参加的一种远程会议。在这种形式下,会由一台主机发送消息给特定的多台主机。电视会议通常不能使用广播方式。否则将无从掌握是谁在哪儿参与电视会议。


任播(Anycast):

任播是指在特定的多台主机中选出一台作为接收端的一种通信方式。虽然,这种方式与多播有相似之处,都是面向特定的一群主机,但是它的行为却与多播不同。任播通信”从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。通常,所被选中的那台特定主机将返回一个单播信号,随后发送端主机会只跟这台主机进行通信。

最近在wechall上做了七道入门题;。。。接下来该在bug库上做了。。。

下一节计算机网络博客我将介绍:地址,网络的构成要素。

最近感觉自己有点衰,不能再这样了,我有长远的目标。下篇博客一定更进步。

猜你喜欢

转载自blog.csdn.net/weixin_44740377/article/details/89644425