目录
大家端午节快乐呀!又到了一年两度的期末考试月了,这里给大家整理了一些复习知识点,大家可以边吃粽子边复习,事半功倍哈哈哈。祝各位期末过!过!过!。
UDP协议--用户数据报协议(User Datagram Protocol);
TCP协议—传输控制协议 (Transmission Control Protocol)
Ø 定义:计算机网络是由自治计算机互联起来的集合体
计算机网络最重要的功能:实现数据的可靠传输(老师亲讲) 计算机网络的前身----ARPnet(1960年)
计算机网络的概念
计算机网络是由自治计算机互联起来的集合体
计算机网络由若干个结点和连接这些结点的链路组成
因特网服务提供商ISP
Internet(因特网/互联网)
由众多网络和路由器互联而成的特定计算机网络,采用TCP/IP协议族作为通信规则
计算机网络的组成
从组成部分看
硬件
路由器、交换机
个人PC
软件
FTP程序
协议
IP、TCP
从工作方式看
边缘部分
端系统:个人PC、手机
核心部分
网络:路由器、协议等
从功能组成看
通信子网(硬件和协议的集合:交换机、路由器,tcp协议)
资源子网(软件集合:FTP程序、HTTP程序)
计算机网络的功能
数据通信(最重要最基本)
资源共享
硬件:多台主机共享打印机
软件:多台主机使用同一个app、程序
数据:多台主机访问数据库
分布式处理:百度的服务器有很多个
提高可靠性:网络的差错检测与控制
负载均衡:P2P模型,客户机也能作为服务器为另一个客户机提供资源。
计算机网络的性能指标:
速率:数据传送速率,单位bit/s
吞吐量
单位时间内通过某个网络或接口的实际数据量
带宽
表示网络通信线路所能传送数据的能力
时延:
发送时延(传输时延)
所有人上公交车所消耗的时间
传播时延
公交车到达下一站的所消耗的时间
排队时延
堵车了,消耗的时间
处理时延
到某一站了,人下车所消耗的时间
往返时延(RTT)
数据包从发送端到接收端,然后再返回发送端所需的时间。
信道利用率
成功传输的数据量/消耗的总时间(所有时延)
电路交换
特点
通信的两个结点直接必须建立一条专用的物理通信路径,在数据传输过程中,这一物理通信路径始终被用户独占, 直到通信结束后才被释放
电路交换的整个通信阶段,比特流连续的从源点直达重点。
举例
微信视频通话
三步曲
连接建立
数据传输
连接释放
优点
传输时延小
有序传输
没有冲突
实时性强
缺点:
建立连接时间长
灵活性差
难以实现差错控制
报文交换(过渡)
数据交换的单位是报文
用户数据加上源地址、目的地址等信息之后封装成为报文(message)
采用存储转发技术
整个报文先传送到相邻的结点,全部存储后查找转发表,转发到下一个结点
举例
电报
分组交换
特点
源结点在发送数据之前,先把较长的报文划分为若干个较小的等长数据段,在每个数据段前面添加一些由必要控制信息(源地址、目标地址)组成得分首部,构成分组。
举例
浏览网页
时延
数据从网络的一段传送到另一端所需的总时间;由以下四个部分组成。
发送时延(传输时延)
分组长度/发送速率
所有人人上公交车所用时间
传播时延
信道长度/电磁波传输速率(一台路由器传播到另一台路由器所花的时间,是距离函数)
公交车到下一站所用时间
排队时延
分组进入路由器后,要在输入队列中排队等待处理
路上堵车了,堵车所用时间
处理时延
进行存储转发需要做处理所花的时间
到站了,人下车所用时间
优点
无建立时延:无需建立链接
直接转发分组,不用等待所有分组到达
减少出错概率,分组较短,出错概率就小,每次重发的数据量就大大减少,提高了可靠性,减少了传输时延。
缺点
存在存储转发时延
可能出现失序、丢失或者重复分组的情况。
定义
计算机网络及其应所完成的功能(体系结构是抽象的,实现是具体的)
两个实例
OSI参考模型
TCP/IP参考模型
协议、接口、服务
协议
:控制对等实体之间进行通信的规则的集合
语法
数据与控制信息的格式;如TCP的报文段格式
语义
需要发出何种控制信息、完成何种动作;如:三次握手的执行操作
同步
执行各种操作的条件、时序关系;如建立TCP连接的三次握手操作的顺序就是由TCP协议的同步定义的
接口
同一结点内相邻两层的实体交换信息的逻辑接口成为服务访问点(service access point,SAP)每层只能为紧邻的层之间定义接口。第n层实体使用n-1层的服务实现自定义的功能,并且向n+1层提供本层的服务
服务
指下层为紧邻的上层提供的功能调用,是垂直的。当上层使用下层提供的服务时,必须与下层交换一些命令,成为服务原语
请求
指示
相应
证实
OSI参考模型
(开放式系统互联参考模型(Open System Interconnect Reference Model))也叫ISO 共有七层:从高到低(低三层是通信子网,高三层是资源子网)各层功能请看此处
应用层:SMTP、HTTP、FTP
表示层:数据加密
会话层:会话管理、建立/释放连接
传输层:流量控制、差错检验、可靠传输、不可靠传输
网络层:路由和转发;拥塞控制;流量控制;传输单位是数据报;
数据链路层:封装成帧;差错检测;传输单位是帧
物理层:单工、双工、半双工;传输单位是bit
TCP/IP参考模型
应用层(应用层+表示层+会话层):主要协议HTTP、SMTP、DNS、RTP
传输层:主要协议TCP、UDP
网际层:主要协议IP
网络接口层(物理层+数据链路层)
服务器Server:等待客户机发送请求的主机
客户机Client:向服务器发送请求的主机
流程
服务器处于接受请求状态
客户机发出服务请求,并等待接收结果
服务器收到请求,分析请求,处理结果,返回结果给客户机
特点
客户机必须知道服务器地址,服务器地址不需要知道客户机地址。
客户机之间不能直接通信
网络中的计算机地位不对等
在P2P模型中,各计算机没有固定的客户和服务器划分,任意一对计算机----称为对等方,直接相互通信。每个结点既作为客户访问其他结点的资源,又作为服务器提供资源给其他结点访问。
优点:
减轻了服务器的压力
多个客户机可以直接共享文档
网络中的计算机地位都是对等的
域名系统(domain name system)采用客户/服务器模型,其协议运行在UDP之上。使用53号端口。
三部分
层次域名空间
域名服务器
解析器
域名
任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名。如www.baidu.com(www是三级域名,Baidu是二级域名,com是顶级域名
域名服务器
作用
域名到IP地址的转换是由运行在域名服务器上的程序完成的。
分类
根域名服务器
最重要的域名服务器,全球共有13个,用于管辖顶级域如(.com)
顶级域名服务器
用于管辖在改顶级域名服务器注册的所有二级域名。
权限域名服务器
能将其管理的主机转化为对应的ip地址。
本地域名服务器
其实就是你电脑的网络代理
域名解析过程
域名解析就是把域名转化为IP地址的过程。
流程:客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器。
查询方式有两种,如上图(一般使用迭代查询)
为了提高DNS查询效率,使用高速缓存技术,用来缓存最近查询过得域名的相关映射信息。
www(world wide web):万维网。是一个分布式、联机式的信息存储空间。
三个标准:
URL
(Uniform Resource Locator):统一资源定位符。
HTTP
(hypertext transport protocol):超文本传输协议;应用层协议,使用tcp进行可靠传输。
HTML
(Hypertext Markup Language):超文本标记语言
HTTP
使用tcp(面向连接)作为传输层协议,使用端口80;http本身是无连接的。
http是无状态的,同一个客户在第二次访问同一个服务器的页面是,服务器不记得曾经服务过这个客户
http是面向文本的,每个字段都是一些ASCII码串,有两类:
请求报文:客户向服务器发送的请求报文
相应报文:服务器到客户的应答。
cookie
:当用户初次浏览某个使用cookie的网站时,该网站服务器回味用户产生一个唯一的cookie识别码,并以此为索引在后端数据库中创建一个项目,用来记录用户访问该网站的各种信息。当用户第二次访问服务器时,服务器就会取出该cookie,查询到用户的活动记录。
端到端通信
从传输层来看,两个计算机通信实质上是主机中的进程进行通信
分用和复用
复用:发送方不同的应用进程可以使用同一个传输层的协议传送数据
模拟信号:频分多路复用、波分复用(光的波段有多种)
数字信号:时分复用、码分复用
分用:接收方的网络层在剥去首部后把数据交付给相应的协议。
差错检测
传输层要对收到的报文(首部和数据部分)进行差错检测。
对于TCP报文,出错则要求重发
对于UDP报文,出错则直接丢弃
在网络层,IP数据报首部中的检验字段只检验首部,而不检查数据部分
面向连接和无连接的传输协议
TCP面向连接:全双工可靠信道
UDP面向无连接:全双工不可靠信道
端口的作用
IP地址标识一个主机,端口标识主机中的应用进程
端口号:2^16=65536
n 熟知端口(固定):0-1023
FTP:21
TELNET:23
SMTP:25
DNS:53
TFTP:69
HTTP:80
HTTPS:443
SNMP:161
n 登记端口:1024-49151
n 客户端使用的端口49152-65535
套接字(socket)
套接字=IP地址:端口号
UDP在IP层的数据报服务之上增加了两个最基本的功能:复用和分用,以及差错检测。
特点
无需建立连接,无连接时延
无连接状态,系统无需维护连接状态
首部开销小,TCP有20B的首部,而UDP仅有8B
没有拥塞控制
支持一对一、一对多、多对一、多对多的交互通信
面向报文
适用协议
DNS(域名系统)
SNMP(简单网络管理协议)
RIP(路由信息协议)
DHCP(动态主机分配协议)
UDP首部格式
UDP数据报包含两个部分
首部字段:8B;4个字段;每个字段都是2B
源端口:2B-16bits
目的端口:2B-16bits
长度:UDP数据报的长度2B-16bits
检验和:2B-16bits
用户数据字段
UDP检验要将首部和数据部分同时检验,IP数据报的检验只检验首部
Tcp是在不可靠的IP层之上实现的可靠数据传输协议。主要解决传输的可靠、有序、不丢失、不重复问题。
特点
面向连接
每一条tcp连接只有两个端点,每条tcp连接都是一对一
面向字节流,而UDP面向报文
面向面向字节流,虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序看成是一连串的无结构的字节流。
全双工通信,两端都设有发送缓存和接收缓存
适用协议
SMTP 简单邮件传输协议
TELNET远程控制
HTTP 超文本传输协议
FTP 文本传输协议
TCP报文段
首部字段:
源端口和目的端口:各占2B
序号:占4B;字节流中每个字节都有序号
确认号:占4B;期望收到对方下一个报文段的第一个数据字节的序号。
数据偏移:占4bit;表示首部长度,单位是4B,所以首部长度最大为2^4*4=60B
保留:占6bit;保留为今后使用。
紧急位URG:占1bit;
URG=1:该字段有效:表示有紧急数据,需要尽快传送。紧急数据在报文段数据的最前面)
确认位ACK:占1bit
ACK=1:该字段有效:tcp规定连接建立后所有传送的报文段都必须把ACK置为1。
推送位PSH:占1bit:
PSH=1:表示无需等缓存满了再交付数据,而是直接交付数据
复位位RST:占1bit:
RST=1:表示tcp连接出错,必须释放连接,重新建立连接
同步位SYN:占1bit:
SYN=1:表示这是一个连接请求或者连接接受报文
ACK=0:表示连接请求报文
ACK=1:表示连接接受报文
终止位FIN(Finish):占1bit:
FIN=1:表示数据发送完毕,要求释放传输连接
窗口:占2B:表示从确认号算起,还有多少个字节没有接收。如:确认号701,窗口号1000。表明接收方还有1000个字节的缓存空间
检验和:占2B:检验和字段检验的范围包括首部和数据两部分。
紧急指针:占2B:只有URG=1时,紧急指针才有效,表示紧急数据的字节数(紧急数据在报文段数据的最前面)。
选项:长度可变,最长40B。
填充:填充一定的字节数,确保整个首部长度为4B的整数倍。
TCP连接管理
三次握手:记住下图每次发送的字段和值
四次挥手
TCP可靠传输
序号:TCP连接传送的数据流中每个字节都有对应的序号
确认:TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号。
重传:超时和冗余ACK时就执行TCP报文段的重传
TCP流量控制
流量控制就是控制发送方的发送速率不要过快。
传输层的流量控制是端到端(应用进程之间);数据链路层是结点与结点之间。
TCP拥塞控制
拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主体、所有的路由器。(流量控制是两个对象之间的通信控制)
拥塞控制的四种方法
慢开始
拥塞避免
快重传
快恢复
路由选择和分组转发
首部长度:占4bit,以4B为单位,因为首部最少为20B,所以首部长度这个字段>=5.
总长度:占16bit 数据报的最大长度为2^16-1=65535B;以太网帧最大传送单元(MTU)为1500B。
标识:占16bit
标志:占3bit:最低位为MF(more fragment),MF=1表示后面还有分片;MF=0表示最后一个分片。中间位是DF(don’t fragment),DF=1表示不允许分片,DF=1表示允许分片。
片偏移:占13bit;数据报分片之后,该字段表示某片在原数据报中的相对位置,以8B为单位。
生存时间(TTL):占8bit:表示经过的路由器数
协议:占8bit
首部检验和:占16bit:只是检验数据报的首部
源地址:占4B
目的地址:占4B
填充:保证首部长度是4B的整数倍
IP地址是给互联网上的每台主机(或路由器)的每个接口分片的一个在全球范围内唯一的32位标识符。
组成
网络号
主机号
几种特殊IP
网络号全为0(00000000)。表示本网络本身
网络号为127(01111111)保留作为本地环回地址,作为本主机的进程之间通信之用。
主机号全为0代表整个网络本身,即本网段
主机号为255(11111111)为广播地址,代表本网络中的所有地址
各类地址范围
A类:0. 0. 0 . 0-127.255.255.255
B类:128.0.0.0-191.255.255.255
C类:192.0.0.0-223.255.255.255
D类:224.0.0.0-255.239.255.255
私有地址
私有地址不会出现在网络中
A类私有地址:10.0.0.0 至 10.255.255.255
B类私有地址:172.16.0.0 至 172.31.255.255
C类私有地址:192.168.0.0 至 192.168.255.255
NAT(network address translation)网络地址转换
子网划分和路由聚合
子网掩码---计算
看懂下面这个例子即可,能够自己写出每个结点(主机/路由器)的目的地址和源地址。
子网---计算
超网---计算
ARP协议
全称是地址解析协议(Address Resolution Protocol),是一种网络层协议,用于将网络层的IP地址解析为链路层的MAC地址。
DHCP(动态主机配置协议)
DHCP协议是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。
过程
主机广播DHCP发现报文:你的手机进入一个局域网内,会自动向服务器发送一个报文,询问是否有DHCP服务器。
DHCP服务器广播DHCP提供报文:局域网的DHCP服务器回复手机:有DHCP服务器
主机广播DHCP请求报文:你的手机请求服务器提供一个ip地址
DHCP服务器广播DHCP报文:服务器将一个IP地址分配给手机
Ipv6数据报格式
IPV6将地址从32为扩展到128位。拥有更大的地址空间
Ipv4到IPv6的过渡
双栈协议:一台设备上同时启用两个协议栈
隧道技术,当Ipv6进入Ipv4的网络中,将Ipv6数据报封装成Ipv4数据报的数据部分。
静态路由
动态路由
OSPF协议
(open shortest path first,开放最短路径优先)协议
使用链路状态算法,适用于大型网络
构建路由表的过程:
发现邻居:路由器通过发送和接收Hello报文来发现同一广播或多播网络上的其他路由器,并建立邻接关系。
交换链路状态信息:路由器之间通过数据库描述(DD)报文交换链路状态信息的摘要,然后通过链路状态请求(LSR)和链路状态更新(LSU)报文来交换完整的链路状态信息,并使用链路状态确认(LSAck)报文来确认信息的接收。
同步链路状态数据库:所有路由器的链路状态数据库(LSDB)通过上述步骤同步,确保每个路由器都拥有整个网络的完整拓扑信息。
计算路由和路由信息传播:每个路由器使用Dijkstra算法基于同步后的LSDB计算最短路径,并生成路由表。
Dijkstra算法的步骤:https://zhuanlan.zhihu.com/p/454373256
RIP协议
路由选择信息协议(Routing Information Protocol)
基于距离向量的路由选择协议。适用于小型网络
距离:也叫“跳数”,每经过一个路由器,跳数+1,距离的最大值为15,当距离为16时,表示网络不可达。
仅和相邻路由器交换信息,交换的信息是自己的路由表(好消息传得快,坏消息传得慢)
优点
实现简单,开销小
好消息传得快
若一个路由器发现了更短的路由,则这种更新信息就传播的很快,在较短时间内便可被传至所有路由器
缺点
限制了网络的最大规模
最大距离为15(16表示不可达)
坏消息传的慢
当网络出现故障,路由器之间需反复多次交换信息,要经过较长时间才能将故障消息传送到所有路由器中。
BGP (border gateway protocal,边界网关协议)
三种协议的比较
RIP是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。
RIP向相邻结点发送信息(该信息是自己与所有路由器之间的链路状态)
OSPF是一个内部网关协议,要交换的信息量比较大,直接采用IP
OSPF向所有结点发送信息(该信息是自己与相邻路由器之间的链路状态)
BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,采用TCP
网络层设备
交换机
路由器
封装成帧:
在一段数据的前后部分添加首部和尾部,作用:帧定界(确定帧的界限)
字符计数法
字节填充法
零比特填充法
违规编码法
透明传输
为网络层提供的功能
无确认的无连接服务
有确认的无连连接服务
有确认的面向连接服务
循环冗余码(CRC)计算
链路层的流量控制是点对点的(主机与主机之间)
流量控制的方法
停止-等待协议:发送窗口=接收窗口=1
滑动窗口协议
后退N帧协议(GBN)发送窗口>1,接收窗口=1
累计确认方式
选择重传协议(SR)发送窗口>1,接收窗口>1
信道划分介质访问控制
频分复用FDM(frequency division multiplexing)将信道的频带划分为多个
时分复用TDM:将信道的传输时间划分为一段段时间片
波分复用WDM:利用光纤传输,在一根光纤中传播不同波长的光信号。
码分复用CDM:使用不同编码来区分各路信号
随机访问介质访问控制
ALOHA协议:想发就发
CSMA协议:
CSMA/CD协议
CSMA/CA协议
CSMA/CD
(carrier sense multiple access/collision detection,载波监听多点接入/冲突检测)协议
半双工通信。
争用期(冲突窗口):2τ(τ:端到端的传播时延)
最短帧长=2τ*传播速率
以太网规定51.2μs为争用期的长度。对于10Mb/s的以太网,在争用期间可以发送64B(51.2μs1010^6=512bit=64B)的数据,如果前64B没有检测到冲突,则后面的数据不可能在发生冲突。
二进制指数退避算法
n 当发生冲突时,从[0,1,2…2^k-1]中随机选一个数,记作r,延迟r*2τ时间后,重传数据。K=min(重传次数,10);
数据链路层包含两个部分
逻辑链路控制(LLC)
介质访问控制(MAC)
局域网拓扑结构
以太网
以太网的mac帧
目的地址:6字节,帧在局域网上的目的适配器的MAC地址。
源地址:6字节,传输帧到局域网上的源适配器的MAC地址。
类型:2字节,表示数据字段中的数据应该交给哪个上层协议处理,如网络层的IP协议。
数据:46-1500字节,以太网帧必须满足最小长度是64B。
PPP
面向字节流
点对点的链路层通信协议
HDLC
面向比特流
面向比特的同步数据链路控制协议
提供可靠传输