一、计算机网络概述
1.1、不想算?就让机器来算吧
人类科技的历史可是说是偷懒的历史,想方设法的不想动弹,不过计算机可谓是一个非常伟大的发明了,当计算机实现可以满足一个人的需求的时候,人们就想着怎么让更多的人用上计算计这一个资源,毕竟一个人用太浪费了,于是出现了批处理系统和分时处理系统。
批处理系统(Batch Processing):用户需要事先将程序和数据装入卡带或者磁带,并由计算机按照一定的顺序读取。(这也是debug的出处,小虫子爬到磁带上了,需要去除)
分时系统:批处理虽然可以一回处理很多程序和数据,但是操作有难度,人们排队很不耐烦,所以出现了分时系统,分时系统支持多人与同一个计算机相连,CPU可以通过中断操作来满足每位使用者的需求,让用户可以感受到一人一机的快乐。
1.2、一个人玩?不行,我要和小伙伴一起
随着技术的进步,计算机的体积逐渐缩小,价格更加平民化,人们当然不能满足自己一个人玩耍,计算机不连在一起就不能实现这个效果,一开始,人们实现计算机间通信的方式仍然是保存到磁盘、软盘等外部存储器中,还需要人力运输,不行,人太懒了,为什么不让电脑自己解决呢?20世纪八十年代,计算机网络诞生。
注意,这时候只是能将不同大型、小型的电脑连接起来,还没有到达互联网的水平,所以叫做计算机网络
1.3、互联网实现一人一机
技术不断进步,计算机不断瘦身,加上为了响应多供应商的连接(异构型计算机之间的连接),形成的计算机通信网络技术就是我们所说的互联网技术。
1.3、协议
1.3.1、要不然都说普通话?
协议可以被认为统一的一个标准,由ISO(International Organization for Standards国际标准化组织)制定了一个国际标准OSI(Open Systems Interconnection 开放式通信系统互联参考模型)
1.4、OSI参考模型
1.4.1、为什么要分层?
复杂问题简单化,不同层之间交互的遵循的约定叫做接口,同一层之间的交互遵循的约定叫做协议
1.4.2、OSI7层参考模型
7层模型
各层的作用
1.5、传输方式的分类
网络与通信中可以根据发送方法进行多种方法进行多种分类,下面介绍几种。
1.5.1、面向有连接型和面对无连接型
面向无连接型包括以太网、IP、UDP等协议,面向有连接型包括ATM、帧中继、TCP等协议
面向连接就像人们打电话,双方必须建立连接才可以进行通话,而面向无连接就像打棒球,人要跑到哪儿得问球,不会事先打好招呼的。很多人认为面向无连接不靠谱,但是这种方式可以省略某些既定的复杂的手续,让处理更简单,易于制作一些低成本的产品,减轻处理负担。
1.5.2、电路交换和分组交换
电路交换方式中,计算机独占线路,如果并发用户进行通信就根本无法实现,所以人们想到了分组交换的方法,在分组交换中,分组交换机(路由器)连接通信线路(这条线路是许多计算机共享的)并且将接收端的数据缓存在相应的队列中,然后接收端再根据数据数据上的分组信息进行接收,就可以很好的完成并发。值得注意的是,电路交换中,计算机传输速率不变,但是分组中通信线路可能会根据网络的拥堵情况,到达目标地址的时间有长有短
1.5.3、根据接收端数量分类
1.6、地址
1.6.1、地址的唯一性
在单播传输中,是不允许有两个相同地址主体出现,那么在广播、多播和任播中如何理解呢?
下图展示了多播和任播的情况
1.6.2、地址的层次性
当地址总数很多的情况下,我们要考虑怎么最快的找到地址,分层无疑是最好的方法,类似,xx省xx市xx区xx学校xx宿舍,所以地址也必须要有层次性。在计算机网络中我们使用MAC地址和IP地址对一个通信主体进行标识。
IP地址:分为A、B、C、D类,有IPv4和IPv6两种协议。那么IP地址又是怎样实现分层的呢?一方面,IP地址由网络号和主机号两部分组成。即使通信主体的IP地址不同,若主机号不同,网络号相同,说明它们处于同一个网段。通常,同处一个网段的主机也都属于同一个部门或集团组织。另一方面,网络号相同的主机在组织结构、提供商类型和地域分布上都比较集中,也为IP寻址带来了极大的方便"。这也是为什么说IP地址具有层次性的原因。
MAC地址:由设备制造的厂商对每块网卡进行指定,有48位,可以确保每台电脑都有唯一的MAC地址。
网络传输中,每个节点会根据分组数据的地址信息,来判断该报文应该由哪个网卡发送出去。为此,各个地址会参考–个发出接口列表。在这一点上MAC寻址与IP寻址是一样的。只不过MAC寻址中所参考的这张表叫做地址转发表,而IP寻址中所参考的叫做路由控制表’。MAC地址转发表中所记录的是实际的MAC地址本身,而路由表中记录的IP地址则是集中了之后的网络号。
1.7、网络的构成要素
1.7.1、总览
上图是一个精简的网络构成要素,计算机要相连,最最最基本的就是电缆连接了
1.7.2、网卡(计算机)
任何一台计算机连接网络时,必须要使用网卡(全称为网络接口卡)。网络接口卡(NIC’)有时也被叫做网络适配器、网卡、LAN 卡。
1.7.3、中继器(物理层)
对减弱的信号还原,两端可以连接相同媒介,也可以连接不同媒介,例如可以在电缆和光缆之间调整信号,但也只是加强,并没有排错的能力
1.7.4、网桥/2层交换机(链路层)
- 能够识别链路层的数据帧,并且暂存于内存,重新生成信号作为全新的帧发给相连的另一个网段
- 利用FCS位进行排错
- 自学机制,判断是否需要转发(使用MAC地址学习)
注意:也有其他教材将网桥忽略,让网桥和路由结合
1.7.5、路由器/3层交换机(网络层)
路由器可以连接不同的数据链路,例如连接两个以太网,路由器还可以分担网络负荷 上图中的ATM指的是一种异步传输模式的分组传输
1.7.6、4~7层交换机(运输层及以上)
以传输层及应用层为基础,分析收发数据,并对其进行特定的处理
例如,对于并发访问量非常大的一个企业级Web 站点’,使用一台服务器不足以满足前端的访问需求,这时通常会架设多台服务器来分担。这些服务器前端访问的入口地址通常只有一个(企业为了使用者的方便,只会向最终用户开放一个统一的访问URL)。为了能通过同一个URL将前端访问分发到后台多个服务器上,可以在这些服务器的前端加一个负载均衡器。这种负载均衡器就是4~7层交换机的一种’。
1.7.7、网关(转换协议)
网关是OSI参考模型中负责将运输层到应用层的数据进行转换和转发的设备,通常使用一个表示层或应用层网关在两个不能直接通信的协议之间进行翻译,最终实现两者之间的通信。
例如就是互联网邮件与手机邮件之间的转换服务。手机邮件有时可能会与互联网邮件互不兼容,这是由于它们在表示层和应用层中的“电子邮件协议”互不相同所导致的,网关负责转换就可以解决这个问题。
1.7.8、总结
以上内容希望给读者一个大体的印象,从硬件到协议对计算机网络有一个大体的认知,接下来进行细节的讲述。
二、计算机网络和因特网
2.1、什么是因特网
2.1.1、定义
1、什么是计算机网络? 简单定义:一些互相连接的、自治的计算机的集合 文献定义:计算机网络是用通信设备和线路将分散在不同地点的有独立功能的多个计算机系统互相连接起来,并按照网络协议进行数据通信,实现资源共享的计算机集合。 一个通信子网:通信设备和线路;多个计算机系统:为用户提供服务;网络协议:保证数据通信
ISP(Internet Service Provider因特网服务提供商):每个ISP自身就是由多个分组交换机和多段通信链路组成的网络。
2、什么是因特网?(公共因特网) 一个世界范围内的计算机网络;互联遍及全世界数以百万计的计算设备;全球性的网络的网络
2.1.2、
2.2、网络边缘
2.3、网络核心
2.4、协议层次与服务模型
2.5、面对攻击的网络
|