网络基础
一台装有操作系统,并安装好了应用软件,用户就可以正常使用了。如果每一个人的机器都这样的话,那么大家彼此之间都是孤立的。有什么东西可以解决这一问题呢,下面就由我为大家一一解答。
如何才能一起玩耍呢?
什么是互联网?
互联网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。我们每一个个体,就靠这张大网实现文件彼此传输。
既然靠这张大网,那么问题也来了,张三是北京的,李四是广东的。都用方言的话,交流起来就有问题了。于是,就得要有一个标准来统一,那就是——普通话。
同理,张三是中国的,要与美国的Michael交流的话,就得用世界统一的通信标准——英语(English)。
因此,英语就成了世界上所有人通信的统一标准。,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上就是这一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite)。
OSI五层模型
互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层,对于我们开发者来说,只要了解tcp/ip五层就行了。tcp/ip五层自下而上分别是:物理层、数据链路层、网络层、传输层、应用层。
每层运行常见物理设备
下面我们就一层一层来说一说:
1、物理层
我们上面提到了,就是把两台或多个机器必须都接入Internet完成组网。物理层的功能就是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0。
2、数据链路层
单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思。这就得数据链路层来完成。数据链路层的功能就是定义电信号的分组方式。
早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet。
ethernet规定:a、一组电信号构成一个数据包,叫做‘帧;
b、每一数据帧分成:报头head和数据data两部分。
head包含:(固定18个字节)
发送者/源地址,6个字节
接收者/目标地址,6个字节
数据类型,6个字节
data包含:(最短46字节,最长1500字节)
数据包的具体内容:head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。
ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址。这便是指网卡的地址,也就是max地址。
mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)。
有了max地址之后,同一网络内的两台或多台机器就可以通信了。
3、网络层
有了ethernet、mac地址、广播的发送方式,世界上的计算机就可以通信了,但是,大家想一想。问题是不是也来了。你这一发信息,全世界够收到了。这不仅仅是效率低的问题,换而言之,就是一场灾难。
通过IP协议和ARP协议的规范就可以完成各计算机之间的彼此通信。
4、传输层
网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序。传输层的功能就是建立端口到端口的通信。
5、应用层
用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式 。应用层的功能就是规定应用程序的数据格式。
用户上网流程
1、用户必须连接Internet,获取本机的IP地址、子网掩码、网关的IP地址、DNS的IP地址。
2、打开浏览器,在地址栏输入想要打开的网页。如:www.baidu.com
3、dns协议(基于udp协议),下图是详细工作流程图。
4、HTTP的内容它会被嵌在TCP数据包之中,然后,通过TCP协议、IP协议、 以太网协议,再到服务器端。
5、服务器端经过多个网关的转发,收到了这四个以太网数据包。根据IP标头的序号,浏览器的服务器将四个包拼起来,取出完整的TCP数据包,然后读出里面的”HTTP请求”,接着做出”HTTP响应”,再用TCP协议发回来。本机收到HTTP响应以后,就可以将网页显示出来,这就完成了一次网络通信。