作者:禅与计算机程序设计艺术
1.背景介绍
1.1什么是计算机网络?
计算机网络(英语:Computer Networking)是指将地理位置不同的、功能独立的多台计算机按照通信线路相互连接,在网络操作系统、数据库管理系统及其他各种计算机软硬件资源之间进行信息交流和数据共享的一组规则和 protocols 的集合。简单而言,网络就是多个计算机相互通信的规则和协议。
一般来说,网络分为三层结构,即物理层、数据链路层和传输层。
- 物理层:负责0/1信号的透传,包括物理信道、调制解调器、网卡等。
- 数据链路层:负责把数据封装成帧或包,并在两个相邻节点间传送。包括 LLC(Logical Link Control) ,MAC(Medium Access Control)、ARQ (Automatic Repeat Request)。
- 传输层:负责端到端的数据传输,包括 TCP/IP协议族。
网络中存在许多不同类型的数据,如文本文件、图像、视频、音频、应用程序、数据报文等,这些数据的交换需要通过底层协议协商,形成标准化的协议机制,比如TCP/IP协议族。
1.2 为什么要学习计算机网络?
计算机网络作为现代社会的重要一环,无论从经济、金融、军事、科技等方面看,它都扮演着越来越重要的角色。
应用层:基于HTTP协议的超文本传输、基于DNS协议的域名解析、基于SMTP协议的电子邮件收发、基于FTP协议的文件传输、基于TFTP协议的简单文件传输; 运营层:网络拓扑规划、