计算机网络概述
计算机网络:
由若干节点以及连接节点的链路组成,节点可以是集线器,计算机或路由器等。(集线器可以连接多个结点,组成一个计算机网络,目前市面上已不再使用;目前多使用交换机,功能与集线器类似,并且不会发生数据冲突,常用于搭建内网)
互连网(内网)与互联网:
前者为多个网络通过一些路由器相互连接起来,从而覆盖成一个更大的计算机网络,与网络直接相连的计算机叫主机;互联网即由中国电信、移动等各大ISP和国际机构组建的覆盖全球的互连网,其内部必须使用TCP/IP协议通信,但更小的互连网则不要求。
发展阶段:
单个网络(ARPANET)-》三级结构互联网(主干网,地区网,校园网或叫企业网)-》全球范围的多层次ISP结构(移动、电信等)。
互联网组成部分:
边缘部分(主要由电脑、平板,手机等主机组成,用于通信和资源共享)和核心部分(由网络和大量路由器组成,为边缘部分提供服务)。
数据交换方式:
电路交换(网络资源利用率太低),报文交换(传输效率也不太高),分组交换(基于报文,目前主流,类似并行处理,节省通信时间)。
计算机网络类别:
①交换方式(电路、报文、分组);②介质(有线与无线网络);③覆盖范围(广域网、城域网、局域网、个人局域网);④拓扑结构(总线型、环型、线型、网状型)。
计算机网络性能:
①速率:数据的传送效率,即每秒传送多少个比特 ; ②带宽:网络的通信线路所能传输数据的能力(所能通过的最高数据) ; ③吞吐量:在单位时间内通过某个网络或接口的实际数据量;④时延:数据传输从一端到另一端所耗费的时间(分为发送、处理、传播、排队时延),往返时间RTK
计算机网络体系结构:
OSI参考模型:
物理层:定义电路接口参数与定义传输信号的含义、电气特征等;
链路层:确保相邻节点之间的链路逻辑上无差错;
网络层:把数据分组从源结点转发到目的结点,采取措施缓解网络拥塞,实现异构网络互联,流量控制等;(以帧为单位)
传输层:实现端(进程)到端通信;(以报文段为单位)
会话层:管理进程间会话;(断网重新连接后文件会从上次位置继续传输)
表示层:解决不同主机上信息表示不一致问题;(解码编码,压缩解压缩等)
应用层:实现特定的网络应用.(HTTP协议,根据应用需求设计)
TCP/IP模型(实际常用):
相对于OSI参考模型:网络接口层=物理层+链路层;网络层=网络层;传输层=传输层;应用层=会话层+表示层+应用层;
网络接口层:实现相邻节点数据传输,但具体传输不作规定;
网络层与传输层:只有传输层负责复用与分组来进行差错控制、流量控制、连接建立与释放、可靠传输管理,确保全局正确;而网络层则摆烂。
应用层:从应用层就可以实现数据格式转换与会话管理功能;
物理层
教学采用五层模型:
任务:实现相邻节点之间的比特的传输
基本概念:
物理层设备:
①中继器:传输距离太长,数字信号会失真,中继器可以使信号整型再生,只有两个端口,半双工通信;
②集线器:连接不同节点。、
数据链路层
数据链路层为了让接收方正确识别数据,需要把比特流划分成帧。
局域网:IEEE 802委员会负责推进局域网技术的标准化工作,802.3工作组负责以太网技术(有线),802.11工作组负责Wi-Fi技术(无线)。
局域网的硬件架构:
VLAN:虚拟无线局域网,在一台物理交换机上,通过软件划分出多个逻辑上的局域网。交换机是在局域网内,根据MAC地址转发数据的设备;路由器负责连接不同网络,根据IP地址转发数据。VLAN则是在交换机上把一个物理网络划分成多个逻辑网络。
局域网(校企)=>广域网(各大ISP)=》互联网
网络层
网络层的功能
①异构网络互联(路由器实现)②路由与转发 ③拥塞控制(静态:开环控制;动态:闭环控制)
IPV4与IPV6(版本区别)
IP数据报由首部与数据部分组成,首部中包含了源地址与目的地址。
子网划分
把一个大的IP网络切成多个小网络,主要为了合理分配地址、隔离和管理网络.
当有了子网划分后,需要有子网掩码来判断两个子网的IP是否属于同一网络。同网段,可以直接通信;不同网段,通常需要经过路由器。
无分类编址CIDR
网络前缀可以变长,可以灵活分配主机号地址
路由、路由表及路由聚合和路由算法
①路由=决定数据包应该往哪里走,路由表就是路由器的“导航地图”,里面记录了目标网络以及下一步路线等。
②路由聚合:下图四个刚好是连续的4个/24网络,可以把这些小路由合起来成为一个大路由,这样路由器处理起来更方便。
网络地址转换NAT
端口号:用于进程与进程之间通信,每台主机(手机、电脑等)上的端口号是相互独立的。IP地址+端口号=一个特定的进程(例如微信进程)。
NAT技术是用来缓解IPV4地址不够用的情况。
地址解析ARP协议
插网线的网卡、WiFi网卡以及蓝牙等其他网络接口都有可能有自己的MAC类地址,通过IP地址去查询MAC地址。
动态主机配置协议DHCP
作用:给刚接入网络的主机动态分配IP地址、配置默认网关、子网掩码。
IPV6
从根源上解决IP地址不够用的问题,原IPV4地址=32位,现IPV6地址=128位,IPV6能彻底解决IP地址不够用的问题。
注:压缩记法不允许出现两次双冒号
IPV6地址资源的分配:前缀有ICANN分配,不能改变。即插即用:知道网络地址前缀,用MAC地址作为接口标识符
网络层设备(路由器)
路由器负责连接不同的 IP 网络,并决定数据包下一步往哪里走。
传输层
概述与关系
注:可靠传输:给出数据是否收到的反馈;TCP协议通常用于传文件,UDP协议通常用于直播等。
UDP数据报与TCP报文段
UDP数据报格式
TCP段
注:单向传送TCP段进程A已经不能给进程B发消息,进程B还可以给A发。建立一次TCP连接可以传输多个报文,单个报文段只要不超过MMS(最大报文段即可)。
TCP连接管理(结合TCP段中的图来理解)
(1)握手①与握手②属于没有数据的报文,只有首部,但仍要消耗一个序号;
(2)只有握手①与握手②的SYN为1,表示请求连接与接受连接;
(3)只有握手①的ACK为0,因为此时无需表示确认;
(4)只有握手①的ack无效,其余数值等于上一握手seq+1;
三次握手过程中客户端与服务器进程TCP状态是如何变化的:
TCP释放连接:
TCP可靠传输与流量控制
注:可靠传输与流量控制都需要收发双方,TCP 流量控制主要是通过“接收方通告的接收窗口(rwnd)”来实现的。
TCP拥塞控制
快重传:服务器端连续多次触发重复确认号(某个数据包),则客户端等不及超时除法快重传机制。
注·:重点关注如何判断网络拥塞和监测到网络拥塞怎么办?
常用术语:
①高并发:同时来很多请求;
②延迟:一个客户端请求从开始到结束花了多长时间;
③丢包:数据从客户端传到网络再传到服务器发生了数据丢失;(丢包会带来额外延迟,但可以被解决);
④网络抖动:即网络延迟的稳定性,网络延迟非常不稳定就是说网络抖动比较严重;
⑤QPS:Queris Per Second,即每秒处理多少个请求;
⑥吞吐量:系统单位时间内处理多少数据/工作量;
⑦慢请求:本来应该很快完成但实际花了很长时间;
应用层
网络应用模型
客户/服务器模型(cs模型)
P2P模型(Peer to Peer)
DNS
概述:
域名具有层次化特性
注:主机联网时会通过DHCP自动配置默认域名服务器地址
DNS基本特点:
层次域名的书写
注:目前标号已经可以由中文组成
域名分类:
总结:
层次化域名到IP地址的转换
集中式:(不行)
分布式:(可行)
注:浏览器应用内部自身也会实现类似于本地域名服务器功能的DNS缓存,只要本地缓存位过期,就不必向本地域名服务器发起DNS查询
DNS查询方式
递归查询:由本地域名服务器到跟域名服务器向下逐级查询,直到找到目的服务器
迭代查询:由本地域名服务器迭代找到正确的服务器。
FTP文件传输协议
万维网
非持续连接:
持续连接、非流水线:
持续连接、流水线: