跟我学TCP/IP系列1

跟我学TCP/IP系列1

———在讲解TCP/IP的相关内容之前,我们先来聊聊有关网络的基础知识,以便帮助我们更好地理解后续的内容。跟我学TCP/IP系列会有几篇推文,带领大家一步一步撕开TCP/IP的真面目,但是TCP/IP的所有内容也不是就几篇文章就可以写清楚的,我这边只是给大家普及一下基础知识,若有兴趣的同学可查阅相关书籍进行深入研究。现在先来说说后面会用到的有关网络的基础知识,帮助我们更快地理解TCP/IP。

01 计算机网络的发展

计算机网络的发展大致可分为以下七个阶段:
批处理阶段:事先将用户程序和数据装入卡带或者磁带中,并由计算机按照一定的顺序读取,使用户所要执行的这些程序和数据能够一并批量得到处理的方式。
分时系统阶段:指多个终端与同一个人计算机连接,允许多个用户同时使用一台计算机的系统。
计算机间通信时代:计算机与计算机之间由通信线路连接
计算机网络时代:各式各样的计算机相互连接
互联网普及时代:世界各地的人们只要接入互联网,就可以通过个人电脑实现即时沟通和交流。
以互联网为中心的时代:通过IP网进行交流的时代

02协议与OSI参考模型
协议
协议就是计算机与计算机之间通过网络实现通信时事先达成的一种约定,这种约定使那些由不同厂商的设备,不同的CPU以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。
分组交换协议

分组交换是指将大数据分割成一个个叫做包的较小单元进行传输的方法。分组交换就是将数据分装为一个个小的数据包交给对方。计算机通信会在每一个分组中附加上源主机地址和目标主机地址发送给通信线路。这些发送端地址,接收端地址以及分组序号写入的目标部分称为报文首部。
一个较大的数据被分为多个分组时,为了标明是原始数据中的哪一部分,就有必要将分组的序号写入包中,接收端会根据这个序号,再将每个分组按照序号重新装配为原始数据。

协议分层与OSI参考模型

在OSI模型中,每个分层都接受由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做接口,同一层之间的交互所遵循的约定叫做协议。
分层可将每个分层独立使用,即使系统中某些分层发生变化,也不会波及整个系统,因此可以构造一个扩展性和灵活性都较强的系统。同时分层还能够细分通信功能,更易于单独实现每个分层的协议,并界定每个分层的具体责任和义务。
但是分层也会带来一定的缺陷:可能就在于过分模块化,使处理变得更加沉重以及每个模块都不得不实现相似的处理逻辑等。

OSI参考模型
应用层:为应用程序提供服务并规定应用程序中通信相关的细节,包括文件传输,电子邮件,远程登录等协议。
表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换,(将数据从主机持有的格式转换为网络标准传输格式)具体来说就是将设备固有的数据格式转换为网络标准传输格式,不同设备对同一比特流解释的结果可能会不一样。
会话层:负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。(采用哪个连接发送)
传输层:起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理(确立连接与断开连接重发)。
网络层:将数据传输到目标地址,目标地址可以是多个网络通过路由器连接而成的某一个地址,因此这一层主要负责寻址和路由选择(从主机A到主机B的数据通信处理)。
数据链路层:负责物理层面上互连的,节点之间的通信传输。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)数据链路层的作用就是在这些通过传输介质互连的设备之间进行数据处理。
物理层:负责0、1比特率与电压的高低,光的闪灭之间的互换。(将数据的0、1转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备之间使用地址实现传输,这种地址称为MAC地址,也可称为物理地址或者硬件地址)。
网络层和数据链路层都是基于目标地址将数据发送给接收端的,但是网络层负责将整个数据发送给最终目标地址,而数据链路层则只负责发送一个分段内的数据。
03
传输方式的分类
面向有连接和面向无连接

面向有连接:在发送数据之前,需要在收发主机之间连接一条通信线路。因此必须在通信传输前后,专门进行建立和断开连接的处理。
面向无连接:面向无连接则不要求建立和断开连接,发送端可用于任何时候自由发送数据,反之接收端也永远不知道自己会在何时从哪里接收到数据。因此在面向无连接的情况下,接收端需要时常确认是否收到了数据。

电路交换和分组交换

在电路交换中,交换机主要负责数据中转处理,计算机首先被连接到交换机上,交换机与交换机之间则由众多通信线路再继续连接。因此计算机之间在发送数据时,需要通过交换机与目标主机建立通讯电路。我们将连接电路称为建立连接,建立好连接后,用户就可以一直使用这条电路,直到该连接被断开为止。

分组交换则是一种让连接到通信电路的计算机将所要发送的数据分为多个数据包,按照一定的顺序排列之后分别发送的传送方式。在分组过程中,已经在每个分组的首部写入了发送端和接收端地址,所以即使同一条线路同时为多个用户提供服务,也可以明确区分每个分组数据发往的目的地,以及它是与哪台计算机进行通信。
在分组交换中,由分组交换机连接通信线路,分组交换的大致处理过程是,发送端计算机将数据分组发送给路由器,路由器收到这些分组数据以后,缓存到自己的缓冲区,然后再转发给目标计算机,因此分组交换也称为蓄积交换。

也可以根据接收端数量进行以下分类
单播:也就是一对一通信。
广播:指将消息从一台主机发送给与之相连的所有其他主机。
多播:与广播类似,但是多播限定了某一组主机作为接收端,多播通信最典型的例子就是电视会议。从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。所被选中的那台特定主机将返回一个单播信号,随后发送主机会只跟这台主机
进行通信。
任播:是指在特定的多台主机中选出一台作为接收端的一种通信方式。与多播相似都是面向一群住机,但是它们却存在不同之处。

04
网络的构成要素
网卡:使计算机连网的设备。
中继器:从物理层上延长网络的设备。
网桥/2层交换机:从数据链路上延长网络的设备。
路由器/3层交换机:通过网络层转发分组数据的设备
4-7层交换机:处理传输层以上各层网络传输的设备。
网关:转发协议的设备。

网卡:计算机连接网络时,必须使用网卡。

中继器(Repeater):是在OSI模型的第一层,物理层上延长网络的设备。由电缆传过来的电信号或光信号经由中继器的波形调整和放大再传给另一个电缆。
有些中继器可以提供多个端口服务,这种中继器被称作中继集线器或者集线器,因此集线器也可以看做是多口中继器,每一个端口都可以成为一个中继器。

网桥可以根据数据帧的内容转发数据给相邻的其他网络,网桥没有连接网段的个数限制。网桥基本上只用于连接相同类型的网络,但是有时也可以连接传输速率不同的网络。
网桥在OSI模型的第二层,数据链路层面上连接两个网络的设备。他能够识别数据链路层中的数据帧,并将这些数据帧临时存储于内存中,再重新生成信号作为一个全新的帧转发给相连的另一个网段。由于可以存储数据帧,网桥可以连接10BASE-T与100BASE-TX等传输速率完全不同的数据链路,并且不限制网段的个数。
数据链路的数据帧中有一个数据位叫做FCS,用以校验数据是否正确送达目的地,网桥通过检查这个值,将那些损坏的数据丢弃,从而避免发送给其他网段。此外,网桥还能够通过地址自学机制和过滤功能控制网络流量(这里的地址指:MAC地址,硬件地址,物理地址以及适配器地址,也就是网络上针对NIC分配的具体地址)。

路由器/3层交换机
路由器是连接网络与网络的设备
可以将分组报文发送给另一个目标路由器地址
基本上可以连接任意两个数据链路

网桥是根据物理地址进行处理,而路由器/3层交换机是根据IP地址进行处理的。

4-7层交换机负责处理OSI模型中从传输层到应用层的数据,如果用TCP/IP分层模型来表述,4-7层就是TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理。

网关则是负责协议的转换与数据的转发。
在同一种类型的协议之间转发数据叫做应用网关。网关是OSI参考模型中负责将从传输层到应用层的数据进行转换和转发的设备。它与4-7层交换机一样都是处理传输层及以上的数据,但是网关不仅转发数据还负责对数据进行转换,它通常会使用一个表示层或应用层网关,在两个不能直接进行通信的协议之间进行翻译,最终实现两者之间的通信。
网关负责读取完各种不同的协议后,对他们逐一进行合理的转换,再将相应的数据转发出去。

中继器是对减弱的信号进行放大和发送的设备。中继器通过物理层的连接延长网络即使在数据链路层出现某些错误,中继器仍然转发数据。但中继器无法改变传输速度。

知识点补充:
在数据传输的过程中,两个设备之间数据流动的物理速度称为传输速率,单位为bps(Bits Pre Second,每秒比特数);严格意义上说,各种传输媒介中信号的流动速度是恒定的,因此即使数据链路的传输速率不相同,也不会出现传输的速度忽快忽慢的情况。
传输速率高也不是指单位数据流动的速度有多快,而是指单位时间内传输的数据量有多少。
传输速率由称为带宽,带宽越大网络传输能力就越强。
主机之间实际传输速率被称作吞吐量,其单位与带宽相同,也是bps,吞吐量不仅衡量带宽,同时也衡量主机的CPU处理能力,网络的拥堵程度,报文中数据字段的占有份额等信息。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值