可以免费做宣传的网站,张店网站制作哪家好,做网站主要用哪种语言,武进建设局网站一、 概述
网络在人类社会的方方面面是很普遍存在的。按照覆盖范围#xff0c;分为局域网LAN#xff0c;城域网MAN#xff0c;广域网WAN。
1. 局域网
相对来说#xff0c;局域网的覆盖范围较小#xff0c;自己花钱买设备#xff0c;带宽固定#xff0c;一般…
一、 概述
网络在人类社会的方方面面是很普遍存在的。按照覆盖范围分为局域网LAN城域网MAN广域网WAN。
1. 局域网
相对来说局域网的覆盖范围较小自己花钱买设备带宽固定一般为10M、100M、1000M相对来说带宽可以布置的比较宽那么传输效率比较高自己维护。比如某个楼层中3个房间的电脑结合交换器形成的一个局域网 局域网的优点主要有具有广播功能从一个站点可很方便的访问全网局域网上的主机可共享连接在局域网上的各种硬件和软件资源便于系统的扩展和逐渐地演变各设备的位置可灵活调整和改变提高了系统的可靠性、可用性和生存性。
2. 广域网和Internet
广域网数据传输距离比较远一般是付费租带宽由其他机构维护。 Internet全球最大的广域网起源于美国由众多的ispinternet service provider互联网服务提供商比如移动、联通等和icpinternet content provider互联网内容服务商比如各大网络公司以及广大的用户群体组成。上图的双线机房就是既接着a运营商的线又连着b运营商的线的机房。
3. IP地址和MAC地址
在Internet上每一个节点有依靠唯一的ip地址相互区分和联系。ip地址是一个32位二进制数的地址比如115.12.123.154由4个8位字段组成每个字段用点号隔开。MACmedia 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设备图做示意
首先客户的数据发送到最近最直接的路由器Amac地址为m1数据帧格式为
数据字段发送方ip:14.0.0.2目标ip18.0.0.4源mac:m11下一跳mac:m1数据包 数据帧
在这一步中交换机根据pc的mac地址和路由器的mac地址将数据封装传输到对应的路由器。交换机不能识别ip地址。
然后数据从A路由器发送到下一个路由器C数据帧格式为
数据字段发送方ip:14.0.0.2目标ip18.0.0.4源mac:m2下一跳mac:m3
在这一步中路由器根据目标ip地址决定走哪些个路由器然后重新封装数据更改源mac和下一跳mac。
然后数据从C路由器发送到下一个路由器B数据帧格式为
数据字段发送方ip:14.0.0.2目标ip18.0.0.4源mac:m4下一跳mac:m6
数据经过一系列的跳转最终从G路由器传送到服务器m7数据格式为
数据字段发送方ip:14.0.0.2目标ip18.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协议栈应用层HTTPFTPDNS 表示层 会话层 传输层TCPUDP 网络层IPICMPIGMPARP 数据链路层EthernetATMFrame Relay物理层
在tcp/ip协议中应用层就包括了osi模型中的应用层、表示层、会话层网络接口层就包括了osi模型中的数据链路层和物理层。
在tcp/ip协议中数据的封装过程
对应的层封装过程应用层上层数据表示层会话层传输层TPC头上层数据网络层IP头TCP上层数据数据链路层MAC头IPTCP上层数据FCS物理层01011101011010110110011010101101
首先数据从某一端不论是pc客户端还是服务端一般是由客户端发起的发出上层数据比如在浏览器中输入帐号、密码点击了登陆然后在传输层为这段数据加上TCP头此时这段数据称为数据段或消息然后在网络层为数据段加上IP头此时形成数据包然后在数据链路层为数据包加上MAC头和FCS帧校验此时形成数据帧最后数据在物理层按照高低电平表示的二进制bit位电流发射出去。
9. 计算机网络的性能
常见的性能指标有速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率。
1) 速率
连接在计算机网络上的主句在数字信道上传数据位数的速率也称data rate或bit rate。单位是b/skb/sMb/sGb/s。
2) 带宽
数据通信领域中数字信道所能传送的最高数据率。单位是b/skb/sMb/sGb/s。
3) 吞吐量
在单位时间内通过某个网络的数据量单位b/sMb/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*220bit。也就是说每一时间在不间断的传输数据的过程中a和b的线路中存在的数据量为20bit。如果当带宽提高为100bit/s时同样是1s时间a机每次可以发送100bit数据出去这1s这100bit也是走了10米只是相比10bit/s时每bit位的长度短了这100bit走20米需要2秒那么时延带宽积100bit/s*2200bit。也就是说每一时间在不间断的传输数据的过程中a和b的线路中存在的数据量为200bit。如果保持带宽为100bit/s但是线路的传播速度提供为20m/s那么a机1秒发送100bit数据出去这100bit的长度为20米每秒在线路走20米走完20米的线路用时1s传播到b服务器需要1s。那么时延带宽积100bit/s*1100bit。也就是说每一时间在不间断的传输数据的过程中a和b的线路中存在的数据量为100bit。
所以举例分析后线路中的数据量与带宽成正比与 线路传播速度成反比。时延带宽积的实际意义是计算有多少数据在线路上。
6) 往返时间
RTTRound-Trip Time从发送方发送数据开始到发送方收到接收方确认。使用ping命令可以测试往返时间。比如ping www.baidu.com。
7) 信道利用率
信道利用率考察某个信道使用情况的指标。信道利用率有数据通过时间/有无数据通过时间。考察更大范围内网络利用率是指网络中所有的信道利用率的加权平均值。公式为DD0/1-U。D表示网络当前的时延D0表示网络空闲的时延U表示信道利用率。这个公式的含义是信道利用率越高越接近1那么时延就越大也就是说信道中数据越多越拥塞时延就越大就像公路上堵车一样。
二、 物理层
1. 基本概念
物理层解决如何在连接各种计算机的传输媒体上传输数据比特流而不是指具体的传输媒体。物理层的主要任务是确定传输媒体的接口的一些特性。分别为
机械特性例如接口形状大小引线数目
电气特性例如规定电压范围-5V到5V
功能特性例如规定-5V表示05V表示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为0bit与bit之间无信号跳变表示下一个bit为1。差分曼彻斯特编码与曼彻斯特编码相同但抗干扰性能强于曼彻斯特编码。每个数据是由紧挨的上个数据决定的。 3. 奈氏准则和香农公式
信道的极限容量
数据在信道中传输时受到实际的信道的内外环境的影响如宽带受限、有噪声、干扰和失真等数据信号有所失真如果都或多或少有失真如果失真在一定范围内信号在接收终点仍可以识别如果失真很大就无法识别。
1924年乃奎斯特推导出了著名的奈氏准则。在假定的理想条件下就是没有干扰等因素的情况下为了避免码间串扰码元的传输速率的上限值可以给出。在任何信道中码元传输的速率是有上限的否则就会出现码间串扰的问题使接收端对码元的判决即识别成为不可能。
如果信道的频带越宽也就是能够通过的信号高频分量越多那么就可以用更高的速率传送码元而不出现码间串扰。
信噪比香农用信息论的理论推导出了宽带受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率。信道的极限信息传输速率C可表达为CW log2(1S/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的速率就是(302)*64 2.048Mb/s。T1也是时分复用一次处理24路信道的数据再加上一个8kbps的头控制信号就是24*648 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
还有一种是光纤同轴混合网HFChybrid fiber coaxHFC网是在目前覆盖面很广的有线电视网CATV的基础上开发的一种居民宽带接入网。HFC网除可传送CATV外还提供电话、数据和其他宽带交互型业务。现在的CATV网是树拓扑结构的同轴电缆网络它采用模拟技术的频分复用对电视节目进行单向传输。而HFC网则需要对CATV进行改造大概是利用光纤将原来的有线电视的网连接到internet。使用HFC需要用户安装一个接口盒子、一个调制解调器。HFC网的最大优点是具有很宽的频带能够利用已经有相当大的覆盖面的有线电视网。
3) FTTx技术
FTTxFiber 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的前面插入一个转义字符ESC16进制编码为1B做为字节填充butestuffing或字符填充characterstuffing接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现在数据当中那么应在转义字符前插入一个转义字符。当接收端收到两个转义字符时就删除其中前面的一个。
帧开始符原始数据帧结束符SOH EOT SOH ESC SOH 字节填充 字节填充 字节填充 字节填充 SOH ESCEOT ESCSOH ESCESC ESCSOH EOT
4. 差错控制
传输过程中可能产生比特差错1可能变成0而0可能变成1。
在一段时间内传输错误的比特占所传输比特总数的比率称为误码率BERbit error rate。误码率与信噪比有很大的关系。为了保证数据传输的可靠性在计算机网络传输数据时必须采用各种差错检测措施。
数据链路层只负责无差错的接收如果发现数据帧有错直接丢弃不会纠错纠错由传输层实现。
帧检验一般常用循环冗余检验CRC。比如要传输的数据是101001检验是给这个数据加3个0变成101001000然后除以1101除数的位数是加的0的个数加1除数的值任意也可以是其他如1001、1011等位数要确保正确。除的过程中每一位做加法但是不进位也可以看作是做异或运算。如下表所示 110101Q商1101101001000 1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 001R余数作为FCS
FCS就是帧检验序列。还有很多不同的CRC算法得到FCS。
得到FCS后就将FCS作为检验码也封装到帧中那么发送出去的数据就是101001001。当接收端接收到这段数据后在数据链路层将这段数据除以1101和封装时相同的除数如果余数为0则说明帧没错否则说明帧的数据发生了变化导致了错误。比如验证101001001除以1101如表 110101Q商1101101001001 1101 1110 1101 0111 0000 1110 1101 0110 0000 1101 1101 000R余数
结果余数为0说明帧没有失真。
在数据后面添加上的冗余码称为帧校验序列frame check squence循环冗余校验CRC和帧校验序列FCS并不等同。CRC是一种常用的检错方法而FCS是添加在数据后面的冗余码。FCS可以用CRC这种方法得到但是CRC并非用来获得FCS的唯一方法。
CRC的特点不能确定究竟是哪一个或哪几个比特出现了差错只要经过严格的挑选并使用位数足够多的除数p那么出现检测不到的差错的概率就很小很小。
使用CRC差错检测技术只能做到无差错接收accept。无差错接收是指凡是接受的帧不包括丢弃的帧都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。也就是说凡是接收端数据链路层接受的帧都没有传输差错。要做到可靠传输也就是发送什么就收到什么就必须再加上确认和重传机制。CRC是一种无比特差错而不是无传输差错的检测机制。
5. 两种情况下的数据链路层
1) 点到点信道的数据链路层
点到点就是用户通过调制解调器连接到运营商服务接口的形式一般是使用拨号电话线接入大多用于广域网。这种形式采用的PPP点到点协议point-to-point protocolPPP是一个链路层的协议是全世界使用最多的数据链路层协议。
PPP协议应该满足的要求简单这是首要的要求封装成帧透明性支持多种网络层协议支持多种类型链路差错检测检测连接状态最大传送单元支持网络层地址协商数据压缩协商。PPP协议不需要满足的要求纠错流量控制序号多点线路半双工或单工链路。
PPP协议有三个组成部分数据链路层协议可以用于异步串行或同步串行介质使用LCP链路控制协议建立并维护数据链路连接网络控制协议NCP允许在点到点连接上使用多种网络层协议。
PPP协议的帧格式
首部IP数据包尾部F 7EA FFC 03协议信息部分FCSF 7E1字节1字节1字节2字节不超过1500字节2字节1字节
首部线发送。帧的开始和结束标识都是7E。FF代表地址因为是点到点中没有中间环节所以FF是固定的。03基本没有什么作用03也是固定的。FCS是帧检验序列。
PPP有一个2个字节的协议字段。有以下几种情况
0x0021PPP帧的信息字段就是IP数据包。
0xC021信息字段是网络控制数据。
0x8021表示这时网络控制数据。
0XC023信息字段是安全性认证PAP。
0XC025信息字段是LQR。
0XC223信息字段是安全性认证CHAP。
上面的标志字段F0x7E地址字段A只置为0xFF地址字段实际上并不起作用控制字段C通常置为0x03PPP是面向字节的所有的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 6400064k的时钟频率也就是带宽是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/CDcarrier 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ζ。定义参数kkMin[重传次数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委员会就将局域网的数据链路层拆成两个子层逻辑链路控制LLClogical link control子层和媒体接入控制MACmedium access control子层。与接入到传输媒体有关的内容都放在MAC子层而LLC子层则与传输媒体无关不管采用何种协议的局域网对LLC子层来说都是透明的。
由于TCP/IP体系经常使用的局域网是DIX Ethernet V2而不是802.3标准中的几种局域网因此现在802委员会指定的逻辑链路控制子层LLC即802.3标准的作用已经不大了。很多厂商生产的适配器上就仅装有MAC协议而没有LLC协议。
以太网提供的服务是不可靠的交付即尽最大努力的交付。当接收站收到有差错的数据帧时就丢弃此帧其他什么也不做。差错的纠正由高层来决定。如果高层发现丢失了一些数据而进行重传但以太网并不知道是一个重传的帧而是当作一个新的数据帧来发送。
2) 星形拓扑
传统以太网最初是使用粗同轴电缆后来演变到使用比较便宜的细同轴电缆最后发展为使用更便宜和更灵活的双绞线。不用电缆而使用无屏蔽双绞线。每个站需要用两对双绞线分别用于发送和接收。这种以太网采用星形拓扑在星形的中心增加了一种可靠性非常高的设备叫做集线器hub集线器起到重传和信号放大的作用因为不采用调制解调器的基带传输有效距离约为100m采用集线器可以扩展网络范围以形成局域网。
集线器是使用电子器件来模拟实际电缆线的工作因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片因此这样的硬件设备的可靠性大大提高了。使用集线器的以太网在逻辑上仍是一个总线网各工作站使用的还是CSMA/CD协议并共享逻辑上的总线。集线器就像一个多接口的转发器工作在物理层。
10BASE-T10表示10Mb/sbase表示基带传输T表示双绞线10Base-T的通信距离稍短每个站到集线器的距离不超过100m。这种10Mb/s速率的无屏蔽双绞线星形网的出现既降低了成本又提高了可靠性。10BASE-T双绞线以太网的出现是局域网发展史上的一个非常重要的里程碑它为以太网在局域网中的统治地址奠定了牢固的基础。其他的还有100Base-FX、100Base-T和100Base-T4等FX表示光纤。
3) 信道利用率
以太网的信道被占用的情况争用期长度为2ζ即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。帧长为Lbit数据发送速率为Cb/s因而帧的发送时间为L/C T0(s)。
一个帧从开始发送经可能发生的碰撞后将再重传数次到发送成功且信道转为空闲即再经过时间ζ使得信道上无信号在传播时为止是发送一帧所需的平均时间。信道利用率是发送数据的时间占整个发送时间的比率。信道利用率的参数a ζ/ T0。要提高以太网的信道利用率就必须减小ζ与 T0之比。a-0表示一次碰撞就立即可以检测出来并立即停止发送因而信道利用率高。a越大表明争用期所占的比例增大每发生一次碰撞就浪费许多信道资源使得信道利用率明显降低。
对以太网参数的要求当数据率一定时以太网的连线的长度受到限制否则ζ的数值会太大以太网的帧长不能太短否则T0的值会太小是a值太大。
信道利用率的最大值在理想化的情况下以太网上的各位发送数据都不会产生碰撞这显然已经不是CSMA/CD而是需要使用一种特殊的调度方法即总线一旦空闲就有某一个站立即发送数据。
发送一帧占用线路的时间是T0ζ而帧本身的发送时间是T0。可以计算出理想情况下的极限信道利用率Smax T0/(T0ζ)1/(1a)。
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层字节66246-15004 MAC帧目的mac地址源mac地址类型数据FCSMAC层插入8字节以太网MAC帧物理层
类型是标识上层协议是哪种数据报是ip还是ipx还是spx等。以10base-t的为例物理层传递的最短有效帧为64字节在mac层已经添加了662418个字节所以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类线或屏蔽双绞线STP100BASE-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-SXSX表示短波长传输距离275或550米1000BASE-LXLX表示长波长550米或5000米1000BASE-CXCX表示铜线传输距离25米
1000BASE-T使用4对5类UTP。
10吉比特以太网
10吉比特以太网与10Mb/s100Mb/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界面配置
配置局域网入口接口使用的命令
Routerenable
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通。因为路由器没有配置路由表路由器可以自己学习路由也可以配置。路由器就像快递转运中心需要安排好这个经过快递中心到目的地的转运路径否则物件到了这个快递中心如果这个中心没有一个运输路途表物件就不知道下一站发往哪里也就不能被送到目的地。数据经过路由器也是这样的。
查看路由表
Routerenable
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参考模型之间的关系
数据传输的过程
PC6IP3 PC5IP4应用层 数据 传出层将无差错的数据段给应用层应用层就接收到的数据段合并成完整的数据。 1… 应用层表示层表示层会话层会话层传输层 4321数据段 接收到数据丢弃物理层地址做纠错等处理 1 传输层网络层 1源IP3目IP4数据包 路由器收到数据后丢去FCS和MAC地址根据数据包的内容选择路径根据路由表选择出口。这一站路由器做类似的工作。丢弃FCS和MAC地址 1源IP3目IP4 网络层数据链路层 FCS1源IP3目IP4源M1目M2数据帧 交换机接收比特流、存储到接口查看MAC地址选择比特流的出口然后转发出去。然后路由器的网卡给数据封装上数据帧。如果是PPP协议只需封装目标MAC地址FF。然后转换成比特流发送出去。重新封装帧数据 FCS 1 IP3 IP4 M3 M4查看MAC地址是否为本PC机的地址。是就接收 FCS 1 IP3 IP4 M3 M4数据链路层物理层01101010101 比特流集线器传递 加强比特流01101010101011010101010110101010101101010101物理层
说明IP3表示PC6的IP地址10.0.0.2IP4表示PC5的IP地址12.0.0.3M1代表源主机的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的对应的位做位的与运算比如1025511111111还是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. 网络层协议
网络层协议有
网络层IPICMPIGMPARP
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表跟上参数storeactive即netsh -c “i i” add ne 11 192.168.0.119 00-aa-bb-cc-dd-ee-ff storeactive
输入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数据报交付成功的机会在网际层使用了网际控制报文协议ICMPinternet control message protocol用于检测网络层故障。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议而是IP层的协议。ICMP报文作为IP层数据报的数据加上数据报的首部组成IP数据报发送出去。最常用的命令是ping命令。
PINGpacket 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 TTL55
来自61.135.169.125 的回复: 字节32 时间22ms TTL55
来自61.135.169.125 的回复: 字节32 时间22ms TTL55
来自61.135.169.125 的回复: 字节32 时间22ms TTL55
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数据包必须具有的在首部的固定部分的后面是一些可选字段其长度是可变的。 位04816 19 24 31首部固定部分 每行是4字节版本首部长度区分服务总长度标识标志片偏移生存时间协议首部检验和源地址目的地址可变部分可选字段长度可变填充 数据部分
1) 版本
占4位表示TCP/IP协议的版本v4、v6等4位可以表示0-15如果是4代表ipv46代表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-201480。如果数据包的数据部分大于1480字节就需要对其分片了。
5) 标识
如果发生了数据包分片比如将一个数据包分为了3片这3片经过不同的路由路径传输到目的pc机后在网络层将3片组合成一个完整的数据包。网络层通过标识判断分片是否是同一个包的。标识占16位2个字节比如某3片的标识都是100那么在接收端就这3个标识都是100的数据片组成一个完整的数据包。
6) 标志
标志占3位用来标志这份数据是一个分片还是完整的数据包。目前只有前两位有意义。标志字段的最低位是MFmore fragmentMF1表示后面还有分片MF0表示最后一个分片。标志字段中间的一位是DFdon’t fragment只有当DF 0时才允许分片。
7) 片偏移
片偏移就是某片在原原数据包的相对位置以8个字节为偏移单位这就是说每个分片的长度一定是8字节的整数倍。比如一共传输3800字节每次最大只能传1400字节因为还有加上ip固定头部字节的20字节加起来是1420字节所以分3片第一片0-1399字节片的片偏移是首字节0/80第二片1400-2799字节片的片偏移是首字节1400/8175第三片的片偏移是2800/8350。
使用抓取工具抓取数据包查看分片标志ping -l 65500 192.168.0.100 -tping大包然后抓取数据查看。
8) 生存时间
TTL8位二进制表示。TTL每过一个路由器都要减1。当路由器收到数据包后会在数据包头部修改TTL等信息然后发送出去。生存时间是为了防止数据形成环路传输后不终止的传输下去。
9) 协议
用来标识协议号表明网络层的数据包里面 的数据是什么数据是UDP、ICMP、IGMP、TCP、OSPF等什么协议。协议字段指出应将数据部分交给哪一个进程。ICMP协议号1IGMP协议号2TCP协议号5TCP协议号6UDP协议号17IPv6协议号41OSPF协议号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协议配置路由器所有接口所在网段
Routeren
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协议信息。
Routeren
Router#show ipprotocols
五、 传输层
1. 传输层的两个协议
传输层有两个协议TCP、UDP。
TCPtransmission control protocol 传输控制协议。如果需要将传输的文件分段传输都需要TCP协议使得传输的两端之间建立会话实现传输的可靠性、流量控制。传送比较大的数据需要使用TCP协议。比如迅雷下载发邮件ftp下载上传百度云盘等走的是TCP协议。
UDPuser data protocol用户数据报协议。当一个数据包就能够完成数据通信时传送的两端不需要建立会话也不需要流量控制进行的是不可靠传输如果没有收到就重传。比如上网时进行DNS域名解析时走的是UDP协议pc端只需要发送域名出去让DNS服务器解析一个数据包就够了如果解析不成功就重发一遍。qq聊天也是走的UDP协议。屏幕广播或多播也要走UDP协议。
打开网页使用cmd命令netstat -n可以查看与远程ip的连接。
2. 传输层协议与应用层协议之间的关系
如下表
…RDPFTPTELNETSMTPDNSTFTPSNMPRIP…应用层协议…33892123255369161520…端口号TCPUDP传输层协议
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 3389win7以上默认没有安装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 6UDP 17IGMP 1。传输层使用端口号标识数据从哪个程序发出比如TELNET 23文件共享 445等。每一层都要封装上一层的协议或者程序情况。
6. 端口
TCP的端口是用一个16位的二进制数进行标志范围是0~65535216-1。端口号只具有本地意义即端口号只是为了标志本计算机应用层中的个进程。在因特网中不同计算机的相同端口号是没有联系的。本地的端口不能重复重复造成端口冲突导致冲突的软件中后启动的不能启动。
端口分为三类
熟知端口数值一般为0~1023比如FTP21TELNET23SMTP25DNS 53HTTP80https443RDP3389。
登记端口号数值为1024~49151。windows公司为了使得自己开发的程序不被冲突而去ip部分登记使用某某端口。
客户端口号数值为49152~65535。
使用netstat -n |find ESTABLISHED可以过滤查看端口。
7. UDP协议
一个数据包可以完成的通信就使用UDP协议。UDP协议的特点是无连接的即发送数据之前不需要建立连接使用尽最大努力交付即不保证可靠交付同时也使用拥塞控制是面向报文的UDP没有拥塞控制很设和多媒体通信的要求UDP支持一对一、一对多、多对一和多对多的交互通信UDP的首部开销小只有8个字节。
用户数据报协议UDP传输结构 UDP首部组成
字节122222 伪首部源端口目的端口长度检验和
长度包括UDP首部和UDP用户数据包的数据部分。
检验和首部和数据部分都要参与检验和运算首部中也是包括伪首部的。检验和运算每4个字节一个单位按二进制反码运算求和将得出的结果求反码得到检验和。
伪首部是为了匹配网络层的IP首部的检验和运算的格式也就是要满20字节就增加了12个字节记录网络层的一些信息然后参与进检验和运算。
UDP伪首部组成
字节44112 源IP地址目的IP地址017UDP长度
其中的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地址即构成了套接字。套接字socketIP地址端口号。每一条TCP连接唯一地被通信两端的两个端点即两个套接字所确定。即TCP连接::{socket1,socket2}{(IP1:port1),(IP2:port2)}。
1) TCP实现可靠传输
可靠传输的工作原理是停止等待协议。 当A端向B端发送数据后会等待一段时间只有收到确认信息才继续发送如果超过等待时间数据一个往返的时间RTT没有收到确认就重发。 网络中的数据在传输时走的是不同的路径确认的信息可能走的远路在超时重传的确认都被收到后可能超时重传前的确认才发送到这就需要接收确认端来确认迟到也就是什么也不做自己知道这个是迟到的确认。
使用上述的确认和重传机制可以在不可靠的传输网络上实现可靠的通信。这种可靠传输协议常称为自动重传请求ARQautomatic repeat requer。ARQ表明重传的请求是自动进行的接收方不需要请求发送方重传某个出错的分组。
停止等待协议的优点是简单但缺点是信道利用率太低。信道利用率的公式UTD/( 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 GA C KP S HR S TS Y NF I N窗口发送端向接收端发送数据报是告诉对方自己的接收缓存能够容纳的字节数。检验和范围是首部和数据部分需要加上12字节的伪首部将第3个字节的表示协议号的17改为6计算方式同UDP。紧急指针只有当URG1时紧急指针才起作用。选项长度可变可以规定最大数据报的长度确认时是否支持选择性确认填充
使用抓包工具查看TCP首部字段信息。
保留字后面是首部标记位。
URGurgent表示紧急的优先传比如有时候需要取消正在传输的数据比如从服务器端下载一般缓存中是在排队传输的数据按下crtlz按键后crtlz这个按键转换数据也要在缓存中排队需要排到crtlz传送到服务器端才能将服务器的下载进程结束为了能够立即结束传输需要设置URG1也就是优先传。
ACKacknowledge如果ACK0则确认号无效如果ACK1确认号才有效确认号大于0ACK1。
SYNsynchronous当某端与另一端建立会话时发送端数据报中序号是0确认号是0SYN1 、ACK0接收端确认发回的数据报中序号是0确认号是1SYN1、ACK1。SYN1就表示是发起会话的数据报。利用TCP协议的建立会话机制可以对pc机进行syn攻击伪造不存在的ip地址与目标pc机不断发起建立会话。类似的还有land攻击迫使攻击目标自己和自己不断的建立会话。
PSHpush设置数据报在接收端在缓存中读取的位置在最前面也就是在接收端优先读取PSH1的数据报。
RSTreset重新连接与否。比如如果tcp连接出现了严重错误或者异常中断了连接后续没有发送过去的数据报的RST1。
FINfinally结束标志。如果数据传送完毕需要释放连接则FIN1。
3) TCP滑动窗口技术实现可靠传输
以字节为单位的滑动窗口技术。
比如A计算机有如下一段数据要发给B。一个格子是一个字节。
12345678910111213141516171819202122232425262728293031323334353637383940 A的发送缓存 A的发送窗口12 123456789101112131415161718192021222324252627
建立会话时B计算机告诉A其接收窗口有多大A计算机就设置自己的发送窗口为多大。
A发送了3个字节看到发送窗口还有数据又发送了3个字节然后有发送了4个字节。
123
456 6789 101112
发了3个字节后还没有收到确认就又发了3个字节。然后窗口中的字节都发送了出去就不能继续发了。然后数据陆续送到B的接收缓存的接收窗口。首先123456发送到了B。
B的接收缓存如下 B的接收缓存 B的接收窗口12 123 456
B将确认号是7的ACK1的数据报发给A。A收到B的确认信息后就滑动自己的接收窗口。然后删除掉发送窗口之前的数据也就是B已经收到的数据在内存的体现就是释放内存。 A的发送缓存 A的发送窗口12 fefefefefefe789101112131415161718192021222324252627
然后A接收发送发送窗口中未发送的数据。
131415
1617 同时B也在接收着A发送给它的数据并发送给A确认信息。 B的接收缓存 B的接收窗口12 1234566789101112
当B的接收窗口接收满就将接收的数据传给应用程序清空接收窗口。继续接收。 B的接收缓存 B的接收窗口12
同时B的应用程序缓存中形成要接收的数据的临时文件如下
123456789101112
循环往复下去直到数据全部传输到B释放会话B的应用程序中收到所有的数据。
如果A发送过程中出现了丢包。比如A向B发送了1234、567、8910、111213由于各种原因B只收到了1234、567、111213就是丢失了8910。这时B就发送给A一个SACK选择性确认selected ack比如7这时A收到这个sack7的数据报就会给B重发8910。
超时重传时间的选择。TCP每发送一个报文段就对这个报文段设置一个计时器。只要计时器设置的重传时间到但还没有收到确认就要重传这一报文段。
新的RTTS(1-α)*(旧的RTTS)α*(新的RTT样本)。
超时重传时间应略大于上面得出的加权平均往返时间RTTS。
RFC2988推荐的α值为1/8。
4) TCP协议实现流量控制
A端向B端发送数据建立会话时B告诉A其接收窗口是10A以10的发送窗口陆续向B发送数据。当B接收了一窗口的数据后。B将接收窗口改为5发送给AA以5的发送窗口陆续向B发送数据。当B接收了一窗口的数据后。B将接收窗口改为2发送给BA以2的发送窗口陆续向B发送数据。当B接收了一窗口的数据后需要处理以下缓存的数据了将接收窗口改为0发送给AA收到后就暂停向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把连接释放报文段首部的FIN1其序号sequ等待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服务器ipcmd中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的ipA1DNS就问根服务器谁知道这个域名的ip根就告诉A1说A2知道A1就问A2这个域名的ipA2将ip告诉A1A1就将这个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.1012号机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(TCP25端口)。
七、 网络安全
计算机安全分为数据安全、应用程序安全、操作系统安全、网络安全、物理安全和用户教育安全。
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中设置使用数字签名设置好证书和加密首选项。如果都使用outlookA2向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协议网络上进行保密而安全的通讯。主要包括两个安全协议 AHAuthennticationHeader鉴别首部协议用来向IP通信提供数据完整性和身份验证同时可以提供抗重播服务AH鉴别源点和检查数据完整性但不能保密ESPEncapsulatedSecurityPayload封装安全有效载荷协议它提供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网络上进行交互式多媒体实时通信包括音视频等还包括即使传信IMinstant messaging。
IP电话通话指令主要由两个因素决定一个是通话双方端到端的时延和时延抖动另一个是话音分组的丢失率。但这两个因素是不确定的是取决于当时网络上的通信量。一般在电话交谈中端到端的时延不应超过250ms否则交谈者就能感到不自然。
QoSquality of service服务质量指一个网络能够利用各种基础技术为指定的网络通信提供更好的服务能力是网络的一种安全机制用来解决网络延迟和阻塞等问题的一种技术。
九、 无线网络
无线网络的应用也很广泛了。无线网络的种类很多zigbee802.15.4、蓝牙802.15.1、wifi802.11g.a、802.11b、wimax802.6、移动通信2G、3G、4G、超宽带802.15.3。
无线wifi使用无线路由器实现。容易受到实体障碍的影响。由无线AP和pc机组成的网络叫做基本服务集。基本服务器内的基站叫做接入点APaccess point。当网络管理员安装AP时必须为该AP分配一个不超过32字节的服务集标识符SSID和一个信道。无线路由器兼具路由器、交换机和无线接入点的功能。
移动自组网络自组网络是没有固定基础设施即没有无线AP的无线局域网。这种网络由一些处于平等状态的移动站之间相互通信组成的临时网络。利用电脑的无线网络可以创建临时自组网络。