计算机网络基础
这里写目录标题
1.计算机网络概述
![image-20201204110115959](https://gitee.com/gitmatrix/images/raw/master/img/image-20201204110115959.png)
1.1计算机网路的发展
-
互联网基础结构发展的三个阶段:
第一阶段: 从单个网络ARPANET向互连网发展的过程;
第二阶段: 的特点是建成了三级结构的互连网(主干网、地区网和校园网);
第三阶段: 的特点是逐渐形成了多层次ISP(互联网服务提供者)结构的互联网。 -
制定互联网的正式标准要经过以下三个阶段:互联网草案、建议标准、互联网标准。
![image-20201204110206887](https://gitee.com/gitmatrix/images/raw/master/img/image-20201204110206887.png)
1.2互联网的组
- 从工作方式上划分:
- 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享;
- 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享;
- 通信方式划分:
- 客户-服务器方式(C/S方式):客户是服务请求方,服务器是服务提供方;
- 对等连接方式(P2P方式):两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方;
1.3计算机网络的性能指标
- 速率:指数据的传送速率,也称为数据率或比特率,单位是bit/s(b/s或bps);
- 带宽:在计算机网络中,网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”;
- 吞吐量:表示在单位时间内通过某个网络(或信道、接口)的实际的数据量;
- 时延:指数据从网络的一端传送到另一端所需的时间。包括发送时延、传播时延、处理时延和排队时延;
- 时延带宽积:时延带宽积 = 传播时延 * 带宽;
- 往返时间RTT:互联网上的信息双向交互一次所需的时间;
2.网络互联参考模型详解
2.1. 什么是协议
了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。
数据通信协议的定义决定数据的格式和传输的一组规则或者一组惯例
2.2协议分层
网络通信的过程很复杂:数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接收者能够阅读.
为了降低网络设计的复杂性,将协议进行了分层设计
分层设计的意义:
- 用户服务层的模块设计可相对独立于具体的通信线路和通信硬件接口的差别
- 而通信服务层的模块设计又可相对独立于具体用户应用要求的不同
3. OSI的七层框架
。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。
![img](https://gitee.com/gitmatrix/images/raw/master/img/784487-20170118164512515-2009100776.png)
数据的封装与解封装
数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。 在OSI 7层参考模型中,每一层主要负责与其他机器上的对等层进行通信。 该过程在“协议数据单元”(PDU)中实现,其中每一层的PDU通常由该层的协议头,协议尾和数据封装组成。
PDU 协议数据单元: 在开放式系统互联(OSI)模型中,在传输系统的每一层都将建立协议数据单元(PDU).PDU包含来自上层的信息和当前层的实体附加的信息,这个PDU会被传送到下一较低的层。
![在这里插入图片描述](https://gitee.com/gitmatrix/images/raw/master/img/20181205142408791.png)
封装的过程: 数据 -—— 段 —— 包 —— 帧 —— 比特流
4. TCP/IP协议簇
5层协议设备关联图
TCP/IP参考模型的层次结构:
各层对应的主要协议
应用层协议
HTTP 超文本传输协议
- 协议所在层次:应用层协议
- 名称:HTTP协议
- 协议端口:80/8080
- 协议说明:超文本传输协议(HTTP,Hyper Text Transfer Protocol)是互联网上应用最广泛的一种网络协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
Telnet
- 协议所在层次:应用层协议
- 名称:Telnet协议
- 协议端口:23
- 协议说明: Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。为用户提供了在本地计算机上完成远程主机工作的能力。
SNMP
- 协议所在层次:应用层协议
- 名称:SNMP协议
- 协议端口:161
- 协议说明:该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。 由一组网络管理的标准组成,包含:应用层协议,数据库模型,一组资源对象
NFS 网络文件系统
- 协议所在层次:应用层协议
- 名称:NFS协议
- 协议说明: NFS是NetworkFileSystem,网络文件系统,是FreeBSD支持的文件系统中的一种,也被称为NFS
SMTP 简单邮件传输协议
- 协议所在层次:应用层协议
- 名称:SMTP协议
- 协议端口:25(UDP)
- 协议说明:SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议。是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 SMTP协议属于TCP/IP协议簇,帮助每台计算机在发送或中转信件时找到下一个目的地
DHCP 动态主机配置协议
- 协议所在层次:应用层协议
- 名称:DHCP协议
- 协议端口:67 68 (UDP)
- 协议说明: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议
使用UDP协议工作,主要有两个用途:
- 给内部网络或网络服务供应商自动分配IP地址
- 给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述
FTP 文件传输协议
- 协议所在层次:应用层协议
- 名称:FTP协议
- 协议端口:20,21
- 协议说明: FTP(File Transfer Protocol,文件传输协议)是TCP/IP协议组中的协议之一。
备注: 由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下,FTP协议使用TCP端口中的20和21端口,其中20用于传输数据,21用于传输控制信息。
是否使用20作为传输数据的端口与FTP的传输方式有关
- 采用主动模式,那么数据传输端口就是20
- 采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商
TFTP 简单文件传输协议
- 协议所在层次:应用层协议
- 名称:TFTP协议
- 协议端口:69
- 协议说明: TFTP(Trivial File Transfer Protocol,简单文件传输协议) 是TCP/IP 协议族中的一个用来在客户和服务器之间进行简单文件传输的协议
TFTP和FTP一个主要的区别就是它没有交互式,且不进行身份验证。 具体区别请访问该博客
传输层协议(主机到主机层协议)
TCP协议
- TCP(Transmission Control Protocol,传输控制协议)是一种**面向连接的、可靠的、**基于字节流的传输层通信协议,
UDP协议
- UDP(User Datagram Protocol,用户数据报协议)是OSI(开发式系统互联)参考模型中的一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务
网络层协议(因特网层协议)
IP协议
IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。
ARP协议
地址解析协议,即Address Resolution Protocol,是根据IP地址获取物理地址的一个TCP/IP协议。
主要功能:
- 将IPv4的地址解析为MAC地址
- 维护映射的缓存
网络层对应的IP地址,是跨网段使用的。链路层地址对应的是MAC地址,是物理地址,是在局域网内使用的。
RARP协议
Reverse Address Resolution Protocol,反向地址转换协议。
ICMP协议
CMP(Internet Control Message Protocol)Internet控制报文协议。
它是TCP/IP 协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
IGMP协议
IGMP(Internet Manage Protocol)Internet组管理协议。
提供Internet网际多点传送的功能,即将一个ip包拷贝给多个host。