一、理论基础
概念
计算机网络是互联的、自治的计算机系统的集合,能够实现数据传输和资源共享功能。
从功能角度划分为
通信子网:由各种传输介质组成,实现数据传输功能
资源子网:由设备和软件组成,实现资源共享功能(数据处理)
其中,通信子网对应于低三层(物理层、数据链路层、网络层),资源子网对应于高三层(会话层、表示层、应用层)。
有哪些分类?
计算机网络谈到分类常常以范围划分为主。
所谓 “局域网” 和 “广域网” 只是一个相对的概念,像中国的广域网也可以看作一个比较大的局域网。
-
范围上:
1)广域网(几到几千公里)
2)城域网(一个城市。5–50km)
3)局域网(1km范围的企业)
4)个人局域网(10m) -
拓扑结构
1)星形、总线形、环形(多用于局域网)
2)网状形(多用于广域网) -
传输技术
1)点对点式(分组存储转发、路由选择)
2)广播式(公共信道)
有哪些交换技术?
- 电路交换(两结点之间搭建一条专用通路用于数据传输)
优点:传输时延小、没有冲突、实时性强;
缺点:独占式信道利用率低、建立连接时间长、灵活性差。
- 报文交换(存储-转发式), 传输对象:报文
优点:无需建立连接、信道利用率高;
缺点:转发时延长、要求的缓存空间大。
- 分组交换(存储-转发式), 传输对象:分组(包)
优点:无需建立连接、信道利用率高、简化了存储管理、加速了传输;
缺点:存在发送时延、可能会存在分组失序、丢失、重复。
性能指标
1)速率:数据的传输速率,数据率 (比特率、bit/s)
2)带宽:在单位时间内网络中某信道所能通过的最高数据率bit/s;
3)吞吐量:单位时间通过某个网络的实际数据量
4)时延:指数据从网络的一端传送到另一端所需的时间。
时延=发送时延(传输时延)+传播时延+处理时延+排队时延
一般来讲,网络时延主要由传输时延和传播时延组成,传输时延是将数据分组从第一个比特到最后一个比特全部推到链路上传输所花费的时间,传播时延是数据分组在链路上传输所需要的时间;若链路拥塞的时候,分组还要经受排队时延,这是分组在链路上等待传输所花费的时间。
5)时延带宽积:时延带宽积 = 传播时延 * 带宽;
6)往返时间RTT:互联网上的信息双向交互一次所需的时间;
二、网络协议和体系结构
网络协议
协议是双方约定同一种语言,进行沟通,计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. **要想传递各种不同的信息, 就需要约定好双方的数据格式。**那么,网络协议是通信双方,约定通信时使用的数据格式,进行网络通信。
协议三要素:语法、语义、同步
语法,定义了数据与控制信息的格式;
语义,定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应;
同步,定义了事件实现顺序的详细说明;
补充:网络协议簇指的是由很多网络协议组成的,称之为协议簇。
体系结构
体系结构规定了网络的分层,以及每一个分层需要完成的功能,以及每一个分层拥有的协议,还规定了每一个分层与自己上下层的关系。
网络分层的目的:为了降低协议设计和调试过程的复杂性,便于网络的研究和实现。
补充:
-
协议:
协议是“ 水平”的,协议是控制 对等实体之间的通信规则; -
接口
接口是 同一结点、相邻两层交换信息的连接点; -
服务
服务是“ 垂直”的,服务是 下层通过接口为上层提供的功能。
三、参考模型
OSI七层结构概述
OSI七层分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
- OSI(Open SystemInterconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。
- 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机。
- 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整.
通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。 - 但是, 它既复杂又不实用; 所以我们按照TCP/IP四层模型来讲解。
TCP/IP四层(或考研分为五层)模型
TCP/IP是四层协议,依次为网络接口层、网络层、传输层、应用层。
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
-
物理层:
负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层。 -
数据链路层:
负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层。 -
网络层:
负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层。 -
应用层:
负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层。