简单认识网络协议
通过浅谈互联网协议,我们已经了解了TCP/IP的参考模型,对网络的分层管理有了有一个概念。我们知道计算机之间的通信,靠的就是这些互联网协议(IPS,Internet Protocol Suite)来保障的。下面我们将通过最底层数据链路层到最顶层应用层,来简单的了解一下计算机通信的背后到底是怎么样子。
0x01 数据链路层
我们的电脑如果想要上网,首先要干嘛?想必大家会吧。我们要么连接WiFi,要么插根网线。之后我们就可以在广阔的物联网上冲浪,浏览浏览新闻,刷刷B站…(打住,回归正题。)网线,WiFi,无非就是我们把电脑连接起来的方式。利用这些电气属性,我们可以发送和接受0,1信号。这样计算机之间就建立了联系。
能发送0/1信号,计算机就可以进行交流了,最初的时候,各家都有各个的语言,但计算机又不像我们人类一样能学会多种语言。它有点笨,不能同时掌握多种方式的0/1信号的解读方式。
但慢慢地,一种叫做"以太网"(Ethernet)的协议出现了,并占据了主导地位。
以太网协议
以太网规定了一种电信号的分组方式,一组电信号构成一个数据包,称做以太网帧 ( Frame )。
以太网帧,分为 头部 ( Header
)、 数据 ( Data
)以及 校验和 ( Checksum
)总共 3
大部分。
头部包含数据包的一些说明项,比如发送者、接受者、数据类型等等,头部固定为18个字节头部依次是一个 6
字节长的 目的地址 ,用于标记数据由哪台机器接收; 一个 6
字节长的 源地址 ,用于标记数据由哪台机器发送; 一个 2
字节长的 类型 ,用于标记数据包该如何处理, 最后**4
**字节表示承载的是一个 IP
包。
数据 可以是任何需要发送的信息,长度可变, 46
至 1500
个字节。 数据还有另一个称谓, 叫做负荷 ( Payload )。
网卡
每台计算机进行网线通讯