第一章 计算机网络概述
局域网:
覆盖范围小,自己花钱购买设备, 带宽固定10M 100M 1000M,自己维护,最远100m
广域网:
距离远(>100m),花钱租带宽
internet:
ISP是电信运营商internet service producer
自己的机房,对网民提供访问Internet
网站的访问:
帧:数据包包括数据+网站和请求端的IP地址;
后两部分是目标mac地址和原mac地址,即物理地址,传播过程中一直在变化。
数据的请求:
数据的返回:
网页上的数据是一块块发送给请求端的,成功接收后会发送反馈信息,此时链路中的缓存可以删掉了。数据接收完成后,会拼接恢复网页。
OSI参考模型:
应用层——所有能产生网络流量的程序
表示层——在传输之前是否进行加密 或 压缩 处理,二进制或ASCII码表示
会话层——查木马,看需求端和网站之间的连接
传输层——可靠传输,流量控制,不可靠传输(一个数据包即可,不需要建立会话,例如向DNS查询网站IP地址)
网络层——负责选择最佳路径,规划IP地址(ipv4和ipv6变化只会影响网络层)
数据链路层——帧的开始和结束,还有透明传输,差错校验(纠错由传输层解决)
物理层——定义网络设备接口标准,电气标准(电压),如何在物理链路上传输的更快
OSI参考模型对网络排错的意义:
每一层都为上一层提供服务,一旦某一层崩了,上面所有层都崩了,所以排查问题从最上层(物理层)排查;
1.物理层故障怎么办?
查看链接状态,发送和接收的数据包数值;
2.数据链路层故障怎么办?
Mac地址冲突,2个一样的Mac地址同时访问;ADSL(非对称数字用户线路)欠费;两端的接口网速没有协商一致;计算机连接到其它VLAN(虚拟互联网)中。
3.网络层故障怎么办?
配置错误的IP地址,子网掩码,网关;数据有没有通过各个网关到达指定位置;
4.应用层(合并3层)故障怎么办?
应用程序配置问题
OSI参考模型和网络安全解决办法:
1.物理层安全隐患?
别人能私自接入你的网络,应该拔掉不用的网线或接口;
2.数据链路层安全隐患?
ADSL账号密码,VLAN,交换机端口绑定Mac地址
3.网络层安全隐患?
路由器上使用ACL(访问控制列表)控制数据包流量;防火墙设置;
4.应用层安全隐患?
应用程序有没有漏洞;
计算机网络的性能:
1.速率
连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称data rate或bit rate(比特率),单位是b/s, kb/s, Mb/s, Gb/s。和正常理解的网速的关系是除以8.
2.带宽
数据通信领域中,数字信道所能传送的最高数据率,单位是b/s, kb/s, Mb/s, Gb/s。常见的是Mpbs。
3.吞吐量
在单位时间内通过某个网络的数据量,单位是b/s, Mb/s。
4.时延
包括发送时延,传播时延,处理时延,排队时延。发送时延等于数据块长度(bit)除以信道带宽(bit/s). 更快的发送速度意味着波长越短,链路上的数据量更大;更快的传播速度意味着在网线中更快的传播速度。
5.时延X带宽(时延带宽积)
有多少数据正在线路上。
6.往返时间(RTT, Round-Trip Time)
从发送方发送数据开始,到发送方收到接收方确认数据的时间。例如ping一下。
7.利用率
包括信道利用率:有数据通过的时间/总时间
网络利用率:信道利用率的加权平均
网络当前时延D = 网络空闲时时延D0 / (1 - 信道利用率U)
2.1 物理层定义的标准
物理层解决如何在链接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
物理层的主要任务:确定传输媒体的接口的一些特性,包括,
机械特性:接口形状,大小,引线数量
电气特性:例如规定电压范围(-5V-5V)
功能特性:例如规定-5V上0,+5V是1
过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤
2.2 数据通信基础知识
2.2.1 通信的目的是传送消息
数据(data)——运送消息的实体。
信号(signal)——数据的电气或电磁的表现。
->模拟信号——代表信息的参数的取值是连续的。
->数字信号——代表信息的参数的取值是离散的。
码元(code)——在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形。
->在数字通信中常常用时间间隔相同的符号表示一个二进制数字,这样的时间间隔内的信号称为二进制码元。这个间隔称为码元长度,1 code可以携带n bit信息量(此时电压会有多个取值,例如1,2,…,7V,而不是只有2个取值)。
2.2.2 信道的概念
信道一般表示向一个方向传输信息的媒体。所以通信线路往往包含一条发送信息的信道和一条接收信息的信道。
->单向通信(单工通信)——只能有一个方向的通信,没有反向交互。
->双向交替通信(半双工通信)——通信的双方都可以发送信息,但是不能双方同时发送或接收。
->双向同时通信(全双工通信)——通信的双发可以同时发送和接收。
2.2.3 什么是基带(baseband)和带通(base pass)信号?
基带信号(基本频率信号)——来自信源的信号,例如计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如说我们说话的声波。
带通信号——把基带信号经过载波调制后,把信号的频率范围迁移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
因此在传输距离较近时,采用基带传输方式(衰减不大,信号内容不会变化)。传输距离较远时,采用带通传输方式,例如从计算机到监视器,打印机等外设的信号。
2.2.4 几种基本的调制方法
从基带信号到带通信号,涉及到 调频(AM),调频(FM),调相(PM)。
2.2.5 常用编码方式
单极性不归零编码:只使用一个电压值,高电平表示1,低电平表示0.
双极性不归零编码:用幅值相等的正负电平表示二进制数1和0.
单极性归零编码:发送码1时高电平在整个码元期间只持续一段时间,其余时间返回零电平。
双极性归零编码:正负零三个电平,信号本事携带同步信息。
曼彻斯特编码:单极性编码的缺点是没有办法区分此时是没有信号,还是有信号,但是信号是0.
->这种编码方式是bit中间有信号,低-高跳转表示0,高-低跳转表示1,一个时钟周期只可以表示一个bit,并且必须通过两次采样才能得到一个bit。它能携带时钟信号,而且能区分此时是没有信号还是信号为0.
差分曼彻斯特编码:抗干扰能力比曼彻斯特编码更强。bit与bit之间有信号跳变,表示下一个bit为0,bit与bit之间没有信号跳变,表示下一个bit为1。
2.2.6 信道极限容量
信道极限容量取决于失真的大小,当失真过大时,接收信号无法还原发送信号。
2.2.7 奈氏(Nyquist)准则
在理想条件下(无噪声/干扰/失真),为了避免码间串扰,码元的传输速率是有上限的。如果信道的频带越宽(信号高频分量越多),则用更高的速率传输码元也不会出现码间串扰。
2.2.8 信噪比和香农(Shannon)公式
信道的极限信息传输速率C(带宽受限且有Gauss白噪声干扰时的信道极限且无差错时的信息传输速率)可表示为,
C = W log2(1 + S / N) b/s
->W是信道的带宽(Hz);
->S是信道内所传信号的平均功率;
->N是信道内的Gauss噪声的功率。
可以发现,减少速度和增大功率能提高准确度。
信道的带宽或信道中的信噪比(S/N)越大,则信息的极限传输速率C就越高;
只要信息传输速率小于信道的极限传输速率C,就一定能实现某种无差错传输;
若带宽W或信噪比(S/N)没有上限,则极限传输速率C也没有上限(虽然不可能);
实际上,信道能达到的最高传输速率要比C低不少;
2.2.9 奈氏(Nyquist)准则和香农公式的应用范围
2.3 物理层下面的传输介质
2.3.1 导向传输媒体
导向传输媒体中,电磁波沿着固体媒体传播。
双绞线:
->屏蔽/非屏蔽双绞线(STP/UTP)
同轴电缆:
->50欧姆同轴电缆(基带同轴电缆)——用于数字传输,多用于基带传输;
->75欧姆同轴电缆(宽带同轴电缆)——用于模拟传输,多用于带通传输;
光缆:
网线:
->直通线——双绞线夹线顺序两端一致(1白橙2橙3白绿4蓝5白蓝6绿7白棕8棕,口诀“橙白橙/绿白蓝/蓝白绿/棕白棕”),这是100M的标准(568B),也称正线/标准线/直通线。当用于10M和100M时,下图只用了1,3,2,6线。对于1000M的网络,8根线都会用上。
直通线应用最广,这种类型的以太网电缆用来实现以下连接:主机到交换机/集线器,路由器到交换机/集线器。
->交叉线——一般不同设备连接用直通线,同类设备用交叉线。也用于集线器到交换机,路由器到主机连接。
注意,现在网卡能够自动协商,所以交叉线和直通线已经无所谓了,连错了也没关系。
光纤:
单模光纤——只能传输一种电磁波;直径小;用于有线电视网络,传播特性好,带宽可达10GHz,可以在一根光纤中传输60套PAL-D电视节目。
多模光纤——能传输多种电磁波;直径大;
2.3.2 非导向传输媒体
非导向传输媒体指自由空间,其中的电磁波传输称为无线传输。
无线传输的频段很广。
短波通信主要是靠电离层的反射,但短波信道的通信质量较差;
微波在空间主要是直线传播(延迟大)——地面微波接力通信;微信通信。
电信领域使用的电磁波的频谱如下,
2.3.3 物理层设备
集线器:
工作特点是在网络中只起到信号放大和重发作用,目的是扩大网络的传输范围,而不具备信号的定向传送能力。最大传输距离是100m;集线器是一个大的冲突域(意思是某个时间点只能是2台设备进行通信)。
现在很少用集线器了,它不安全,一般用交换机。
2.4 信道复用技术
复用(multiplexing)是通信技术中的基本概念。
2.4.1 频分复用(FDN: frequency division multiplexing)
用户在分配到一定的频带后,在通信过程中始终站用这个频带。频分复用的所有用户在同样的时间占用不同的带宽资源(带宽指频率带宽不是数据的发送速率)。
2.4.2 时分复用(TDN: time division multiplexing)
实现机制:
时分复用可能会造成线路资源的浪费,由于计算机数据的突发性质,用户对分配到的子信道的利用率一般不高。
2.4.3 统计时分复用(STDM: statistic TDM)
需要在放置前添加标记。
2.4.4 波分复用(WDM: wavelength division multiplexing)
就是光的频分复用。
2.4.5 码分复用
常用的名词是码分多址CDMA(Code Division Multiple Access)
各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
每一个比特时间划分为m个短的间隔,称为码片(chip)。
任何一个码片向量和该码片向量自己的规格化内积都是1.
任何一个码片向量和该码片反码向量的规格化内积都是-1.
缺点:表示一个bit需要更多的数据。
2.5 数字传输系统
主要讲的是广域网的数据传输。
脉码调制(PCM)技术。欧洲是E1标准(30路),北美是T1(24路,时分复用)。
2.6 带宽接入技术
2.6.1 非对称数字用户链路ADSL
使用电话线。用数字技术对现有的模拟电话用户线进行改造(xDSL),把0-4kHz留给传统电话使用,把原来没有利用的高频谱段留给用户上网使用。
基于ADSL的接入网组成如下图,
数字用户线接入复用器DSLAM(DSL Access Multiplexer)
接入端单元(Access Termination Unit)
ATU-C(C表示端局Central Office)
ATU-R(R代表远端Remote)
电话分离器PS(POTS Splitter)
2.6.2 DMT技术
采用频分复用,把40kHz以上一直到1.1MHz的高频谱划分为徐队子信道,其中25个子信道用于上行信道,249个子信道用于下行信道(因为下载的情景多于上传)。每个子信道占据4kHz的带宽,并使用不同的载波进行数字调制。这种做法相当于在一对用户线上使用许多小的调制解调器并行地传输数据。
2.6.3 光纤同轴混合网HFC(Hybrid Fiber Coax)
HFC网是在目前覆盖范围很广的有线电视网CATV基础上开发的一种居民宽带接入网。除了可以传送CATV外,还可以提供电话/数据/和其它宽带交互型业务。现有CATV网是树形拓扑结构的同轴电缆网络,它采用 模拟技术的频分复用 对电视节目进行单向传输。HFC需要对CATV网进行改造。
每个用户要安装一个用户接口盒。
2.6.4 FTT技术(光纤到XX技术)
->光纤到家技术(Fiber to the home):光纤一直铺设到用户家庭(155MB/s)。
->光纤到大楼技术(Fiber to the building):光纤进入大楼后就转为电信号,然后用电缆或双绞线分配到各用户。
->光纤到路边技术(Fiber to the curb):从路边到各用户可以使用星形结构的双绞线作为传输媒体(155MB/s)。
3.1 数据链路层的基本概念
3.1.1 数据链路层的简单模型
数据链路层不关心物理层解决的问题,只关心帧头帧尾和校验。
3.1.1 数据链路层的信道类型
->点到点信道:这种信道使用一对一的点对点通信方式。
->广播信道:广播信道上的主机很多,需要专用的共享信道协议来协调主机的数据发送。
3.1.2 链路与数字链路
->链路(link)——是一条点到点的物理线路段,中间没有任何其他的交换节点。一条链路只是一条通路的一个组成部分。
->数据链路(data link)——除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。最常用的方法是使用适配器(网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。
3.1.3 帧
在网络层,给数据包增加了接收端和发送端的IP地址。在数据链路层里,增加了帧头帧尾,MAC地址和校验值。
3.2 数据链路层解决的基本问题
3.2.1 封装成帧(framing)
就是在一段数据的前后分别添加帧头和帧尾,构成一个帧,确定帧的界限。
但是,可能会出现以下问题,
3.2.2 透明传输
用字节填充法解决透明传输问题。发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(十六进制数1B)。
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在数据送往网络层之前杀出插入的转义字符。
如果转义字符也出现在数据之中,那么应该在转义字符前插入一个转义字符。当接收端收到连续的两个转义字符时,就删除前面的那一个。
3.2.3 差错校验
传输过程中可能会产生bit差错:0变成1,1变成0.
在一段时间内,传输错误的比特率占所传输比特总数的比率称为误码率BER(bit error rate)。
误码率和信噪比的关系很大。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检验措施。
->循环冗余检验CRC:
除数必须比后面添加的0的位数多一位,可以是任意的二进制数。每一步运算其实是不进位的加法。下图的001就是FCS帧检验序列。接收端计算101001001(也就是原数据加上FCS)除以1101,如果商为0,意味着传输过程没有差错,就接受,否则丢弃。
在数据后面添加的冗余码称为帧检验序列FCS(frame check seqeunce)。CRC不是获得FCS的唯一方法。
特点:
不能确定出错的bit的是哪一位;
可能会出错,但只要经过严格的挑选,并且除数位数足够大,就可以极大减少出错概率;
CRC只能做到无差错接受(意思是传输过程没有差错,有差错的一律丢弃);
要做到可靠传输,必须加上确认和重传机制。
3.3 两种情况下的数据链路层
3.3.1 使用点对点信道的数据链路层(广域网)
(1)PPP协议(point to point protocol),是数据链路层协议,例如用户使用拨号上网。
(2)PPP协议应该满足:
简单;封装成帧;透明性;多种网络层协议;多种类型链路;差错检验;检测连接状态;最大传送单元;网络层地址协商;数据压缩协商;
(3)PPP协议不需要满足:
纠错;流量控制;序号;多点链接;半双工或单工连接。
(4)PPP协议的组层部分:
数据链路层协议可以用于异步串行或同步串行介质;
使用LCP(链路控制协议)建立并维护数据链路连接,可以实现身份验证和欠费管理;
网络控制协议(NCP)允许在点到点连接上使用多种网络层协议,如下图;
(5)PPP协议帧格式
标志字段F = 0x7E
地址字段A = 0xFF,它并不起作用
控制字段C = 0x03
PPP协议是面向字节的,所以所有的PPP帧的长度都是整数字节。
(6)字节填充(类似于透明传输)
此时,信息部分是以字节为单位的。
将信息字段中出现的每个0x7E字节转变成为2字节序列(0x7D,0x5E);
将信息字段中出现的每个0x7D字节转变成为2字节序列(0x7D,0x5D);
将信息字段中出现的每个ASCII码控制字符(小于0x20字符),在前面加入一个0x7D;
(7)0比特填充(类似于透明传输)
此时,信息部分是二进制流。PPP协议在SONET/SDH链路时,是使用同步传输。
在发送端,只要发现有5个连续的1,则填充一个0,接收端删掉对应的0。
(8)PPP协议不使用序号和确认机制的原因
在数据链路层出现错误的概率不大时,使用较简单的PPP协议较为合理;
在Internet环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能保证网络层的传输也是可靠的;
帧检验序列FCS字段可以保证无差错接受。
(9)PPP协议的工作状态
当用户拨号接入ISP(网络运营商)时,路由器的调制解调器对拨号进行确认,建立物理连接;
PC机箱路由器发送一些列的LCP(链路控制协议)分组(封装成多个PPP帧);
这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP(网络控制协议)给新接入的PC机分配一个临时的IP地址,使PC机成为Internet上的一个主机;
通信完毕后,NCP释放网络层连接,收回原来分配出去的IP地址;
接着,LCP释放数据链路层连接;
最后释放的事物理层连接。
3.3.2 使用广播信道的数据链路层(局域网)
一般是总线型。
(1)局域网的拓扑
(2)共享通信媒体
静态划分信道(麻烦):
频分复用;时分复用;波分复用;码分复用;
动态媒体接入控制(多点接入):
随机接入(主要是以太网);受控接入,如多点线路探询(polling),轮询(不采用了)。
(3)认识以太网
最初的以太网是将许多计算机都连接到一根总线上,当初认为这样连接即简单又可靠,因为总线上没有有源器件。
总线上每一个主机都能检测到B发送的数据。但是只有D的地址和数据帧首部写入的地址一致,所以只有D接收。其余计算机都能检测到这不是发送给他们的数据帧,所以就丢弃这个数据帧。
这是一种具有广播特性的总线上实现了一对一通信。这种方式不安全。
(4)带冲突检测的载波监听/碰撞检测
CSMA/CD:
Carrier Sense Multiple Access with Collision Detection
多点接入:
许多计算机以多点接入的方式连接在一根总线上。
载波监听:
每一个站在发送数据之前都先要用电子技术检测一下总线时候有其它计算机在发送数据信号,如果有则不发送数据,以免发生碰撞;
(5)碰撞检测
碰撞检测就是计算机边发送数据边检测信道上信号电压的大小。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大;
当一个站检测到信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站在同时发送数据,表明产生了碰撞;
碰撞就是冲突,碰撞检测也称冲突检测。
检测到碰撞后:
在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息;
每一个正在发送数据的站,一旦发现总线上出现了碰撞,就立即停止发送,避免浪费网络资源,等待一个随机的时间后再次发送。
(6)传播时延对载波监听的影响
在2t时间内,可能存在碰撞。
(7)CSMA/CD的重要特性
使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工);
每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能;
这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
(8)争用期
最先发送数据帧的站,在发送数据帧后至多经过时间2t(2倍的端到端往返时延)就可知道发送的数据帧是否发生了碰撞。
经过争用期这段时间还没有检测到碰撞,就可以肯定不会发生碰撞;
以太网的争用期:
->以太网的端到端往返时延2t称为争用期,或碰撞窗口,通常取51.2微秒为争用期的长度;如果网线过长,会导致争用期时间的延长,这也是为什么网线一般不超过100m;
->对于10Mb/s的以太网,在争用期可以发送512bit,也就是64 byte;
->以太网在发送数据的时候,若前64字节没有冲突,后续也不会发生冲突;
最短有效帧长:
->如果发生冲突,一定是前64字节;
->由于一旦发生冲突就立刻停止,所以已发送的数据一定小雨64字节;
->以太网规定了最短有效帧长为64字节,凡事小雨64字节的帧一定是因为冲突而异常终止的无效帧。
(9)二进制指数类型退避算法
发送碰撞的站在停止发送数据后,要推迟一个随机事件才能发送数据。
确定基本退避时间,一般是争用期2t;
定义参数k = min(重传次数,10);
从整数集合{0,1,…,2^k-1}中随机取出一个数,记为r,重传所需的时延就是r倍的基本退避时间;
当重传达16次时仍不能成功时就丢弃该帧,并向高层报告。
3.4 以太网
3.4.1 以太网的两个标准
DIX Ethernet V2一般是指这个。
IEEE 802.3 两个标准差别很小。
以太网 是满足DIX Ethernet V2标准的局域网。
3.4.2 以太网与数据链路层的2个子层
为了使数据链路层更好的适应多种局域网标准,802委员会把局域网拆分为:
->逻辑链路控制LLC(Logical Link Control)子层;
->媒体接入控制MAC(Medium Access Control)子层。
与接入到传输媒体有关的内容都放在MAC子层上,而LLC子层与传输媒体无关,不管什么协议的局域网对LLC子层都是透明的;
由于局域网标准一般是DIX Ethernet V2而不是IEEE 802.3,所以802.2标准的LLC子层作用已经不大了,很多厂商适配器没有LLC协议;
3.4.3 以太网提供的服务
以太网提供服务是不可靠的交付,即最大努力的交付;
当接收站收到的有差错的数据帧时就丢弃此帧,其它什么也不做,差错的纠正由高层来处理;
如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新帧发送。
3.4.4 以太网的星型拓扑结构
物理上是星型,逻辑上是总线型。
为了降低成本,最初由粗的同轴电缆变成细的同轴电缆最后变成无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收;
在星形的中心增加了一种可靠性高的设备,为集线器(hub)。
3.4.5 集线器的特点
集线器使用电子器件来模拟实际电缆线的工作,因此整个系统仍然是像一个传统的以太网那样运行。由于集线器使用了大规模集成电路芯片,所以可靠性更高;
使用集线器逻辑上仍然是一个总线网,各工作站使用的还是CSMA/CD协议,共享逻辑网络上的总线;
集线器像一个多接口的转发器,工作在物理层。
3.4.6 10Base-T 基于集线器的以太网标准
它的通信距离稍短,每个站到集线器的距离不超过100m。
这种10MB/s的无屏蔽双绞线星形网的出现,能降低成本和提高可靠性。
10Base-T的出现有很大的意义,类似标准有100Base-FX,10Base-T,100Base-T4.
3.4.7 信道利用率
争用期长度为2t;帧长为L bit,数据发送旅为C b/s,帧的发送时间为L/C = T0 秒。
一个帧从开始发送,经可能发生的碰撞后,将再次重传多次,直到发送成功且信道转为空闲(即再经过t使得信道上没有信号在传播)时为止,是发送一帧所需的平均时间。
定义a = t / T0,是单程端到端时延t与帧发送时间T0的比值。a越小,说明碰撞检测越快,信道利用率高。
当数据率(网速)一定时,以太网的连线长度受到限制,否则t会太长;
以太网的帧长不能太短,否则T0太小,使a太大。
3.4.8 信道利用率的最大值
假设理想状态下,以太网个展发送的数据都不会碰撞,一旦总线空闲就能有站立即发送数据,所以没有争用期;
发送一帧需要占用总线T0+t,而帧本身需要发送时间为T0,于是理想情况下极限信道利用率Smax = T0 / (T0 + t) = 1 / (1 + a).
3.5 MAC层
3.5.1 MAC层的硬件地址(MAC地址)
硬件地址 = 物理地址 = MAC地址
MAC地址前3个字节(24位)是厂家分配的地址字段,后3个字节(24位)是厂家自定义,称为扩展标识符;
一个地址块可以产生2^24个地址,这种48位地址称为MAC-48,通用名为EUI-48,这就是MAC地址;
MAC地址实际上是每一个站的名字或标识符。
3.5.2 适配器检查MAC地址
适配器从网络上每收到一个MAC帧就要用硬件检查MAC帧中的MAC地址:
->如果是发往本站的帧就收下,然后进行其它处理;
->否则丢弃。
发往本站的帧包括:
->单播帧(unicast)(一对一)
->广播帧(broadcast)(一对全体)
->多播帧(multicast)(一对多)
3.5.3 MAC帧的格式
6 + 6 + 2 + 46 + 4 =64 byte,这就是为什么IP数据报的最短长度为46字节。
前8个字节的作用是实现比特同步,第一个字段共7个字节,称为前同步码,作用是实现快速MAC帧的比特同步;第二个字段是帧开始定界符,表示后面的信息是MAC帧。
3.5.4 无效的MAC帧
帧的长度不是整数个字节;
用收到的帧检验序列FCS查出有错误;
数据字段的长度不在46-1518字节内;
对于检查出来的无效MAC帧简单的丢弃。
3.5.5 帧间最小间隔
为9.6微秒。相当于96bit的发送时间。
一个站在检测到总线空闲时,还需要等待9.6微秒后才能再次发送数据,这样做是为了使刚刚收到的数据帧的站接收缓存来得及清理,做好接收下一帧的准备。
3.6 数据帧的抓包分析
3.7 扩展以太网
3.7.1 在物理层考虑扩展
(1)距离的扩展
主机使用光纤和一对光纤调制解调器连接到集线器。
(2)数量的扩展
集线器集联:使网络中计算机增加,变成一个大的冲突域,会造成效率降低。
3.7.2 在数据链路层考虑扩展
(1)使用网桥
网桥工作在数据链路层,他根据MAC帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是现检查此帧的目的MAC地址,然后再确定将该帧转发到对应的接口。
(2)交换机
随着网桥的接口的增加, 后来网桥和集线器合并了,计算机可以直接和交换机连接,这就是交换机。
交换机就是网桥和集线器的合并升级版,能全双工,安全通信。
端口带宽独享;
安全;
基于MAC地址转发;
通过学习构建MAC地址表。
(3)透明网桥(transparent )
透明指局域网上的站点不知道所发送的帧将经过几个网桥,因为网桥对于各站点是看不见的。
透明网桥是一种即插即用的设备,标准是IEEE 802.1D。
透明网桥使用了生成树算法。避免产生转发的帧在网络中不停的转圈。
3.8 快速以太网(fast ethernet)
3.8.1 100Base-T以太网
速率在100Mb/s以上的以太网称为高速以太网。
在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE 802.3的CSMA/CD协议。100Base-T以太网被称为快速以太网(fast ethernet)。
100Base-T以太网的物理层:
->100Base-TX:使用2对UTP 5类线或屏蔽双绞线STP。
->100Base-FX:使用2对光纤。
->100Base-T4:使用4对UTP 3类线或5类线。
3.8.2 100Base-T以太网的特点
可以实现全双工通信(注意,如果交换机上某一路连接着集线器(半双工),则这一路不能实现全双工)而无冲突,此时不使用CSMA/CD协议。
MAC帧格式不变,仍是802.3 标准。
最短帧长度不变,但是一个网段的最大电缆长度减少到100m。
帧间间隔从9.6微秒缩小到0.96微秒。
3.8.3 吉比特Gbit以太网
允许在1 Gb/s下全双工或半双工工作方式。
使用802.3标准的帧格式。
在半双工下使用CSMA/CD协议。
与10Base-T和100Base-T技术向后兼容。
当吉比特以太网在全双工方式时,不用载波延伸和分组冲突。
1000Base-X以太网的物理层(基于光纤通道):
->1000Base-SX:SX表示短波长,传输距离上275m或550m。
->1000Base-LX:LX表示长波长,传输距离上550m或5000m。
->1000Base-CX:
1000Base-T以太网的物理层(基于双绞线):
->使用 4对 5类线UTP。
3.8.4 10Gbit/s以太网
MAC帧格式不变,仍是802.3 标准。
使用光纤而不是铜线。
只能工作在全双工方式,没有争用问题。
它的出现使工作范围从局域网扩大到城域网和广域网,实现了端到端的以太网传输,优点是:技术成熟;互操作性好;广域网中使用以太网便宜;统一的帧格式。
3.8.5 以太网从10Mb/s到10Gb/s的演变说明了
可拓展性;
灵活性(多种传输媒体,全/半双工,共享/交换);
易于安装;
稳健性好。
3.8.6 Cisco建网的3层模型
4.1 网络层提供的服务
4.1.1 网络层的作用
负责在不同的网络之间(基于数据包的IP地址)尽力转发数据包,不负责丢包重传和接收顺序。
有点像送快递,一个人往另一个地方寄快递,每个快递走不同的路线,可能后发的先到了,也可能丢件了。但是网络层不管这些,只管寄快递。
数据包在Internet中的传输,Internet既有局域网,又有广域网,既有光纤,又有铜线,无线,还有不同的协议,这是Internet复杂所在。
路由器是三层设备:能看到网络层的IP地址来选择路径。
4.1.2 互联网络与虚拟互联网络
(1)互联网互联的设备
中间设备又称为中间系统或中继(relay)系统。
->物理层中继系统:转发器(repeater),有点像集线器。
->数据链路层中继系统:网桥或桥接器(bridge)。
->网络层中继系统:路由器(router)。
->传输层/应用层中继系统:网关(gateway)器。
网关就是路由器接口的地址。一般是本网段第一个地址。
(2)网络需要解决的问题
(3)虚拟网络把复杂的Internet看成一个网络,化简问题。虚拟互联网络就是逻辑互联网络,他的意思就是互联起来的各种物理网络的异构性本来就是客观存在的, 但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络,而不用考虑具体的网络异构细节。
4.2 网络设备和OSI参考模型的关系
4.2.1举例,PC4向PC3传输数据
PC:计算机;Hub:集线器;Switch:交换机;Router:路由
发送端(封装):
(1)应用层准备要传输的数据;
(2)传输层把文件进行分段并编号;(数据段)
(3)网络层把传输层的每一个数据包增加原IP地址和目标IP地址;(数据包)
(4)数据链路层把每个数据加上MAC地址;两种情况:(数据帧)
使用自己的子网掩码,判断自己和目标地址分别在哪个网段,若在同一个网段(不过路由器),通过ARP协议广播的方式得到目标IP地址的MAC地址,然后就能封装出一个数据帧;如果子网掩码不是一个网段(用与运算),通过ARP协议广播的方式得到路由器(网关)的MAC地址,然后把数据通过交换机发送到路由器M2,因为M2和M3是点对点通信,没有别的主机,所以它们之间的MAC地址就是FF。
(5)物理层把数据帧变成数字信号(bit流)
接收端(解封):
(1)交换机Hub0接收bit流,能对数据进行存储转发。它根据数据帧的MAC地址,确定数据是从哪来的,要去哪。
(2)路由器M2获取交换机的数据包,识别其中的IP地址,根据路由表选择出口,它无法识别数据段内容。
(3)路由器M2到M3是点对点通信,遵守PPP协议。
(4)PC3收到bit流后,数据链路层发现MAC地址是自己的,去掉MAC地址给它的网络层,网络层去掉IP地址给传输层,传输层把数据给应用层,应用层把各个数据拼接起来。
4.2.2 路由器/交换机/集线器会不会中病毒
不会,路由器不能识别数据内容。它只负责信息的传递。但是病毒会影响网络设备。因为病毒会占用网络流量。
4.3 ARP协议
4.3.1 TCP/IP协议层次关系
IP协议:把数据包从一个网段转到另一个网段,就是用来选择路径用的。
ARP为IP服务,IP为ICMP/IGMP服务。
4.3.2 ARP协议的作用
将IP地址通过广播(本网段,不通过路由器),目标MAC地址是FF-FF-FF-FF-FF-FF,解析目标IP地址的MAC地址。
ARP是解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射关系。如果所找的主机和原主机不在同一个局域网上,那么就要通过ARP找一个位于本局域网上的某个路由器的MAC地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
从IP地址到MAC地址的解析是自动进行的,主机的用户对这种地址解析过程是不知情的。
只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的MAC地址。
4.3.3 使用ARP的四种典型情况
(1)发送方是主机,要把IP数据报发送到本网络的另一个主机,此时用ARP找到目标主机的MAC地址;
(2)发送方是主机,要把IP数据报发送到另一个网络的另一个主机,此时用ARP找到本网络上一个路由器的MAC地址,剩下的工作由路由器进行;
(3)发送方是路由器,要把IP数据报发送到本网络的另一个主机,此时用ARP找到目标主机的MAC地址;
(4)发送方是路由器,要把IP数据报发送到另一个网络的另一个主机,此时用ARP找到本网络上一个路由器的MAC地址,剩下的工作由路由器进行;
4.3.4 逆地址解析协议RARP
只知道自己MAC地址就能获得其IP地址。
4.3.5 ARP欺骗/网络执法官/ARP防火墙-实验课
如果同一网段中有电脑中毒,可能会把中毒电脑的MAC地址传回去。
4.4 网际控制报文协议ICMP
4.4.1 ICMP
ICMP:在IP之上,用来测试网络层有没有故障。使用最多的命令是ping。
为了提高IP数据报交付成功的机会,在网络层使用了ICMP(Internet Control Message Protocol)。
ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告;
ICMP不是高层协议,而是IP层协议;
ICMP报文件为IP层数据报的数据加上数据报的首部,组成IP数据报发送出去。
4.4.2 ping(Packet Internet Grope)命令诊断网络故障
PING是网络层命令。
TTL是数据报的生存时间每过一个路由器就会减1,作用是防止数据报在网络中循环。TTL默认初始值如下:
Linux 64
Windows 128
Unix 256
可以根据TTL值粗略判定对方是什么系统。
(1)PING,因特网包套所起,用于测试网络连接量的程序。ping发送一饿ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。
(2)ping指端对端联通,通常用作可用性检测,但是某些病毒会强行大量远程执行ping命令抢占你的网络资源,导致系统网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。
(3)如果打开IE浏览器访问网站失败,可以通过ping命令测试到Internet的网络连通,可以为你排除网络故障提供线索。
4.4.3 ping和pathping命令
QQ能登上,网页打不开是为什么? 网络层没有问题,域名解析有问题。
pathping 能跟踪数据包路径,发现出问题的位置。
Windows上跟踪数据包路径的命令:tracerert 10.7.1.53
路由器上跟踪数据包路径的命令:traceroute 12.0.0.3
4.5 IGMP协议和多播组播
点到点通信:
广播:目标MAC地址全是F,目标IP地址全是255,也就是全是1.全网广播不能跨越路由器。
组播=多播:分组广播。
4.5.1 访问多播视频节目
使用多播一般用于直播,网络会议,能够节省带宽。
IGMP协议的作用就是周期性扫描本网段内有没有主机在访问多播数据包。
4.6 IP数据包的结构
注意,ARP数据包不是这个格式。
首部:第一部分是固定长度,20字节,是所有IP数据包必须具有的。后一部分是可选字段,长度可变。
每一行32bit相当于1个字节,一共5行,共20字节。
(1)版本:用来表示TCP/IP是哪个版本,ipv4还是ipv6.
(2)区分服务:确定更高的传输优先级。
(3)总长度:确定数据部分长度。一共是16位,最多有2^16-1=65535字节。
注意,网络层,数据包最大65535字节;而数据链路层数据最大是1500字节,是不一样的。所以说,一旦超过数据链路层的最大要求时(网络层数据部分超过1480字节),数据包会分片。最大传输单元MTU。
数据包分片:把数据分割,分别添加IP地址,通过网络发给目标MAC地址。目标在通过网络层拼接。传送过程中可能会丢包,或者后发的先到(泪滴攻击就是利用目标机发送破坏的IP包(重叠的包货过大的包负荷)可以通过TCP/IP协议来瘫痪各种不同的操作系统)。所以需要编号。
(4)标识:如果出现数据包分片,那么标识用来确定哪些数据包是需要组合的。
(5)标志:确定该数据包是完整的还是分片中的一部分。占3位,只有前两位有用,标志字段最低位是MF(More Fragment),MF=1表示后面还有分片,MF=0表示最后一个分片。标志字段中间一位是DF(Don’t Fragment),只有DF=0才允许分片。
(6)片偏移:偏移等于当前字节在数据部分的第几个再除以8.(下图是一个举例)
(7)生存时间:就是TTL,time to live,每过一个路由器就减1。8位二进制。防止数据包在网络中循环。
(8)协议:用协议号标识数据部分是什么数据。
ICMP协议号:1;
IGMP协议号:2;
TCP协议号:6;
UDP协议号:17;域名解析
IPv6协议号:41;
OSPF协议号:89;
(9)首部检验和:16位,只检验数据报的首部,不检验数据部分。这里不是采用CRC检验码而是采用简单的计算方法。每经过一个路由器就会检验一次。
(10)源地址和目的地址都是IP地址,32位,只符合IPv4。IPv6是128位。
(11)可变部分:一般没用。
4.7 IP协议
(1)网络畅通的条件
沿途路由器必须知道下一跳给谁,数据包有去有回。
4.7.1 静态路由
需要管理员告诉路由器所有没有直连的网络下一跳给谁。
适合于小规模网络,不能自动调整路由。
4.7.2 动态路由
(1)RIP协议
周期性广播(30s)路由表,选择路径的依据是最少的跳数,最大跳数是15跳,所以一般不适合大网络。
(2)OSPF协议
根据带宽选择路径。
4.8 子网掩码
能够帮助路由器判断对应主机是否在同一个网段中。
4.9 ABCDE类网络地址
网络地址(网络号)唯一指定了每个网络。同一网络中的每台计算机都共享相同的网络地址,并用它作为自己IP地址的一部分。ABC对应的子网掩码分别是255.0.0.0和255.255.0.0和255.255.255.0
特殊的几个地址
127.0.0.1 本地换回地址
169.254.0.0
10.0.0.0,172.16.0.0–172.31.0.0,192.168.0.0–192.168.255.0 保留的私网地址
4.10 子网划分
注意,全为1是广播,所以63,127,191,254不选
传输层的两个协议
TCP和UDP
1.TCP
需要将要传输的文件文件分段 传输 建立会话 可靠传输 流量控制 (大型文件的传输,邮件等)
2.UDP
一个数据包就能够完成的数据通信 不分段 不需要建立会话 不需要流量控制 不可靠传输 (屏幕广播 多播 广播 QQ的会话)
常用的应用层协议使用的端口(号):
http = TCP + 80
Https = TCP + 443
RDP = TCP + 3389
ftp = TCP + 21
共享文件夹 = TCP + 445
SMTP = TCP + 25
POP3 = TCP + 110
telnet = TCP + 23
SQL = TCP + 1433
DNS = UDP + 53
16万+

被折叠的 条评论
为什么被折叠?



