一、局域网与广域网
如果按照地理区域划分,我们可以把网络划分为局域网和广域网:
广域网 WAN:是跨越广阔地理区域(城市、国家、全球)的大型计算机网络,它连接了多个局域网。

注意:所谓的'局域网'和'广域网'只是一个相对的概念。比如我们国家的广域网对于世界来说可以看做一个比较大的局域网。
局域网 LAN:是在一个有限的地理范围内(例如一栋楼、一个校园、一个家庭)将计算机、服务器和其他设备连接起来的网络。

二、初识协议
我们向另一台设备发送消息时,发送的不仅仅只有消息(这里的消息在网络中称为报文),还有报头,而这个报头就是协议。
- 所谓'协议'就是一种约定,通信双方只要遵守曾经一起制定的约定,就可以使用这种约定来完成某些事情。
- 而网络协议就是通信计算机双方必须共同遵从的一组约定,因此我们一定要将这种约定用计算机语言表达出来,此时双方计算机才能识别约定的相关内容。
生活示例:打电话约定电话铃响的次数
张三和李四曾经一起约定:以后我们打电话先不要接,如果电话只响一声,说明我喊你吃饭。如果响两声,说明我喊你写作业……
如此,只要双方遵守约定,就可以间接达成通信目的了。
计算机世界的示例:错误码
通信计算机双方曾经做过如下约定:
- 如果 code 为 0,表示数据可靠
- 如果 code 为 1,表示数据不可靠,且对应错误原因 1
- 如果 code 为 2,表示数据不可靠,且对应错误原因 2
- ……
struct cmd {
int code : 0;
int data : 66;
};
这是一个位段结构,我们是可以通过位段/结构体来表示某种协议规定的。在计算机网络中,协议其实就是通过类似结构体/位段这样的数据结构来实现的。
网络协议由谁来定?
完善的协议,需要更多更细致的规定,并让参与的人都要遵守。
计算机生产厂商有很多,计算机操作系统也有很多,计算机网络硬件设备还是有很多。
如何让这些不同厂商之间生产的计算机能够相互顺畅的通信?就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是网络协议。
一般具有定制协议或者标准的资格的组织或者公司都必须是业界公认或者具有江湖地位的组织或者公司。
报文在网络运输中以什么形式存在?
以二进制的光电信号的形式存在,以光电信号的频率、强弱来表示 0/1。
1. 协议分层
网络协议栈是被设计成为层状结构的,其目的就是为了将层与层之间进行解耦,保证代码的可维护性和可扩展性。
为什么协议要分层?
协议的本质也是软件,在软件工程这个学科中有个重要的概念:。
























