- 概述
1.1 计算机网络的分类
按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);
按照网络使用者:公用网络、专用网络。
1.2 计算机网络的层次结构
应用层:为计算机用户提供接口和服务。
表示层:数据处理。
会话层:管理通信会话。
传输层:管理端到端的通信连接。
网络层:数据路由,决定数据路由在网络上的路径。
数据链路层:管理相邻节点之间的数据通信。
物理层:数据通信的光电物理特性。
TCP/IP四层模型与OSI体系结构对比:
1.3 层次结构设计的基本原则
首先各层之间是相互独立的;
其次每一层需要有足够的灵活性;
最后各层之间完全解耦。
TCP/IP四层模型:中间窄,两段大的沙漏形态。
1.4 计算机网络的性能指标速率: bps(比特率)=bit/s
时延:发送时延、传播时延、排队时延、处理时延
往返时间RTT:数据报文在端到端通信中的来回一次的时间。
- 物理层
2.1物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
2.2物理层的设备:中继器、集线器。
2.3信道的基本概念:
信道是指往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。
单工通信信道:只能一个方向通信,没有反方向反馈的信道;
半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;
全双工通信信道:双方都可以同时发送和接收。
- 数据链路层
3.1 数据链路层概述
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
有关数据链路层的重要知识点:
数据链路层为网络层提供可靠的数据传输;
基本数据单位为帧;
主要的协议:以太网协议;
两个重要设备名称:网桥和交换机。
封装成帧:“帧”是数据链路层数据的基本单位:
帧首部和尾部是特定的控制字符(特定比特流)
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
3.2 数据链路层的差错监测差错检测:奇偶校验码、循环冗余校验码CRC
奇偶校验码–局限性:当出错两位时,检测不到错误。
循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
3.3 最大传输单元MTU最大传输单元MTU(Maximum Transmission Unit)
数据链路层的数据帧不是无限大的,数据帧长度受MTU限制。
路径MTU:由链路中MTU的最小值决定。
3.4 以太网协议详解
MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。
以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:
局域网分类:
Ethernet以太网IEEE802.3:
以太网第一个广泛部署的高速局域网
以太网数据速率快
以太网硬件价格便宜,网络造价成本低
以太网帧结构:
类型:标识上层协议(2字节)
目的地址和源地址:MAC地址(每个6字节)
数据:封装的上层协议的分组(46~1500字节)
CRC:循环冗余码(4字节)
以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;
MAC地址(物理地址、局域网地址):
MAC地址长度为6字节,48位;
MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
MAC广播地址:FF-FF-FF-FF-FF-FF。
-
网络层
网络层的目的是实现两个端系统之间的数据透明传送。
具体功能包括寻址和路由选择、连接的建立、保持和终止等。
数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文。
网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。
IP协议非常简单,仅仅提供不可靠、无连接的传送服务。
IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。
与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。
具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:
网络层负责对子网间的数据包进行路由选择;
网络层还可以实现拥塞控制、网际互连等功能;
基本数据单位为IP数据报;
包含的主要协议:
IP协议(Internet Protocol,因特网互联协议);
ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
重要的设备:路由器。
路由器相关协议
4.1 IP协议详解
IP网际协议是 Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。
IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。
其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。
4.2 IP协议的转发流程
4.3 IP地址的子网划分
A类(8网络号+24主机号)、B类(16网络号+16主机号)、C类(24网络号+8主机号)可以用于标识网络中的主机或路由器,D类地址作为组广播地址,E类是地址保留。
4.4 网络地址转换NAT技术
用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。
NAT 工作原理:从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。
4.5 ARP协议与RARP协议地址解析协议 ARP
为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。
RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。
4.6 ICMP协议详解
网际控制报文协议(Internet Control Message Protocol)可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。
ICMP协议的应用:
Ping应用:网络故障的排查;
Traceroute应用:可以探测IP数据报在网络中走过的路径。
4.7网络层的路由概述
关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化、稳定的公平的。
自治系统AS: 指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。静态路由: 人工配置,难度和复杂度高;动态路由:
链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法。
距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);
4.8 内部网关路由协议之RIP协议
路由信息协议 RIP(Routing Information Protocol)【应用层】,基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;RIP报文,封装进UDP数据报。RIP协议特性:
RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);
RIP的费用定义在源路由器和目的子网之间;
RIP被限制的网络直径不超过15跳;
和隔壁交换所有的信息,30主动一次(广播)。
4.9 内部网关路由协议之OSPF协议
开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】,基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络,直接封装在IP数据报传输。
OSPF协议优点:
安全;
支持多条相同费用路径;
支持区别化费用度量;
支持单播路由和多播路由;
分层路由。
RIP与OSPF的对比(路由算法决定其性质):
4.10外部网关路由协议之BGP协议
BGP(Border Gateway Protocol)边际网关协议【应用层】:是运行在AS之间的一种协议,寻找一条好路由:首次交换全部信息,以后只交换变化的部分,BGP封装进TCP报文段。 -
传输层
第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
有关网络层的重点:
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
重要设备:网关。
5.1 UDP协议详解UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议,
为什么需要三次握手?TCP连接的三次握手
第一次握手:客户发送请求,此时服务器知道客户能发;
第二次握手:服务器发送确认,此时客户知道服务器能发能收;
第三次握手:客户发送确认,此时服务器知道客户能收。
TCP连接的四次挥手
四次挥手的过程如下:
第一次挥手:客户端向服务器发送断开连接请求并不再给服务器发数据了;
第二次挥手:服务器响应客户端:已收到客户端的断开请求,但是还有数据没有发送完,等发送完了所有的数据就进行第三次挥手。
第三次挥手:服务器再次响应客户端:服务器的数据已经发送完,不再给客户端发数据了。
第四次挥手:客户端收到服务器第二次响应后,对服务器进行断开操作。
至此,完成四次挥手。