一.计算机网络概述

1.1 计算机网络的分类
- 按照网络作用范围:广域网(WAN) , 城域网(MAN) , 局域网(LAN);
- 按照网络使用者:公用网络,专用网络。
1.2 计算机网络的层次结构

1.2.1 TCP/IP四层模型与OSI体系结构对比:

1.3 层次结构设计的基本原则
- 各层之间是相互独立的;
- 每一层需要有足够的灵活性;
- 各层之间完全解耦。
1.4 TCP/IP四层模型

1.4 计算机网络的性能指标
- 速率:bps=bit/s;
- 时延:发送时延、传播时延、排队时延、处理时延;
- 往返时间RTT:数据报文在端到端通信中的来回一次的时间。
二. 物理层
2.1 物理层的作用
- 作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
2.2 物理层的设备
- 中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程: 10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;
- 集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
2.3 信道的基本概念
- 作用:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。
- 单工通信信道:只能一个方向通信,没有反方向反馈的信道;
- 半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;
- 全双工通信信道:双方都可以同时发送和接收。
三. 数据链路层
3.1 数据链路层的概述
- 数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
3.2 数据链路层的作用
- 物理地址寻址、数据的成帧、流量控制、数据的检错、重发等
3.3 有关数据链路层的重要知识点
- 数据链路层为网络层提供可靠的数据传输;
- 基本数据单位为帧;
- 主要的协议:以太网协议;
- 两个重要设备名称:网桥和交换机。
3.4 以太网协议详解

- MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。
- 以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:
四. 网络层
4.1 网络层的概述
- 网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文。
4.2 有关网络层的重点
1.网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;
2.基本数据单位为IP数据报;
3.包含的主要协议:
- IP协议(Internet Protocol,因特网互联协议);
- ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
- ARP协议(Address Resolution Protocol,地址解析协议);
- RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
4.重要的设备:路由器。
4.3 IP协议详解
- IP网际协议是 Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。
4.4 IP协议的转发流程
4.5 IP地址的子网划分
- A类:(8网络号+24主机号)
- B类:(16网络号+16主机号)
- C类:(24网络号+8主机号)可以用于标识网络中的主机或路由器
- D类 : 地址作为组广播地址,E类是地址保留。
4.6 网络地址转换NAT技术
用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。
4.6.1 NAT 工作原理
- 从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;
- 从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。
4.7 ARP协议与RARP协议
地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。
注意:ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。
RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。
4.8 ICMP协议详解
网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。
4.8 ICMP协议的应用
- Ping应用:网络故障的排查;
- Traceroute应用:可以探测IP数据报在网络中走过的路径。
五. 传输层
5.1 传输层的概述
- 第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
- 传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
- 网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
5.2 有关网络层的重点
- 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
- 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
- 重要设备:网关
5.3 UDP协议详解
- UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议。
5.3.1 UDP协议的特点
- UDP是无连接协议;
- UDP不能保证可靠的交付数据;
- UDP是面向报文传输的;
- UDP没有拥塞控制;
- UDP首部开销很小。
5.3.2 UDP数据报结构
- 首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】
- 数据字段:应用数据
5.4 TCP协议详解
- TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议。
5.4.1 TCP协议的功能
- 对应用层报文进行分段和重组;
- 面向应用层实现复用与分解;
- 实现端到端的流量控制;
- 拥塞控制;
- 传输层寻址;
- 对收到的报文进行差错检测(首部和数据部分都检错);
- 实现进程间的端到端可靠数据传输控制。
5.4.2 TCP协议的特点
- TCP是面向连接的协议;
- TCP是面向字节流的协议;
- TCP的一个连接有两端,即点对点通信;
- TCP提供可靠的传输服务;
- TCP协议提供全双工通信(每条TCP连接只能一对一);
5.5 可靠传输的基本原理
- 不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失
- 基于不可靠信道实现可靠数据传输采取的措施:
- 差错检测:利用编码实现数据包传输过程中的比特差错检测
- 确认:接收方向发送方反馈接收状态
- 重传:发送方重新发送接收方没有正确接收的数据
- 序号:确保数据按序提交
- 计时器:解决数据丢失问题;
六.应用层
6.1 应用层的概述
- 为操作系统或网络应用程序提供访问网络服务的接口。
6.2 应用层的重点
- 数据传输基本单位为报文;
- 包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
6.3 DNS详解
- DNS(Domain Name System:域名系统)【C/S,UDP,端口53】:解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的 域名 到 IP 地址的映射。
- 域名解析的顺序:【1】浏览器缓存,【2】找本机的hosts文件,【3】路由缓存,【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。
- IP—>DNS服务—>便于记忆的域名
- 域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(baidu,taobao,qq,alibaba)、三级域(www)(12-2-0852)
6.4 DHCP协议详解
DHCP(Dynamic Configuration Protocol:动态主机设置协议):是一个局域网协议,是应用UDP协议的应用层协议。 作用:为临时接入局域网的用户自动分配IP地址。
6.5 HTTP协议详解
- 文件传输协议(FTP):控制连接(端口21):传输控制信息(连接、传输请求),以7位ASCII码的格式。整个会话期间一直打开。
- HTTP(HyperText Transfer Protocol:超文本传输协议)【TCP,端口80】:是可靠的数据传输协议,浏览器向服务器发收报文前,先建立TCP连接,HTTP使用TCP连接方式(HTTP自身无连接)。