当前位置: 首页 > news >正文

network

一、  概述

网络在人类社会的方方面面是很普遍存在的。按照覆盖范围,分为局域网LAN,城域网MAN,广域网WAN。

1.         局域网

相对来说,局域网的覆盖范围较小,自己花钱买设备,带宽固定,一般为10M、100M、1000M,相对来说带宽可以布置的比较宽,那么传输效率比较高,自己维护。比如某个楼层中3个房间的电脑结合交换器形成的一个局域网,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


局域网的优点主要有,具有广播功能,从一个站点可很方便的访问全网,局域网上的主机可共享连接在局域网上的各种硬件和软件资源;便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变;提高了系统的可靠性、可用性和生存性。

2.         广域网和Internet

广域网,数据传输距离比较远,一般是付费租带宽,由其他机构维护。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Internet,全球最大的广域网,起源于美国,由众多的isp(internet  service provider,互联网服务提供商,比如移动、联通等)和icp(internet content  provider,互联网内容服务商,比如各大网络公司)以及广大的用户群体组成。上图的双线机房,就是既接着a运营商的线又连着b运营商的线的机房。

3.         IP地址和MAC地址

在Internet上,每一个节点有依靠唯一的ip地址相互区分和联系。ip地址是一个32位二进制数的地址,比如115.12.123.154,由4个8位字段组成,每个字段用点号隔开。MAC,media access  control地址,一般称为物理地址、硬件地址,用来定义网络设备的位置。每个主机和路由交换设备都有唯一的mac地址。mac地址长度为6个字节,48位,一般用16进制数字组成,比如12-23-23-34-5f-4d。

比如一个简化的internet中设备的ip地址和mac地址示意图,

 

 

 

 

 

 

 

 

 

 

 

 


其中m1、m2等表示mac地址。

4.         数据包和数据帧的传输过程

当用户访问www.haha.com时,通过dns服务器将服务器域名转化为服务器ip地址。解析了ip地址后就可以传送和接收数据包。

一般,服务器都是等待用户pc通过浏览器发起请求,然后根据请求进行响应,这样的过程来提供数据服务的。ip用户机m11在浏览器输入服务器网址www.haha.com,发起一个访问主页的请求,那么发送数据到服务器m7的过程是,使用上面的简化的interner设备图做示意:

首先,客户的数据发送到最近最直接的路由器A,mac地址为m1,数据帧格式为

数据字段

发送方ip:14.0.0.2

目标ip:18.0.0.4

源mac:m11

下一跳mac:m1

数据包

 

数据帧

在这一步中,交换机,根据pc的mac地址和路由器的mac地址,将数据封装传输到对应的路由器。交换机不能识别ip地址。

然后,数据从A路由器发送到下一个路由器C,数据帧格式为

数据字段

发送方ip:14.0.0.2

目标ip:18.0.0.4

源mac:m2

下一跳mac:m3

在这一步中,路由器,根据目标ip地址,决定走哪些个路由器,然后重新封装数据,更改源mac和下一跳mac。

然后,数据从C路由器发送到下一个路由器B,数据帧格式为

数据字段

发送方ip:14.0.0.2

目标ip:18.0.0.4

源mac:m4

下一跳mac:m6

数据经过一系列的跳转,最终,从G路由器传送到服务器m7,数据格式为

数据字段

发送方ip:14.0.0.2

目标ip:18.0.0.4

源mac:m10

下一跳mac:m7

在数据传输过程中,ip地址和mac地址都很重要,ip地址标明数据的发送方和接收方,mac地址标明数据在网络节点中传递的上家和下家。ip地址决定了数据包的最终目的地,物理地址决定了数据的下一站到哪个路由节点。

当数据传送达到服务器后,服务器就针对请求做出响应,也是通过专门的服务器端软件实现的,比如apache、tomcat等。一般网站的网页文件都比较大,特别是加上图片、音视频等文件后,所以,服务器将网页文件切割成小份的数据包,编号,放到服务器的缓存中。然后,从缓存中,将数据包一个一个的传送给客户端pc。比如,客户端请求的网页文件1被分割成若干个文件,存放在缓存中,如下所示:

数据包1

数据包2

数据包3

数据包4

数据包5

数据包6

数据包7

数据包8

数据包9

数据包10

然后,传送的过程示意为:

首先将编号1文件从服务器m7传送到路由器m10,数据格式为

数据包1

发送方ip: 18.0.0.4

目标ip: 14.0.0.2

源mac:m7

下一跳mac:m10

经过一系列跳转,最终数据包1传送到客户端,然后,客户端发送一个接收到数据包1的确认信息数据给服务端,当服务端接收到客户端已经接收到数据包1的信息后,就从缓存中删除数据包1的数据,

内存回收fefe

数据包2

数据包3

数据包4

数据包5

数据包6

数据包7

数据包8

数据包9

数据包10

然后,发送数据包2给客户端。

如此反复,直到所有的数据请求和响应全部完成,客户端获取需要的数据服务。

5.         OSI参考模型

国际标准化组织根据科学原理将网络中数据传输的过程分为包含7层的模型,open system  interconnect,开放式系统互联。从最高层到最底层依次为:

应用层,能够和用户交互产生网络流量的程序,比如浏览器、qq、直播软件等。

表示层,主要用于处理两个通信系统中交换信息的表示方式,为上层用户解决用户信息的语法问题。比如,在传输之前是否进行格式转换、加密解密或数据压缩处理。实际的例子,如qq视频聊天中,发送视频数据前,将视频数据进行压缩再传输,既节省带宽也提高传输效率,保持聊天流畅,再比如,聊天的数据在发送前进行加密,以免在传输过程中被劫持,导致聊天数据泄漏。表示层主要是软件开发人员在开发软件时所做的一些设计开发而形成的表示层的功能。

会话层,在两个节点间建立端连接,为端系统的应用程序之间提供了对话控制机制。比如,打开浏览器访问一个网站服务器,那么,就在浏览器和服务器之间建立了一个会话,又打开一个浏览器网页,访问另一个网站的服务器,这就在这个浏览器网页和另一个服务器之间建立了一个会话,会话层保证两个点之间互传数据以便不会和其他的同时也在进行数据传输的点对点间混乱。当关闭网页后,相应的会话被关闭释放。在cmd中,执行netsat –n命令可以查看所有的网络会话信息。使用这个会话层命令可以查看相关的网络访问的ip地址信息,比如,qq聊天的对方的ip地址。使用会话层也可以查看木马。木马一般都隐藏的很深,虽然这样,但是木马终归要和宿主机通信的,一旦通信就产生会话,一旦会话,通过nestat -n就可以查看到蛛丝马迹,使用netstat  -nb可以查看建立会话的程序信息。

传输层,为会话层用户提供一个端到端的可靠、透明和优化的数据传输服务机制。还可以实现流量控制,进行不可靠传输。不可靠传输,比如只进行一次发包过程的传输,如pc端访问www.haha.com,向DNS服务器发送一个包问www.haha.com的ip地址,然后DNS服务器返回一个ip地址。比如,qq聊天也是不可靠传输。

网络层,通过寻址来建立两个节点之间的连接,为源端的传输层送来的分组,选择合适的路由和交换节点,正确无误的按照地址传送给目的端的运输层。具体来说,工作包括选择最佳路径,规划ip地址,计费等。

数据链路层,将数据分帧,并处理流控制。定义帧的开始和结束,实现透明传输,进行差错校验。数据链路层,只检错,不纠错,纠错由传输层完成。常用设备有网桥、交换机。

物理层,定义网络设备的接口标准。比如,规范网络水晶头的接口标准为几根线,规定电器标准,网卡高低电平等,解决如何在物理链路上传输更快。常用设备有网卡、集线器、中继器、调制解调器、网线、双绞线、同轴电缆等。

分层的好处,不同厂商的设备按照标准制造,可以很好的兼容;分层有利于分散系统崩溃的风险,降低系统维护难度,比如,每个模块是相对独立的,一个模块有问题,不会从根本上导致系统互联的完全崩塌,一个模块有变化 ,不需要所有的模块都做调整,比如,网络层曾经只是使用ipv4协议,后来增加了ipv6协议,这种变化更新不需要其他层做相应的调整以配合。

各层的关系,基本上是下一层为上一层提供服务,最高层应用层为用户服务。

关于网络层和应用层没有按照分层思想布置网络的例子,比如有一个医院内网,每个科室的电脑通过交换机,连接到本单位内网DNS服务器,设置连接的时候,通过ip地址连接到DNS服务器的,包括软件、数据库等设置的时候都是根据ip地址连的。后来,上级部门为了统一管理,要求本市所有的医院都要连到一个中心服务器,上级部门并没有考虑这个医院原来的内网情况,而是统一安排了ip地址给各个下级医院,给了这个医院一个ip地址,只要连这个地址就可以连到中心服务器,这是网络层的,但是这个医院原来的软件连接内网服务器数据库的时候都是设置的ip地址,医院很大,科室很多,软件也不少,如果要是改每台pc机每个软件的ip地址的话,工作量是很大的。这就出现了网络层改变而引起应用层做适应的问题。分析这个问题,当初每个pc机的软件连接内网服务器的时候不是使用的主机名而是使用的ip地址,如果这样,当服务器主机的ip地址改变后,直接修改服务器主机的ip地址就可以,下面pc机的软件根据主机名依然可以解析到新的ip地址,这种设计就是按照分层的思想设计部署网络的。针对上面问题的解决方法是,在每台pc机中添加一个ip地址,然后添加一个路由,原来的软件仍然通过老的ip地址访问内网,访问中心服务器则是使用添加的ip地址,也就是上级给安排的ip地址。

6.         OSI参考模型对网络排错的意义

从物理层依次到应用层,每一层都为它的上一层服务。某一层出现了故障,其上面所有的层都无法正常工作。比如,一次排错的过程,某个用户pc机访问某个网站,输入网址不能访问了。

首先,从物理层查找,查看本机网络连接状态,查看本pc机的网络连接是否断开了,比如水晶头接口是否损坏,网线是否断了,调节解调器开了没有坏了没有,wifi有没有开有没有坏。

然后,数据链路层

比如,数据链路层全送数据帧涉及到mac地址,如果两台pc机连接到同一台交换器使用了相同的mac地址,这就出现mac地址冲突,导致其中一台不能连到交换器;

再比如,使用ADSL用户欠费了,数据链路层也就被提供服务的服务商断开了;

再比如,如果将接入层交换机的接口强制设置为1000M,但是某台pc机的网卡是100M的,结果100M的网卡不能和1000M的接口兼容,如果不强制设置为1000M,根据本身的协商机制是可以兼容的,接口的不兼容导致不能上传数据到交换机,结果网络不通,设置pc机连接速度和双工模式,可以在本地连接》属性》配置》高级》属性》连接速度和双工模式中配置;

再比如,计算机连接到错误的VLAN也会导致数据链路层故障;

然后,网络层故障,网络层负责规划地址和选择路径,如果地址错了或者路径错了都属于网络层故障,比如,配置了错误的ip地址、子网掩码、网关或者路由器上没有达到目标的网络等。

然后,传输层以上直到应用层的故障,都可以认为是应用上面的故障,应用程序配置错误,比如,打开ie,如果修改设置,使用了不存在的代理服务器。

7.         OSI参考模型对网络安全的意义

从分层的角度看,可以将网络安全细分为物理层安全、数据链路层安全、网络层安全、应用层安全等。

物理层安全。比如物理层安全的例子,有一个集团的大厦,建筑时已经将网线埋在墙壁中,在每一层都有交换机,网线连接这机房和每一层的交换机。其中有一层第8层用不到,于是租给了外面的某公司,这个某公司进来,直接将公司的pc机通过交换机接到了这一层的网络接口中,这一层的网络接口连接这本集团的机房,这就形成了物理层的安全隐患,也就是外公司可以访问本集团的内网了,解决方法是拔掉机房中连接着第8层的网线。

数据链路层安全,比如,ADSL拨号的帐号密码,在交换机端口上绑定mac地址。

网络层安全,在路由器上使用ACL控制数据包流量,pc机设置windows防火墙,都属于网络层安全。

应用层安全,开发的应用程序漏洞可能产生安全隐患,比如,网站的sql注入漏洞,操作系统漏洞,其他软件漏洞。

8.         TCP/IP协议

TCP/IP协议是实际中使用的网络传输协议。TCP/IP协议也是遵循着OSI模型,但是在实现上有所变通。如下对比二者:

OSI参考模型

TCP/IP协议栈

应用层

HTTP

FTP

DNS

 

表示层

 

会话层

 

传输层

TCP

UDP

 

网络层

IP

ICMP

IGMP

ARP

 

数据链路层

Ethernet

ATM

Frame  Relay

物理层

在tcp/ip协议中,应用层就包括了osi模型中的应用层、表示层、会话层,网络接口层就包括了osi模型中的数据链路层和物理层。

在tcp/ip协议中,数据的封装过程

对应的层

封装过程

应用层

上层数据

表示层

会话层

传输层

TPC头

上层数据

网络层

IP头

TCP+上层数据

数据链路层

MAC头

IP+TCP+上层数据

FCS

物理层

01011101011010110110011010101101

首先,数据从某一端(不论是pc客户端还是服务端,一般是由客户端发起的)发出上层数据,比如在浏览器中输入帐号、密码点击了登陆;然后在传输层为这段数据加上TCP头,此时这段数据称为数据段或消息;然后,在网络层,为数据段加上IP头,此时,形成数据包;然后,在数据链路层,为数据包加上MAC头和FCS帧校验,此时,形成数据帧;最后,数据在物理层按照高低电平表示的二进制bit位电流,发射出去。

9.         计算机网络的性能

常见的性能指标有,速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率。

1)        速率

连接在计算机网络上的主句在数字信道上传数据位数的速率,也称data rate或bit  rate。单位是b/s,kb/s,Mb/s,Gb/s。

2)        带宽

数据通信领域中,数字信道所能传送的最高数据率。单位是b/s,kb/s,Mb/s,Gb/s。

3)        吞吐量

在单位时间内通过某个网络的数据量,单位b/s,Mb/s等。

4)        时延

又称为延迟,是数据从网络的一端传到另一端所需要的时间。分为发送时延、传播时延、处理时延、排队时延。发送时延=数据块程度(比特)/信道带宽(比特/秒)。

 

 

 

 

 

 

 

 

 

 

 

 

 


比如,一个例子,Apc机将10bit的数据发送到B服务器,信道带宽设置为10Bit/s,线路的传输速度为10米/s(为了方便解释而使用的数据,现实中要快的多),如示意图:

 

 

 

 

 

 

 


如果,将信道宽度设置为100bit/s,那么,这10bit数据全部发送出去,耗时0.1秒(100ms)。线路传播速度是10米/s,那么,数据0.1秒在线路上走了1米,那么,每个bit位的长度就压缩为0.1米。所以,如果信道带宽越大,那么发送速度越快,那么每个bit位占的长度越短。

根据上述分析,可见,发送时,不能无限制的增加带宽,因为带宽越大,那么每bit单位电波在线路中的长度越短,如果单位电波的长度短到一定极限,那么,在最终的接收端就无法识别出波形了。不同的介质,对波的识别难易是不一样的,光信号就比电信号更易识别,所以,光纤支持更高的发送速度,实际上,在传播电信号的速度上,光纤并没有铜线材质的同轴电缆、双绞线等快。

5)        时延带宽积

时延带宽积用于计算在两个端点间传输的数据的量。时延带宽积=传播时延*带宽。比如,在理想状态下,apc机和b服务器使用20m的线连接起来,带宽为10bit/s,那么,a机每次发送10bit数据出去,1s正好发送10bit,这1秒数据在线路中也正好走了10米,10bit在20米中传播到b服务器需要2s。那么,时延带宽积=10bit/s*2=20bit。也就是说,每一时间,在不间断的传输数据的过程中,a和b的线路中存在的数据量为20bit。如果当带宽提高为100bit/s时,同样是1s时间,a机每次可以发送100bit数据出去,这1s,这100bit也是走了10米,只是相比10bit/s时,每bit位的长度短了,这100bit走20米,需要2秒,那么,时延带宽积=100bit/s*2=200bit。也就是说,每一时间,在不间断的传输数据的过程中,a和b的线路中存在的数据量为200bit。如果保持带宽为100bit/s,但是线路的传播速度提供为20m/s,那么,a机1秒发送100bit数据出去,这100bit的长度为20米,每秒在线路走20米,走完20米的线路用时1s,传播到b服务器需要1s。那么,时延带宽积=100bit/s*1=100bit。也就是说,每一时间,在不间断的传输数据的过程中,a和b的线路中存在的数据量为100bit。

所以,举例分析后,线路中的数据量与带宽成正比,与 线路传播速度成反比。时延带宽积的实际意义是计算有多少数据在线路上。

6)        往返时间

RTT,Round-Trip  Time,从发送方发送数据开始,到发送方收到接收方确认。使用ping命令可以测试往返时间。比如,ping  www.baidu.com。

7)        信道利用率

信道利用率,考察某个信道使用情况的指标。信道利用率=有数据通过时间/(有+无)数据通过时间。考察更大范围内,网络利用率是指网络中所有的信道利用率的加权平均值。公式为D=D0/(1-U)。D表示网络当前的时延;D0表示网络空闲的时延;U表示信道利用率。这个公式的含义是,信道利用率越高,越接近1,那么,时延就越大,也就是说信道中数据越多,越拥塞,时延就越大,就像公路上堵车一样。

二、  物理层

1.         基本概念

物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的主要任务是确定传输媒体的接口的一些特性。分别为:

机械特性,例如接口形状,大小,引线数目;

电气特性,例如规定电压范围(-5V到+5V);

功能特性,例如规定-5V表示0,+5V表示1;

过程特性,也称规程特性,规定建立连接时各个相关部件的工作步骤。

2.         数据通信基础知识

典型的数据通信模型,如图(图片来自网络,请勿商用):

数字信号,就是用高低电压表示的0101…一些列的二进制比特流,数字信号是跳跃的,高高低低的,从形式比喻看是不连续的。由计算机的网卡发出的信号就是数字信号。模拟信号是将跳跃的数字信号,转换为连续的类似正弦波余弦波的波信号。调制解调器将数字信号转变为模拟信号。模拟信号通过共用电话网传播,到目的地的调制解调后,解调信号后,传输给终端设备。

相关术语

数据(data),运送消息的实体。

信号(signal),数据的电气的或电磁的表现。

“模拟信号”,代表消息的参数的取值是连续的。

“数字信号”,代表消息的参数的取值是离散的。

码元(code),在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形就成为码元。

在数字通信中常常用时间间隔相同的符号表示一个二进制数字,这样的时间间隔内的信号称为二进制码元。这个间隔被称为码元长度。1码元可以携带nbit的信息量。

关于信道的几个基本概念

信道一般表示向一个方向传送信息的媒体。平常的通信线路往往包含一条发送信息的信道和一条接收信息的信道。

单向通信(单工通信),只能有一个方向的通信而没有反方向的交互。比如,电视台向收看用户的电视发送信号,反过来不可以的,这种是单向通信。

双向交替通信(半双工通信),通信的双方都可以发送信息,但不能双方同时发送(也就不能同时接收)。比如,对讲机就是半双工的通信。

双向同时通信(全双工通信),通信的双方可以同时发送和接收信息。比如,打电话。

计算机网络领域的通信大多为半双工通信或全双工通信,很少有单向通信。

基带(baseband)信号和带通(bandpass)信号

基带信号,即基本频带信号,来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。

带通信号,把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。比如,广播电台传播播音员的声音就是被调制成带通信号,在电线中传播的。

因此,在传输距离较近时,计算机网络都采用基带传输方式,由于在近距离范围内基带信号的衰减不大,从而信号内容不会发生变化。比如,从计算机到监视器、打印机等外设的信号就是基带传输的。

 

 

 

 

 

 

 

 

 


几种最基本的调制方法:

调幅(AM),载波的振幅随基带数字信号而变化。

调频(FM),载波的频率随基带数字信号而变化。

调相(PM),载波的初始相位随基带数字信号而变化。

(图片来自网络)

常用编码

单极性不归零码,只使用一个电压值,用高电平表示1,没电压表示0。

双极性不归零码,用正电平和负电平分别表示二进制数据的1和0,正负幅值相等。

单极性归零码,以高电平和零电平分别表示二进制码1和0,而且在发送码1时高电平在整个码元期间T只持续一段时间t,其余时间返回零电平。

双极性归零码,正负零三个电平,信号本身携带同步信息。

曼彻斯特编码,bit中间有信号,低-高跳变为0,高-低跳变为1。采用曼彻斯特编码,一个时钟周期只表示一个bit,并且必须通过两次采样才能得到一个bit,但它能携带时钟信号,且可表示没有数据传输。曼彻斯特编码能够携带时钟信号并且可以表示没有数据传输。

差分曼彻斯特编码,bit中间有信号跳变,bit与bit之间也有信号跳变,表示下一个bit为0,bit与bit之间无信号跳变,表示下一个bit为1。差分曼彻斯特编码与曼彻斯特编码相同,但抗干扰性能强于曼彻斯特编码。每个数据是由紧挨的上个数据决定的。

3.         奈氏准则和香农公式

信道的极限容量

数据在信道中传输时,受到实际的信道的内外环境的影响,如宽带受限、有噪声、干扰和失真等,数据信号有所失真,如果都或多或少有失真,如果失真在一定范围内,信号在接收终点仍可以识别;如果失真很大,就无法识别。

1924年,乃奎斯特推导出了著名的奈氏准则。在假定的理想条件下(就是没有干扰等因素的情况下),为了避免码间串扰,码元的传输速率的上限值可以给出。在任何信道中,码元传输的速率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。

如果信道的频带越宽,也就是能够通过的信号高频分量越多,那么就可以用更高的速率传送码元而不出现码间串扰。

信噪比,香农用信息论的理论推导出了宽带受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率。信道的极限信息传输速率C可表达为:C=W log2(1+S/N)  b/s

W为信道的带宽(以Hz为单位);

S为信道内所传信号的平均功率;

N为信道内部的高斯噪声功率。

比如,如果没有噪声,一个人每分钟说200个字,可以听的清楚;如果外面在吵架,那么放慢说话速度,将为50个字每分钟,也可以听的清楚。

香农公式表明,信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。若信道带宽W或信噪比S/N没有上限(实际信道不可能这样的),则信道的极限信息传输速率C也就没有上限。实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少。

奈氏准则和香农公式的应用范围

码元传输速率受奈氏准则限制

 

信息传输速率受香农公式的限制

 

 

4.         物理层下面的传输介质

1)        导向传输媒体

导向传输媒体中,电磁波沿着固定媒体传播。双绞线,屏蔽双绞线STP;无屏蔽双绞线UTP。同轴电缆,50Ω同轴电缆用于数字传输,由于多用于基带传输,也叫基带同轴电缆;70Ω同轴电缆用于模拟传输,即宽带同轴电缆。光缆,利用光线在光纤中的折射。

网线,接线方式分为直通线和交叉线。

直通线,具体的线序制作方法是,双绞线夹线顺序是两边一致,统一都是,1、白橙;2、橙;3、白绿;4、蓝;5、白蓝;6、绿;7、白棕;8、棕。注意两端都是同样的线序且一一对应。这就是100M网线的做线标准,即568B标准。也就是常说的正线或标准线、直通线。

直通线应用最广泛,这种类型的以太网用电缆来实现以下连接:主机到交换机或集线器;路由器到交换机或集线器。

交叉电缆,用于交换机到交换机;集线器到集线器;主机到主机;集线器到交换机;路由器直接到主机。两头的夹线方式不一样,一头做成,568B,即,1、白橙;2、橙;3、白绿;4、蓝;5、白蓝;6、绿;7、白棕;8、棕。一头做成568A,夹线顺序是:1、白绿;2、绿;3、白橙;4、蓝;5、白蓝;6、橙;7、白棕;8、棕。这样连接起来后,就是1->3,2->6,3->1,6->2。还是能够连对的。

目前网卡设备可以自动协商线序连接,所以,线序没有按照正确的排序连接也可能会连接上。

光纤,分为多模光纤和单模光纤。单模光纤指只能传输一种电磁波模式,多模光纤指可以传输多个电磁波模式。实际上,单模光纤和多模光纤之分,也就是纤芯的直径之分。单模光纤细,多模光纤粗。在有线电视网络中使用的光纤全是单模光纤,其传播性能好,带宽可达10GHZ,可以在一根光纤中传输60套PAL-D电视节目。

2)        非导向传输媒体

非导向传输媒体就是指自由空间,其中的电磁波传输被称为无线传输。无线传输使用的频段很广。短波通信主要靠电离层的反射,但短波通信的通信质量较差。微波在空间主要是直线传播。比如,地面微波接力通信,卫星通信。

3)        集线器

在网络中只起到信号放大和重发作用,其目的是扩大网络的传输范围,而不具备信号的定向传送能力。最大传输距离,100m。集线器是一个大的冲突域。

 

 

 

 

 

 

 


在一个集线器连接着4台pc机的系统中,每台设备和集线器的线路都是100m。那么,如果原本只有一台设备到集线器的网络范围为100m,加入其他pc机后,网络范围扩大到200m,比如A到B形成一个200m的网络。集线器不具备定向传送能力,比如从A传送一段数据到B,传到集线器后,会分别向BCD都发送这段数据,只是CD解析mac地址不是对应的目的地址会丢包,不接受这段数据,此时,C到D的线路相当于被占用了,所以也说集线器是一个大的冲突域。在集线器上连接的pc机,某一时间,只能实现两台设备间的通信,其他设备需要等待线路空闲才能通信。使用集线器连接的网络也不安全。集线器基本不再被使用了。现在如果需要,大多使用的是交换机。

5.         信道复用技术

复用,multiplexing,是通信技术中的基本概念。信道复用技术,是同一根光纤或者其他介质的线路,同时传递多个信道的数据,达到目的地后再分用信道,传递到对应的地址。

 

 

 

 

 

 

 

 


实现信道复用技术的方式

频分复用,FDM,用户在分配的一定的频带后,在通信过程中自始自终都占用这个频道。频分复用的所有用户在同样的时间占用不同的带宽资源,这里的带宽指频率带宽不是数据的发送速率。比如,打电话就是使用的频分复用技术。

时分复用,TDM,是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙。每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度对应时间)。TDM信号也称为等时(isochronous)信号。时分复用的所有用户是在不同的时间占用同样的频带宽度。

时分复用可能造成线路资源的浪费,使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对于分配到的子信道的利用率一般是不高的。

统计时分复用,STDM,在发送数据时加上标记,仍然是一个时分复用帧一个的发送,达到目的地后,再根据数据中的标记发往最终目的设备。相比时分复用,由于不是分配的固定序号的时隙,虽然,数据帧内的顺序被打乱了,但是一定程度上,提高了利用率,而根据记号可以发往最终目的地。

波分复用,WDM,就是光的频分复用。

6.         数字传输系统

数字传输系统,主要是关于应用于广域网中的成规模的系统。

脉码调制PCM体制最初是为了在电话局之间的中继线上传送多路的电话。由于历史的地理的原因,PCM有两个互不兼容的国际标准,即北美的24路PCM(简称为T1)和欧洲的30路PCM(简称为E1)。我国采用的是欧洲的E1标准。E1的速率是2.048Mb/s,而T1的速率是1.544Mb/s。

如果需要更高的数据率,可采用复用的方式。

数字传输系统的大概过程是,比如打电话,一段声音,在源端,通过采样器,形成码元,采样器一次可以采8000个码元,一个码元可以表示8bit,那么发送一段通话,约占64kb。一个通信信道占64kb。E1标准采用时分复用,一次可以处理32路信道的数据,那么,E1的速率就是(30+2)*64 = 2.048Mb/s。T1也是时分复用,一次处理24路信道的数据,再加上一个8kbps的头控制信号,就是24*64+8 =1.544Mb/s。

7.         宽带接入技术

宽带接入技术,是指用户接入internet所使用的技术。

1)        XDSL

XDSL,用数字技术对现有的模拟电话用户线进行改造。标准模拟电话信号的频带被限制在300~3400Hz的范围内,也就是打电话使用的频率范围,但用户线本身实际可通过的信号频率仍然超过1MHz。XDSL技术就把0~4kHz低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用。

ADSL,非对称数字用户线路,采用DMT调制技术用频分复用的方法,把40kHz以上一直到1.1MHz的高端频谱划分为许多的子信道,其中25个子信道用于上行信道,而249个子信道用于下行信道。每个子信道占据4kHz带宽,并使用不同的载波(即不同的音调)进行数字雕制。这种做法相当于在一对用户线上使用许多小的调制解调器并行地传送数据。ADSL的上行信道和下行信道是非对称的,所以,ADSL是非对称数字的,设计为非对称是考虑到实际中上行和下行的使用情况而设计的。

2)        HFC

还有一种是光纤同轴混合网HFC(hybrid fiber  coax),HFC网是在目前覆盖面很广的有线电视网CATV的基础上开发的一种居民宽带接入网。HFC网除可传送CATV外,还提供电话、数据和其他宽带交互型业务。现在的CATV网是树拓扑结构的同轴电缆网络,它采用模拟技术的频分复用对电视节目进行单向传输。而HFC网则需要对CATV进行改造,大概是利用光纤将原来的有线电视的网连接到internet。使用HFC需要用户安装一个接口盒子、一个调制解调器。HFC网的最大优点是具有很宽的频带;能够利用已经有相当大的覆盖面的有线电视网。

3)        FTTx技术

FTTx,Fiber  To The  x,光纤到…,也可以实现宽带居民接入网的方案。

FTTH,光纤到家(Home),光纤一致铺设到用户家庭,这个方案可能是居民接入网最后的解决方案(155Mb/s)。

FTTB,光纤到大楼(Buiding),光纤进入大楼后就转换为电信号,然后用电缆或双绞线分配到各用户。

FTTC,光纤到路边(Curb),从路边到各用户可使用星型结构双绞线作为传输媒体(155Mb/s)。

三、  数据链路层

1.         基本概念

数据链路层的简单模型,如下

 

 

 

 

 

 

 

 

 

 

 


上述模型中,数据链路层的工作主要是处理mac地址和验错等。

数据链路层的信道类型主要有两种

点对点信道,使用一对一的点对点通信方式。

广播信道,这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。比如,交换机或集线器都是广播信道。

链路与数据链路

链路(link)是一条点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。

数据链路(data  link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。

数据链路层传输的是帧。当数据从应用层封装到网络层,就需要加入源和目的的ip地址,形成ip数据包;然后,到数据链路层,加上帧头帧尾,标识数据的开始结束,还要加上物理层地址和校验值,形成数据帧;然后到物理层,转化为二进制比特流,发送出去。

数据链路层像一个数字管道,常常在两个对象的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。帧就是给从网络层传来的数据包加上帧头、帧尾、物理层地址和校验值构成的。

数据链路层需要处理三个基本问题,分别是封装成帧、透明传输和差错控制。

2.         封装成帧

封装成帧(framing)就是在一段数据前后分别添加首部和尾部,然后就构成了一个帧,确定了帧的界限。首部和尾部的一个重要作用就是进行帧定界。

3.         透明传输

当传送的数据包中包含和帧尾一样的数据时,可能会使接收端误以为这个不是帧尾的数据点就是帧尾而导致截短数据而出错。使用字节填充法解决透明传输的问题。就是加了字符跟没有加字符是一样的,也就是加了帧头和帧尾和没有加是一样的,让接收方能够确定帧头帧尾的真正位置,而不是被帧头和帧尾中间的数据所混淆。

发送端的数据链路层在数据中出现控制符SOH或EOT的前面插入一个转义字符ESC(16进制编码为1B),做为字节填充(butestuffing)或字符填充(characterstuffing),接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现在数据当中,那么应在转义字符前插入一个转义字符。当接收端收到两个转义字符时,就删除其中前面的一个。

帧开始符

原始数据

帧结束符

SOH

 

EOT

 

SOH

 

ESC

 

SOH

 

 

 

 

字节填充

 

字节填充

 

字节填充

 

字节填充

 

 

SOH

 

ESC

EOT

 

ESC

SOH

 

ESC

ESC

 

ESC

SOH

 

EOT

4.         差错控制

传输过程中可能产生比特差错,1可能变成0而0可能变成1。

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率,BER,bit error  rate。误码率与信噪比有很大的关系。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

数据链路层只负责无差错的接收,如果发现数据帧有错,直接丢弃,不会纠错,纠错由传输层实现。

帧检验,一般常用循环冗余检验,CRC。比如,要传输的数据是101001,检验是给这个数据加3个0,变成101001000,然后除以1101,除数的位数是加的0的个数加1,除数的值任意,也可以是其他如1001、1011等,位数要确保正确。除的过程中每一位做加法,但是不进位,也可以看作是做异或运算。如下表所示:

 

 

1

1

0

1

0

1

Q商

1

1

0

1

1

0

1

0

0

1

0

0

0

 

 

1

1

0

1

 

 

 

1

1

1

0

 

 

1

1

0

1

 

 

 

 

0

1

1

1

 

0

0

0

0

 

 

1

1

1

0

 

 

 

 

 

 

1

1

0

1

 

 

 

 

 

 

 

0

1

1

0

 

 

 

 

 

 

0

0

0

0

 

 

 

 

 

 

 

1

1

0

0

 

 

 

 

 

 

1

1

0

1

 

 

 

 

 

 

 

 

0

0

1

R余数,作为FCS

FCS就是帧检验序列。还有很多不同的CRC算法得到FCS。

得到FCS后,就将FCS作为检验码也封装到帧中,那么发送出去的数据就是101001001。当接收端接收到这段数据后,在数据链路层将这段数据除以1101,和封装时相同的除数,如果余数为0,则说明帧没错,否则说明帧的数据发生了变化,导致了错误。比如,验证101001001除以1101,如表:

 

 

 

1

1

0

1

0

1

Q商

1

1

0

1

1

0

1

0

0

1

0

0

1

 

 

1

1

0

1

 

 

 

1

1

1

0

 

 

1

1

0

1

 

 

 

 

0

1

1

1

 

0

0

0

0

 

 

1

1

1

0

 

 

 

 

 

 

1

1

0

1

 

 

 

 

 

 

 

0

1

1

0

 

 

 

 

 

 

0

0

0

0

 

 

 

 

 

 

 

1

1

0

1

 

 

 

 

 

 

1

1

0

1

 

 

 

 

 

 

 

 

0

0

0

R余数

结果余数为0,说明帧没有失真。

在数据后面添加上的冗余码称为帧校验序列(frame check  squence),循环冗余校验CRC和帧校验序列FCS并不等同。CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。FCS可以用CRC这种方法得到,但是CRC并非用来获得FCS的唯一方法。

CRC的特点,不能确定究竟是哪一个或哪几个比特出现了差错;只要经过严格的挑选,并使用位数足够多的除数p,那么出现检测不到的差错的概率就很小很小。

使用CRC差错检测技术只能做到无差错接收(accept)。无差错接收是指,凡是接受的帧(不包括丢弃的帧),都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。也就是说,凡是接收端数据链路层接受的帧都没有传输差错。要做到可靠传输,也就是发送什么就收到什么,就必须再加上确认和重传机制。CRC是一种无比特差错,而不是无传输差错的检测机制。

5.         两种情况下的数据链路层

1)        点到点信道的数据链路层

点到点就是用户通过调制解调器连接到运营商服务接口的形式,一般是使用拨号电话线接入,大多用于广域网。这种形式采用的PPP(点到点)协议,point-to-point  protocol,PPP是一个链路层的协议,是全世界使用最多的数据链路层协议。

PPP协议应该满足的要求,简单,这是首要的要求;封装成帧;透明性;支持多种网络层协议;支持多种类型链路;差错检测;检测连接状态;最大传送单元;支持网络层地址协商;数据压缩协商。PPP协议不需要满足的要求,纠错;流量控制;序号;多点线路;半双工或单工链路。

PPP协议有三个组成部分,数据链路层协议可以用于异步串行或同步串行介质;使用LCP(链路控制协议)建立并维护数据链路连接;网络控制协议(NCP)允许在点到点连接上使用多种网络层协议。

PPP协议的帧格式

首部

IP数据包

尾部

F

7E

A

FF

C

03

协议

信息部分

FCS

F

7E

1字节

1字节

1字节

2字节

不超过1500字节

2字节

1字节

首部线发送。帧的开始和结束标识都是7E。FF代表地址,因为是点到点中,没有中间环节,所以FF是固定的。03基本没有什么作用,03也是固定的。FCS是帧检验序列。

PPP有一个2个字节的协议字段。有以下几种情况

0x0021,PPP帧的信息字段就是IP数据包。

0xC021,信息字段是网络控制数据。

0x8021,表示这时网络控制数据。

0XC023,信息字段是安全性认证PAP。

0XC025,信息字段是LQR。

0XC223,信息字段是安全性认证CHAP。

上面的,标志字段F=0x7E;地址字段A只置为0xFF,地址字段实际上并不起作用;控制字段C通常置为0x03;PPP是面向字节的,所有的PPP帧的长度都是整数字节。

PPP协议也面临着透明传输问题,如果信息字段中出现了标志字段的值,可能会被误会为是标志。

解决方法是,将信息字段中出现的每个0x7E字节转变成2字节序列0x7D,0x5E;若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列0x7D,0x5D;若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面加入一个0x7D字节,同时将该字符的编码加以改变。

如果PPP协议传递的不是字节流而是二进制流,也就是不是8位8位的,比如PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送),这时PPP协议采用零比特填充方法来实现透明传输。在发送端,只要发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描,每当发现5个连续1时,就把这5个连续1后的一个0删除。因为在开始结尾的标识7E的二进制数01111110有6个连续的1,将前5个做处理可以进行甄别。

PPP协议不适用序号和确认机制,原因是,在链路层出现差错的概率不大,使用比较简单的PPP协议较为合理;在因特网环境下,PPP的信息字段放入的数据是IP数据报,数据链路层的可靠传输并不能够保证网络层的传输也是可靠的;帧检验序列FCS字段可保证无差错接受。

PPP协议的工作过程,当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。然后,LCP释放数据链路层连接。最后释放的是物理层的连接。

2)        配置路由器使用PPP协议

使用cisco packet  tracer可以模拟配置路由器。下载安装。

打开软件,登陆进入。选择路由器、交换机、终端设备,使用对应的线路,连接起来。广域网之间连接使用带时钟信号的serial线和接口,其他的连接用直通线。

然后,配置路由器,双击路由器,在cli(命令行界面)配置。常用命令:

?,帮助,显示所有命令;

enable,使启动;

configure,配置,比如configure  terminal;

hostname,修改路由器主机名;

interface,选择要配置的接口,比如interface  serial2/0;

ip,配置ip相关,比如ip  address 11.0.0.1  255.0.0.0;

clock,配置时钟,比如clock  rate 64000,64k的时钟频率,也就是带宽是64k;

ping,检查是否可以连通某个ip,比如ping  11.0.0.1;

show,查看内容,比如查看接口的协议,show  interface serial3/0;

encapsalution,更改封装协议,比如encapsulation  ppp,改为使用ppp封装;

username,为设备添加权限验证,比如username  RMY password  1234;

ppp,设置ppp协议相关的,比如ppp  authentication  chap使用chap方式验证身份;

3)        使用广播信道的数据链路层

一般用于局域网。局域网的拓扑结构有星形、总线型、环形、树形、混合型等。局域网中单点设备可以共享通信媒体,主要使用静态划分信道技术,如频分复用、时分复用、波分复用、码分复用等;动态媒体接入控制技术(多点接入),如随机接入(主要被以太网采用),受控接入,如多点线路探询(polling),或轮询(受控接入已不被采用)。一般不适用静态划分信道技术,因为实现起来太麻烦。

广播信道使用的协议是载波监听多点接入/碰撞检测CSMA/CD,carrier sense  multiple  access with  collision  detection。多点接入,表示许多计算机以多点接入的方式连接在一根总线上;载波监听是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞;载波监听,就是用电子技术检测总线上有没有其他计算机发送的数据信号。

碰撞检测,是计算机边发送数据边检测信道上的信号电压大小。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加);当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞;所谓碰撞就是发生了冲突,因此碰撞检测也称为冲突检测。

检测到碰撞后,在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来;每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

传播时延对载波监听的影响,一个端对端传播中,单程的传播时延为ζ,那么某段得到碰撞信息的时延范围为0~2ζ。

使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。在网卡中可以设置双工模式。

最先发送数据帧的站,在发送数据帧后至最多经过时间2ζ(两倍的端到端往返时间)就可知道发送的数据帧是否遭受了碰撞。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。争用期,就是以太网的端到端往返时延2ζ,或称为碰撞窗口。通常,取51.2μs为争用期的长度。对于10Bb/s以太网,在争用期内可发送512bit,即64字节。以太网在发送数据时,若前64字节未发生冲突,则后续的数据就不会发生冲突。如果发生冲突,就一定是在发送的前64字节之内。由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于64字节。所以,以太网规定了最短有效帧长为64字节,凡是长度小于64字节的帧都是由于冲突而异常中止的无效帧。最短有效帧长受到发送速度和争用期的长度的影响,100Mb/s的最短帧长为640字节,依次类推。

当发生碰撞的站停止发送数据后,要推迟一个随机时间才能再发送数据。采用二进制指数类型退避算法。确定基本退避时间,一般是取为争用期2ζ。定义参数k,k=Min[重传次数,10],从整数集合[0,1,. .. .,(2k-1)]中随机的取出一个数,记为r。重传所需的时延就是r倍的基本退避时间。当重传达16次仍不能成功时即丢弃该帧,并向高层报告。

6.   以太局域网

1)   概述

DIXEthernet V2是世界上第一个局域网产品(以太网)的规约。IEEE的802.3标准是另一个标准。

DIXEthernet V2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为以太网。严格说来,以太网应当是指符合DIX Ethernet V2标准的局域网。

以太网与数据链路层的两个子层的关系。为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层,逻辑链路控制LLC(logical  link  control)子层和媒体接入控制MAC(medium  access  control)子层。与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的。

由于TCP/IP体系经常使用的局域网是DIX Ethernet V2而不是802.3标准中的几种局域网,因此现在802委员会指定的逻辑链路控制子层LLC(即802.3标准)的作用已经不大了。很多厂商生产的适配器上就仅装有MAC协议而没有LLC协议。

以太网提供的服务,是不可靠的交付,即尽最大努力的交付。当接收站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。如果高层发现丢失了一些数据而进行重传,但以太网并不知道是一个重传的帧,而是当作一个新的数据帧来发送。

2)   星形拓扑

传统以太网最初是使用粗同轴电缆,后来演变到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。不用电缆而使用无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收。这种以太网采用星形拓扑,在星形的中心增加了一种可靠性非常高的设备,叫做集线器(hub),集线器起到重传和信号放大的作用,因为不采用调制解调器的基带传输有效距离约为100m,采用集线器可以扩展网络范围,以形成局域网。

集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性大大提高了。使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。集线器就像一个多接口的转发器,工作在物理层。

10BASE-T,10表示10Mb/s,base表示基带传输,T表示双绞线,10Base-T的通信距离稍短,每个站到集线器的距离不超过100m。这种10Mb/s速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。10BASE-T双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地址奠定了牢固的基础。其他的还有100Base-FX、100Base-T和100Base-T4等,FX表示光纤。

3)        信道利用率

以太网的信道被占用的情况,争用期长度为2ζ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。帧长为L(bit),数据发送速率为C(b/s),因而帧的发送时间为L/C = T0(s)。

一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间ζ使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。信道利用率是发送数据的时间占整个发送时间的比率。信道利用率的参数a =ζ/ T0。要提高以太网的信道利用率,就必须减小ζ与 T0之比。a->0表示一次碰撞就立即可以检测出来,并立即停止发送,因而信道利用率高。a越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。

对以太网参数的要求,当数据率一定时,以太网的连线的长度受到限制,否则ζ的数值会太大;以太网的帧长不能太短,否则T0的值会太小,是a值太大。

信道利用率的最大值,在理想化的情况下,以太网上的各位发送数据都不会产生碰撞(这显然已经不是CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。

发送一帧占用线路的时间是T0+ζ,而帧本身的发送时间是T0。可以计算出理想情况下的极限信道利用率Smax = T0/(T0+ζ)=1/(1+a)。

4)        MAC层

MAC层的硬件地址,即MAC地址,在局域网中,就是硬件地址,或物理地址。802标准所说的地址严格地将应当是每一个站的名字或标识符。但是,一般,都称其为地址。IEEE的注册管理机构RA负责向厂家分配地址字段的前三个字节(即高位24位)。地址字段中的后三个字节(即低位24位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。一个地址块可以生产224个不同的地址。这种48位地址称为MAC-48,它的通用名称是EUI-48。MAC地址实际上就是适配器或适配器标识符EUI-48。网卡设备的MAC地址是不可以修改的,但是可以修改pc机所使用的MAC地址,在连接》属性》高级》network address中可以设置本机使用的MAC地址,实际上修改的注册表中的MAC地址。

适配器对MAC地址的检查,适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址。如果是发往本站的帧则收下,然后再进行其他的处理;否则就将此帧丢弃,不再进行其他的处理。发往本站的帧包括三种帧, 单播(unicast)帧,一对一;广播(broadcast)帧,一对全体;多播(multicast)帧,一对多。

常用的以太网MAC帧格式有两种标准,DIX Ethernet  V2标准和IEEE的802.3标准。最常用的MAC帧是以台湾V2的格式。

 

Ip数据报

 

IP层

字节

6

6

2

46-1500

4

 

MAC帧

目的mac地址

源mac地址

类型

数据

FCS

MAC层

插入8字节

以太网MAC帧

物理层

类型是标识上层协议是哪种数据报,是ip还是ipx还是spx等。以10base-t的为例,物理层传递的最短有效帧为64字节,在mac层已经添加了6+6+2+4=18个字节,所以,ip数据报的字节范围最小是46字节。在物理层的以太网帧前加入的8个字节,其中前7个字节是前同步码,最后1个字节是帧开始定界符。

无效的MAC帧有这几种,帧的长度不是整数个字节;用收到的帧检验序列FCS查出有差错;数据字段的长度不在46-1500字节之间;有效的MAC帧长度为64-1518字节之间;对于检查出的无效MAC帧就简单的丢弃,以太网不负责重传丢弃的帧。

帧间最小间隔为9.6μs,相当于96bit的发送时间。一个站在检测到总线开始空闲后,还要等待9.6μs才能再次发送数据。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

5)        抓包分析数据帧格式

下载安装ethereal工具。打开工具,点击抓取接口,选择使用哪个ip地址抓取,同时在cmd中ping一个可以ping通的地址以不中断的方式,ping  www.baida.com  -t。抓取10s左右点击stop。查看结果,选择ICMP协议的帧,因为ping走的是ICMP协议,可以看到这个帧的详细信息,比如:

0000   00 12 32 2d e8 a5 c0 61 18 19 76 78 08 00 4500  .#M)...a..vx..E.

0010   00 3c 59 03 00 00 37 01 82 ab 3d 87 a9 7d c0a8  .<Y...7...=..}..

0020   00 66 00 00 55 01 00 01 00 5a 61 62 63 64 6566  .f..U....Zabcdef

0030   67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 7576  ghijklmnopqrstuv

0040   77 61 62 63 64 65 66 67 68 69                    wabcdefghi

接收成功的帧中是没有FCS序列的,因为帧一旦正确成功接收,就丢弃了FCS。

7.         扩展以太网

扩展以太网可以从两方面实现,距离上和数量上。

距离上,在物理层考虑扩展,主机使用光纤和一对光纤调制解调器连接到集线器。因为,使用调制解调器可以传输带通信号,带通信号传输距离相对较远。

数量上,比如每个房间有一个独立的由集线器组织的局域网,通过网线将这三个房间的集线器连接起来,形成更大的网络。

使用集线器扩展局域网的优点是使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信;扩大了局域网覆盖的地理范围。缺点是碰撞域增大了,但总的吞吐量并未提高;如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互联起来。

使用集线器的方式是在物理层上扩展。

为了更优化的扩展,考虑在数据链路层扩展,方式是使用网桥。网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口。网桥可以隔离冲突。随着网络的扩展,网桥连接的hub越来越多,为了进一步优化,干脆不使用hub了,而是网桥直接连接终端设备,这时候的网桥有了一个新的名字就是交换机。网桥是交换机的前身。交换机大大减小了冲突,交换机的接口有一定的存储能力,几乎是化解了冲突的发生。交换机连接的网络是全双工的。

交换机的特点是端口带宽独享;安全性好;基于MAC地址转发,能够学习MAC地址。

还有一种网桥是透明网桥(transparent bridge),透明是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。透明网桥是一种即插即用设备,其标准是IEEE802.1D。

使用cisco packet  tracer工具,模拟交换机工作过程。

打开工具,建一个交换机,一个集线器,若干台pc机,用直通线连起来,使用交叉线连接集线器和交换机。分配ip为10.0.0.0段和子网掩码为255.0.0.0。双击pc机,在desktop界面,双击ip configuration可以设置ip地址。

配置交换机,进入cli界面,常用命令:

?,帮助;

enable,打开特权命令;

show  mac address-table,查看mac地址表;

然后,使用某台pc机ping其他pc机,双击pc机在desktop界面,点击command prompt。

然后,再次查看交换机的mac地址表,show mac  address-table。可以看到添加的mac地址。如下,

Mac Address Table

-------------------------------------------

Vlan Mac Address Type Ports

---- ----------- -------- -----

1 0001.9697.a956 DYNAMIC Fa0/4

1 000b.beb1.0269 DYNAMIC Fa0/3

Switch#show mac address-table

Mac Address Table

-------------------------------------------

Vlan Mac Address Type Ports

---- ----------- -------- -----

1 0001.4271.4c38 DYNAMIC Fa0/1

1 0001.9697.a956 DYNAMIC Fa0/4

1 000b.beb1.0269 DYNAMIC Fa0/3

1 0030.a35b.bda2 DYNAMIC Fa0/4

1 00d0.bc3d.6aa6 DYNAMIC Fa0/4

最后,可以看到Fa0/4接口存储着3个mac地址,说明,这个口连接着集线器。

8.         快速以太网和G比特以太网

速率达到或超过100Mb/s的以太网称为高速以太网。在双绞线上传送100Mb/s基带信号的星形拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。100BASE-T以太网又称为快速以太网(Fast Ethernet)。

100Base-T以太网的物理层,100BASE-TX,使用2对UTP5类线或屏蔽双绞线STP;100BASE-FX,使用2对光纤;100BASE-T4,使用4对UTP3类线或5类线。

100Base-T的特点,可在全双工方式下工作而无冲突发生。因此,不使用CSMA/CD协议。MAC帧格式仍然是802.3标准规定的。保持最短帧长不变,但将一个网段的最大电缆长度减小到100m。帧间时间间隔从原来的9.6μs改为0.96μs。

允许在1Gb/s下全双工和半双工两种方式工作的以太网,是吉比特以太网。

使用802.3协议规定帧格式。在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)。与10BASE-T和100BASE-T技术向后兼容。当吉比特以太网工作在全双工方式时(即通信双方可同时进行发送和接收数据),不使用载波延伸和分组突发。

1000BASE-X基于光纤通道的物理层,

1000BASE-SX,SX表示短波长,传输距离275或550米;1000BASE-LX,LX表示长波长,550米或5000米;1000BASE-CX,CX表示铜线,传输距离25米;

1000BASE-T,使用4对5类UTP。

10吉比特以太网

10吉比特以太网与10Mb/s,100Mb/s和1Gb/s以太网的帧格式完全相同。保留了802.3标准规定的以太网最小和最大帧长,便于升级。不再使用铜线而只使用光纤作为传输媒体。只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议。

10吉比特以太网的出现,使得以太网的工作范围从局域网扩大到城域网和广域网,从而实现了端到端的以太网传输。这种方式的好处是,成熟的技术;互操作性很好;在广域网中使用以太网时价格便宜;同一的帧格式简化了操作和管理。

以太网从10Mb/s到10Bb/s的演进证明了以太网是,可扩展的,灵活的,易于安装,稳健性好。

以太网接入的重要特点是它可提供双向的宽带通信,并且根据用户对采用宽带的需求灵活地进行宽带升级;采用以太网接入可实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率和降低了传输的成本。

9.         cisco建网的3层模型

核心层、汇聚层和接入层。3层的好处是易于扩展。

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


四、  网络层

1.         网络层提供的服务

负责在不同网络之间尽力转发数据包,基于数据包的ip地址转发;如果丢了,不负责丢失重传,也不负责顺序。

互联网的复杂性,体现在物理层不同的规范,数据链路层的不同的协议,数据链路层的不同协议,比如路由器到路由器使用PPP协议,带集线器的星形局域网使用CSMA/CD协议。那么分层后,网络层只关心目标地址,也就是下一跳传给那个站点。网络层就不必关心设备的物理特性或者数据链路的协议,网络层只需要关心选择的跳转路径是不是最优的。路由器工作在网络层,路由器选择路径的时候可以看到ip地址,根据ip地址选择路径。

2.         使用cisco packet  tracer验证网络层功能

打开工具,使用两个路由器分别搭建一个由交换机连接若干pc机和连接一个连接若干pc机的集线器构成的局域网,以及一个由交换机连接若干pc机构成的局域网。然后规划ip网段,配置所有设备的ip地址。比如,其中一个局域网的ip段为10.0.0.0,那么配置第一台pc的ip地址是10.0.0.2、子网掩码为255.0.0.0、网关为10.0.0.1,网关一般是线路最近的第一个路由器的ip地址。如果不配置网关,pc机发出的数据就不知道下一站送到哪里,可以说网关是数据出去局域网的大门,没有网关就没有出口。

配置好局域网,配置路由器,使用cli界面配置

配置局域网入口接口,使用的命令:

Router>enable

Router#configterminal

Router(config)#interfacefastEthernet0/0

Router(config-if)#noshutdown

Router(config)#interfaceFastEthernet0/0

配置广域网入口接口(也就是局域网出口接口),使用的命令:

Router(config-if)#exit

Router(config)#interfaceserial2/0

Router(config-if)#noshutdown

%LINK-5-CHANGED:Interface Serial2/0, changed state to down

Router(config-if)#clockrate 64000

Router(config-if)#ipaddress 11.0.0.1 255.0.0.0

然后,配置另一个局域网的路由器,类似的cli界面操作。

然后,测试以下,使用ping测试每个局域网内部到局域网入口网关是否通,ping两个路由器之间是否通。

然后,测试某个局域网的pc机到另一个局域网的pc机是否能ping通,结果不能ping通。因为路由器没有配置路由表,路由器可以自己学习路由,也可以配置。路由器就像快递转运中心,需要安排好这个经过快递中心到目的地的转运路径,否则,物件到了这个快递中心,如果这个中心没有一个运输路途表,物件就不知道下一站发往哪里,也就不能被送到目的地。数据经过路由器也是这样的。

查看路由表

Router>enable

Router#show iproute

给路由器添加路由表

Router(config)#configterminal

Router(config)#iproute 12.0.0.0 255.255.0.0 11.0.0.2

再次查看路由表

Router(config)#exit

Router#show iproute

可以看到增加了新的路由

C 10.0.0.0/8 isdirectly connected, FastEthernet0/0

C 11.0.0.0/8 isdirectly connected, Serial2/0

12.0.0.0/16 issubnetted, 1 subnets

S 12.0.0.0 [1/0]via 11.0.0.2

类似步骤为另一个局域网的路由器添加路由表。

只为一端的局域网配置好路由表,不能保证从这段的pc机ping得通另一个局域网的pc机,因为数据在两个终端的联通是交互的,发送出去的数据要得到目的端的响应才能说明是通的。那么,当两个局域网的路由器都设置好路由表后,使用ping测试两个局域网内的pc机是否通。

网络布局,如下:

3.         网络设备和OSI参考模型之间的关系

数据传输的过程

PC6(IP3)

 

 

 

 

 

 

PC5(IP4)

应用层

 

数据

 

 

 

 

传出层将无差错的数据段给应用层,应用层就接收到的数据段合并成完整的数据。

1

应用层

表示层

表示层

会话层

会话层

传输层

4

3

2

1

数据段

接收到数据,丢弃物理层地址,做纠错等处理

1

传输层

网络层

1

源IP3

目IP4

数据包

路由器,收到数据后,丢去FCS和MAC地址,根据数据包的内容选择路径,根据路由表选择出口。

这一站路由器做类似的工作。

丢弃FCS和MAC地址

1

源IP3

目IP4

网络层

数据链路层

FCS

1

源IP3

目IP4

源M1

目M2

数据帧

交换机,接收比特流、存储到接口,查看MAC地址,选择比特流的出口,然后转发出去。

然后,路由器的网卡给数据封装上数据帧。如果是PPP协议,只需封装目标MAC地址FF。然后转换成比特流发送出去。

重新封装帧数据

FCS 1 IP3 IP4 M3  M4

查看MAC地址是否为本PC机的地址。是就接收

FCS 1 IP3 IP4 M3  M4

数据链路层

物理层

01101010101

比特流

集线器,传递

加强比特流

01101010101

01101010101

01101010101

01101010101

物理层

说明:IP3表示PC6的IP地址10.0.0.2,IP4表示PC5的IP地址12.0.0.3;M1代表源主机的MAC地址,M2代表目标主机或者是路由器的MAC地址。

1)        准备数据

应用程序准备要传输的文件。

传输层将文件分段分成文件包并编号。

在网络层为每一段封装源和目标的ip地址。

在数据链路层,封装MAC地址,两种情况:

第一种,根据自己的子网掩码,判断自己在哪个网段,比如10.0.0.2 255.0.0.0的ip判断自己所在的网段为10.0.0.0-10.255.255.255,如果是12.2.0.3  255.255.0.0的ip判断自己所在的网段为12.2.0.0-12.2.255.255,规则是取子网掩码的255字段所在的位的数其他位取0为首地址,取子网掩码的0字段的数换为255为尾地址,从算法上将就是取子网掩码的255字段与自己的ip的对应的位做位的与运算,比如10&255(11111111)还是10,那么网段就是10.0.0.0-11.0.0.0(不包括11.0.0.0)网段。然后,使用自己的子网掩码判断目标地址在哪个网段,比如目标地址为10.0.0.3、自己的子网掩码为255.0.0.0,那么目标地址的网段为10.0.0.0-10.255.255.255,如果目标地址为12.0.0.3、自己的子网掩码为255.0.0.0,那么目标地址的网段为12.0.0.0-12.255.255.255。如果源地址所在的网段和目标地址所在的是同一个网段,那么就使用arp协议广播解析目标IP地址的MAC地址。涉及的工作设备是网卡、集线器、交换机。

第二种情况,如果不是一个网段的,就发给局域网出去的最近的路由器,首先是源主机arp协议广播最近的路由器的MAC地址,广播后取得路由器的MAC地址,源主机向最近的路由器广播的前提是源主机配置了网关,也就是路由器中局域网入口接口的ip地址。涉及的工作设备是网卡、集线器、交换机、路由器。

获取MAC地址后,将源主机和目标设备(主机或路由器)的MAC地址封装到进去,添加FCS帧校验序列,形成了一段数据帧。封装MAC地址的作用是决定下一跳给哪个点的设备。工作设备是网卡。

在物理层转化为数字信号。工作设备是网卡。

以上是发送数据前做的准备工作。

2)        发送过程

比特流经过集线器,集线器对比特流做强化转发处理。如果没有集线器,就直接到交换机。

比特流传到交换机的入口接口,交换机,接收比特流、存储到接口,查看MAC地址,选择比特流的出口,然后转发出去。

比特流传到路由器,路由器,收到数据后,丢去FCS和MAC地址,根据数据包的内容选择路径,根据路由表选择出口。然后,路由器的网卡给数据封装上数据帧。如果是PPP协议,只需封装目标MAC地址FF。然后转换成比特流发送出去。

经过一些列路由器,达到目的pc机所在局域网的入口路由器后,路由器根据数据包的内容选择路径,根据路由表选择出口。重新封装帧数据。

最后,数据经过交换机或者集线器到目的pc机,目的pc机对数据从物理层向上一步一步的解封,最终数据达到目的pc机的应用层,一般会存在缓存中,等到所有的数据段都传送到达后重新组合,使用数据。

从数据传输的过程来看,分析交换机、路由器是否会中病毒。病毒是一段代码。数据在传输时,是分成一段一段传播的,所以说,某一时间点,路由器或交换机中的数据可能只是病毒的某一段,而不是完整的病毒程序,首先程序的运行需要环境的支持,比如windows下c程序依托windows平台,java.class程序依托jre,一般能的路由器或者交换机、集线器是没有这些运行环境的,即使真的有,路由器等设备上传输的可能只是一段数据,可能不是完成的病毒数据,而且只是做短暂停留。所以,路由器、交换机、集线器中病毒的可能非常小。但是,受到病毒感染的终端可能会影响到网络中的路由器等设备的工作,比如通过高密集传输数据导致网络设备带宽的拥堵。

4.         网络层协议

网络层协议有:

网络层

IP

ICMP

IGMP

ARP

 

1)        ARP

地址解析协议,address resolution  protocol,将IP地址通过广播,目标MAC地址FF-FF-FF-FF-FF-FF,解析目标IP的MAC地址。只能解析本网段的所有IP,遇到路由器就停止向路由器下的网络发送。ARP可以扫描本网段的MAC地址。在cmd命令中,arp  -a查看。

ARP欺骗,ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。 ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器。安装一些抓包工具,可以实现ARP欺骗,使得这台pc机成为局域网中的数据中间机,可以使得任意两个终端设备间互相的数据传输都经过这个中间机。

 

 

 

 

 

 

 

 

 


比如,当a向b发送数据时,c提前使用抓包工具将a的mac地址表做了手脚,也就是对应的ip10.0.0.3的mac地址改为c的mac地址,那么a发送的数据实际上就发给了c,然后,c将这写数据发送给b,相当于劫持了数据。反之也是。

使用ARP欺骗也可以阻止网段中两个设备间的通信,比如,当a向b发送数据时,c提前利用工具对a的mac地址表中b的ip地址对应的mac地址改为一个本网段中不存在的mac地址,那么当a发给b的数据发出后,到交换机,查看mac地址,发现网段中没有这个mac地址,就直接丢弃了,导致a不能与b通信。这种工具一般被称为网络执法官。P2P终结者这个工具就是利用ARP欺骗的网络执法官工具,它实现控制本网段的计算机接入internet的流量,以及限制可以访问那些网站不可以访问那些网站。比如,本网段的计算机接入intenet都需要与路由器也就是网关通信,使用的是网关的mac地址,p2p终结者将访问网关的mac地址修改为访问自己的mac地址,结果,所有设备要访问intenet时都经过使用了p2p终结者的pc机。

arp命令的语法:

arp[-a [InetAddr][-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-sInetAddr EtherAddr [IfaceAddr]] 

使用cmd命令修改本机的mac地址映射表,比如,ping 192.168.0.100。然后,arp -a,得到192.168.0.100的mac地址。修改本机中缓存的192.168.0.100的mac地址为别的,arp -s  192.168.0.119  c4-17-fe-06-12-33,如果本机有多个网卡,可以指定网卡接口修改这个网卡访问远程ip的mac地址,比如,arp -s  192.168.0.119  c4-17-fe-06-12-33  192.168.0.110。然后,再次arp –a,可以看到显示的192.168.0.100的物理地址为静态的,就是人为设置的物理地址;再ping 192.168.0.100,就不能ping通了,因为找不到在局域网中找不到物理地址为c4-17-fe-06-12-33的设备。ARP欺骗工具,本质上就是使用这个原理产生作用的。

win7下修改本机网卡的mac映射表,使用netsh命令。

netsh  i i  show  in查看网卡信息;

找到本地连接或者无线网络连接的idx;

netsh  -c  “i  i” add  ne  11 192.168.0.119 00-aa-bb-cc-dd-ee-ff,这种绑定默认是永久生效的,包括重启系统后,如果只需临时绑定arp表,跟上参数store=active,即netsh -c  “i  i”  add ne  11  192.168.0.119 00-aa-bb-cc-dd-ee-ff  store=active;

输入arp  -a查看是否绑定成功;

然后,ping  192.168.0.119,不能ping通;

删除绑定的arp表项,临时添加,重启系统就可以或者arp -d(删除所有的arp表项),如果是永久添加,使用netsh “i  i”  delete neighbors  12。

使用网络执法官软件或者P2P终结者软件管理局域网设备的流量

下载安装网络执法官软件,打开软件,选择网卡设备,就是使用那个网卡来管理。然后,添加,确定。就显示局域网所有的设备。在设置中设置关键主机组。设置某台pc既不能和关机主机组连接,右击这台pc机权限设置,禁止用户,断开与指定关键主机组的连接。

如果本pc机要反网络执法官对自身权限的限制,可以使用arp -s临时设置,然后做成bat文件,放在计算机的启动执行项(gpedit.msc:组策略,windows设置,脚本》启动》添加)中,或者netsh设置永久的mac地址项。也可以使用ARP防火墙,反网络执法官的控制。

ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。

2)        ICMP网际控制报文协议

为了提供IP数据报交付成功的机会,在网际层使用了网际控制报文协议ICMP,internet control  message protocol用于检测网络层故障。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议,而是IP层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。最常用的命令是ping命令。

PING,packet  internet groupe,因特网探索器,用于测试网络连接量的程序。ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。

如果打开网站失败,可以使用ping测试到网站ip是否连通。

比如ping  www.baidu.com的结果

正在Ping www.a.shifen.com [61.135.169.125] 具有 32 字节的数据:

来自61.135.169.125 的回复: 字节=32 时间=22ms TTL=55

来自61.135.169.125 的回复: 字节=32 时间=22ms TTL=55

来自61.135.169.125 的回复: 字节=32 时间=22ms TTL=55

来自61.135.169.125 的回复: 字节=32 时间=22ms TTL=55

61.135.169.125 的 Ping 统计信息:

    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

    最短 = 22ms,最长 = 22ms,平均 = 22ms

其中的TTL是time to  live,生存时间,由发送主机设置的,为了防止数据包不断在IP互联网上永不终止地循环,转发IP数据包时,要求路由器至少将TTL减少1,这样TTL为了0时数据包就停止传输。从TTL字段值可以识别发送端操作系统类型,UNIX及类UNIX操作系统为255、LINUX为64、WIN2K/NT为128、WINDOWS98系统32。

ping  /?,查看命令帮助;

ping  www.baidu.com -t,表示不停地ping;

ping  -l 200  www.baidu.com,用200字节的包ping;

ping  8.8.8.8 -i  ttl,指定ttl的值ping某个地址,比如,ping  8.8.8.8 -i  1,那么就是走一个路由器就耗尽了ttl,此时返回的就是最近的路由器的ping的信息,使用ping命令可以查看距离本机指定节点数据的路由器的ip地址。ping  www.baidu.com -i  2,可以得到距离本机出发第二个路由器的ip信息。出于网络的复杂性,除了第一个外之后的路由器可能每次的结果都不一样。也可以使用这个方法精确确定到某个ip中间走了多少个哪几个路由器。

使用ping命令可以帮助排除连网故障。比如,能登陆qq,但是不能打开网站,可能是DNS域名解析服务器出现了问题,因为一般网站需要将域名解析为ip地址的,但是qq默认就是设置的直接连ip地址,所以不需要解析。

使用ping命令估算网络是否畅通,比如,如果ping网关,时间比较长,说明网络堵塞了。如果pc设备不设置网关了,那么ping外网也ping不通的,因为不知道本局域网的出口在哪里。如果路由器不设置路由表,或者删除路由表,需要通过这个路由器的数据,走到这个路由器就不知道下一站怎么走了,也是不通了。

另一个常用的命令式pathping,可以跟踪数据包的路径,计算丢包情况。这个命令只能在windows平台使用。比如,pathping www.baidu.com。

还有一个命令tracert,可以跟踪数据包的路径,比如,tracert www.baidu.com。这个命令也可以在路由器上使用,区别是路由器使用traceroute,比如traceroute 12.0.0.4。

3)        IGMP协议和多播组播

组播又叫多播。类似的还有点到点和广播。点到点,从源pc到目标pc路径很明确,就是这个到那个。广播,可以在一个网段实现,如局域网中,目标mac地址都是FF的,就是以广播发送,网段中所有的终端都可以接收到,这种广播称为全网广播,是无法跨路由器的。

多播,就是将同一个pc端发出的数据根据发往的目的地的不同绑定不同的ip地址,比如,某一时间内,将A数据包绑定为ip1,将B数据包绑定为ip2,在pc接收端根据绑定的ip地址来接收数据。多播流也可以跨局域网传播,也就是在广域网中也能传播。

IGMP协议,internet组管理协议,internet  group  management  protocol,作用就是扫描某个局域网中哪个pc机绑定了多播的ip地址。IGMP协议配置在路由器,也就是网络层,如果路由器经过IGMP扫描发现本网段有pc机绑定了多播的ip地址就向多播ip地址请求数据,然后发送给网段中的设备。

5.         IP数据包的结构

一个IP数据包由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据包必须具有的;在首部的固定部分的后面是一些可选字段,其长度是可变的。

 

0

4

8

16  19  24  31

首部

固定部分

每行是4字节

版本

首部长度

区分服务

总长度

标识

标志

片偏移

生存时间

协议

首部检验和

源地址

目的地址

可变部分

可选字段(长度可变)

填充

 

 

数据部分

1)        版本

占4位,表示TCP/IP协议的版本,v4、v6等,4位可以表示0-15,如果是4代表ipv4,6代表ipv6。

2)        首部长度

占4位,标明首部占的长度,一般都是20字节,可选字段很少使用,5表示20字节。

3)        区分服务

根据现实中数据的紧急程序,区分一个优先级,比如实时通信的数据(比如qq视频、在线直播)比单纯传送过去但不着急使用的数据(如邮件、迅雷下载的电影等)优先级高,使用8位的二个16进制表示,一般是使用QoS实现,比如window7以上的平台上在pgedit.msc中,windows设置》基于策略的QoS》新建策略》添加策略名和指定DSCP值》下一步》下一步》完成,然后打开网页,抓包查看结果。

4)        总长度

头部长度加上数据长度的和,占16位,也就是2个字节,最大是2的16次方-1,也就是65535字节。数据链路层的数据部分帧的最大值为1500字节,而网络层最大为65535字节。传输层和网络层在向下封装数据时不会考虑数据链路层能传送的最大容量,这在数据链路层就出现承载问题了。解决方法是,在数据链路层,会将数据包分成符合最大容量要求的数据片,一般的数据包都不需要分片,如果是发送的特大包就需要分片。如果不分片,数据包的数据部分不超过1480字节,因为首部占20字节,1500-20=1480。如果数据包的数据部分大于1480字节,就需要对其分片了。

5)        标识

如果发生了数据包分片,比如,将一个数据包分为了3片,这3片经过不同的路由路径,传输到目的pc机后,在网络层将3片组合成一个完整的数据包。网络层通过标识判断分片是否是同一个包的。标识占16位,2个字节,比如,某3片的标识都是100,那么在接收端就这3个标识都是100的数据片组成一个完整的数据包。

6)        标志

标志,占3位,用来标志这份数据是一个分片还是完整的数据包。目前只有前两位有意义。标志字段的最低位是MF(more fragment),MF=1表示后面还有分片,MF=0表示最后一个分片。标志字段中间的一位是DF(don’t fragment),只有当DF =0时才允许分片。

7)        片偏移

片偏移就是某片在原原数据包的相对位置,以8个字节为偏移单位,这就是说,每个分片的长度一定是8字节的整数倍。比如,一共传输3800字节,每次最大只能传1400字节(因为还有加上ip固定头部字节的20字节,加起来是1420字节),所以分3片,第一片0-1399字节片的片偏移是首字节0/8=0;第二片1400-2799字节片的片偏移是首字节1400/8=175;第三片的片偏移是2800/8=350。

使用抓取工具,抓取数据包查看分片标志,ping -l  65500  192.168.0.100 -t,ping大包,然后抓取数据,查看。

8)        生存时间

TTL,8位二进制表示。TTL每过一个路由器都要减1。当路由器收到数据包后,会在数据包头部修改TTL等信息,然后发送出去。生存时间是为了防止数据形成环路传输后不终止的传输下去。

9)        协议

用来标识协议号,表明网络层的数据包里面 的数据是什么数据,是UDP、ICMP、IGMP、TCP、OSPF等什么协议。协议字段指出应将数据部分交给哪一个进程。ICMP,协议号1;IGMP,协议号2;TCP,协议号5;TCP,协议号6;UDP,协议号17;IPv6,协议号41;OSPF,协议号89。

10)     首部检验和

为了检验首部数据的正确性,在发送时,将首部数据按照16位一组分成n组,分组时首部检验和为0,然后将这些组的数据反码算术运算求和,取反码得到校验和,放到首部校验和字段。首部校验和占16位。刚好可以接收16位数据的反码算术元算求和。然后,发送出去,到接收端,再将首部数据按照16位一组分成n组,将这n组数据反码算术运算求和,取反码,如果得到的结果为0,则保留,否则,丢弃该数据报。

注意,只是头部参与校验和计算,数据部分不参与。

11)     源地址和目的地址

源ip地址和目的ip地址,都是各占32位二进制,比如192.168.0.1。

12)     可选字段和填充

用来进行排错测量以及安全等措施。这些部分很少用,新的ipv6协议,已经不再使用这一部分,就是只使用固定部分作为头部。

最后,使用抓包工具,抓取一段数据,查看ip包的结构。

6.         使用抓包工具排除网络故障

比如,在局域网中,在某台pc机上使用抓包工具可以捕获局域网中的点到点、广播、组播数据。如果某台pc机中了病毒,疯狂地发广播或组播,导致局域网拥塞,这时候,使用抓包工具可以查获那台pc机在作祟。其实,在没有抓包工具的情况下,如果局域网中的pc机比较少,可以通过一个一个拔网线,然后观察的方式,推测是那个出了问题,为了加快效率,可以使用二分查找的思路拔,先拔一半再拔。

7.         IP协议

IP协议也属于网路层协议,由于IP协议涉及的东西多一点。路由器负责分配数据报下一跳的路径,路由器根据路由表选择路径。路由表的产生有两种方式,一种由管理员设置的,这种是静态路由,静态路由比较死板,需要后续维护;另一种是路由器之间通过IP协议,比如RIP或者OSPF协议,相互学习而创建的路由表,这种是动态路由。

网络畅通的条件,数据包有去有回。比如在两个通过广域网连接的局域网中间的两台终端通信,要求,终端设备要配置网关,沿途的路由器需要有达到终端的ip路由表,能够知道下一跳转到哪里。这个原则关系到静态路由的配置。

1)        静态路由

使用cisco packet  tracer搭建由局域网和广域网组成的网络系统,并设置静态路由。布置设备,规划网段,配置ip地址和静态路由等。配置静态路由表的时候,要配置去路的,也配置回路的,否则还是不通的。配置静态路由,需要管理员告诉路由器所有没有直连的网络下一跳给谁。

2)        动态路由

如果网络的规模比较简单、不复杂、扩展可能不大,使用静态路由还可以应付,但是如果网络规模比较大、扩展性强,那么使用静态路由就需要很大的工作量来布置和维护、且静态路由不能自动调整路由,此时,就需要使用动态路由的方式,实现路由器自主学习路由表。常用的动态路由协议有RIP协议、OSPF协议。

RIP协议,路由器周期性广播路由表,30秒更新一下,最大跳数是15跳,如果是需要第16跳到目的地的话,则认为不可达到目的地,不适合网络拓展比较庞大的环境。工作过程,网络中的路由器都是使用的RIP协议,比如,某个局域网端的路由器会时不时的从直接连着的网络中的所有路由器发送广播,告诉这些路由器,自己连接的网段有哪些。那些收到广播的路由器也会周期性的向自己连着的路由器发送广播,告诉它们到自己直到的网段有哪些,如此普及全网,使得每个路由器都具有比较完整的路由表。RIP协议会记录数据从a到b的过的路由器的跳数,跳数越少则路径越近。

配置一个RIP协议的网络环境

布置设备,分配ip,配置ip,然后启用RIP协议,配置路由器所有接口所在网段

Router>en

Router#config t

Router(config)#routerip

//配置所有接口的网段

Router(config-router)#network192.168.0.0

Router(config-router)#network192.168.1.0

Router(config-router)#network192.168.2.0

Router(config-router)#network192.168.7.0

将所有路由器都配置好。配置好后,测试。则网络内任意两个点之间都可以ping通,包括路由器。 如果网段中有路由器或者线路故障了,那么,会自动选择走其他可以走得通的路径。

OSPF协议,也能够学习路由路径,与RIP不同的是,这个协议选择路径的标准是带宽而不是跳数。使用带宽选择最佳路径比跳数更准确。

在cisco模拟工具中,show ip  protocols命令可以查看当前ip协议信息。

Router>en

Router#show ipprotocols

五、  传输层

1.         传输层的两个协议

传输层有两个协议TCP、UDP。

TCP,transmission  control protocol ,传输控制协议。如果需要将传输的文件分段传输,都需要TCP协议,使得传输的两端之间建立会话,实现传输的可靠性、流量控制。传送比较大的数据需要使用TCP协议。比如,迅雷下载,发邮件,ftp下载上传,百度云盘等走的是TCP协议。

UDP,user  data protocol,用户数据报协议。当一个数据包就能够完成数据通信时,传送的两端不需要建立会话,也不需要流量控制,进行的是不可靠传输,如果没有收到,就重传。比如,上网时,进行DNS域名解析时,走的是UDP协议,pc端只需要发送域名出去让DNS服务器解析,一个数据包就够了,如果解析不成功,就重发一遍。qq聊天也是走的UDP协议。屏幕广播或多播也要走UDP协议。

打开网页,使用cmd命令,netstat -n可以查看与远程ip的连接。

2.         传输层协议与应用层协议之间的关系

如下表

RDP

FTP

TELNET

SMTP

DNS

TFTP

SNMP

RIP

应用层协议

3389

21

23

25

53

69

161

520

端口号

TCP

UDP

传输层协议

TCP协议加上3389端口就是rdp协议

加上21端口是ftp协议

加上23端口是telnet协议

加上25端口是smtp协议

加上80端口是http协议

加上443端口是https协议

加上445端口是访问共享文件夹

加上1433端口是sql协议

加上53端口是dns协议

加上110端口是pop3协议

等等。

UDP协议加上69端口是SNMP协议,加上520端口是RIP协议。

DNS既可以使用TCP协议,也可以使用UDP协议。大多数情况下,DNS使用的是UDP协议。

3.         服务和应用层协议之间的关系

计算机上可以安装很多服务,比如web服务,可以使计算机使用tcp的80端口,监听来自客户端的web请求,也就是是pc机成为一个基本服务器;电子邮件服务,可以收发电子邮件;安装ftp服务,就使用tcp的21端口,侦听客户机的请求;安装smtp服务,就可以使用tcp的25端口;安装pop3服务,就可以使用tcp的110端口,等。只要已开启服务,就开始侦听相关的tcp端口数据的请求。利用服务软件的漏洞,从这些侦听的端口进入pc机是一种入侵的方式,反入侵的方法是关闭没有用的服务,这就就停止了这个tcp端口的侦听;另一种方式是在网卡设置可以接收的tcp端口数据,网卡就像是外部数据与本机流通的大门。

服务使用tcp或udp的端口侦听客户端请求。客户端使用ip地址定位服务器,使用目标端口定位服务。可以在服务器网卡上设置只开放必要的端口,提高服务器的网络安全。

4.         服务和端口以及网络安全

查看pc机侦听的端口,netstat -a或者netstat  -an。

查看建立的会话,netstat  -n。

测试服务1,开启一台计算机的共享文件服务,配置好网关,然后使用局域网中的另一台计算机访问这个共享pc机,使用的是445端口。\\192.168.0.111\c。

测试服务2,开启一台计算机的远程连接服务RDP,会侦听3389端口。在另一台计算机上远程连接这台计算机的ip,命令mstsc。查看远程pc的telnet端口是否开启,命令telnet 192.168.0.111  3389,win7以上默认没有安装telnet,需要到控制面》程序》打开或关闭windows功能》勾选telnet客户端和telnet服务器。

正是这些端口被人们利用,比如,有人要入侵某台pc机时,首先就是扫描端口,查看计算机开启了哪些端口。通过扫描端口,观察pc机运行了哪些服务,然后利用服务的漏洞进行活动。

服务的端口是可以更改的。比如,远程连接的端口可以通过改注册表修改,其他端口有的可以通过服务的软件修改。通过修改端口,可以对网络入侵进行一定程度的迷惑,提高系统在网络的安全性。

设置本地网卡,只对80端口的数据开放。在windows防火墙里面设置。这样也可以提高网络安全。

5.         传输层的功能

传输层为相互通信的应用进程提供了逻辑通信。通俗的说,就是传输层使得a端的pc机上的应用程序能够找到要访问的b端的pc机上的对应的应用程序。如果没有传输层在中间提供通信,那么程序的访问就是错乱不堪的,比如,a客户端打开浏览器访问b服务器,结果到b服务器后,数据不是交给了服务器软件,比如apache或者tomcat等,而是交给了数据库软件,那结果无法正常访问获得想要的网页数据的;再比如,使用qq通信,a客户端在qq向b客户端发送的信息,到b端不能达到qq程序,而是进入了其他程序如直播软件,这也是无法正常通信的。实现这个逻辑通信的方法,就是传输层的tcp或udp协议加上端口。如果说网络层时完成的任务是地址到地址,那么,传输层的功能就是程序到程序。数据链路层可以说是实现点到点跳跃。物理层是数据流的基础,就像道路一样。进一步说,传输层协议和网络层协议之间的区别是,IP协议的作用范围是提供主机之间的逻辑通信;TCP和UDP协议的作用范围是提供进程之间的逻辑通信。

此外,传输层还要对收到的报文进行差错检测;传输层提供面向连接(TCP)和无连接(UDP)的服务。

网络层使用协议号标识数据使用的传输协议,比如TCP  6,UDP  17,IGMP 1。传输层使用端口号标识数据从哪个程序发出,比如TELNET 23,文件共享  445等。每一层都要封装上一层的协议或者程序情况。

6.         端口

TCP的端口,是用一个16位的二进制数进行标志,范围是0~65535(216-1)。端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的个进程。在因特网中不同计算机的相同端口号是没有联系的。本地的端口不能重复,重复造成端口冲突,导致冲突的软件中后启动的不能启动。

端口分为三类:

熟知端口,数值一般为0~1023,比如,FTP,21;TELNET,23;SMTP,25;DNS          ,53;HTTP,80;https,443;RDP,3389。

登记端口号,数值为1024~49151。windows公司,为了使得自己开发的程序不被冲突,而去ip部分登记使用某某端口。

客户端口号,数值为49152~65535。

使用netstat  -n |find  "ESTABLISHED"可以过滤查看端口。

7.         UDP协议

一个数据包可以完成的通信,就使用UDP协议。UDP协议的特点,是无连接的,即发送数据之前不需要建立连接;使用尽最大努力交付,即不保证可靠交付,同时也使用拥塞控制;是面向报文的,UDP没有拥塞控制,很设和多媒体通信的要求;UDP支持一对一、一对多、多对一和多对多的交互通信;UDP的首部开销小,只有8个字节。

用户数据报协议UDP传输结构

 

 

 

 

 

 

 

 


UDP首部组成

字节

12

2

2

2

2

 

伪首部

源端口

目的端口

长度

检验和

长度包括UDP首部和UDP用户数据包的数据部分。

检验和,首部和数据部分都要参与检验和运算,首部中也是包括伪首部的。检验和运算,每4个字节一个单位,按二进制反码运算求和,将得出的结果求反码,得到检验和。

伪首部,是为了匹配网络层的IP首部的检验和运算的格式,也就是要满20字节,就增加了12个字节,记录网络层的一些信息,然后参与进检验和运算。

UDP伪首部组成

字节

4

4

1

1

2

 

源IP地址

目的IP地址

0

17

UDP长度

其中的17是协议号,也就是UDP的协议号17。

8.         TCP协议

传输控制协议,TCP是面向连接的传输层协议,两端在传输数据前需要先确保线路是通的,进行3次握手,a向b发送出去,b向a发送回来说我收到你的信息了,然后a再向b发送一次说我知道你知道你收到我的信息了;每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的,就是说不能使用多播或广播;TCP提供可靠交付的服务,比如保证数据报完整性、流量控制、拥塞控制;TCP提供全双工通信,即可以同时收发;面向字节流。

TCP把连接作为最基本的抽象。每一条TCP连接有两个端点。TCP连接的端点不是主机,不是主机的IP地址,不是应用程序,也不是传输层的协议端口。TCP连接的端点叫做套接字(socket)。端口号拼接到IP地址即构成了套接字。套接字socket=IP地址:端口号。每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。即TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}。

1)        TCP实现可靠传输

可靠传输的工作原理是,停止等待协议。

 

 

 

 

 

 

 

 

 

 

 


当A端向B端发送数据后,会等待一段时间,只有收到确认信息,才继续发送;如果超过等待时间(数据一个往返的时间RTT)没有收到确认,就重发。

 

 

 

 

 

 

 

 

 

 

 


网络中的数据在传输时走的是不同的路径,确认的信息可能走的远路,在超时重传的确认都被收到后,可能超时重传前的确认才发送到,这就需要接收确认端来确认迟到也就是什么也不做,自己知道这个是迟到的确认。

使用上述的确认和重传机制,可以在不可靠的传输网络上实现可靠的通信。这种可靠传输协议常称为自动重传请求ARQ(automatic repeat  requer)。ARQ表明重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组。

停止等待协议的优点是简单,但缺点是信道利用率太低。信道利用率的公式,U=TD/( TD +RTT+ TA)。发送时间/发送数据+传输时间+确认时间。传输时间和确认时间相对是固定的,提高信道利用率的方式是提高发送时间。发送可以连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。这种传输称为流水线传输。

流水线传输,通过连续ARQ协议实现可靠传输,发送方维持发送窗口,比如发送窗口是5,一次性连续发送5个数据报,然后停止等待,等收到第1个的收到确认,就将第一个数据报从缓存中删除,然后发送出第六个数据包,就这样形成一个连续的发送。为了进一步提高效率,接收方一般采用累计确认的方式。比如,累计确认,接收端发送第3个数据包的确认信息,发送端收到第3个数据包的确认信息,发送端就知道了收到了1、2。优点是容易实现,信道利用率高。缺点是不能向发送方反映出接收方已经正确收到的所有分组的信息。

2)        TCP首部

TCP报文段的首部格式。

0

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

16

 

 

 

 

 

 

 

24

 

 

 

 

 

 

31

字节

源端口

目的端口

20字节的固定首部

序号,发送的数据报的第一个字节是整个数据包的第几个段,序号就是多少。

确认号,这个数据报的最后一段的序号+1,也就是如果接收端收到后告诉发送端下一个发哪个序号的数据报。

数据偏移

记录TCP报文段从第几个字节开始有数据,偏移字节量=偏移值*4

保留

U

R

G

A

C

K

P

S

H

R

S

T

S

Y

N

F

I

N

窗口,发送端向接收端发送数据报是告诉对方自己的接收缓存能够容纳的字节数。

检验和,范围是首部和数据部分,需要加上12字节的伪首部,将第3个字节的表示协议号的17改为6,计算方式同UDP。

紧急指针,只有当URG=1时,紧急指针才起作用。

选项(长度可变),可以规定最大数据报的长度,确认时是否支持选择性确认,

填充

 

使用抓包工具,查看TCP首部字段信息。

保留字后面是首部标记位。

URG,urgent,表示紧急的,优先传,比如有时候需要取消正在传输的数据,比如从服务器端下载,一般,缓存中是在排队传输的数据,按下crtl+z按键后,crtl+z这个按键转换数据也要在缓存中排队,需要排到crtl+z传送到服务器端才能将服务器的下载进程结束,为了能够立即结束传输,需要设置URG=1,也就是优先传。

ACK,acknowledge,如果ACK=0,则确认号无效;如果ACK=1,确认号才有效,确认号大于0,ACK=1。

SYN,synchronous,当某端与另一端建立会话时,发送端数据报中序号是0,确认号是0,SYN=1 、ACK=0,接收端确认发回的数据报中序号是0,确认号是1,SYN=1、ACK=1。SYN=1,就表示是发起会话的数据报。利用TCP协议的建立会话机制,可以对pc机进行syn攻击,伪造不存在的ip地址与目标pc机不断发起建立会话。类似的还有land攻击,迫使攻击目标自己和自己不断的建立会话。

PSH,push,设置数据报在接收端在缓存中读取的位置在最前面,也就是在接收端优先读取PSH=1的数据报。

RST,reset,重新连接与否。比如,如果tcp连接出现了严重错误或者异常中断了连接,后续没有发送过去的数据报的RST=1。

FIN,finally,结束标志。如果数据传送完毕,需要释放连接,则FIN=1。

3)        TCP滑动窗口技术实现可靠传输

以字节为单位的滑动窗口技术。

比如,A计算机有如下一段数据要发给B。一个格子是一个字节。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

 

                                                                                                                                                  A的发送缓存

A的发送窗口=12

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

建立会话时,B计算机告诉A,其接收窗口有多大,A计算机就设置自己的发送窗口为多大。

A发送了3个字节,看到发送窗口还有数据,又发送了3个字节,然后,有发送了4个字节。

1

2

3

4

5

6

        

6

7

8

9

        

10

11

12

发了3个字节后,还没有收到确认,就又发了3个字节。然后,窗口中的字节都发送了出去,就不能继续发了。然后,数据陆续送到B的接收缓存的接收窗口。首先123456发送到了B。

B的接收缓存如下

                                                                                                                                                  B的接收缓存

B的接收窗口=12

1

2

3

4

5

6

 

 

B将确认号是7的ACK=1的数据报发给A。A收到B的确认信息后,就滑动自己的接收窗口。然后删除掉发送窗口之前的数据,也就是B已经收到的数据,在内存的体现就是释放内存。

                                                                                                                                                  A的发送缓存

                                          A的发送窗口=12

fe

fe

fe

fe

fe

fe

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

然后,A接收发送发送窗口中未发送的数据。

13

14

15

16

17

 

同时,B也在接收着A发送给它的数据,并发送给A确认信息。

                                                                                                                                                  B的接收缓存

B的接收窗口=12

1

2

3

4

5

6

6

7

8

9

10

11

12

 

 

当B的接收窗口接收满,就将接收的数据传给应用程序,清空接收窗口。继续接收。

                                                                                                                                                  B的接收缓存

B的接收窗口=12

 

 

同时,B的应用程序缓存中,形成要接收的数据的临时文件,如下:

1

2

3

4

5

6

7

8

9

10

11

12

循环往复下去,直到数据全部传输到B,释放会话,B的应用程序中收到所有的数据。

如果A发送过程中,出现了丢包。比如,A向B发送了1234、567、8910、111213,由于各种原因,B只收到了1234、567、111213,就是丢失了8910。这时B就发送给A一个SACK选择性确认,selected ack,比如7,这时A收到这个sack=7的数据报就会给B重发8910。

超时重传时间的选择。TCP每发送一个报文段,就对这个报文段设置一个计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。

新的RTTS=(1-α)*(旧的RTTS)+α*(新的RTT样本)。

超时重传时间应略大于上面得出的加权平均往返时间RTTS

RFC2988推荐的α值为1/8。

4)        TCP协议实现流量控制

A端向B端发送数据,建立会话时,B告诉A其接收窗口是10,A以10的发送窗口陆续向B发送数据。当B接收了一窗口的数据后。B将接收窗口改为5发送给A,A以5的发送窗口陆续向B发送数据。当B接收了一窗口的数据后。B将接收窗口改为2发送给B,A以2的发送窗口陆续向B发送数据。当B接收了一窗口的数据后,需要处理以下缓存的数据了,将接收窗口改为0发送给A,A收到后就暂停向B发送数据。等B处理完,将接收窗口改为10发送给A,又发送起来。为了防止期间,B向A发送窗口信息丢失的问题,A会定期询问B的接收窗口是多少。

TCP的流量控制就是通过接收端告诉发送端接收窗口有多大来实现。

5)        TCP的拥塞控制

拥塞就是网络堵塞。出现资源拥塞的条件,对资源需求的总和>可用资源。

拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。对比下,流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制,它所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收,涉及到的只是两端的设备。

网络中设备的TCP协议的拥塞控制机制,当网络中出现拥塞时,全局的设备会自动降低发送速率和量,以缓解拥塞。

慢开始和拥塞避免算法实现拥塞控制

拥塞控制的实现,发送方维持拥塞窗口cwnd(congestion  window)。发送方控制拥塞窗口的原则是,只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去;只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。比如,发送方向接收方发送数据,一开始的时候,先发送一个包,如果返回用时很及时,说明网络比较畅通,就扩大拥塞窗口为2,如果返回还是及时,就继续扩大拥塞窗口为4,如果还是网络畅通,就继续以2倍增大拥塞窗口,直到达到一定程度,也就是慢开始门限值,就逐渐的加法增大,也就是拥塞窗口的长度递增为1。当网络中出现拥塞时,也就是出现丢包时,首先计算新的慢开始门限,也就是出现拥塞时窗口的大小/2的值为新慢开始门限,然后,将拥塞窗口调整为1,继续慢开始增长,直到再次出现拥塞,循环往复。

拥塞避免并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。拥塞避免是说在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。

快重传和快恢复

快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。

快恢复,当发送端收到连续三个重复的确认时,就执行乘法减小算法,把慢开始门限ssthresh减半,但拥塞窗口cwnd现在不设置为1,而是设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法(加法增大),使拥塞窗口缓慢地线性增大。

发送窗口的实际上限值应当取接收方窗口和拥塞窗口这两个变量中较小的一个,即应按以下公式确定:发送窗口的上限值=Min[rwnd,cwnd]。

9.         TCP的传输连接管理

TCP协议是可靠传输的,传输连接有三个阶段,即,连接建立、数据传送和连接释放。TCP连接的建立都是采用客户服务器方式。主动发起连接建立的应用进程叫做客户(client),被动等待连接建立的应用进程叫做服务器(server)。

1)        建立连接

TCP的连接建立用三次握手完成。如下图所示:

 

 

 

 

 

 

 

 

 

 

 

 

 


第一次握手,客户向服务器发送一个同步数据包。服务器看到这个数据包就知道是主动发起连接的请求,就向客户发起一个同步数据包进行第二次握手。当客户收到这个确认连接的数据报,就向服务器发送数据报,确认收到了服务器的确认信号,进行第三次握手。进行三次握手的意思就是只要服务器给你客户发送了和你连接建立的数据报,客户就要回复一下收到了。这样的目的是为了防止一些意外情况,比如,客户向服务器首先发出建立连接的数据包,这个数据包走的路径比较远或者由于网络拥塞等原因,直到客户机等待回复超时了还没有走到服务器,然后客户又发送了建立连接的数据包,这次很快到了服务器,服务器的确认数据包也很快发到了客户,然后就开始正式发送数据了。结果,客户第一次建立连接的数据包也传到服务器了,服务器就发给客户一个确认建立连接的数据包,客户一看是确认连接的包,自己刚刚已经收到这个包了,就没有理会服务器。此时服务器就会等待这个确认连接的包发来数据,占用了服务器的资源。在网络中,服务器服务的客户机很多的,如果刚好很多客户机都出现类似的情况,比较多的服务器资源就被白白占用了。所以,需要进行第三次握手做确认,以避免无谓的等待。

服务器起初是处于侦听状态,一般通过服务器软件,比如apache或者tomcat,侦听80或8080端口或自定义的端口号;当客户发送建立连接的请求时,比如打开一个网页,这时客户处于SYN-SENT         状态;让服务器接收到客户建立连接的数据包后,处于SYN-RCVD状态,并向客户发送确认建立连接的数据报;当客户收到确认建立连接的数据报,就处于ESTABLISHED状态,也就是建立状态,并向服务器发送确认收到连接建立的数据报;服务器收到确认信息后,就处于ESTABLISHED状态。nestat -n可以查看与远程ip的连接状态。

2)        连接释放

客户

 

服务器

 

 

 

 

              主动关闭ESTABLISHED                                                                                                         

                                                                                                                                               ESTABLISHED                                                             FIN-WAIT-1                    

                                                                                                                                                CLOSE-WAIT被动关闭   

                                                                                                                                               

                            FIN-WAIT-2                                                                                            LAST-ACK

                            TIME-WAIT

              等待2MSL(4分钟)

                                CLOSED                                                                                                     CLOSED

 

数据传输结束后,通信的双方都可释放连接。比如,A的应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。A把连接释放报文段首部的FIN=1,其序号seq=u,等待B的确认。

 

 

 

 

 

 

 

 

 

 

 

 

 


六、  应用层

应用层的协议很多,比如HTTP、FTP、DNS、RDP、SMTP、POP3等。没有协议都对应应用层的一个服务,比如web服务对应http协议,http协议又对应TCP协议+80端口。

1.         DNS服务

domain  name system,域名系统,万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

用户在internet上访问网站,一般是在浏览器输入的域名,都需要先访问DNS服务器将域名解析为ip地址,走的是UDP协议,有时候如果DNS服务器出现故障,会导致无法访问网站。

1)        域名

域名,是由一串用点分隔的字符组成的internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。根据级别,域名包括顶级域名,比如com、edu、net、cn、org、gov等,代表网站的性质;二级域名,公司、个人、组织可以申请注册二级域名,比如baida、alu、tens等可以考虑作为域名去域名注册机构申请,二级域名是全球唯一的;三级域名是需要多一级的,可以使用三级域名,比如wang.baida.com。一个完整的域名每级域名后都有.,比如www.baidu.com.这是完整的写法,最后的点一般省略也没有差错。

域名解析测试,使用ping  域名;查看当前使用的DNS服务器ip,cmd中,nslookup,可以查看域名服务器ip,其中输入www.daida.com可以查看域名的ip,也可以nslookup   www.bad.com。

域名注册,到相关注册的网站,查询域名是否被注册,然后,根据步骤可以注册。

域名解析的过程,internet中有极大数量的网站,生活中有众多的网民,网民都通过域名解析访问网站,为了应对巨大的域名解析服务请求,internet上的DNS解析服务是分布式的,比如有一个根A0DNS服务器,有若干个具体的DNS服务器,比如A1DNS服务器专门解析com域名的,A2DNS服务器专门解析net域名的,A3DNS专门解析edu域名的,A4DNS专门解析cn域名的。支DNS服务器知道根DNS服务器的地址是多少,根DNS也知道这几个支DNS的地址多少。比如,当用户访问www.bada.com是,用户的DNSip默认就是A1DNS的,而A1NDS也知道www.bada.com的ip,就直接将这个域名对应的ip反给用户。如果用户访问www.alu.net,而A1DNS不知道www.alu.net的ip,A1DNS就问根服务器谁知道这个域名的ip,根就告诉A1说A2知道,A1就问A2这个域名的ip,A2将ip告诉A1,A1就将这个ip反给用户,并且将这个ip缓存起来。这样,用户可以访问年全球的域名。全球DNS的分布式布置的负载也不会过于沉重。网络中的根DNS有多个,这样也利于实现全网络的DNS服务的负载均衡。

2)        配置和安装DNS服务器

在内网或者较小规模的局域网中可以配置本单位使用的DNS服务器。安装自己的DNS服务器,可以解析内网自己的域名,降低到internet的域名解析流量,形成域环境。

在winxp上利用安装盘可以安装DNS服务器。在win7上需要借助第三方软件,比如bind。

安装了DNS服务器后,将要上网的pc机的网络连接的DNS服务器设置为安装了DNS的服务器的ip地址。

2.         动态主机配置协议DHCP

dynamic  host  configuration  protocol,是一个局域网的网络协议,使用UDP协议,作用是,给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

IP地址的配置有静态方式和动态方式。使用静态方式的例子,在一个教室的机房内,计算机的位置是固定的,编好号的,那么可以使用静态分配1号机ip配为192.168.0.101,2号机ip配为192.168.0.102等。使用动态方式的例子,比如,一个学校有很多教学楼,没有教学楼每层都有一个无线路由器,那么,学生使用笔记本联网,这时学生的pc机要使用动态分配ip地址的方式,因为每层的ip地址段是不一样的,如果使用静态方式很容易产生冲突。

右击本地连接》属性》属性》ipv4协议》可以选择使用自动获得ip地址和静态ip地址两种方式。选择自动获得ip地址,就是使用了DHCP协议请求ip地址。

DHCP客户端请求IP地址的过程,DHCP客户机请求ip地址时,会在局域网上发送广播,询问哪台pc机是DHCP服务器。DHCP服务器收到广播后,就会从地址池里面选择一个ip地址分配给这个请求ip的主机,并将上网的子网掩码、网关、DNSip地址都发送给这个请求客户机。局域网中,DHCP服务机的数量要受到控制,否则可能分配给客户机分配错误的ip地址。

安装DHCP服务。要求DHCP服务器必须是静态ip地址。打开DHCP服务,添加作用域,就是分配的ip地址的范围,一般是在本网段范围内,比如192.168.20网段的,就是192.168.20.1-192.168.20.255。租约期限,根据管辖的pc机的活动情况。ipconfig  /all可以查看本机的DHCP分配的ip信息。ipconfig /release,可以释放ip地址。ipconfig /renew,可以重新获得ip地址。如果本局域网中配备了DNS服务器,如果DNS服务器的ip地址更新了,使用ipconfig /renew可以更新DNS服务器ip。网段中pc机请求ip地址时,是通过发送广播找DHCP服务器的,然后获取ip地址,可以说是通过MAC地址获得了ip地址,这称为逆向ARP。

跨网段配置ip地址,DHCP服务器可以跨网段给其他网段配置ip地址。在跨网段的网段网关路由器上配置ip helper-address为DHCP服务器的ip地址。使用cisco packet  tracer测试跨网段配置ip地址。

装配好基本的网络后,在路由器的192.168.2.1网段的接口,配置DHCP路由转接,如下命令:

Router(config)#interfacefastEthernet 1/0

Router(config-if)#iphelper-address 192.168.0.2

3.         文件传输协议FTP

file  transfer protocol,在互联网上传输文件大多使用FTP协议。使用的TCP的21端口。一次FTP服务需要使用两个TCP连接,一个是TCP控制连接,标准端口是21,用于发送FTP命令信息,比如上传、下载、移动、复制、重命名、删除等命令;一个是TCP数据连接,标准端口是20,用于上传、下载数据。TCP数据连接的建立有两种模式,一个是主动模式,一个是被动模式。

主动模式,服务端从20端口主动向客户端发起连接,FTP客户端告诉FTP服务器使用什么端口侦听,然后服务器就和客户端建立连接,源端口是20。比如,控制连接建立后,用户客户端打开一个端口,比如1020端口,然后向服务器发送一个请求,然后,服务器打开20端口,然后主动与客户端的1020端口连接。主动模式,防火墙需要打开21和20端口。

被动模式,服务端在指定范围内的某个端口被动等待客户端,FTP服务器被动的打开一个端口等待客户端来连接这个端口。如果防火墙只打开21和20端口,被动模式FTP不能下载数据,因为服务器在指定范围的某个端口被动等待客户端,不确定防火墙打开哪个端口。如果有防火墙且需要下载数据,最好使用主动模式。

FTP传输模式,文本模式,ASCII模式,以文本序列传输数据;二进制模式,binary模式,以二进制序列传输数据。

在windows上安装FTP服务将某台pc机配置为ftp服务器。在网段中的其他pc机中,使用浏览器或者windows资源管理器都可以访问这个ftp服务器。在pc客户端的资源管理器或浏览器中的internet选项》高级》修改使用ftp的模式,默认是使用的被动模式。

4.         远程终端协议TELNET

比如,某些没有图形用户界面的设备,如路由器,或者不方便到用户机地点的情况下,可以使用远程登录来访问这些设备,远程登录需要用到的是TELNET协议。

TELNET协议默认使用的是TCP的23端口。

开启某台pc机的远程登录服务。然后添加用户和密码,net user  administrator  user1  123/add,设置用户密码是net  user  administrator 123,将某个用户加入管理员组,net localgroup  administrators  user1 /add。就可以使用同网段的其他pc机远程登录这个pc机,在cmd中使用telnet命令,win7需要安装telnet客户端。

5.         远程桌面协议RDP

remote  desktop  protocol,对于不方便亲临管理的远程pc机,使用远程桌面登陆可以进行管理。本地使用mstsc,即microsoft terminal  service  client,这个和远程终端协议类似,不同的是这个是图形界面的。

在远程pc机中开启远程连接允许。使用的TCP的3389端口。允许连接的远程用户的数量是限制的,xp和win7是单用户的,同一时间只能一个用户远程桌面登陆。只有远程机的管理员组和远程桌面组的用户可以远程连接到远程机。如果不想给远程访问用户太大的权限,可以将其加入到远程桌面组。

连接到远程机的时候,可以将本地的驱动器也映射到远程机,本地资源》详细信息》驱动器。

6.         超文本传输协议HTTP

hyper  text transfer  protocol,平常使用最多的协议,打开网址一般是这个协议,如http://www.daba.com/。和网站相关的名词,客户服务方式、客户程序、浏览器、服务器程序、万维网服务器、页面、统一资源定位符URL、HTTP使用TCP连接、超文本标记语言HTML、搜索引擎。URL的一般形式,由以冒号隔开的两大部分组成,并且在URL中的字符对大写或小写没有要求。URL的一般形式是:<协议>://<主机>:<端口>/<路径>

在计算机安装web服务,在win7中,控制面板》程序》打开或关闭windows功能》internet信息服务》万维网服务+web管理工具。安装好,打开internet信息服务管理器,在网站目录网站。如果需要在一台服务器上添加多个网站可以使用端口进行区分。如果不习惯使用端口区分,也可以使用静态分配ip地址,然后在高级选项中添加ip地址,可以添加多个。如果不能设置多个ip地址,可以通过主机头值来区分。

使用web代理服务器访问网站,代理就是代办,不是直接去办而是第三方去办。比如,访问百度的网站,不是直接访问百度,而是访问一个百度的代理网站,这个代理网站从百度获得数据响应给用户端,代理网站一般具有缓存网页的作用。

web代理服务器可以控制用户访问;可以节省内网访问internet的带宽,利用web代理服务器的缓存,可以直接响应给客户端。安装代理服务器软件,可以使某台pc机成为代理服务器。然后在使用代理服务器的pc机的浏览器的internet选项》连接》局域网设置》代理服务器》设置代理服务器的ip地址,端口设置为代理软件使用的端口。

使用代理服务器可以绕过路由器的防火墙。

使用代理服务器可以避免跟踪。

7.         电子邮件相关的协议

有SMTP、POP3、IMAP。SMTP是发送邮件的协议,POP3、IMAP是收邮件的协议,IMAP的性能更好。

 

 

 

 

 

 

 

 

 

 

 

 


安装POP3和SMTP服务以及DNS服务。

在DNS服务器上,创建daibu.com和51cto.cm,创建主机记录mail,创建邮件交换记录MX记录。

在POP3服务上创建域名,创建邮箱。

配置SMTP服务器,创建远程域名*.com,允许发送到远程。

配置outlookExpress,指明收件的服务器和发邮件的服务器,使用POP3协议收邮件。

如果要搭建在internet上使用的邮件服务器,需要的工作是:

在internet上注册了域名,MX记录。

邮件服务器有公网IP地址或端口映射到邮件服务器SMTP(TCP+25端口)。

七、  网络安全

计算机安全分为数据安全、应用程序安全、操作系统安全、网络安全、物理安全和用户教育安全。

1.         网络安全概述

计算机网络上的通信面临以下四种威胁:

截获,从网络上窃听他人的通信内容;

中断,有意中断他人在网络上的通信;

篡改,故意篡改网络上传来的报文;

伪造,伪造信息在网络上传送。

截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。

使用某些截获软件,可以截获同一个网段的网络数据。原理是使用ARP欺骗。反截获的方式是安装反ARP欺骗软件。

计算机本身面临的威胁有:

计算机病毒,会传染其他程序的程序,传染是通过修改其他程序来把自身或其变种复制进去完成的。

计算机蠕虫,通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。

特洛伊木马,一种程序,它执行的功能超出所声称的功能。

逻辑炸弹,一种当运行环境满足某种特定条件时执行其他特殊功能的程序。

2.         加密技术

加密技术分为对称加密和非对称加密。

对称加密就是加密密钥和解密密钥是同一个密钥。对称加密的缺点是不适合在网上传播,维护起来比较麻烦;优点是效率高。

数据加密标准DES,属于常规密钥密码体制,是一种分组密码。在加密前,先对整个明文进行分组。每一个组长为64位。然后对每一个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥为64位(实际密钥长度为56位,有8位用于奇偶校验)。

目前较为严重的问题是DES的密钥的长度。56位密钥破解需要3.5或21分钟,128位密钥破解需要5.4*10的18次方年。

非对称加密,加密密钥和解密密钥是不同的,密钥分为公钥和私钥。两种加解迷方式,公钥加密私钥解密,私钥加密公钥解密。非对称加密的缺点是效率低,优点是使用起来方便。

3.         数字签名和CA

数字签名,用于防御抵赖和确保检查签名之后是否被更改。

为了防止验证数字交易双方的身份的合法性,由一个权威机构-CA数字认证机构给交易双方发行数字证书。比如,采用微信支付或支付宝支付等需要申请获得CA颁发的数字证书。查看pc机默认已经获得证书,在cmd中输入mmc,打开微软管理控制台,文件》添加管理单元》添加证书》个人或计算机,然后可以查看证书。企业申请证书需要向相关机构缴费申请。如果企业的私钥证书丢了或泄漏了,需要到相关机构申请挂失。相关机构要实时更新证书吊销列表。

安装CA申请证书和邮箱服务将一台pc配置为证书服务机。另一台pc机A2可以登陆这个证书认证机的网站申请证书,登陆网站》申请证书》高级证书申请》填表》申请。申请后,证书被挂起。然后,证书服务机可以颁发证书。颁发后,申请证书的pc机可以安装该证书。在浏览器internet选项》内容》证书》个人中可以查看安装的证书。还有一台pc机A3,是没有申请安装证书的。A2在outlook中设置使用数字签名,设置好证书和加密首选项。如果都使用outlook,A2向A3发送普通电子邮件时,A3是可以收到的。A2向A3发送签名邮件时,A3是可以收到的和查看的,只是对于A3来说对于这个证书的信任性还不确定,让A3信任这个证书的方式是A3从A1的证书网站安装一个证书链,这样A3也就有了A2的证书的公钥。这样A2和A3可以互发加密邮件了。

在浏览器的intenet选项》内容》证书》可以导出证书,导出的需要是私钥。这样可以给证书做备份。

4.         intenet上使用的安全协议

常见的有两种安全套接层SSL和网络层安全IPSec。

1)        SSL

SSL位于应用层和传输层之间。在发送方,SSL接收应用层的数据(如HTTP或IMAP报文),对数据进行加密,然后把加了密的数据送往TCP套接字。在接收方,SSL从TCP套接字读取数据,解密后把数据交给应用层。访问网站的时候,如果不加密的使用的是http协议,如家加密了使用的是https协议,比如登陆注册时。发送接收邮件,也要使用安全套接字协议,IMAPS使用的是tcp协议的993端口,POP3S使用的是tcp协议的995端口,SMTPS使用的是tcp的465端口,HTTPS使用的是tcp的443端口。

SSL提供三个功能

SSL服务器鉴别,允许用户证实服务器的身份。具有SSL功能的浏览器维持一个表,上面有一些可信赖的认证中心CA和它们的公钥。

加密的SSL会话,客户和服务器交互的数据都在发送方加密,在接收方解密。

SSL客户鉴别,允许服务器证实客户的身份。

网站使用SSL,需要向CA申请一个证书,下载,安装证书。

2)        IPSec

internet协议安全性是一种开放标准的框架结构,通过使用加密的安全服务以确保在internet协议网络上进行保密而安全的通讯。主要包括两个安全协议, AH(AuthennticationHeader)鉴别首部协议,用来向IP通信提供数据完整性和身份验证,同时可以提供抗重播服务,AH鉴别源点和检查数据完整性,但不能保密;ESP(EncapsulatedSecurityPayload)封装安全有效载荷协议,它提供IP层加密保证和验证数据源以对付网络上的监听,ESP比AH复杂得多,它鉴别源点、检查数据完整性和提供保密。

在使用AH或ESP之前,先要从源主机到目的主机建立一条网络层的逻辑连接。此逻辑连接叫做安全关联SA。IPSec就把传统的因特网无连接的网络层转换为具有逻辑连接的层。SA(安全关联)是构成IPSec的基础,是两个通信实体经协商(利用IKE协议)建立起来的一种协定,它决定了用来保护数据分组安全的安全协议(AH协议或者ESP协议)、转码方式、密钥及密钥的有效存在时间等。

在pc机中设置IPSec的方法是,在cmd中输入secpol.msc》IP安全策略》创建新的IP策略》完成》添加规则》根据情况设置。

5.         数据链路层安全

路由器与路由器之间的加密解密实现链路层数据传输的安全。数据链路层的PPP协议支持身份验证。ADSL的拨号也是一种身份验证。

使用cisco packet  tracer搭建网络环境,进行身份验证,实现数据链路层安全。

6.         防火墙

防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制策略。接入控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。防火墙内的网络称为可信赖的网络,而将外部的因特网称为不可信赖的网络。防火墙可用来解决内联网和外联网的安全问题。

防火墙一般分为两类,网络级防火墙,用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者来检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。应用级防火墙,从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许通过访问万维网的应用,而阻止FTP应用的通过。

根据防火墙的拓扑结构,有三向万维网防火墙、背靠背防火墙、单一网卡防火墙、边缘防火墙。

八、  Internet上的音频视频

1.         音频视频的特点和面临的问题

在互联上传音频视频,占用的带宽高,要求网速恒定,延迟不能高。相对,数据信息,对带宽、网速、延迟都没有很高要求。

面临的问题

延迟,从开始发送数据到接收到数据,可能有发送延迟、传播延迟、排队延迟、处理延迟等。延迟对于非交互式的音频视频影响不大,对于交互式影响大。

带宽不稳定,对于非交互式的多媒体数据可以在接收端设置缓存,播放器从缓存中匀速获取数据播放,缓存的使用以及播放的延迟准备提高播放的流畅性。

2.         安装流媒体服务

因特网提供的音视频服务大概分为3种类型

流式(streaming)存储音频/视频——边下载边播放,比如,在线电影网站。好处是客户端节省空间,可以保护版权。

流式实况音频/视频——边录制边发送,也就是直播。录制设备将数据发送给计算机编码器,编码器的数据传给流媒体服务器,客户端通过访问流媒体服务器可以看直播。

交互式音频/视频——实时交互式通信,比如语音、视频聊天、网络电话、网络会议等。

在windows上安装流媒体服务,配置为流媒体服务器,给流媒体服务器设置为静态ip。

IP电话

狭义的IP电话,就是指在IP网络上打电话。所谓IP网络就是使用IP协议的分组交换网的简称。广义的IP电话则不仅仅是电话通信,而且还是在IP网络上进行交互式多媒体实时通信(包括音视频等),还包括即使传信IM(instant messaging)。

IP电话通话指令主要由两个因素决定,一个是通话双方端到端的时延和时延抖动,另一个是话音分组的丢失率。但这两个因素是不确定的,是取决于当时网络上的通信量。一般,在电话交谈中,端到端的时延不应超过250ms,否则交谈者就能感到不自然。

QoS,quality  of service,服务质量,指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,用来解决网络延迟和阻塞等问题的一种技术。

九、  无线网络

无线网络的应用也很广泛了。无线网络的种类很多,zigbee(802.15.4)、蓝牙(802.15.1)、wifi(802.11g.a、802.11b)、wimax(802.6)、移动通信(2G、3G、4G)、超宽带(802.15.3)。

无线wifi使用无线路由器实现。容易受到实体障碍的影响。由无线AP和pc机组成的网络叫做基本服务集。基本服务器内的基站叫做接入点AP(access point)。当网络管理员安装AP时,必须为该AP分配一个不超过32字节的服务集标识符SSID和一个信道。无线路由器兼具路由器、交换机和无线接入点的功能。

移动自组网络,自组网络是没有固定基础设施(即没有无线AP)的无线局域网。这种网络由一些处于平等状态的移动站之间相互通信组成的临时网络。利用电脑的无线网络可以创建临时自组网络。

 


相关文章:

  • 使用javadoc生成项目的帮助文档
  • [one_demo_13]ArrayList去除重复的元素
  • web项目发布到tomcat的两种方式
  • androidBasic
  • mybatis使用like模糊查询防sql注入写法
  • maven整合ssm项目中报org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  • dubbo简介
  • FastDFS简介
  • redis集群
  • solr集群
  • ssm框架web项目配置全局异常处理
  • ActiveMQ
  • 删除数据库重复记录
  • session共享问题
  • springmvc中ajax响应json报406错误的两种原因
  • 【Amaple教程】5. 插件
  • 4个实用的微服务测试策略
  • Android系统模拟器绘制实现概述
  • CentOS 7 防火墙操作
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaScript设计模式与开发实践系列之策略模式
  • JavaScript中的对象个人分享
  • Java应用性能调优
  • js中forEach回调同异步问题
  • miaov-React 最佳入门
  • Solarized Scheme
  • SpiderData 2019年2月13日 DApp数据排行榜
  • SwizzleMethod 黑魔法
  • 关于extract.autodesk.io的一些说明
  • 基于 Babel 的 npm 包最小化设置
  • 聊聊hikari连接池的leakDetectionThreshold
  • 爬虫模拟登陆 SegmentFault
  • 前端设计模式
  • 区块链技术特点之去中心化特性
  • 2017年360最后一道编程题
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (差分)胡桃爱原石
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (小白学Java)Java简介和基本配置
  • (一) storm的集群安装与配置
  • (转)linux下的时间函数使用
  • ../depcomp: line 571: exec: g++: not found
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET开源项目介绍及资源推荐:数据持久层
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @Responsebody与@RequestBody
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • []C/C++读取串口接收到的数据程序
  • [20140403]查询是否产生日志
  • [Asp.net mvc]国际化
  • [BUUCTF]-Reverse:reverse3解析