计算机网络
简单介绍
计算机网络特点
连通性
资源共享:信息共享、软件共享、硬件共享
互联网发展三个阶段
第一个阶段:ARPANET美国的一个分组交换网络,1983年TCP/IP协议称为ARPANET上的标准协议,称为互联网。
第二个阶段:三级结构的互联网。
第三个阶段:多层次ISP结构的互联网
IXP:互联网交换节点,允许两个网络直接相连并快速交换分组
互联网的组成
边缘部分:所有链接在互联网上的主机组成,由用户直接使用,用来进行通信和资源贡献。
边缘部分上的为主机,称为端系统。
核心部分:有大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的。
c/s方式:客户与服务器是指通信中所设计的两个应用进程,描述的是进程之间的服务和被服务的关系。
客户程序:被用户调用后运行,需要主动向远程服务器发送通信,必须知道服务器程序的地址。
服务器程序:专门用来提供某种服务的程序,可以同时处理多个客户的请求,一直不断地运行着,被动地等待并接收来自各地的客户的通信请求,不需要知道客户程序的地址,一般需要强大的硬件和高级的操作系统支持。
p2p:指两台主机通信的时候不区分服务器和客户,通过对等的方式进行连接通信。
网络模型
各种网络模型
TCP/IP网络模型一共分为四层,分别是应用层、传输层、网络层、网络接口层
OSI七层模型:应用层、会话层、传输层、网络层、数据链路层、物理层
讲述工作原理的五层模型:应用层、传输层、网络层、数据链路层、物理层
每一层使用的协议栈不同,每层协议都依赖于下一层提供的服务,层于层之间存在access point,也就是底层向上提供服务的服务访问点
应用层
应用层是所有网络模型中的最顶层,是最高级的服务,当两个不同设备的应用进行通信的时候,应用就会将准备好的分组加上应用层的首部,发送到下一层,然后交给传输层进行相关的封装。
功能:调用传输层的TCP/UDP协议,封装数据进行传输。
典型的应用层协议:HTTP/FTP/SFTP/Telnet/DNS等
由于应用层是面向客户工作的,因此是工作在操作系统的用户态,而应用层以下是工作在操作系统的内核态的。
传输层
传输层是为应用层提供传输支持的,属于面向通信部分的最高层,同时也是用户功能的最底层
作用:因为网络层提供的服务是不可靠的服务,所以我们通过传输层的TCP协议来保证数据的可靠传输。
传输层还承担了分用/复用的功能,因为网络层分组转发时,节点是不同的主机,而操作系统传输的是进程。传输层在接受了网络层的数据后,会根据传输层的信息,讲不同的数据分发到操作系统中不同的进程,这一点是通过端口来实现的。
传输层中主要的协议:TCP(传输控制协议),大部分的应用使用的是TCP,比如说HTTP应用层协议,TCP相比器UDP更加复杂,比如流量控制,超时重传等,但数据传输更加可靠,TCP的和核心是滑动窗口协议。
UDP(用户数据报协议),实现的不是面向连接的,因此不能够实现数据的可靠传输,只负责发送数据包而不保证数据能否到达对方,他的实时性是更强的。
应用层需要传输的数据在比较大的情况下,需要对TCP报文进行分段处理,达到一个最大报文段MSS时会对数据分段处理,这样即使数据出现丢失也只需要重新发送数据块而不是整个数据包。
当接收方接收数据时,传输层需将数据包分发给不同的应用,基于端口实现这一过程,传输层的报文首部会携带端口,解析完毕之后就可以分发到对应的端口了。
UDP概述
支持一对一、一对多、多对一、多对多的交互通信
UDP首部开销小,比TCP首部要求要短。
传输控制协议TCP
TCP的特点
TCP是面向连接的传输层协议:必须先建立TCP链接,传输数据完毕之后,必须要释放已经建立的TCP链接
每一条TCP链接只能由两个端点,每一条TCP只能是点对点的
全双工通信
网络层
功能:路由选择、分组转发
路由选择可以分为域内路由协议(RIP或者OSPF)和域间路由选择协议(BGP)
核心协议为IP协议,工作原理:将上层传输层的报文拿到,并且封装网络层的首部信息,报文很大时也会进行分片,依据为MTU,在数据链路层规定。如果要将数据从一台主机发送到另一台主机,一种情况是局域网内通信,一种是联网通信,都是基于IP地址进行。
联网通信:找到网络所在路由器,将分组发送到目标路由器,然后目标路由器将数据发送到其局域网内部的主机上。
IP地址由两部分组成:网络号和主机号。通过子网掩码确定主机属于哪个网络。
用子网掩码是为了配合CIDR,因为传统的网络分类会造成比较严重的IP浪费现象。
SDN软件定义网络(software defined network)
路由器:查找转发表,转发分组,在SDN中不负责生成路由表并导出转发表
远程控制器(在物理上可以由不同地点的多个服务器组成):掌握和控制主机和整个网络的状态,能够为每个分组计算出最佳的路由,然后在路由器中生成器正确的转发表
网络接口层/数据链路层
ARP协议:将IP地址转为MAC地址的协议
1 | ARP协议工作的流程是这样的: |

数据链路层:在物理层提供服务的基础上向网络层提供服务,最基本的任务是将源自网络层的数据可靠地传输到相邻节点的网络层,主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,是指对网络层表现为一条无差错的链路。
节点:主机或者路由器
链路:网络中从一节点到相邻节点的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有限链路和无线链路。一条无源的点到点的物理线路段,中间没有任何的交换节点,一条链路只是通路的一个部分。
数据链路:网络中两个节点之间的的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成了数据链路。
帧:链路层的协议数据单元,封装网络层数据报
数据链路层负责把一条链路从一个结点相邻一个物理链路直接相连的相邻节点传输数据报。他把网路层交下来的数据封装成帧发送到链路上,以及吧接收到的帧中的数据取出来并且上交到网络层。
在因特网上,网络层协议数据单元就是IP数据报。数据链路层封装的帧,在物理层变成数字信号链路上传输。
数据链路层的信道类型
点对点通信(p2p):使用一对一的点对点的通信方式
广播信道:使用一对多的广播通信方式,必须使用专用的共享信道协议来协调主机的数据发送。
封装成帧
在网络层的ip数据报的前后分别添加其首部和尾部,构成了一个帧
并一同数据链路层协议的帧的首部和尾部包含的信息有明确的规则,有帧开始符和帧结束符,称为帧定界符。发送帧的时候是从帧的首部开始发送的。
接收端收到物理层传过来的比特流后,可以根据首部和尾部的标记,从收到的比特流中识别到帧的开始和结束。
最大传输单元MTU(maximum transfer unit),以太网的MTU为1500字节。
透明传输
差错检验
1 | 比如说1可能变成0,0也有可能变成1,这种差错叫做比特差错 |
数据链路层中采用循环冗余检验(CRC)进行差错检测。
循环冗余码计算方式:通过生成多项式的系数得到除数,再将数据(先补0,个数为系数最高幂)用模二除法对除数进行处理,最终得到CRC(余数)
点到点信道数据链路层
PPP协议的特点(点对点协议):仅支持全双工链路,不提供可靠传输,有错误直接丢失。封装成帧,透明传输,差错检测。支持多种网络层协议,同一条物理链路上支持IP或者IPX等网络层协议,如果点对点链路上所连接的是局域网或者路由器,ppp协议必须支持所在链路所连接的局域网或者路由器上运行的各种网络层协议
不需要流量控制,多点线路,序号机制。
ppp协议的组成部分
将IP数据报封装到串行链路的方法,ppp支持异步链路,也支持面向比特的同步链路,IP数据包在PPP帧重视信息部分,这个信息部分的长度受到MTU的限制。
链路控制协议LCP
网络控制协议NCP,其中每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECnet和AppleTalk
PPP协议的工作状态
初始化状态:用户拨号接入ISP后,就建立了一条用户到个人电脑的物理连接
电脑想ISP发送了一系列的链路控制协议LCP分组,封装成多个PPP帧,以便建立LCP链接。
进行网络层配置,NCP给新用户分配一个临时的IP地址
通信完毕后,NCP释放网络层链接,收回原来分配出去的地址。LCP释放数据链路层的连接,最后释放物理层连接
带冲突检测的载波侦听多路访问技术(CSMA/CD)
总线的特点:一台计算机发送数据的时候,总线上的所有计算机都能检测到这个数据,这总就是广播通信的方式。
- 采用了较为灵活的
无连接的工作方式,不需要先建立连接就可以直接发数据,适配器对发送的数据帧不进行编号,也不要求对方进行回应,以太网提供的服务是尽最大努力进行交付的,也就是不可靠的交付,然而对差错帧是否需要重传那么需要高层进行决策,如果需要重传,传输层->网络层交付下来的数据重新传递给以太网进行重传,然而以太网对于这个帧是当做新的数据帧来发送的
以太网发送的数据都是曼彻斯特编码的信号
碰撞检测
生成树协议(STP):不改变网络的实际拓补结构,但是在逻辑上切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构。
物理层
物理层作用:屏蔽不同传输媒体的通信手段的差异。
串行传输:逐个bit按时间顺序传输。
码元:在使用时间域(时域)的波形表示数字信号的时候,代表不同离散数值的基本波形,使用二进制编码的时候,只有两种不同的码元,0状态和1状态。
信道:用来表示某个方向传送数据的媒体,一条通信电路往往包含有一条发送信道和接受信道。电路和信号不等同。
单向通信:成为单工通信,也就是只能有一个方向的通信而没有反方向的交互。
双向交替通信:称为半双工通信,双方都可以收发消息,但是不允许双方同时发送。一方发送另一方接收。
双向同时通信:称为全双工通信,双方可以同时发送和接收,单行通信只需要一条信道,而双向交替通信或者双向同时通信则需要两条信道,每个方向各一条,传输效率也是最高的。
来自信源的信号叫做基带信号
调制:基带调制:仅对基带信号的波形进行变换,将数字信号转化为另一种形式的数字信号,这个过程称为编码。
带通调制:利用载波进行调制,把基带信号的频率范围搬移到较高的频段,转化为模拟信号。经过载波调制后的信号成为带通信号。
基本的带通带通调制方式
调幅(AM):载波的振幅随着基带数字信号而变化
调频(FM):载波的频率随着基带数字信号而变化
调相(PM):载波的初始相位随着基带数字信号而变化
信道的极限容量
奈氏准则:带宽为W(Hz)的低通信道中,如果不考虑噪声影响,则马原传输的最高速率是2W,传输速率超过这个上限,就会出现严重的码间干扰问题,使得接收端对码元的识别成为不可能
信噪比:噪声的影响是相对的,如果信号相对较强,那么噪声的影响就相对较小,信噪比就是信号的平均功率和噪声的平均功率之比,通常记录为S/N,用分贝作为度量单位。
信噪比(dB)=10log10(S/N)(dB)
香农公式指出,信道的极限信息传输速率是C=Wlog2(1+S/N)(bit/s)
W是信道的带宽
S是信道内所传信号的平均功率
N为信道内部的高斯噪声功率
信道的带宽或者信道中的信噪比越大,信息的极限传输速率就越高
只要信息传输速率低于信道的极限信息速率,就一定存在某种方法来实现无差错的传输。
传输媒介
也就是发送器和接收器之间的的物理通路。分为两大类:引导性媒体和非引导型媒体
前者是电磁波被引导沿固定媒体传播,后者为电磁波传输通常为无线传输
双绞线:两根互相绝缘的铜导线并排放在一起,用规则的方法进行绞合构成,UTP:无屏蔽双绞线,STP:屏蔽双绞线,必须接有地线,抗干扰能力上U/FTP比F/UTP好,而F/FTP是最好的,这些都是屏蔽双绞线,双绞随频率的升高而增大
同轴电缆:内导体铜质芯线、绝缘层、外导体屏蔽层以及塑料外层组成,有很好的抗干扰特性
光纤:光线是光纤通信的传输媒体,通过传递光脉冲来进行通信
无线电微波通信
