本文为一篇扫盲文, 主要是对网络中一些基础概念进行罗列和解释, 为以后学习网络打下基础.
一. 传输方式的分类
网络与通信中根据其发送数据的发送方法进行多种分类, 分类的方法也不尽相同, 以下我们来介绍几种常见的分类.
1. 面向连接型和面向无连接型
根据网络发送数据的方式, 可分为面向连接型和面向无连接型.
(1) 面向连接型 : 在发送数据之前, 先要在收发主机之间建立一条通信线路, 也就是建立一条连接, 连接被关闭时无法发送数据.
举个例子, 面向连接型就像我们平时打电话, 当播通电话后, 至有当对方接听之后, 才能真正的通话, 而通话结束后, 我们也需要挂掉电话.
因此在面向连接型下, 需要在传输之前建立连接, 也需要在传输之后断开连接.
实际应用: TCP就是以面向链接的方式分组发送数据(关于分组稍后就会谈到).
(2) 面向无连接型 : 面向无连接型不需要建立和断开连接, 也无需确认对端是否存在, 发送端可随时发送数据; 反之, 接收端也不知道自己会在何时从哪里接收到数据. 因此, 在面向无连接的情况下, 接收端时常需要确认是否收到了数据.
举个例子, 面向无连接型就像是寄快递. 我们去寄快递的时候, 快递小哥并不会去确定我们快递单上写的收件地址是否真的存在, 而是只要快递单上有地址, 快递小哥就会将快递发出去.
可能有人会觉得面向无连接的通信方式很不靠谱, 但实际上, 对于某些特殊设备, 它是一种非常有效率的方法, 易于制作一些低成本的产品, 减轻处理负担.
2. 电路交换与分组交换
根据网络通信方式不同, 可分为电路交换和分组交换.
(1) 电路交换
在电路交换中, 主要由交换机来负责数据的中转处理. 也就是说, 两台主机之间的通信线路, 是由若干个交换机连接而成的. 计算机之间发送数据时, 需要通过交换机与目标主机建立通信线路, 我们将连接线路称为建立连接.
但是, 这样的通信方式是在已经确定好的两台主机之间进行通信, 换句话来说, 正在通信的两台计算机是独占该线路进行数据传输的. 而每台交换机的通信线路数是一定的, 如果并发用户数超过交换机的通信线路数, 就意味着超出的用户无法通信.
显然这样是浪费资源且不合理的. 所以人们又想出了分组交换的通信方式.
(2) 分组交换
将计算机所要发送的数据拆分成多个数据包, 按照一定的顺序排列之后分别发送, 这就是分组交换.
在分组交换通信方式中, 只有一条由若干分组交换机(路由器)组成的共享线路, 数据拆分后的每个数据包的首部都写入了发送端和接收端的地址, 发送端计算机将这些数据包发送给路由器, 路由器将这些数据包缓存至自己的缓冲区, 然后再按照先进先出的顺序转发给目标计算机.
虽然这样做提高了通信线路的利用率, 但是在分组交换中, 通信线路的传输速度却不尽相同, 根据网络拥堵的情况, 数据到达目标地址的时间有长有短, 而电路交换则不会出现这种情况, 电路交换中计算机之间的传输速率是不变的. 并且, 路由器的缓存存在饱和溢出的问题, 可能会发生分组数据丢失无法发送到对端的情况.
3. 单播/广播/多播/任播
在网络通信中, 根据目标地址的个数及后续的行为对通信进行分类.
(1) 单播
单播即1对1的通信. 早期的固定电话就是单播通信的例子.
比如老师上课时, 说”小明你来回答这个问题”, 这就是老师和小明之间的通信.
(2) 广播
广播就是将消息从一台主机发送给与之相关联的其它所有主机. 广播通信的典型例子就是电视播放, 它将信号一齐发送给非特定的多个接收对象.
比如校长周一早会上向全校师生讲话.
(3) 多播
多播与广播类似, 不过不同的是, 多播指定了某一组主机作为接收端. 典型的例子就是多人参加远程会议.
比如体育老师说:”一年级一班的全体同学在操场集合!”, 这就是体育老师和一年级一班全体同学之间的通信.
(4) 任播
**任播是指在特定的多台主机中选出一台作为接收端. 通常被选中的那台特定主机将返回一个单播信号, 随后发送端主机只跟这台主机进行通信. **DNS根域名解析服务器就是任播的一个应用.
比如数学老师说:”一年级一班的哪位同学出来拿一下你们班的数学作业.”
二. 网络的构成要素
在这里对搭建一套网络环境中, 所涉及到的一些连接计算机与计算机的硬件设备进行简单介绍.
1. 网卡
任何一台计算机连接网络时, 都要使用网卡(全称为网络接口卡). 网卡又称网络适配器/LAN卡.
2. 中继器
中继器作用于OSI模型中的第一层 — 物理层, 它是物理层面上延长网络的设备.
在物理层上进行信号的传输时, 会因为距离线路等原因造成信号减弱, 中继器就是对减弱的信号进行放大和发送的设备, 使减弱的信号恢复至原来的强度然后转发.
但是中继器无法改变传输速度, 也无法连接不同速度的网络(比如100 Mbps 和 10 Mbps的以太网), 也就是说, 如果转发前和转发后的媒介不同, 则其不能完成转发. 并且, 通过中继器进行网络延长, 其距离也并非可以无限扩大.
有些中继器提供多端口的服务, 这种中继器称为中继集线器或集线器. 集线器的每个端口都可以成为一个中继器.
3. 网桥/2层交换机
网桥是在OSI模型的第二层 — 数据链路层面上连接两个网络的设备, 所以又称2层交换机.
网桥主要用来识别数据链路层中的数据帧, 并将这些数据帧临时存储于内存, 再重新生成信号作为一个全新的帧转发给相连的下一个网段.
相比于中继器, 网桥可以连接不同速度的网络, 即可以再不同媒介中转发数据.
4. 路由器/3层交换机
路由器是在OSI模型的第三层 — 网络层上连接两个网络, 并对分组报文进行转发的设备.
路由器和网桥一样, 可以连接不同速度的网络, 但是网桥是根据物理地址(MAC地址)进行处理, 而路由器则是根据IP地址进行处理. 因此, TCO/IP中网络层的地址就成了IP地址.
路由器可以连接不同的数据链路, 比如连接两个速率不同的以太网. 除此之外, 路由器还具有分担网络负荷的作用.
5. 4-7层交换机
4-7层交换机负责处理OSI模型中, 从传输层到应用层的数据. 如果以TCP/IP分层模型来表述, 4-7层交换机就是以TCP等协议的传输层及其上面的应用层为基础, 分析收发数据, 并对其进行特定的处理.
6. 网关
网关是OSI参考模型中负责将从传输层到应用层的数据进行转换和转发的设备. 它与4-7层交换机一样都是处理传输层及以上的数据.
网关不仅能转发数据, 还能对数据进行转换. 通俗点来说, 网关可以充当翻译, 在两个不能直接通信的协议之间进行翻译工作, 从而实现两者之间的通信.
网关与网桥不同, 网桥只是简单的传达信息, 而网关对接收到的信息要进行重新打包, 以适应目的系统的要求, 再将数据转发出去.