一、计算机网络概述
1.1 计算机网络的分类
按网络范围分:广域网(WAN)、城域网(MAN)、局域网(LAN);
按网络用户:公网、私网。
1.2 计算机网络的层次结构
TCP/IP四层模型与OSI架构对比:
1.3 层次设计的基本原则
1.4 计算机网络的性能指标
速率:bps=bit/s 延迟:发送延迟、传播延迟、排队延迟、处理延迟 往返时间 RTT:数据包在端到端通信中来回传输的时间。
二、物理层
物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了可靠的物理介质来传输数据。简单地说,物理层保证了原始数据可以通过各种物理介质进行传输。
物理层设备:
通道的基本概念:通道是一种在一个方向上传输信息的介质,通信电路由发送通道和接收通道组成。
三、数据链路层3.1 数据链路层概述
数据链路层在物理层提供的服务的基础上向网络层提供服务。它最基本的服务是将数据从网络层可靠地传输到相邻节点的目标机器的网络层。数据链路层通过不可靠的物理介质提供可靠的传输。
该层的功能包括:物理地址寻址、数据成帧、流量控制、数据错误检测和重传。
关于数据链路层的要点:
封装成帧:“帧”是数据链路层数据的基本单位:
透明传输:“透明”是指即使控制字符在帧数据中,也应视为不存在。即在控制字符之前添加转义字符 ESC。
3.2 数据链路层错误监控
错误检测:奇偶校验、循环冗余校验 (CRC)
3.3 最大传输单元 MTU
最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限的,数据帧的长度受MTU的限制。
路径 MTU:由链路中 MTU 的最小值确定。
3.4 以太网协议详解
MAC地址:每个设备都有一个唯一的MAC地址,共48位,以十六进制表示。
以太网协议:是一种应用广泛的局域网技术,是一种应用于数据链路层的协议。使用以太网,可以完成相邻设备的数据帧传输:
局域网分类:
以太网 IEEE802.3:
以太网帧结构:MAC地址(物理地址,LAN地址)四、网络层
网络层的目的是实现两端系统之间数据的透明传输,具体功能包括寻址和路由、连接的建立、维护和终止。数据交换技术为报文交换(基本以报文代替):采用存储转发方式,数据交换单位为报文。
网络层涉及的协议很多,其中最重要的协议,也是TCP/IP的核心协议——IP协议。IP 协议非常简单,只提供不可靠的、无连接的交付服务。IP协议的主要功能是:无连接数据报传输、数据报路由和差错控制。
IP协议配合IP协议实现其功能,包括地址解析协议ARP、反向地址解析协议RARP、互联网报文协议ICMP、互联网组管理协议IGMP。我们将在以下部分总结具体协议。网络层的关键点是:
1、网络层负责在子网之间路由数据包。此外,网络层还可以实现拥塞控制、互联网互联等功能;
2、基本数据单元是IP数据报;
3、主要协议包括:
路由器相关协议
4.1 IP协议详解
IP Internet 协议是 Internet 网络层的核心协议。虚拟互联网的出现:实际的计算机网络错综复杂;物理设备使用IP协议屏蔽物理网络之间的差异;当网络中的主机使用IP协议连接时,不需要关注网络细节,于是就形成了一个虚拟网络。
IP协议将复杂的真实网络变成了虚拟的互联网络;解决了虚拟网络中数据报传输路径的问题。
其中,版本是指IP协议的版本,占用4位,如IPv4和IPv6;首部长度表示IP首部的长度,占4位,最大值为15;total length表示IP数据报的总长度,占16位,最大值Bit 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访问Internet的私网,减慢了IP地址的消耗,但增加了网络通信的复杂度。
NAT 的工作原理:
对于从内网发出的IP数据报,将其IP地址替换为NAT服务器拥有的合法公网IP地址,并在NAT转换表中记录替换关系;
对于从公网返回的IP数据报,根据其目的IP地址检索NAT转换表,将目的IP地址替换为检索到的内部私网IP地址,然后将IP数据报转发到内部网络。
4.5 ARP 和 RARP
ARP(地址解析协议):提供从网卡(网络适配器)的IP地址到对应的硬件地址的动态映射。网络层 32 位地址可以转换为数据链路层 MAC 48 位地址。
ARP即插即用,自动建立ARP表tcp/ip三次握手的通信过程是,无需系统管理员配置。
RARP(Reverse Address Resolution Protocol)协议是指反向地址解析协议,可以将数据链路层MAC 48位地址转换为网络层32位地址。
4.6 ICMP协议详解
Internet 控制消息协议(Internet Control Message Protocol)可以报告错误信息或异常情况。ICMP 消息封装在 IP 数据报中。
ICMP协议的应用:
4.7 网络层路由概述
路由算法要求:正确完整、计算简单、适应网络变化、稳定、公平。
自治系统AS:指一个管理组织下的网络设备组。AS的内部网络是自主管理的,对外提供一个或多个出入口。自治系统内部的路由协议是内部网关协议,如RIP、OSPF等;路由协议是外部网关协议,例如BGP。
静态路由:手动配置,难度大,复杂度高;
动态路由:
4.8 内部网关路由协议的RIP协议
路由信息协议(RIP)[应用层],基于距离向量的路由算法,小型AS(自治系统),适用于小型网络;RIP 数据包被封装到 UDP 数据报中。
RIP协议特点:
4.9 内部网关路由协议的OSPF协议
开放最短路径优先(OSPF)[网络层],基于链路状态的路由算法(即Dijkstra算法),大规模AS,适用于大规模网络,直接封装在IP数据报传输中。
OSPF协议的优点:
RIP和OSPF的比较(路由算法决定了它的性质):
4.10 外部网关路由协议的BGP协议
BGP(Border Gateway Protocol)【应用层】:是运行在AS之间寻找好的路由的协议:所有信息都是第一次交换,后面只交换变化的部分,BGP封装成一个TCP报文段.
五、传输层
第一个是端到端,即主机到主机级别。传输层负责对上层数据进行分段,并提供端到端、可靠或不可靠的传输。此外,传输层还处理端到端的错误控制和流量控制问题。
传输层的任务是根据通信子网的特点,充分利用网络资源,提供建立、维护和取消两端系统会话层之间传输连接的功能,并负责端到端的可靠数据传输。在这一层,传递信息的协议数据单元称为段或数据包。
网络层只根据网络地址将源节点发送的数据包传输到目的节点,而传输层负责将数据可靠地传输到相应的端口。
关于网络层的要点:
5.1 UDP协议详解
UDP(User Datagram Protocol:用户数据报协议)是一个非常简单的协议。
UDP协议的特点:
UDP数据报结构:
Header: 8B, 四字段/2B [源端口| 目的港| UDP 长度 | 校验和] 数据字段:应用程序数据
5.2 TCP协议详解
TCP(Transmission Control Protocol:传输控制协议)是计算机网络中一个非常复杂的协议。
TCP协议的特点:
TCP协议的特点:
5.2.1 TCP 段结构:
最大段长度:段中封装的应用层数据的最大长度。
TCP 标头:
TCP标记的作用:
5.3 可靠传输的基本原理
基本的:
错误检测:使用编码检测数据包传输过程中的误码 确认:接收方将接收状态反馈给发送方 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据正确顺序提交 Timer:解决数据丢失问题;
Stop-Wait Protocol:是最简单的可靠传输协议,但信道利用率不高。
Continuous ARQ(Automatic Repeat reQuest:自动重复请求)协议:滑动窗口+累积确认,大大提高了信道的利用率。
5.3.1TCP协议的可靠传输
基于连续ARQ协议,在某些情况下,重传效率不高,一些已经成功接收的字节会被重复传输。
5.3.2 TCP协议流控
流量控制:让发送方不要发送太快。TCP 协议使用滑动窗口来实现流量控制。
5.4 TCP协议的拥塞控制
拥塞控制和流量控制的区别:流量控制考虑的是点对点流量的控制,而拥塞控制考虑的是整个网络,是全局的考虑。拥塞控制方式:慢启动算法+拥塞避免算法。
慢启动和拥塞避免:
快速重传和快速恢复:
5.5 TCP 连接的三次握手(重要)
TCP 三向握手使用说明:
采访者:为什么需要三次握手?
建立连接(三次握手):
第一次:客户端向服务端发送连接请求段,建立连接请求控制段(SYN=1),表示传输段的第一个数据字节序号为x,这个序号number 代表整个段的序号(seq=x);客户端进入SYN_SEND(同步发送状态);
第二次:服务器发回确认段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉段序号为y(seq=y)的客户端表示服务器已经接收到客户端序号为x的段,并准备接受客户端序号为x+1的段(ack_seq=x+1); 通过 LISTEN SYN_RCVD 进入服务器(同步接收状态);
第三次:客户端确认与服务器的相同连接。确认序号字段有效(ACK=1),本次客户端消息段的序号为x+1(seq=x+1),客户端期望接收与服务端的段序号y+1(ack_seq=y+1);客户端发送ack时,客户端进入ESTABLISHED状态;服务收到客户端发送的ack时,也进入ESTABLISHED状态;第三次握手可以携带数据;
5.6 四波TCP连接(重要)
释放连接(四波)
第一次:客户端向服务器发送连接释放段,发送发送方数据,请求释放连接(FIN=1),发送的第一个数据字节序号为x( seq=x); 客户端状态从ESTABLISHED进入FIN_WAIT_1(终止等待1状态);
第二次:服务端向客户端发送确认段tcp/ip三次握手的通信过程是,确认字段号有效(ACK=1),服务端传输的数据序号为y(seq=y),服务端期望接收客户端数据序号为x+1(ack_seq= x+1);服务器状态从ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK报文后,从FIN_WAIT_1进入FIN_WAIT_2;
第三次:服务器向客户端发送连接释放段,请求释放连接(FIN=1),确认字段号字段有效(ACK=1),表示服务器期望接收序列号为x+1的客户端数据) (ack_seq=x+1); 表示自己传输的第一个字节序列号为y+1 (seq=y+1); 服务端状态从 CLOSE_WAIT 进入到 LAST_ACK(最终确认状态);
第四次:客户端向服务器发送确认段,确认字段有效(ACK=1),表示客户端发送的数据序号为x+1(seq=x+1),表示客户端期望接收服务器数据)序列号为y+1+1(ack_seq=y+1+1);客户端状态从FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器收到最后一个ACK后,从LAST_ACK进入CLOSED状态;
为什么要等2MSL?
六、应用层
为操作系统或网络应用程序提供访问网络服务的接口。应用层重点:
6.1 DNS 详细信息
DNS(Domain Name System:域名系统)[C/S, UDP, Port 53]:解决IP地址复杂难记的问题,存储并完成域名到其内主机IP地址的映射管辖权。
域名解析顺序:
IP—>DNS服务—>好记的域名
域名由点、字母和数字组成,分为顶级域(com、cn、net、gov、org)、二级域(baidu、taobao、qq、alibaba)和三级域(www) (12-2-085 2)
6.2 DHCP协议详解
DHCP(Dynamic Configuration Protocol:动态主机配置协议):是局域网协议,是应用UDP协议的应用层协议。功能:自动为临时访问局域网的用户分配IP地址。
请登录后发表评论
注册
社交帐号登录