《计算机网络(谢希仁)》-学习笔记_第1页
《计算机网络(谢希仁)》-学习笔记_第2页
《计算机网络(谢希仁)》-学习笔记_第3页
《计算机网络(谢希仁)》-学习笔记_第4页
《计算机网络(谢希仁)》-学习笔记_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容学时第一章 概述4第二章 物理层6第三章 数据链路层6第四章 网络层12第五章 运输层10第六章 应用层6第七章 网络安全2第八章 因特网上的音频/视频服务2第九章 无线网络2第十章 下一代因特网4合计541.1计算机网络在信息时代的作用三网: 电信网络,有线电视网络,计算机网络计算机网络的重要功能:连通性 彼此连通,交换信息共享 信息共享,软硬件共享1.2 因特网概述我们先给出关于网络,互联网,因特网的一些最基本概念.网络:许多计算机连接在一起互联网:internet 许多网络连接在一起因特网:Internet 全球最大的,开放的,有众多网络相互连接而成的计算机网络(一个互联网),其采用

2、TCP/IP协议因特网发展的三个阶段:单个网络ARPANET向互联网发展的过程.1983年,TCP/IP协议成为ARPANET上的标准协议.人们把1983年看成是现在因特网的诞生时间.三级结构的因特网.分为主干网,地区网,校园网(企业网).多层次ISP结构的因特网.ISP称为因特网服务提供商.1.3 英特网组成从工作形式上分为两大块:边缘部分 由所连接在因特网上的主机组成.这部分使用户直接使用的.核心部分 由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的.在往里边缘的端系统之间的通信方式可划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)客户-服务器方式特征

3、:客户是服务的请求方,服务器是服务的提供方.服务请求方和服务提供方都要使用网络核心部分所提供的的服务对等连接(peer-to-peer,简写P2P)指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方.因特网的核心部分电路交换从通信资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线的资源.在使用电路交换打电话之前,必须先拨号请求连接.这种必须经过”建立连接(占用通信资源) 通话(一直占用通信资源) 释放资源(归还通信资源)”三个步骤的交换方式称为电路交换.其一个重要特点:在通话的全部时间内,通话的两个用户是指占用端到端的通信资源.分组交换分组交换采用存储转发技

4、术.把要发送的的整块数据称为一个报文(message).在发送之前,先把其分为一个个小的等长数据段.在每一个数据段前面加上一些必要控制信息组成的首部(header)后,就构成了一个分组(packet),其又称为包.分组是在因特网中传送的数据单元,分组中的首部包含了如目的地址和原地址等重要信息,每一个分组才能在因特网中独立地选择传输路径,并最终正确地交付到分组传输的终点.位于网络边缘的主机和网络核心部分的路由器都是计算机,但它们的作用却不一样.主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息.路由器是用来转发分组的,即进行分组交换的.优点: 高效 灵活 迅速 可靠缺点:分组在各路由

5、器存储转发时需要排队,这就会造成一定时延.另外,各分组必须携带的控制信息也造成了一定的开销.报文交换整个报文先传送到相邻结点,全部存储下来后查找转发表,转到下一个结点.1.5 计算机网络的类别1.按照作用范围分类: 广域网WAN(运用了广域网技术) 城域网MAN 局域网LAN(运用了局域网技术) 个人区域网PAN1.6 计算机网络性能7个性能指标.速率 带宽 吞吐量 时延 时延带宽积 往返时间 利用率速率:连接在计算机网络上的主机在数字信号道上传送数据位数的速率,单位b/s,kb/s,Mb/s带宽计算机领域中,带宽来表示网络的通信线路传送数据的能力,表示单位时间内从网络中的某一点到另一点所通过

6、的”最高数据率”数据通信领域中,数字信道所传送的最高数据率单位b/s,kb/s,Mb/s吞吐量即在单位时间内通过某个网络的数据量;单位b/s,Mb/s等时延是指数据从网络的一端传送到另一端所需的时间发送时延 是主机或路由器发送数据帧所需要的时间发送时延=传播时延 是电磁波在信道中传播一定的距离需要发费的时间传播时延=处理时延 主机或路由器在收到分组是要花费一定的时间进行处理,例如分析分组的首部,从分组中提取数据部分.排队时延 分组在经过网络传输时,要经过许多路由器.但分组在进入路由器后要先在输入队列中等待处理.在路由器确定了转发接口后,还要在输出队列中排队等待转发.这就产生了排队延时.时延带宽

7、积时延带宽积=传播时延带宽表示这样的链路可容纳多少个比特.又称以比特为单位的链路长度往返时间RTT表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间.利用率信道利用率:有数据通过时间网络利用率:信道利用率加权平均值,D0网络空闲时的时延,D表示网络当前的时延,U表示网络利用率D=1.7 计算机网络体系结构开放系统信息交换涉及的几个概念实体(entry): 交换信息的硬件或软件进程协议(protrocol): 控制两个对等实体通信的规则服务(service): 下层向上层提供服务,上层需要下层提供的服务来实现本层功能服务访问点(SAP): 相邻两层实体间交换信息的地方开发系统

8、胡来年基本参考模型OSI/RM(Open Systems Interconnection Reference Model) 七层应用层 能够产生流量能够和用户交互的应用程序表示层 加密 压缩 开发人员会话层 服务和客户端建立的会话 查木马 netstat nb传输层 可靠传输(要建立回话的) 不可靠传输 流量控制网络层 IP地址编址 选择最佳路径数据链路层 输入如何封装 添加物理层地址 MAC物理层 电压 接口标准 网络排错 从底层到高层网络安全和OSI参考模型 物理层安全 数据链路层安全 ADSL 网络层安全 应用层安全 SQL注入漏洞 上传漏洞TCP/IP四层模型应用层 运输层(TCP或U

9、DP) 网际层IP 网络接口层综合OSI和TCP/IP的优点,采用一种五层协议的体系结构应用层 应用层(传输数据单元PDU)运输层 运输层报文网络层IP数据报(IP分组)数据链路层数据帧物理层0010101010100001101012.1物理层的基本概念物理层解决如何在连接各种计算机的传输媒体上数据比特流,而不指具体的传输媒体.可以将物理层的主要任务描述为确定与传输媒体的接口有关的一些特性.机械特性 接口形状,尺寸,引脚数目和排列2.2 数据通信的基础知识一个数据通信系统可划为三大部分: 原系统(或发送端,发送方) 传输系统(传输网络) 目的系统(接收端,接收方) 相关术语通信的目的是传送消

10、息.数据(data)运送消息的实体信号(signal)数据二等电气的或电磁的表现“模拟信号”代表消息的参数的取值是连续的“数字信号”代表消息的参数的取值是离散的码元(code)在使用时间域的波形表示数字信号时,则代表不同离散数值的基本波形就形成码元有关信道的几个基本概念信道一般表示一个方向传送信息的媒体。所以我们说平常的信道线路往往包含一条发送信息的信道和一条接收信息的信道单向通信(单工通信)只能有一个方向的信号没有反方向的交互双向交替通信(半双工通信)通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)双向同时通信(全双工通信)通信的双方可以同时发送和接收信息基带型号和带通信

11、号基带信号(即基本频带信号)来自信号源的信号,像计算机输出的代表各种文字图像文件的数据信号都属于基带型号。 基带信号就是发出来的直接表达了要传输信息的信号,比如我们说话的声波就是基带信号。带通信号把基带信号经过载波调制后,把信号频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)信道的极限容量奈氏准则:其给出了在假定的立项条件下,为了避免码间串扰,码元的传输速率的上限值在任何信道中,码元传输的速率是有上限的,传输速率超过此上限,都会出现严重的码间串扰问题,使接收端对码元的识别成为不可能信噪比信噪比就是信号的平均功率和噪声的平均功率之比,记为S/N.香农公式指出:信道的极

12、限信息传输速率C是C=Wlog式中,W为信道的带宽(以Hz为单位);S为信道内所传信号的平均功率N为信道内部的高斯噪声功率香农公式表名,信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高.香农公式的意义在于:只要信息传输速率低于信道的极限传输速率,就一定可以找到某种方法来实现无差错的传输若信道带宽W或信噪比S/N没有上限(当然实际不可能这样),则信道的极限信息传输速率C也就没有上限实际信道上能够达到的信息传输速率要比香农公式的极限传输速率低不少.2.3 物理层下面的传输媒体导向传输媒体 导向传输媒体中,电磁波沿着固体媒体传播双绞线屏蔽双绞线STP无屏蔽双绞线UTP同轴电缆50同轴电缆 由

13、于数字传输,多用于基带传输75同轴电缆 用于模拟传输,即宽带同轴电缆光纤非导向传输媒体 就是指自由空间,其中的电磁波传输被称为无线传输 无线传输所使用的频段很广短波通讯主要是靠电离层的反射,但短波信道的通信质量较差微波在空间主要是直线传播 地面微波接力传播 卫星通信2.4 信道复用技术频分复用,时分复用,统计时分复用频分复用在分配到一定的频率后,在通信过程中自始至终都占用这个频带.频分复用的所用用户在同样的时间占用不同的带宽资源(这里的带宽指的是频率带宽而不是数据的发送频率)时分复用是将时间划分为一段段等长的时分复用帧.每一个时分复用的用户在每一个TDM帧占用固定的时隙.时分复用的所有用户是在

14、不同的时间占用同样的频带宽度.统计时分复用是一种改进的时分复用,他能明显地提高信道的利用率,波分复用1就是光的频分复用.码分复用 CDM是另一种共享信道的方法,实际上更常用的是码分多址CDMA.每个用户可以在同样的时间使用同样的频带进行通信.由于个用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰.在CDMA中,每一个比特时间在划分为m个短时间,称为码片.CDMA系统的一个重要特点就是这种体制给每一个站分配的码片序列不仅必须相同,且还必须正交.3.1 数据链路层数据链路层基本概念及基本问题基本概念三个基本问题两种情况下的数据链路层使用点对点信道的数据链路层使用广播信道的数据链路层以太局

15、域网(以太网)概述拓扑信道利用率MAC层扩展以太网高速以太网数据链路层使用的信道主要有以下两种类型:点对点信道. 这种信道使用一对一的点对点通信方式广播通信. 这种信道使用一对多的广播通信方式.链路与数据链路链路(link)是一条点到点的物理路段,中间没有其他任何点.一条链路只是一条通路的一个组成部分数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输.若把实现这些协议的硬件和软件加到链路上,就构成了数据链路.现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件一般的适配器都包括了数据链路层和物理层这两层功能.下面介绍点对点信道的数据链层协议数据单元帧.

16、数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出上交给网络层.在因特网中,网络协议数据单元就是IP数据报(简称数据报,分组或包)数据链路层的三个基本问题封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,确定帧的界限.我们知道:所有在因特网上传送的数据都是以分组(即IP数据报)为传送单位的,网络层饿IP数据传送到数据链路层就成为帧的数据部分.帧的数据部分的前面和后面分别添加上首部和尾部,就构成了一个完整的帧.这样的帧就是数据链路层的数据传输单元.首部和尾部的一个重要作用就是进行帧定界透明传输由于帧的开始和结束的标记是使用专门指明的

17、控制字符,因此,所传输的数据中的任何8比特的组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界错误.数据链路层对这些数据来说是透明的:表示无论什么样的比特组合的数据都能够通过数据链路层.差错检测在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率(BER)为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施.目前在数据链路层广泛使用了循环冗余检验CRC的检测技术.仅用循环冗余检验CRC差错检测技术只能做到无差错接受,即近似地认为:”反是接收端数据链路层接受的帧均无差错”3.2 点对点协议PPP PPP协议就是用户计算机和ISP进行通信时所使用的

18、数据链路层协议.PPP协议的组成:一个将IP数据报封装到串行链路的方法.一个用来建立,配置和测试数据链路连接的链路控制协议LCP一套网络控制协议NCP,其中每一个协议支持不同的网络层协议,如IP,OSI的网络层,DECnet,以及AppleTalk等.PPP协议的帧格式使用广播信道的数据链路层局域网最主要特点是:网络为一个单位所有拥有,且地理范围和结点数目均有限.局域网具有如下的一些主要优点:具有广播功能,从一个站点点可很方便地访问全网.局域网上的主机可共享连接在局域网上的各种硬件和软件资源.便于系统的扩展和逐渐地演变,各设备的位置灵活调整和改变提高了系统的可靠,可用性好生存性.为了使数据链路

19、层能够更好地适应多种局域网标准,IEEE 802 委员会就把局域网的数据链路层拆成两个子层,即逻辑链路控制层LLC子层和媒体接入层(MAC)子层.与接入到传输媒体有关的内容都放在MAC子层,LLC子层则与传输媒体无关,不管采用何种传输媒体和MAC子层的局域网对LLC子层来说都是透明的.CDSMA/CD协议最早的以太网是将许多计算机都连接到一根总线上.当初认为这样的连接方法既简单有可靠,因为总线上没有有源器件.总线的特点:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据.这就是广播通信方式.为了在总线上实现一对一的通信,可以使买一台计算机拥有一个与其他适配器都不同的地址.以太网使用的

20、协议是CSMA/CD,意思是载波监听多点接入碰撞检测“多点接入”表示许多计算机以多点接入的方式连接在一根总线上“载波监听”每一个站在发送数据之前先要检测一个总线上是否有其他计算机在没发送数据,如果有,则暂时不要发送数据,以免发生碰撞.就是用电子技术检测总线上有没有其他计算机发送的数据信号.“碰撞检测”就是计算机边发送数据边检查信道上的信号电压变化情况争用期最先发送数据的站,在发送数据帧后之多经历2(两倍的端到端往返传播时延)就可以知道发送的数据帧是否遭到了碰撞经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发送碰撞.以太网的争用期以太网的端到端往返时间时延2称为争用期,或碰撞窗口.通常

21、,取51.2微秒为争用期的长度.对于10Mb/s以太网,在争用期内可发送512bit,即64字节.以太网在发送数据时,若前64字节未发生冲突,则后续的数据就不会发送冲突.最短有效帧长由于一检测到冲突就立即终止发送,这时已经发送出去的数据一定小于64字节.以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧.二进制指数类型退避算法发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间在发送数据.确定基本退避时间,一般是取争用期2定义参数kK=Min重传次数,10从整数集合0,1,(2k-1)中随机地取一个数,记为r.重传所需的时延就是r倍的基本退避时间当重传

22、16次仍不能成功时即丢弃该帧,并向高层报告.以太网以太网的两个标准DIX Ethernet V2是世界上第一个局域网产品(以太网)的规定IEEE 的 802.3标准.以太网与数据链路层的两个子层为了使数据链路层能够更好地适应多种局域网标准,IEEE 802 委员会就把局域网的数据链路层拆成两个子层,即逻辑链路控制层LLC子层和媒体接入层MAC子层.与接入到传输媒体有关的内容都放在MAC子层,LLC子层则与传输媒体无关,不管采用何种传输媒体和MAC子层的局域网对LLC子层来说都是透明的.以太网提供的服务以太网提供的服务是不可靠的交付,基金最大努力的交付.当接收站收到有差错的数据帧时就丢弃此帧,其

23、他什么也不做.差错的纠正由高层决定.如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送.MAC层的硬件地址局域网中,硬件地址又称物理地址,或MAC地址 扩展以太网在数据链路层扩展以太网要使用网桥.网桥工作在数据链路层,它根据,MAC帧的目的地址对收到的帧进行转发和过滤.当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查次真的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者把它丢弃(即过滤)使用网桥可以带来以下好处:过滤通信量,增加吞吐量扩大了物理范围提高了可靠性可互联不同的物理层,不同MAC子层和不同速率透明网桥透明是指以太网上的

24、站点并不知道所发送的帧将经过哪几个网桥,以太网上的站点都看不见以太网上的网桥.4.1 网络层提供的两种服务网络层提供的两种服务网际协议IP忘记控制报文协议ICMP因特网的路由选择协议IP多播虚拟专用网VPN和网络地址转换NAT网络层关注的是如何将分组从源端沿着网络路径送达目的地.在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是”无连接”)曾引起了长期的争论.争论点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络层还是端系统?两种服务:网络层应该向运输层提供怎样的服务?虚电路服务数据报服务虚电路:虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接存储转发方式传

25、送,而并不是真正建立了一条物理连接.请注意,电路交换的电话通信是先建立了一条真正的连接.因此分组交换的虚连接只是类似,但并不完全一样.数据报服务网络层向上只提供简单灵活的,无连接的,尽量大努力交付的数据报服务.(虽然并不表示路由器可以任意丢弃分组,但在网络层上的这种交付实质上就是不可靠交付.)网络在发送分组时不需要先建立连接.每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)网络层不提供服务质量承诺.即所传送的分组可能出错,丢失,重复和失序(既不按序到达终点)当然也不保证分组交付的时限4.2 网际协议虚拟互联网IP地址划分子网和构造超网IP地址与硬件地址IP数据报格式IP转发

26、分组的流程网络互连的设备中间设备又称为中间系统或中继系统物理层中继系统:转发器数据链路层中继系统:网桥或桥接器网络层中继系统:路由器网络层以上的中继系统:网关IP协议简介网际协议IP是TCP/IP体系中两个最主要的协议之一.与IP协议配套使用的还有四个协议:网络地址网络地址(也可以称为网络号)唯一指定了每个网络.同一网络中的每台计算机都共享相同的网络地址,并用它作为自己IP地址的一部分IP地址整个因特网就是一个单一的,抽象的网络.IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位标识.IP地址的结构使我们能够在因特网上很方便地进行寻址查询分类的IP地址

27、,由网络号和主机号常用的三种类别的IP地址注意:主机部分不能全为0(从1开始)也不能全为1(二进制下,如果在子网掩码划到64时,其实连63是用来广播的,是不能用的)网络类别最大网络数第一个可用的网络号最后一个可用的网络号每一个网络中最大的主机数A126(27-2)112616,777,214B16,383(214-1)128.1191.25565,534C2097,151(221-1)192.0.1223,255,255254特殊的几个地址 本地环回地址 Windows自己给自己配的地址保留的私网地址(在互联网上没有给服务器来用,可以给企业,政府,学校来用) (每一个学校都可以用10网段,因为

28、学校与学校之间也并不打算通信) 子网掩码(subnet mask)的作用又叫网络掩码,地址掩码,它是一种用来指明一个IP地址的哪些位标识的主机所在的子网以及哪些是主机的位掩码.子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分假如一台计算机的IP地址配置为04,子网掩码为,将其IP地址和子网掩码都写成二进制,进行与运算.这样经过IP地址和子网掩码做完与运算后主机位不管是什么值都归零,网络位的值保持不变,这样就得到该计算机所处的网段为得到计算机所处网段和目标地址是不是在一个网段,如果是的话,计算机就想直接解析对方计算机MAC地址(即把数据报给发过去),如果不一样,就把数据包发

29、给路由器.子网划分子网掩码不一定要用255,也可以用其他的数字,如C类网络中等分成两个子网时,可用子网掩码:28再比如,你只想将2台电脑进行合理分配,那么将子网掩码就要写到252去练习:4924 其网段在224这个网段 0 64128 192255将这个B类网等分成两个子网: 5454超网如何让两个子网的计算机划分在一个网段呢?如图所示,将和两个C类网络合并.将IP地址第3个字节和4字节写二进制,可以看到将子网掩码往左移动1位,网络部分就一样了,这两个网段就在一个网断了合并两个网段 . 192168000000000000000192168000000100000000111111111111

30、11111111110000000002552552540IP地址和MAC硬件地址从层次的角度,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址.MAC地址决定了下一票给谁,IP地址决定终点去哪.地址解析协议ARP将IP地址解释成物理地址. IP数据报一个数据报由首部和数据两部分组成首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的在首部的固定部分的后面是一些可选字段,其长度是可变的. 下面看看抓包实验这是数据链路层,里面有数据源MAC地址和目标MAC地址,下面是网络层数据转发分组数据路由 路由器在不同网段转发数据包(报)网络通畅的条件 能去能回沿途

31、的路由器必须知道目标网络下一跳给哪个接口沿途的路由器必须知道源网络下一跳给哪个接口ICMP简介为了提高IP数据交付成功的机会,在网际层使用了网际控制报文协议ICMP允许主机或路由器报告差错情况和提供有关异常的报告ICMP报文作为IP层数据报的数据,加入数据的首部,组成IP数据报发送出去ICMP报文类型ICMP报文的类型有两个,即ICMP差错报和IMP询问报文ICMP报文的前4个字节是统一的格式,共有三个字段:即类型,代码和检验和.接着4个字节的内容与ICMP的类型有关.ping命令诊断网络故障ping(Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序,Pi

32、ng发送一个ICMP回声请求消息给目的地址并报告是否收到所希望的ICMP回声应答.Ping所指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢.严禁ping入侵作为大多数防火墙的一个基本功能提升给用户的选择.如果打开IE浏览器访问网站失效,可以通过ping命令测试到Internet的网络连通,可以为你排除网络故障提供线索.动态路由协议RIP 最早 周期性广播 30秒 跳数(最大16跳)内部网关协议 OSPF(Open Shortest Path First)向本治系统中所有的路由器发送信息,这使用的方法是洪泛法,发

33、送的信息是与本路由器相邻的所有路由器的链路状态.但这只是路由器所知道的部分信息只有当链路状态发送变化时,路由器才用洪泛法向所有路由器发送此信息. 4.3 虚拟机专用网VPN和网络地址转换NAT虚拟机专用网VPN由于IP地址的紧缺,一个机构能购申请到的IP地址数远小于本机构所拥有的主机数,考虑到因特网并不很安全,一个机构也不需要把所有的主机接入到外部因特网.实际上,很多主机主要还是和本机构内的其他主机进行通信(例如宾馆,商场中很多用于营业管理的计算机,医院,政府中的计算机).假定一个机构内部计算机通信也采用TCP/IP,那么从原则上来讲,对于这些仅在机构内部使用的计算机就可以由本机构自行分配其I

34、P地址.这就是说,让这些计算机仅在本机构使用有效的IP地址(本机地址),而不需要向因特网的管理机构申请全球唯一的IP地址(这种地址称为全球地址).这样可以大大节约IP地址资源.但是,任意选择一些IP地址作为本机构内部使用的本地地址,那么在某种情况下可能引起一些麻烦.例如,有时机构内部某主机需要和因特网连接,那么这种内部使用的本地地址就有可能和因特网某个IP地址重合,这样会出现地址二义性问题.为了解决这一问题,RFC1918指明了一些专用地址.这些地址只能用于一个机构内部通信,而不能用于和因特网上的主机通信.在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。到55到55到55有

35、时一个很大的机构有许多部门分布在相距很远的一些地点,而在每个地点都有自己的专用网.假定这些分布在不同地方的专用网需要经常通信.这时,可以利用公用的因特网作为本机构个专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN5 运输层应用层 http https ftp DNS SMTP PoP3 RDP传输层 TCP UDP网络层 IP(RIP OSPF BGP) ICMP IGMP ARP传输层两个协议应用场景TCP 分段 编号 流量控制 建立会话 netstat nUDP 一个数据包就能完成数据通信 不建立会话 多播传输层和应用层之间的关系运输层向它上面的应用层提供通信服务.真正进行通信的实

36、体是在主机中的进程,是这个主机中的一个进程和另一个主机中的一个进程在交换数据.因此严格讲,两个主机进行通信就是两个主机中的应用进程互相通信.应用层协议和服务之间的关系服务运行后在TCP或UDP的某个端口侦听客户端请求,端口代表服务.我安装了一个服务,他就会侦听一个端口,比如打开一个web服务,他就会侦听80端口查看自己计算机侦听的端口 netstat an 远程控制桌面 mstsc三类端口熟知端口,数值一般为 01023FTP:21TELENT:23SWTP:25DNS:53HTTP:80https:443RDP:3389登记端口号,数值为102449151客户端口号,数组为491526553

37、55.1 传输层控制协议TCP概述TCP是面向连接的传输协议.每一条TCP连接只能有两个端点(endpoint,一个发,一个收),每一条TCP连接只能是点对点的(一对一)TCP提供可靠交付的服务.TCP提供全双工通信面向字节流看一个抓包实验第一个请求: 我方向目标IP发送建立会话请求,SYN=1,序号=0,确认号=0 窗口大小:32768确认号是告诉我方计算机下一次发送是从哪一个字节开始然后目标IP地址响应: 确认号=1,SYN=1,序号=0,窗口大小=16776960接着我方发送信息:嗯好的,我知道你能收到(会话建立),我将发送信息(请求)序号=1,确认号=1TCP协议主要特点TCP把连接作

38、为最基本抽象每一条连接有两个端点TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是传输层的协议端口,TCP连接的端点叫做套接字(socket)端口号拼接ip地址构成套接字TCP如何实现可靠传输无差错情况 超时重传 确认丢失 确认迟到 使用上述的确认和重传机制,我们就可以在不可靠传输网络上实现可靠的通信.这种可靠传输协议常称为自动重传请求ARQARQ表明重传的请求时自动进行的,接收方不需要请求发送方重传某个出错的分组发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方确认.由于信道一直有数据不间断的传送,这种传输方式可获得很高的信道利用率TCP协议如何实现流量控制TCP

39、协议如何避免网络拥塞(拥塞控制)出现资源拥塞的条件:对资源的需求总和可用资源拥塞控制是一个全局性的过程,涉及到所有的主机,所有的路由器,以及与降低网络传输性能有关的所有因素流量控制往往只在给定的发送端和接收端之间的点对点通信量的控制,他所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收TCP的传输连接管理传输连接有三个阶段: 连接建立,数据传送,连接释放TCP连接的建立都是采用客户服务器方式主动发起连接建立的应用进程叫做客户(client)被动等待连接建立的应用进程叫做服务器(server)6.应用层域名系统DNS(Domain Name System)动态主机配置协议DHCP文件传

40、送协议FTP(File Transfer Protocol)远程终端协议TELENT远程桌面RDP万维网WWW电子邮件(SMTP ,POP3,IMAP)DNS服务的作用负责解析域名 将域名解析成IP什么是域名根顶级域名 com edu cn org gov二级域名 baidu sina域名解析测试Ping HYPERLINK Nslookup安装自己的DNS服务器解析内网自己的域名降低到Internet的域名解析流量域环境DHCP动态主机配置静态IP地址动态IP地址FTP协议FTP连接方式控制连接:标准端口21,用于发送FTP命令信息数据连接:标准端口20,用于上传,下载数据数据连接的建立类型

41、:主动模式:服务端从20端口主动向客户端发起连接被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接.FTP传输模式:文本模式:ASSCII模式,以文本序列传输数据二进制模式:Binary模式,以二进制序列传输数据FTP服务端 如果有防火墙 需要在防火墙开21和20端口 使用主动模式进行数据连接telnet 使用TCP的23端口万维网客户端程序向服务器程序发送请求,服务器程序向客户程序送回客户所要的万维网文档.在一个客户程序主窗口上显示出万维网文档称为页面(page)万维网需要解决的问题:怎眼标志分布在整个因特网上的万维网文档? URL用什么样的协议来实现万维网上的各种连接? HTTP

42、怎样使不同作者创作的不同风格的万维网文档,都能在因特网上的各种主机上显示出来,同时使用用户清楚地知道在什么地方存在这链接? HTML怎样才能使用户很方便地知道在什么地方存在着链接?统一资源定位符URL 是用来表示从因特网上得到的资源位置和访问这些资源方法.URL相当于一个文件名在网络范围的扩展.因此URL是与因特网相连的机器上的任何访问对象的一个指针.由于访问不同对象所使用的协议不同,所以URL还指出读取某个对象时所使用的协议.:/:/HTTP的报文结构HTTP请求报文和响应报文都是由三个部分组成.这两种报文的区别就是开始行不同.开始行,用于区别是请求报文还是响应报文.在请求报文中的开始行叫做

43、请求行,而在响应报文中的开始行叫做状态行.在开始行的三个字段之间都可以用空格分隔开,最后的”CR”和”LF”分别表示”回车”换行”首部行,用来说明浏览器,服务器或报文主体的一些信息.报文实体(entity body),在请求报文中一般都不用这个字段,我在响应报文中也可能没有这个字段.请求报文的第一行”请求行”只有三个内容,方法,请求资源的url,以及HTTP的版本.附录资料:不需要的可以自行删除 perl函数应用一、进程处理函数1、进程启动函数函数名eval调用语法eval(string)解说将string看作Perl语句执行。正确执行后,系统变量$为空串,如果有错误,$中为错误信息。例子$p

44、rint = print (hello,worldn);eval ($print);结果输出hello, world函数名system调用语法system(list)解说list中第一个元素为程序名,其余为参数。system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。例子proglist = (echo, hello,world!);system(proglist);结果输出hello, world!函数名fork调用语法procid = fork();解说创建程序的两个拷贝-父进程和子进程-同时运行。子进程返回零,父进程返回非零值,此值为子程序的进程ID号。例子$

45、retval = fork();if ($retval = 0) # this is the child process exit; # this terminates the child process else # this is the parent process结果输出无函数名pipe调用语法pipe (infile, outfile);解说与fork合用,给父进程和子进程提供通信的方式。送到outfile文件变量的信息可以通过infile文件变量读取。步骤:1、调用pipe2、用fork将程序分成父进程和子进程3、一个进程关掉infile,另一个关掉outfile例子pipe (I

46、NPUT, OUTPUT);$retval = fork();if ($retval != 0) # this is the parent process close (INPUT); print (Enter a line of input:n); $line = ; print OUTPUT ($line); else # this is the child process close (OUTPUT); $line = ; print ($line); exit (0);结果输出$programEnter a line of input:Here is a test lineHere i

47、s a test line$函数名exec调用语法exec (list);解说与system类似,区别是启动新进程前结束当前程序。常与fork合用,当fork分成两个进程后,子进程用exec启动另一个程序。例子 结果输出函数名syscall调用语法syscall (list);解说调用系统函数,list第一个元素是系统调用名,其余为参数。如果参数是数字,就转化成C的整型数(type int)。否则传递字符串的指针。详见UNIX的帮助或Perl文档。使用syscall必须包含文件syscall.pl,即:require (syscall.ph); 例子结果输出2、进程终止函数函数名Die调用语法

48、die (message);解说终止程序并向STDERR输出错误信息。message可以为字符串或列表。如果最后一个参数不包含换行符,则程序文件名和行号也被输出。例子die (Cannot open input file);结果输出Cannot open input file at myprog line 6.函数名warn调用语法warn (message);解说与die类似,区别是不终止程序。例子warn(Danger! Danger!n);结果输出Danger! Danger!函数名exit调用语法exit (retcode);解说终止程序并指定返回值。例子exit(2);结果输出无函数

49、名kill调用语法kill (signal, proclist);解说给一组进程发送信号。signal是发送的数字信号,9为杀掉进程。proclist是进程ID列表。详见kill的UNIX帮助。例子结果输出3、进程控制函数函数名sleep调用语法sleep (time);解说将程序暂停一段时间。time是停止的秒数。返回值为实际停止的秒数。例子sleep (5);结果输出无函数名wait调用语法procid = wait();解说暂停程序执行,等待子进程终止。不需要参数,返回值为子进程ID,如果没有子进程,返回-1。例子结果输出函数名waitpid调用语法waitpid (procid, wa

50、itflag);解说暂停程序执行,等待特定的子进程终止。procid为等待的进程ID例子$procid = fork();if ($procid = 0) # this is the child process print (this line is printed firstn); exit(0); else # this is the parent process waitpid ($procid, 0); print (this line is printed lastn);结果输出$ programthis line is printed firstthis line is print

51、ed last$4、其它控制函数函数名caller调用语法subinfo = caller();解说返回调用者的程序名和行号,用于Perl Debugger。返回值为三元素的列表:1、调用处的包名2、调用者文件名3、调用处的行号例子结果输出函数名chroot调用语法chroot (dir);解说改变程序的根目录,详见chroot帮助。例子结果输出函数名local调用语法local($variable);解说在语句块(由大括号包围的语句集合)中定义局域变量,仅在此语句块中起作用,对其的改变不对块外同名变量造成影响。千万不要在循环中使用,否则每次循环都定义一个新的局域变量!例子结果输出函数名tim

52、es调用语法timelist = times解说返回该程序及所有子进程消耗的工作时间。返回值为四个浮点数的列表:1、程序耗用的用户时间2、程序耗用的系统时间3、子进程耗用的用户时间4、子进程耗用的系统时间例子结果输出二、数学函数函数名sin调用语法retval = sin (value);解说参数为弧度值。函数名cos调用语法retval = cos (value);解说参数为弧度值。函数名atan2调用语法retval = atan2 (value1, value2);解说运算并返回value1除以value2结果的arctan值,单位为弧度,范围在-PIPI。应用例:角度转化成弧度子程序。

53、sub degrees_to_radians local ($degrees) = _; local ($radians);11: $radians = atan2(1,1) * $degrees / 45;函数名sqrt调用语法retval = sqrt (value);解说平方根函数。value为非负数。函数名exp调用语法retval = exp (value);解说返回e的value次方。函数名log调用语法retval = log (value);解说以e为底的自然对数。函数名abs调用语法retval = abs (value);解说绝对值函数。(Perl 4中没有)函数名rand

54、调用语法retval = rand (num);解说随机数函数,返回0和整数num之间的一个浮点数。函数名srand调用语法srand (value);解说初始化随机数生成器。保证每次调用rand真正随机。三、字符串处理函数函数名index调用语法position = index (string, substring, position);解说返回子串substring在字符串string中的位置,如果不存在则返回-1。参数position是可选项,表示匹配之前跳过的字符数,或者说从该位置开始匹配。函数名rindex调用语法position = rindex (string, substrin

55、g, position);解说与index类似,区别是从右端匹配。函数名length调用语法num = length (string);解说返回字符串长度,或者说含有字符的数目。函数名pos调用语法offset = pos(string);解说返回最后一次模式匹配的位置。函数名substr调用语法substr (expr, skipchars, length)解说抽取字符串(或表达式生成的字符串)expr中的子串,跳过skipchars个字符,或者说从位置skipchars开始抽取子串(第一个字符位置为0),子串长度为length,此参数可忽略,意味着取剩下的全部字符。当此函数出现在等式左边时

56、,expr必须为变量或数组元素,此时其中部分子串被等式右边的值替换。函数名study调用语法study (scalar);解说用一种内部格式提高变量的访问速度,同一时刻只对一个变量起作用。函数名lcuc调用语法retval = lc(string);retval = uc(string);解说将字符串全部转换成小/大写字母。函数名lcfirstucfirst调用语法retval = lcfirst(string);retval = ucfirst(string);解说将第一个字母转换成小/大写。函数名quotameta调用语法newstring = quotemeta(oldstring);解

57、说将非单词的字母前面加上反斜线()。语句 : $string = quotemeta($string);等效于:$string = s/(W)/$1/g;常用于模式匹配操作中,确保字符串中没有字符被看作匹配操作符。函数名join调用语法join (joinstr, list);解说把字符串列表(数组)组合成一个长的字符串,在每两个列表元素间插入串joinstr。函数名sprintf调用语法sprintf (string, fields);解说与printf类似,区别是结果不输出到文件,而作为返回值赋给变量。例子$num = 26;$outstr = sprintf(%d = %x hexade

58、cimal or %o octaln,$num, $num, $num);print ($outstr);结果输出26 = 1a hexadecimal or 32 octal四、标量转换函数函数名chop调用语法$lastchar = chop (var);解说var可为变量或数组,当var为变量时,最后一个字符被删除并赋给$lastchar,当var为数组/列表时,所有元素的最后一个字符被删除,最后一个元素的最后一个字母赋给$lastchar。函数名chomp调用语法result = chomp(var);解说检查字符串或字符串列表中元素的最后一个字符是否为由系统变量$/定义的行分隔符,如

59、果是就删除。返回值为实际删除的字符个数。函数名crypt调用语法result = crypt (original, salt);解说用DES算法加密字符串,original是将要加密的字符串,salt是两个字符的字符串,定义如何改变DES算法,以使更难解码。返回值为加密后的串。函数名hex调用语法decnum = hex (hexnum);解说将十六进制数(字符串形式)转化为十进制数。函数名int调用语法intnum = int (floatnum);解说将浮点数舍去小数部分转化为整型数。函数名oct调用语法decnum = oct (octnum);解说将八进制数(字符串形式)或十六进制数(

60、0 x.形式)转化为十进制数。函数名ord调用语法asciival = ord (char);解说返回单个字符的ASCII值,与PASCAL中同名函数类似。函数名chr调用语法$char = chr (asciival);解说返回ASCII值的相应字符,与PASCAL中同名函数类似。函数名pack调用语法formatstr = pack(packformat, list);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(包装)到一个简单变量中。参数packformat包含一个或多个格式字符,列表中每个元素对应一个,各格式字符间可用空格或tab隔开,因为pack忽略空格。除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论