互联网协议浅谈

读了两遍阮一峰老师的文章,基于此,谈一谈互联网协议的大概原理。

那么什么是互联网协议呢?互联网协议对我们有什么用?

如果没有互联网协议,那么你就无法使用手机聊微信、上网,也无法看到现在这篇文章。互联网协议是约定计算机之间通信的方式,标准。有了互联网协议,互联网中的任何计算机之间就可以建立连接,传播信息。

互联网协议分五层,分别为应用层、传输层、网络层、链接层、实体层。

应用层是最接近用户的一层,而实体层是最接近硬件的一层。从上到下,每一层都依赖下一层,每一层都建立在下一层基础上实现。

下面我们就逐一介绍每一层的原理。

实体层

这一层是物理实体层,是互联网实现的基础,相关对象有:计算机、电缆、光缆、网卡、路由器、交换机等等设备。

传输层

有了网络设施,我们就可以通过网络对其他计算机进行数据传输,但是数据要有指定的规范和标准,才能在整个网络中达成共识,这个标准被定义为以太网协议。

以太网协议规定要传输的数据包分为标头和数据,标头包含发送者和接收者的信息、数据类型等,数据即要传输的内容。

每个连接到网络的电脑,肯定会有一个叫网卡的模块,这个模块在出厂的时候就拥有独一无二的地址,这个地址叫做MAC地址。在网络中通过MAC地址寻找指定计算机,对其进行数据传输。而MAC地址就会被包含在标头中。

有了地址,那么计算机又是如何在网络中找到指定MAC地址的呢?这时候用到了另一个协议,ARP协议。ARP协议约定计算机在同一子网络中广播计算机所要传输的数据,这时候的数据已经遵循了以太网协议,含有标头和数据部分。子网络中的每一个计算机都会收到数据,并且取得标头中的MAC地址和自己网卡地址进行对比,如果相同,那么接收,否则丢弃。

网络层

但是只有MAC地址是不够的,因为在上一层中说到,使用MAC地址寻找计算机进行通信的环境是同一子网络,互联网是无数个子网络组成的一张巨网。如果是中国的计算机和美国的计算机通信,这种方式就不可行了,因为不可能让计算机向子网络以外的所有网络进行广播数据,那样不仅效率低,而且还很危险。

此时我们需要另一个地址:IP地址,通过路由的方式找到指定IP地址计算机所属的子网络,然后再在子网络中进行广播。

规定IP地址的协议叫做IP协议,目前,我们广泛采用的是IP协议第四版,简称IPv4。这个版本规定,网络地址由32个二进制位组成。习惯上,我们用分成四段的十进制数表示IP地址,从0.0.0.0一直到255.255.255.255。

IP协议对数据进行了封包,跟以太网协议相同,也是分为标头和数据两部分,表头含有版本、长度、IP地址等信息。数据即要传输的内容。组成数据包后,在传输层被塞到以太网协议规定的数据包的数据部分。

传输层

有了MAC地址和IP地址,互联网上的任何两台计算机就可以通信了。

但是计算机和计算机之间通信,如何区分我用的是微信,还是QQ还是Email呢?这时候需要另一个参数,那就是端口。端口就是计算机上每一个进程(运行的程序)使用网卡的编号。有了端口,网络层的数据包就可以通过端口被指定程序所读取了,这样就实现了互联网上的程序和程序之间的通信。

我们常说的TCP协议和UDP协议就属于传输层。TCP或UDP协议会对IP数据包再一次组装,使TCP或UDP协议约定的数据包嵌入到IP数据包的数据部分,然后进行传输。

简单谈谈TCP和UDP,TCP更安全可靠,但是相比UDP会更慢一些,因为需要三次握手,反复确认。而UDP只管发出,至于对方是否接收到,并不知道。

应用层

最后计算机上的程序接收到传输层的数据,然后对数据进行解析,最后服务于用户。此时的以太网数据的结构变成了下图的样子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值