当前位置:首页 » 网络连接 » 计算机网络原理第6
扩展阅读
手机老是不自动连接网络 2024-11-30 02:41:32

计算机网络原理第6

发布时间: 2024-03-19 13:32:14

计算机网络原理与通信技术的目录

1.1OSI参考模型
1.1.1OSI的层次结构
第7层 应用层:OSI中的最高层。为特定类型的网络应用提供了访问OSI环境的手段。应用层确定进程之间通信的性质,以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远程操作,而且还要作为应用进程的用户代理,来完成一些为进行信息交换所必需的功能。它包括:文件传送访问和管理FTAM、虚拟终端VT、事务处理TP、远程数据库访问RDA、制造报文规范MMS、目录服务DS等协议;
第6层 表示层:主要用于处理两个通信系统中交换信息的表示方式。为上层用户解决用户信息的语法问题。它包括数据格式交换、数据加密与解密、数据压缩与恢复等功能;
第5层 会话层:—在两个节点之间建立端连接。为端系统的应用程序之间提供了对话控制机制。此服务包括建立连接是以全双工还是以半双工的方式进行设置,尽管可以在层4中处理双工方式 ;
第4层 传输层:—常规数据递送-面向连接或无连接。为会话层用户提供一个端到端的可靠、透明和优化的数据传输服务机制。包括全双工或半双工、流控制和错误恢复服务;
第3层 网络层:—本层通过寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。它包括通过互连网络来路由和中继数据 ;
第2层 数据链路层:—在此层将数据分帧,并处理流控制。屏蔽物理层,为网络层提供一个数据链路的连接,在一条有可能出差错的物理连接上,进行几乎无差错的数据传输。本层指定拓扑结构并提供硬件寻址;
第1层 物理层:处于OSI参考模型的最底层。物理层的主要功能是利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。
数据发送时,从第七层传到第一层,接收数据则相反。
上三层总称应用层,用来控制软件方面。下四层总称数据流层,用来管理硬件。
数据在发至数据流层的时候将被拆分。
在传输层的数据叫段,网络层叫包,数据链路层叫帧,物理层叫比特流,这样的叫法叫PDU(协议数据单元)
1.1.2OSI制定过程中的三级抽象
1.1.3OSI中服务和协议的含义
1.1.4OSI中SAP、层间接口和传送数据单元
1.1.5OSI中的服务原语
1.1.6OSI中的服务类型
1.2IP网络层次结构
1.2.1IP网络层次结构组成
1.2.2IP网络层次结构与OSI的关系
1.2.3TCP/IP协议族
TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。
从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。
TCP/IP协议并不完全符合OSI的七层参考模型,OSI(Open System Interconnect)是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层(网络接口层)、网络层(网络层)、传输层、会话层、表示层和应用层(应用层)。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。由于ARPNET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网。
1.3如何理解计算机网络体系结构
1.4网络通信过程中的寻址
1.4.1寻址结构
1.4.2寻址过程
习题 2.1IPv4协议
2.1.1IPv4数据报格式
2.1.2IPv4地址
2.1.3IPv4分段封装
2.1.4IPv4功能模块
2.1.5IPv4发送和接收流程
2.1.6IPv4路由选择
2.2IPv6协议
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。IPv6是为了解决IPv4所存在的一些问题和不足而提出的,同时它还在许多方面提出了改进,例如路由方面、自动配置方面。经过一个较长的IPv4和IPv6共存的时期,IPv6最终会完全取代IPv4在互连网上占据统治地位。
2.2.1IPv6分组格式
2.2.2IPv6扩展头部
IPv6对数据报头作了简化,以减少处理器开销并节省网络带宽。IPv6的报头由一个基本报头和多个扩展报头(Extension Header)构成,基本报头具有固定的长度(40字节),放置所有路由器都需要处理的信息。由于Internet上的绝大部分包都只是被路由器简单的转发,因此固定的报头长度有助于加快路由速度。IPv4的报头有15个域,而IPv6的只有8个域,IPv4的报头长度是由IHL域来指定的,而IPv6的是固定40个字节。这就使得路由器在处理IPv6报头时显得更为轻松。与此同时,IPv6还定义了多种扩展报头,这使得IPv6变得极其灵活,能提供对多种应用的强力支持,同时又为以后支持新的应用提供了可能。这些报头被放置在IPv6报头和上层报头之间,每一个可以通过独特的“下一报头”的值来确认。除了逐个路程段选项报头(它携带了在传输路径上每一个节点都必须进行处理的信息)外,扩展报头只有在它到达了在IPv6的报头中所指定的目标节点时才会得到处理(当多点播送时,则是所规定的每一个目标节点)。在那里,在IPv6的下一报头域中所使用的标准的解码方法调用相应的模块去处理第一个扩展报头(如果没有扩展报头,则处理上层报头)。每一个扩展报头的内容和语义决定了是否去处理下一个报头。因此,扩展报头必须按照它们在包中出现的次序依次处理。一个完整的IPv6的实现包括下面这些扩展报头的实现:逐个路程段选项报头,目的选项报头,路由报头,分段报头,身份认证报头,有效载荷安全封装报头,最终目的报头。
2.2.3IPv6地址
IPv6将现有的IP地址长度扩大4倍,由当前IPv4的32位扩充到128位,以支持大规模数量的网络节点。这样IPv6的地址总数就大约有3.4*10E38个。平均到地球表面上来说,每平方米将获得6.5*10E23个地址。IPv6支持更多级别的地址层次,IPv6的设计者把IPv6的地址空间按照不同的地址前缀来划分,并采用了层次化的地址结构,以利于骨干网路由器对数据包的快速转发。
IPv6定义了三种不同的地址类型。分别为单点传送地址(Unicast Address),多点传送地址(Multicast Address)和任意点传送地址(Anycast Address)。所有类型的IPv6地址都是属于接口(Interface)而不是节点(node)。一个IPv6单点传送地址被赋给某一个接口,而一个接口又只能属于某一个特定的节点,因此一个节点的任意一个接口的单点传送地址都可以用来标示该节点。
IPv6中的单点传送地址是连续的,以位为单位的可掩码地址与带有CIDR的IPv4地址很类似,一个标识符仅标识一个接口的情况。在IPv6中有多种单点传送地址形式,包括基于全局提供者的单点传送地址、基于地理位置的单点传送地址、NSAP地址、IPX地址、节点本地地址、链路本地地址和兼容IPv4的主机地址等。
多点传送地址是一个地址标识符对应多个接口的情况(通常属于不同节点)。IPv6多点传送地址用于表示一组节点。一个节点可能会属于几个多点传送地址。在Internet上进行多播是在1988年随着D类IPv4地址的出现而发展起来的。这个功能被多媒体应用程序所广泛使用,它们需要一个节点到多个节点的
传输。RFC-2373对于多点传送地址进行了更为详细的说明,并给出了一系列预先定义的多点传送地址。
任意点传送地址也是一个标识符对应多个接口的情况。如果一个报文要求被传送到一个任意点传送地址,则它将被传送到由该地址标识的一组接口中的最近一个(根据路由选择协议距离度量方式决定)。任意点传送地址是从单点传送地址空间中划分出来的,因此它可以使用表示单点传送地址的任何形式。从语法上来看,它与单点传送地址间是没有差别的。当一个单点传送地址被指向多于一个接口时,该地址就成为任意点传送地址,并且被明确指明。当用户发送一个数据包到这个任意点传送地址时,离用户最近的一个服务器将响应用户。这对于一个经常移动和变更的网络用户大有益处。
2.3UDP
2.3.1运输层协议概述
2.3.2UDP数据报格式
2.3.3UDP校验和算法
2.3.4UDP应用
2.4TCP
2.4.1TCP报文段格式
2.4.2TCP连接
2.4.3TCP流量控制
习题 3.1域名空间
3.1.1域
3.1.2域名
3.1.3区
3.2名字服务器3.2.1名字服务器种类
3.2.2名字服务器树
3.3域名解析算法
3.3.1域名解析方式
3.3.2定位起始域名服务器
3.4逆向域名解析
3.4.1逆向域名解析的特点
3.4.2逆向域名解析原理
3.5域名解析报文
3.5.1报文格式
3.5.2记录类型与结构
3.5.3域名解析报文的运输
习题 4.1路由选择策略
4.2最短路径法
4.2.1基本原理
4.2.2路由表的生成
4.3扩散法
4.3.1基本原理
4.3.2选择性扩散法
4.4基于流量的路由选择
……第5章路由协议第6章地址解析第7章局域网第8章宽带接入网第9章传统交换网第10章宽带交换网ATM第11章传统IPoverATM技术第12章新型宽带交换网技术第13章网络服务质量第14章网络安全技术参考文献

㈡ 计算机网络工作原理是什么

关于计算机网络的定义。

广义的观点:计算机技术与通信技术相结合,实现远程信息处理或进一步达到资源共享的系统;资源共享的观点:以能够相互共享资源的方式连接起来,并且各自具有独立功能的计算机系统的集合;对用户透明的观点:存在一个能为用户自动管理资源的网络操作系统,由它来调用完成用户任务所需要的资源,而整个网络像一个大的计算机系统一样对用户是透明的,实际上这种观点描述的是一个分布式系统。
1、支撑计算机网络的有两大技术原理:
1)计算机(广义上的计算机) 2)通信技术(包括接入和输出技术)
前者的存在使得用户有了强大的数据录入、处理、输出能力,后者使得信息的远程即时交换和共享成为可能。
2. 计算机网络的拓朴结构。
答:计算机网络采用拓朴学的研究方法,将网络中的设备定义为结点,把两个设备之间的连接线路定义为链路。计算机网络也是由一组结点和链路组成的的几何图形,这就是拓朴结构。
分类:按信道类型分,分为点---点线路通信子网和广播信道的通信子网。采用点——点连线的通信子网的基本结构有四类:星状、环状、树状和网状;广播信道通子网有总线状、环状和无线状。
3. 计算机网络的体系结构
答:将计算机网络的层次结构模型和分层协议的集合定义为计算机网络体系结构。
4.计算机网络的协议三要素
答:三要素是:1,语法:关于诸如数据格式及信号电平等的规定;2,语义:关于协议动作和差错处理等控制信息;3,定时:包含速率匹配和排序等。
5.OSI七层协议体系结构和各级的主要作用
答:七层指:由低到高,依次是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。
6.TCP/IP协议体系结构
答:TCP/IP是一个协议系列,目前已饮食了100多个协议,用于将各种计算机和数据通信设备组成计算机网络。
TCP/IP协议具有如下特点:1,协议标准具有开放性,其独立于特定的计算机硬件与操作系统,可以免费使用;2,统一分配网络地址,使得整个TCP/IP设备在网络中都具有惟一的IP地址。
分层:应用层(SMTP, DNS, NFS, FTP, Telnet, Others)、传输层(TCP,UDP)、互联层(IP,ICMP, ARP, RARP)、主机——网络层(Ethernet, ARPANET, PDN ,Others)。
传输控制协议TCP:定义了两台计算机之间进行可靠数据传输所交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。
7、计算机通信常用原理

虚电路可分为永久虚电路和交换虚电路。
X.25协议描述了主机(DTE)与分组交换网(PSN)之间的接口标准。
X.25的分组级相当于OSI参考模型中的网络层,主要功能是向主机提供多信道的虚电路服务。
帧中继的层次结构中只有物理层和链路层,采用光纤作为传输介质。
帧中继的常见应用:1,局域网的互联,2,语音传输,3,文件传输。
ATM(异步传输模式),ATM的信元具有固定的长度,53个字节,5个自己是信头,48个字节是信息段。
ATM网络环境由两部分组成:ATM网络和ATM终端用户。
局域网L3交换技术:Fast IP技术,Net Flow技术
广域网L3交换技术:Tag Switching
虚拟局域网:是通过路由和交换设备在网络的物理拓扑结构基础上建立的逻辑网络。
虚拟局域网的交换技术:端口交换、帧交换、元交换。
虚拟局域网的划分方法:按交换端口号、按MAC地址、按第三层协议。
VPN(虚拟专用网),特点:1,安全保障,2,服务质量保证,3,可扩充性和灵活性,4,可管理性。
VPN的安全技术:隧道技术、加解密技术、密钥管理技术、使用者与设备身份认证技术。
网络管理基本功能:故障管理、计费管理、配置管理、性能管理、安全管理。
SNMP(简单网络管理协议),CMIS/CMIP(公共管理信息服务和公共管理信息协议)。

㈢ 江苏自考03137计算机网络基本原理考试大纲(高纲1784)


本大纲对应教材版本为:《计算机网络原理》, 郎大鹏、高迪、程媛主编,2018年版,哈尔滨工程大学出版社。
高纲1784
高等教育自学考试大纲
03137计算机网络基本原理
南京航空航天大学编(2019年)
江苏省高等教育自学考试委员会办公室
一、课程性质及其设置的目的与要求
(一)课程性质和特点
在当前的国民经济中,计算机网络通信技术应用越来越广泛,地位越来越重要。本课程是关于计算机网络基础知识和网络主流技术的一门课程,是计算机科学与技术、计算机应用、通信工程、电子信息工程专业的一门专业必修课程。
本课程的主要任务是讲授计算机网络的基础知识和主流技术,包括计算机网络的组成、体系结构及协议、局域网标准及主流局域网技术、广域网、网络互联技术、网络应用等。课程要求侧重掌握计算机网络体系结构、体系结构中各层次意义及其相互间关系以及网络互连等知识。《计算机网络基本原理》课程为将来从事计算机网络通信领域的开发和研究、网络的使用和维护提供必要的基础知识,打下良好的基础,而且还是实践技能训练中的一个重要的教学环节。
通过本课程的理论学习,学生能够理解计算机网络的体系结构和网络协议,掌握组建局域网和接入Internet的关键技术,培养学生初步具备局域网组网及网络应用能力,从而为后续网络实践课程的学习打下良好的理论基础。
(二)本课程设置的目的
通过学习能够使学生在已有的课程知识的基础上,对计算机网络有一个全面、系统的了解,熟悉网络环境、网络操作系统以及网络基本操作,能对网络资源进行合理的配置和利用,初步具备网络设计和建设能力。
学生在学习完本课程后,具有独立组建和管理局域网、分析网络协议、查找网络安全漏洞、配置简单网络服务器的能力。
(三)本课程的基本要求
⑴ 掌握计算机网络的基本概念、基本知识、网络功能和特点;了解网络的发展状况及趋势,理解计算机网络演化过程;了解网络的基本工作原理;理解计算机网络的组成与分类和体系结构、分层模型与接口的特点;掌握标准化参考模型与TCP/IP参考模型;了解标准化组织与互联网的标准与管理结构。
⑵ 掌握组网的有关概念:了解网络服务帆搭器、工作站、网络适配器、调制解调器、中继器、集线器、网桥、交换机、网络传输介质和常见网络操作系统。
⑶ 掌握对等网络的基本概念;了解对等网络的组建于配置、网络资源共享、网络登录、与其它网络连接
⑷ 熟练掌握常用服务器的基本概念、发展及应用;通过对服务器、基本操作、账号管理的讲解,学生能够对计算机网络有更深刻的认识,具有能熟练使用常用服务器的技能。
⑸ 熟练掌握五层功能及协议原理,熟悉各种相关应用。
主要包含:
掌握数据链路层成帧、差错控制、流量控制等功能,掌握典型的数据链路层协议-HDLC和因特网的数据链路层协议PPP。
掌握网络层的功能、为传输层提供的服务、虚电路子网和数据报子网的概念,理解路由选择策略、拥塞的概念和拥塞预防策略。
理解Internet的IP、ARP、RARP、ICMP和橡核IPv6协议,掌握IP路由、掌握DNS的原理及应用。
理解传输层提供给高层的服务、服务质量,掌握UDP、TCP协议的原理及其应用,掌握建立连接和释放连接。
理解和掌握应用层的域名系统、电子邮件协议、文件传输协议、万维网的原理等。
理解局域网的参考模型与协议标准,掌握相关的介质访问控制协议,掌握以太网以及无线局域网的工作原理。了解梁轿掘移动Ad Hoc网络的基本概念、特点、结构、路由协议和应用,了解与其它移动通信系统的区别点。了解局域网操作系统的基本概念。
了解分组交换技术(X.25和帧中继)、异步传输模式、第三层交换技术、虚拟局域网技术、VPN、计算机网络管理与安全等实用技术的概念与基本原理。
(四)本课程与相关课程的关系
《计算机网络基本原理》是计算机科学与技术专业以及相关专业的计算机网络与应用方向的一门专业课程,与计算机相关专业的许多其他课程有着密切的关系,比如《计算机组成原理》、《操作系统概论》等。
点击下载:03137 计算机网络基本原理(高纲1784)【完整版】

自考/成考有疑问、不知道自考/成考考点内容、不清楚当地自考/成考政策,点击底部咨询官网老师,免费获取个人学历提升方案:https://www.87dh.com/xl/

㈣ 计算机网络的6种拓补结构是什么

3.2.1 星型拓补
(1) 星型拓补由中央节点和通过点到点链路接到中央节点的各个站点组成,采用星型拓补的交换方式主要有报文交换和线路交换,线路交换更为普遍,现有的数据处理和声音通信的信息网大多采用这种拓补结构,目前流行的PBX就是星型拓补的典型
(2) 星型拓补的优缺点:
a. 方便服务
b. 每个连接只接一个设备
c. 不会影响全网
d. 集中控制和故障诊断
e. 简单的访问协议
f. 缺点是
I. 电缆长度和安装
II. 扩展困难
III. 依赖于中央节点
3.2.2 总线拓扑
(1) 总线拓扑的定义
采用单根传输线作为传输介质,所有节点都通过相应的硬件接口连接到传输介质上的拓扑方式
(2) 总线拓扑的优点:
a. 电缆长度短,布线容易;
b. 可靠性高;
c. 易于扩充。
(3) 总线拓扑的缺点:
a. 故障诊断困难;
b. 中继器配置:在总线的干线基础上扩充,可采用中继器,需要重新配置,包括电缆长度的剪裁、终端器的调整等。
c. 因为接在总线上的站点要有介质访问控制能力,所以终端必须是智能的。
3.2.3 环型拓扑(1) 环型拓扑的定义
由一些中继器和连接中继器的点到点链路组成一个闭合环的网络拓扑结构
(2) 环型拓扑的优点
a. 电缆长度短
b. 无需接线盒
c. 适用于光纤
(3) 环型拓扑的缺点
a. 节点故障引起全网故障;
b. 诊断故障困难;
c. 不易重新配置网络;
d. 拓扑结构影响访问协议。
3.2.4 树型拓扑
(1) 定义
由总线拓扑演变过来,形状象一颗倒置的树,顶端有一个带分支的根,每个分支还可延伸出子分支的网络拓扑结构
(2) 优点
a. 易于扩展;
b. 故障隔离容易。
(3) 缺点
对根的依赖性太大,如果根发生故障,则全网不能正常工作。
3.2.5 星型环拓扑
(1) 定义
由一批接在环上的连接集中器组成的,结合了星型拓扑和环型拓扑的优点的网络拓扑结构
(2) 优点
a. 故障诊断和隔离方便; b. 易于扩展;
c. 安装电缆方便。
(3) 缺点
a. 需要智能的集中器
b. 电缆安装问题

㈤ 计算机网络原理知识点

计算机网络原理知识点

计算机网络系统摆脱了中心计算机控制结构数据传输的局限性,并且信息传递迅速,系统实时性强。下面是我整理的关于计算机网络原理知识点,欢迎大家参考!

OSI,TCP/IP,五层协议的体系结构,以及各层协议?

答:OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。

五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。

每一层的协议如下:

物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)

数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)

网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)

传输层:TCP、UDP、SPX

会话层:NFS、SQL、NETBIOS、RPC

表示层:JPEG、MPEG、ASII

应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

每一层的作用如下:

物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)

数据链路层:将比特组装成帧和点到点的传递(帧Frame)

网络层:负责数据包从源到宿的传递和网际互连(包PackeT)

传输层:提供端到端的可靠报文传递和错误恢复(段Segment)

会话层:建立、管理和终止会话(会话协议数据单元SPDU)

表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)

应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

IP地址的分类?

答:A类地址:以0开头, 第一个字节范围:0~126(1.0.0.0 - 126.255.255.255);

B类地址:以10开头, 第一个字节范围:128~191(128.0.0.0 - 191.255.255.255);

C类地址:以110开头, 第一个字节范围:192~223(192.0.0.0 - 223.255.255.255);

10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。(Internet上保留地址用于内部)

IP地址与子网掩码相与得到网络号

ARP是地址解析协议,简单语言解释一下工作原理?

答:1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。

2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。

3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。

4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

广播发送ARP请求,单播发送ARP响应。

RARP是逆地址解析协议,作用是完成硬件地址到IP地址的.映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。

TCP三次握手和四次挥手的全过程?

答:三次握手:

第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。

四次挥手

与建立连接的“三次握手”类似,断开一个TCP连接则需要“四次握手”。

第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。

第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。

第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。

第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

;

㈥ [计算机网络之六] 传输层

  传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。

  从传输层的角度,通信的真正端点并不是主机而是主机中的进程。

  传输层有 分用 复用 的功能。 “复用” 是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据, “分用” 是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。

  网络层和运输层有明显的区别,网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。

知名端口号 :0~1023
登记端口号 :1024~49151
客户端短暂端口号 :49152~65535


① 无连接。 发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
② 尽最大努力交付。 即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
③ 面向报文的。 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,UDP 一次交付一个完整的报文。

  用户数据报 UDP 有两个字段:数据字段和首部字段。首部字段很简单,只有 8 个字节,由四个字段组成,每个字段的长度都是两个字节。各字段意义如下:

① 源端口 在需要对方回信时选用。不需要时可用全0。
② 目的端口 目的端口号。这在终点交付报文时必须使用。
③ 长度 用户数据报的长度,最小值为 8 (仅有首部)。
④ 检验和 检测用户数据报在传输中是否有错。有错就丢弃。

  用户数据报首部检验和的计算和校验都要计算出一个伪首部。


① 面向连接。

  应用程序在使用 TCP 协议之前,必须先建立 TCP 连接;传送数据完毕后,必须释放已经建立的 TCP 连接。类似于打电话:通话前要先拨号建立连接,通话结束后要挂机释放连接。

② 一对一。

  TCP 连接只能是点对点的(一对一)。

③ 可靠交付。

  通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达。

④ 全双工通信。

  通信双方的应用进程在任何时候都能发送和接收数据,TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。

⑤ 面向字节流。

  TCP 中的 “流” 指的是流入到进程或从进程流出的字节序列。

  “面向字节流” 的含义:虽然应用程序和 TCP 的交互式一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串无结构的字节流。TCP 并不知道所传送的字节流的含义。TCP 不保证接收方应用程序锁收到的数据块和发送方应用程序所发出的数据块具有对应的大小关系。但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样,当然接收方的应用程序必须有能力识别收到的字节流,把它还原成有意义的应用层数据。

  TCP 连接是协议软件提供的一种抽象,每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定,即:

  TCP 连接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}

  IP1 和 IP2 分别是两个端点主机的 IP 地址,port1 和 port2 分别是两端端点主机中的端口号。


  网络只能提供最大努力的服务,是不可靠的,因此 TCP 必须采用适当的措施才能使得两个运输层之间的通信变得可靠。当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时,及时告知发送方适当降低发送数据的速度,这样就可以在不可靠的传输信道实现可靠传输。

  ARQ(Auto Repeat-reQuest):自动重传请求。

  发送方每发送完一个分组就停止发送,等待接收方确认,在收到确认后再发送下一个分组。
  A 是发送方,B 是接收方。

  A 每发送一个分组后,等待 B 对该分组的确认后,再接着发送下一个分组。

【发送方】A 发送的分组在传输过程中出错,可能是丢失了,也可能是分组受到干扰出错了
【接收方】这时 B 直接丢弃分组,什么也不做(也不通知 A 受到的分组有差错)。

【解决方案】发送方在每发送完一个分组时设置一个 超时计数器 ,只要超过一段时间仍然没有接收到确认,就认为刚才发送的分组丢失了,因而重传前面发送过的分组,这叫 超时重传 。反之在超时计时器到期之前收到了相应的确认,就撤销该超时计时器。

第一,A 在发送完一个分组后, 必须暂时保留已发送的分组的副本 (在发生超时重传时使用)。只有在收到相应的确认后才能清楚暂时保留的分组副本。

第二,分组和确认分组都必须进行 编号 。这样才能明确是哪一个发送出去的分组受到了确认,而哪一个分组还没有收到确认。

第三,超时计时器设置的 重传时间应当比数据在分组传输的平均往返时间更长一些

【发送方】超时重传时间内没有收到确认报文,无法确认是发送出错、丢失,还是接收方的确认丢失,超时计时器到期后就要重传。
【接收方】丢弃收到的重复分组,不向上层交付;向发送方发送确认。

【发送方】收下迟到的确认,并且丢弃

  发送方大部分时间都在等待确认,信道的利用率低

  使用流水线的 ARQ 可以提高信道利用率

【发送方】维持一个发送窗口,位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。

回退N帧协议 :如果发送方发送了多个分组,但中间的某个分组丢失了,这时接收方只能对丢失分组之前的分组发出确认,而发送方无法知道丢失分组及后面分组的接收情况,只好把丢失分组及后面的分组重传一次,这叫 Go-back-N ,表示需要再退回来重传已发送过的 N 个分组。


  前面 20 个字节固定,因此 TCP 首部最小长度是 20 字节。

  TCP 的滑动窗口以字节为单位,窗口后沿的部分表示已发送且已收到通知,窗口里的序号表示允许发送的序号,窗口前沿之前的数据暂时不允许发送,需要等待收到接收方的确认后前沿往前移才可发送。

描述一个发送窗口需要三个指针:P1、P2 和 P3,如图所示:

  小于 P1 的是已发送并已收到确认的部分,而大于 P3 的是不允许发送的部分。

  P3 - P1 = A 的发送窗口

  P2 - P1 = 已发送但尚未收到确认的字节数

  P3 - P2 = 允许发送但当前尚未发送的字节数(又称为 可用窗口 有效窗口

  接收方 B 接收窗口大小为20,因为未收到 31 的数据,即使已收到后面的序号 32、33 的数据,返回的确认号仍然是 31。

  现在接收方收到了 31、32、33,并返回确认号 33,接收窗口往前滑动 3 个序号,发送方接收到确认,发送窗口也向前滑动 3 个序号大小,现在 A 可以发送序号 51~53 的数据了。

  当发送方将发送窗口内的数据都发送出去,但是接收方的确认可能由于网络拥塞滞留,这时发送方发送窗口已满,可用窗口为 0,只能等待接收方的确认报文到达。

  TCP 为了保证可靠传输,要求必须受到对已发送报文的确认,如果超过一定时间未受到确认报文,则重传已发送的报文。这个时间就叫 超时重传时间 ,很明显超时重传时间的大小设置应该更贴近网络的实际情况,如果网络状况好,就设短一点,否则使网络的空闲时间增大,降低了传输效率;网络差就设长一点,否则会引起很多不必要的重传,使网络负荷增大。

  TCP 采用了一种自适应的算法:

  RTT(报文段的往返时间)、RTTs(加权平均往返时间),RTTs 的计算公式:

RTTd(RTT 的偏差的加权平均值)、RTO(RetransmissionTime-Out 超时重传时间):

【场景】TCP 的接收方在接收对方发送过来的数据字节流的序号不连续,形成一些不连续的字节块,如果简单按照回退N帧协议处理,意味着要重传第一个未收到的序号数据块及之后的数据,如果能通知发送方已收到了哪些数据(选择确认),就可以让发送方只发送接收方未收到的数据。



  流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。

  当发送方收到接收方通知,将窗口缩小为 0 时,发送方将暂时不能发送数据了,必须等接收方通知更新接收窗口大小,但是这个通知又有可能丢失,导致发送方没收到通知。

  为了避免双方互相等待死锁,TCP 为每个链接设有一个 持续计时器 ,只要 TCP 连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器设置的时间到期,就发送一个零窗口 探测报文段 (仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。如果窗口仍然是零,那么受到这个报文段的一方就重新设置持续计时器;如果窗口不是零,那么死锁的僵局就可以打破了。



【优点】提高网络利用率
【缺点】可能会发生某种程度的延迟

【场景】接收数据的主机如果每次都立刻回复确认应答的话,可能会返回一个较小的窗口,因为接收方刚接收完数,缓冲区已满。

【糊涂窗口综合征问题】
TCP 接收方缓存已满,而交互式的应用进程一次只从接收缓存中读取 1 个字节(这样就使接收缓存空间仅腾出 1 个字节),然后向发送方发送确认,并把窗口设置为 1 个字节(但发送的数据报是 40 字节长,TCP 首部 + IP 数据报首部)。接着,发送方又发来 1 个字节的数据(注意发送方发送的 IP 数据报是 41 字节长)。接收方发回确认,仍然将窗口设置为 1 个字节。这样进行下去,使网络的效率很低。

  TCP 文件传输中,就采用了两个数据段返回一次确认应答,并且等待一定时间后没有其他数据包到达时也依然发送确认应答。

  当对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做 拥塞



  慢开始(slow-start)、拥塞避免(congestion avoidance)、快重传(fast retransmit)和快恢复(fast recovery)。

【算法思路】

  当主机开始发送数据时,由于并不清楚网络的负荷情况,所以如果立即把大量数据字节注入网络,那么就有可能引起网络发生拥塞。较好的方法是先探测一下,即 由小到大逐渐增大发送窗口 ,也就是说, 由小到大逐渐增大拥塞窗口数值

【处理过程】

   慢开始门限值 ssthresh 决定了拥塞窗口达到多大时要执行什么算法。

① 当 cwnd < ssthresh 时,使用慢开始算法;
② 当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法;
③ 当 cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。

  在拥塞窗口 cwnd 达到门限值之前,发送方每一轮次收到确认应答后,cwnd 就增大为原来的两倍;达到门限值后,执行拥塞避免算法。

PS. 慢开始只是表示初始发送数据少,不代表发送速率增长速度慢,实际上是指数级增长非常快。

【算法思路】

  让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,而不是像慢开始阶段那样加倍增长。拥塞避免阶段有 “加法增大” 的特点,按线性规律缓慢增长,使网络比较不容易出现拥塞

【处理过程】

  在执行拥塞避免算法阶段,当网络出现超时时,发送方判断为网络拥塞,调整门限值为当前拥塞窗口的一半,即 ssthresh = cwnd / 2,同时拥塞窗口重置为 1,即 cwnd = 1,进入慢开始阶段。

【算法原理】

① 快重传

【场景】有时,个别报文段会在网络中丢失,但实际上网络并未发生拥塞。如果发送方迟迟收不到确认,就会产生超时,就会误认为网络发生了拥塞,导致发送方错误地启动慢开始,把拥塞窗口 cwnd 又设置为 1,因而降低了传输效率。

【方案】接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认,当发送方 一连收到 3 个重复确认 ,就知道接收方确实没有收到某个报文段,因而应当 立即进行重传

② 快恢复:

  发送方知道只是丢失了个别的报文段,于是不启动慢开始,而是执行快恢复算法,调整发送方门限值 ssthresh = cwnd / 2,同时设置拥塞窗口 cwnd = ssthresh = 8,并开始执行拥塞避免算法。


拥塞控制的流程如下:

  拥塞窗口 cwnd,接收方窗口 rwnd, 发送方发送窗口的上限值 = Min[rwnd, cwnd]

① 当 rwnd < cwnd,接收方的接收能力限制发送方窗口大小;
② 当 cwnd < rwnd,网络的拥塞程度限制发送方窗口大小。


【问题背景】

  路由器采取分组丢弃策略,即按照 先进先出(FIFO) 规则处理分组,当队列已满时,则丢弃后面到达的分组,这叫 尾部丢弃策略

  丢失的分组会导致发送方出现超时重传,发送方转而执行慢开始算法,不同分组属于不同 TCP 连接,导致很多 TCP 同时进入慢开始状态,这种现象称为 全局同步

【解决方案】

  主动队列管理 AQM:不等到路由器的队列长度已经达到最大值时才不得不丢弃后面到达的分组,而是在队列长度达到某个警惕值时就主动丢弃到达的分组,这样就提醒了发送方放慢发送的速率,因而有可能使网络拥塞的程度减轻,甚至不出现网络拥塞。


  TCP 是面向连接的协议,运输连接有三个阶段: 连接建立、数据传送、连接释放

  TCP 连接建立过程要解决的几个问题:

① 使每一方能够确知对方的存在;
② 允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等);
③ 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。

  TCP 建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个 TCP 报文段,即 三次握手

  最初客户端和服务端都处于 CLOSED(关闭) 状态,A(Client)主动打开连接,B(Server)被动打开连接。

  一开始,B 的 TCP 服务器进程先创建 传输控制块 TCB ,准备接受客户进程的连接请求。然后服务器进程就处于 LISTEN(收听)状态,等待客户端的连接请求。如有,即作出响应。

   第一次握手 :A 的 TCP 客户进程也是首先创建传输控制块 TCB,准备接受客户进程的连接请求。然后在打算建立 TCP 连接时,向 B 发出连接请求报文段,这时首部中的同步位 SYN = 1,同时选择一个初始序号 seq = x。TCP 规定,SYN 报文段(即 SYN = 1 的报文段)不能携带数据,但要 消耗掉一个序号 。这时,TCP 客户进程进入 SYN-SENT(同步已发送) 状态。

   第二次握手 :B 收到连接请求报文段后,如同意建立连接,则向 A 发送确认。在确认报文段中应把 SYN 位和 ACK 位都置 1,确认号是 ack = x + 1,同时也为自己选择一个初始序号 seq = y。请注意,这个报文段也不能携带数据,但同样 要消耗掉一个序号 。这时 TCP 服务器进程进入 SYN-RCVD(同步收到) 状态。

   第三次握手 :TCP 客户进程收到 B 的确认后,还要向 B 给出确认。确认报文段的 ACK 置 1,确认号 ack = y + 1,而自己的序号 seq = x + 1。TCP 的标准规定,ACK 报文段可以携带数据。但 如果不携带数据则不消耗序号 ,在这种情况下,下一个数据报文段的序号仍是 seq = x + 1。这时,TCP 连接已经建立,A 进入 ESTABLISHED(已建立连接) 状态。当 B 收到 A 的确认后,也进入 ESTABLISHED(已建立连接)状态。








  数据传输结束后,通信的方法都可释放连接。现在 A 和 B 都处于 ESTABLISHED 状态。

   第一次挥手 :A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。A 把连接释放报文段首部的终止控制位 FIN 置 1,其序号 seq = u,它等于前面已传送过的数据的最后一个字节的序号加 1。这时 A 进入 FIN-WAIT-1(终止等待 1)状态,等待 B 的确认。请注意,TCP 规定,FIN 报文段即使不携带数据,它也消耗掉一个序号。

   第二次挥手 :B 收到连接释放报文后即发出确认,确认号是 ack = u + 1,而这个报文段自己的序号是 v,等于 B 前面已传送过的最后一个字节的序号加 1。然后 B 就进入 CLOSE-WAIT(关闭等待)状态。TCP 服务器进程这时应通知高层应用程序,因而从 A 到 B 这个方向的连接就释放了,这时的 TCP 连接处于半关闭(half-close)状态,即 A 已经没有数据要发送了,但 B 若发送数,A 仍要接收。也就是说,从 B 到 A 这个方向的连接并未关闭,这个状态可能会持续一段时间。A 收到来自 B 的确认后,就进入 FIN-WAIT-2(终止等待 2)状态,等待 B 发出的连接释放报文段。

   第三次挥手 :若 B 已经没有要向 A 发送的数据,其应用进程就通知 TCP 释放连接。这时 B 发出的连接释放报文段必须使 FIN = 1。现假定 B 的序号为 w(在半关闭状态 B 可能又发送了一些数据)。B 还必须重复上次已发送过的确认号 ack = u + 1。这时 B 就进入 LAST-ACK(最后确认)状态,等待 A 的确认。

   第四次挥手 :A 在收到 B 的连接释放报文段后,必须对此发出确认。在确认报文段中把 ACK 置 1,确认号 ack = w + 1,而自己的序号是 seq = u + 1(根据 TCP 标准,前面发送过的 FIN 报文段要消耗一个序号)。然后进入 TIME-WAIT(时间等待)状态。请注意,现在 TCP 连接还没有释放掉。必须经过时间等待计时器(TIME-WAIT timer)设置的时间 2MSL 后,A 才进入到 CLOSED 状态,然后撤销传输控制块,结束这次 TCP 连接。当然如果 B 一收到 A 的确认就进入 CLOSED 状态,然后撤销传输控制块。所以在释放连接时,B 结束 TCP 连接的时间要早于 A。




㈦ 计算机网络原理的目录

第1篇计算机网络组成
第1章计算机网络概述
1.1 计算机网络及其分类
计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 关于计算机网络的最简单定义是:一些相互连接的、以共享资源为目的的、自治的计算机的集合。
另外,从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合。一个计算机网络组成包括传输介质和通信设备。
从用户角度看,计算机网络它是这样定义的:存在着一个能为用户自动管理的网络操作系统。有它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。
一个比较通用的定义是:利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。
从整体上来说计算机网络就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。简单来说,计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的集合体。 计算机网络就是由大量独立的、但相互连接起来的计算机来共同完成计算机任务。这些系统称为计算机网络(computer networks)
1.1.1计算机网络及其功能
1.1.2计算机网络的分类
1.1.3通信与计算机网络相关标准化组织
1.2 计算机网络组成
1.2.1计算机网络的拓扑结构
1.2.2链路
所谓链路就是从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点。
补充:在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。
1.2.3网络节点
节点是指一台电脑或其他设备与一个有独立地址和具有传送或接收数据功能的网络相连。节点可以是工作站、客户、网络用户或个人计算机,还可以是服务器、打印机和其他网络连接的设备。每一个工作站﹑服务器、终端设备、网络设备,即拥有自己唯一网络地址的设备都是网络节点。整个网络就是由这许许多多的网络节点组成的,把许多的网络节点用通信线路连接起来,形成一定的几何关系,这就是计算机网络拓扑。
各个网络节点通过网卡那里获得唯一的地址。每一张网卡在出厂的时候都会被厂家固化一个全球唯一的媒体介质访问层(Media Access Control)地址﹐使用者是不可能变更此地址的。这样的地址安排就如我们日常的家庭地址一样﹐是用来区分各自的身份的。您的网络必须有能力去区别这一个地址有别于其它的地址。在网络里面﹐有很多资料封包会由一个网络节点传送到另一个网络节点﹐同时要确定封包会被正确的传达目的地﹐而这个目的地就必须依靠这个网卡地址来认定了。
1.2.4协议
网络协议,也可简称协议,由三要素组成:
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)时序,即事件实现顺序的详细说明。
计算机通信网是由许多具有信息交换和处理能力的节点互连而成的。要使整个网络有条不紊地工作, 就要求每个节点必须遵守一些事先约定好的有关数据格式及时序等的规则。 这些为实现网络数据交换而建立的规则、约定或标准就称为网络协议。 协议是通信双方为了实现通信而设计的约定或通话规则。
协议总是指某一层的协议。准确地说,它是在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议。 是一系列的步骤: 它包括两方或多方,设计它的目的是要完成一项任务!
是对数据格式和计算机之间交换数据时必须遵守的规则的正式描述。简单的说,网络中的计算机要能够互相顺利的通信,就必须讲同样的语言,语言就相当于协议,它分为Ethernet、NetBEUI、IPX/SPX以及TCP/IP协议。 协议还有其他的特点:
1) 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。
2) 协议中的每个人都必须同意并遵循它。
3) 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。
在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议或通信协议
协议也可以这样说,就是连入网络的计算机都要遵循的一定的技术规范,关于硬件、软件和端口等的技术规范。
网络是一个信息交换的场所,所有接入网络的计算机都可以通过彼此之间的物理连设备进行信息交换,这种物理设备包括最常见的电缆、光缆、无线WAP和微波等,但是单纯拥有这些物理设备并不能实现信息的交换,这就好像人类的身体不能缺少大脑的支配一样,信息交换还要具备软件环境,这种“软件环境”是人类事先规定好的一些规则,被称作“协议”,有了协议,不同的电脑可以遵照相同的协议使用物理设备,并且不会造成相互之间的“不理解”。
这种协议很类似于“摩尔斯电码”,简单的一点一横,经过排列可以有万般变化,但是假如没有“对照表”,谁也无法理解一新产生的协议也大多是在基层协议基础上建立的,因而协议相对来说具有较高的安全机制,黑客很难发现协议中存在的安全问题直接入手进行网络攻击。但是对于某些新型协议,因为出现时间短、考虑欠周到,也可能会因安全问题而被黑客利用。
对于网络协议的讨论,更多人则认为:现今使用的基层协议在设计之初就存在安全隐患,因而无论网络进行什么样的改动,只要现今这种网络体系不进行根本变革,就一定无法消除其潜在的危险性。
数据在IP互联网中传送时会被封装为报文或封包。IP协议的独特之处在于:在报文交换网络中主机在传输数据之前,无须与先前未曾通信过的目的主机预先建立好一条特定的“通路”。互联网协议提供了一种“不可靠的”数据包传输机制(也被称作“尽力而为”);也就是说,它不保证数据能准确的传输。数据包在到达的时候可能已经损坏,顺序错乱(与其它一起传送的封包相比),产生冗余包,或者全部丢失。如果 应用需要保证可靠性,一般需要采取其他的方法,例如利用IP的上层协议控制。
网络协议通常由语法,语义和定时关系3部分组成。网络传输协议或简称为传送协议(Communications Protocol),是指计算机通信的共同语言。现在最普及的计算机通信为网络通信,所以“传送协议”一般都指计算机通信的传送协议,如:TCP/IP、NetBEUI等。然而,传送协议也存在于计算机的其他形式通信,例如:面向对象编程里面对象之间的通信;操作系统内不同程序之间的消息,都需要有一个传送协议,以确保传信双方能够沟通无间。
其他含义
协商:双方协议提高价格 对共同达到统一目的 可制定协议。
通俗概念:协议是做某些事情之前共同协商,共同达到统一目的,对统一达成问题作为书面形式共同约束。
协商好了就点仁义、仗义。协议要是用上了,那就是没意义了,也就是证明即将要结束协议。
定义
协议(protocol)是指两个或两个以上实体为了开展某项活动,经过协商后达成的一致意见。协议总是指某一层的协议。准确地说,它是在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议。
1.3课外实践参考——构建一个简单的局域网络
1.3.1双绞线
双绞线(Twisted Pair)是由两条相互绝缘的导线按照一定的规格互相缠绕(一般以逆时针缠绕)在一起而制成的一种通用配线,属于信息通信网络传输介质。双绞线过去主要是用来传输模拟信号的,但现在同样适用于数字信号的传输。
双绞线是综合布线工程中最常用的一种传输介质。
双绞线是由一对相互绝缘的金属导线绞合而成。采用这种方式,不仅可以抵御一部分来自外界的电磁波干扰,而且可以降低自身信号的对外干扰。把两根绝缘的铜导线按一定密度互相绞在一起,一根导线在传输中辐射的电波会被另一根线上发出的电波抵消。“双绞线”的名字也是由此而来。
双绞线一般由两根22-26号绝缘铜导线相互缠绕而成,实际使用时,双绞线是由多对双绞线一起包在一个绝缘电缆套管里的。典型的双绞线有四对的,也有更多对双绞线放在一个电缆套管里的。这些我们称之为双绞线电缆。在双绞线电缆(也称双扭线电缆)内,不同线对具有不同的扭绞长度,一般地说,扭绞长度在3.81cm至14cm内,按逆时针方向扭绞。相邻线对的扭绞长度在1.27cm以上,一般扭线的越密其抗干扰能力就越强,与其他传输介质相比,双绞线在传输距离,信道宽度和数据传输速率等方面均受到一定限制,但价格较为低廉。
1.3.2集线器
1.3.3 网卡
习题
第2章 中间节点上的通信技术
2.1交换技术的演变
2.1.1 电路交换
2.1.2存储-转发交换
2.1.3分组交换网络中的最佳帧长度
2.2虚电路与数据报
2.2.1分组交换的虚电路服务
2.2.2分组交换的数据报服务
2.2.3电路交换、虚电路与数据报的比较
2.3交换机
2.3.1交换机的功能
2.3.2交换单元分类
2.4路由节点上的通信
2.4.1路由器与路由表
2.4.2路由器的组成
2.4.3路由器技术的演进
习题
第3章链路上的数据传送技术
3.1基本通信方式
3.1.1通信工作模式
3.1.2并行传输与串行传输
3.1.3串行通信中的同步控制
3.2数据信号分析与信道特性
3.2.1信息、数据与信号
3.2.2数据信号分析
3.2.3信道的频率特性
3.3基带传输、频带传输与数据信号变换
3.3.1基带传输与频带传输
3.3.2数字信号的模拟调制
3.3.3模拟信号的数字编码——PCM技术
3.3.4数字编码
3.4信道的多路复用技术
3.4.1频分多路复用技术
3.4.2时分多路复用技术
3.4.3码分多路复用技术
3.4.4波分多路复用技术
3.5数据的可靠传输
3.5.1差错产生的原因与基本对策
3.5.2差错检测
3.5.3差错控制
3.6流量控制
3.6.1流量控制及其基本策略
3.6.2滑动窗口协议
习题
第2篇计算机网络体系结构
第4章ISO/OSI参考模型
4.1概述
4.1.1计算机网络的层次结构
4.1.2计算机网络层次结构中各层的基本功能
4.1.3计算机网络层次结构的多样性
4.1.4 ISO/OSI参考模型框架
4.2 ISO/OSI参考模型分层介绍
4.2.1物理层
4.2.2数据链路层
4.2.3网络层
4.2.4运输层
4.2.5会话层、表示层和应用层
4.3 ISO/OSI参考模型的进一步分析
4.3.1 OSI参考模型各层中的数据流动
4.3.2网络实体——服务与协议
4.3.3 ISO/OSl服务原语
习题
第5章局域网与IEEE 802模型
5.1局域网的技术特点与体系结构
5.1.1局域网概述
5.1.2局域网的MAC技术
5.1.3 IEEE 802模型
5.2以太网技术
5.2.1 CSMA/CD协议
5.2.2 IEEE 802.3与10 Mbps以太网
5.3无线局域网
5.3.1无线局域网的特点
5.:3.2 IEEE 802.11
5.3.3 CSMA/CA
5.3.4 Wi-Fi
5.4交换式局域网
5.4.1 网桥
5.4.2交换式以太网
5.4.3交换机工作机理
5.4.4虚拟局域网
5.4.5课外实践参考——交换机配置
5.5 i岛速以太网
5.5.1高速以太网的发展及特点
5.5.2 100 Base-T以太网
5.5.3千兆以太网
5.5.4万兆以太网
习题
第6章Internet与TCP/IP体系结构
6.1 概述
6.1.1 Internet
6.1.2 TCP/IP协议栈
6.1.3 TCP/IP与OSI参考模型的比较
6.2 IP协议
6.2.1有分类的IP地址结构
6.2.2 IP地址的无分类编址CIDR
6.2.3 IPv4分组格式
6.2.4课外实践参考——网络的TCP/IP参数设置
6.3网络接口层相关协议
6.3.1点对点协议PPP
6.3.2 IP地址解析协议
6.4网际控制消息协议ICMP
6.4.1 ICMP提供的服务
6.4.2 ICMP分组
6.4.3基于ICMP的应用
6.4.4课外实践参考——常用网络测试命令
6.5 IP路由
6.5.1路由器工作概述
6.5.2路由信息协议RIP
6.5.3开放式最短路径优先协议OSPF
6.5.4边界网关协议BGP
6.5.5课外实践参考——路由器的配置
6.5.6第三层交换
6.6 IPV6
6.6.1 IPv6及其目标
6.6.2 IPv6分组结构
6.6.3 IPv6地址
6.6.4从IPv4向IPv6的过渡
6.7 TCP/UDP协议
6.7.1 TCP服务的特征
6.7.2 TCP连接的可靠建立与释放
6.7.3 TcP传输的滑动窗口规则
6.7.4 TCP报文格式
6.7.5 UDP协议
6.7.6 TCP/UDP端口号的分配方法
习题
第3篇计算机网络应用及其开发
第7章应用层实体及其工作模式
7.1客户-服务器工作模式
7.1.1客户-服务器模式概述
7.1.2客户-服务器的应用方式
7.1.3中间件
7.2客户-服务器模式应用举例
7.2.1远程登录
7.2.2文件传输协议
7.2.3电子邮件传送协议
7.2.4简单网络管理协议
7.2.5超文本传输协议
习题
第8章计算机网络应用程序设计
8.1套接口API的有关概念
8.1.1 网络应用编程接口
8.1.2 socket编程模型及其类型
8.1.3 socket地址——应用进程的标识
8.1.4通信进程的阻塞与非阻塞方式
8.2基本socket函数
8.2.1初始化套接口——服务绑定socket()
8.2.2本地地址绑定bind()
8.2.3建立套接口连接——绑定远地服务器地址connect()
8.2.4套接口被动转换listen()
8.2.5从被动套接口的完成队列中接受一个连接请求accept()
8.2.6基本套接口I/O函数
8.2.7关闭套接口通道与撤销套接口
8.3基于TCP的socket程序设计
8.3.1 TCP有限状态机
8.3.2 TCP的C/s模型时序图
8.3.3一个简单的TCP网络通信程序
8.3.4阻塞模式下的TCP输入输出与超时控制
8.3.5非阻塞模式下的TcP输入输出
8.4基于UDP的socket程序设计
8.4.1 uDP编程模式
8.4.2一个简单的UDP客户一服务器程序
8.4.3非阻塞模式下的UDP客户一服务器程序
8.5输入输出多路复用
8.5.1输入输出多路复用的基本原理
8.5.2 select()函数及其应用
8.6并发服务器程序设计
8.6.1多进程并发服务器程序设计
8.6.2多线程并发服务器程序设计
习题
附录英文缩略语词汇表
参考文献