标题：计算机网络原理
课程信息
课程简介本课程是计算机科学与技术专业学生的一门专业核心课程。通过本课程的学习和实验，使学生能够深入理解计算机网络系统的基本概念和工作机制，掌握Internet采用的TCP/IP体系结构及各层主要协议的基本内容及工作原理。[1]实验目的与要求1．实验目的：通过实验培养学生对TCP/IP体系结构各层主要协议的内容，数据报文结构及功能的分析能力，加深对计算机网络工作过程和原理的理解。
2．实验要求：利用网络协议分析软件，构造产生各种协议数据单元，捕捉各种数据包并进行协议分析，理解各种协议的报文结构，功能及各层协议间的相互关系，提高对网络通信过程的认识与理解。实验方式与注意事项本课程所有实验均需上机进行，每个实验都有明确的实验目的和内容。学生根据实验要求独立完成每个实验项目。具体要求如下：
1. 学生按照实验要求，上机前要认真研读实验指导书，了解实验的目的、内容、实验步骤；
2. 上机实验时按实验要求完成实验任务，并对实验过程中遇到的问题、解决办法和实验结果进行记录；
3. 实验结束后完成并提交实验报告。
图书信息
出版社: 高等教育出版社; 第1版 (2006年6月1日)
丛书名: 高等学校教材
平装: 340页
正文语种: 简体中文
开本: 16
ISBN: 7040196492
条形码: 9787040196498
尺寸: 23.1 x 16.9 x 1.6 cm
重量: 481 g
内容简介
《计算机网络原理》是一本采用全新体系结构的计算机网络基础教材。全书共分为3篇，分别从3个角度观察计算机网络，理解计算机网络的工作原理：第1篇是在平面上观察计算机网络，把计算机网络看做由节点、链路和协议三个元素组成的系统，并介绍了链路和节点上的基本通信技术；第2篇是立体地观察计算机网络，认识计算机网络体系结构，介绍了ISO/OSI参考模型和IEEE 802、TCP/IP两种计算机网络主流体系结构；第3篇介绍计算机网络应用程序的C/S工作模式和基于C/S模式的计算机网络应用程序的开发方法。这3篇将计算机网络的基本原理分解成相对独立的3个层次。每完成一个层次内容的学习，对计算机网络工作原理的认识就会上升到一个新的高度，并最后归结到计算机网络应用层的实现上来。
目录
第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多线程并发服务器程序设计
习题
附录英文缩略语词汇表
参考文献