计算机网络协议模板.docx
- 文档编号:951969
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:36
- 大小:236.77KB
计算机网络协议模板.docx
《计算机网络协议模板.docx》由会员分享,可在线阅读,更多相关《计算机网络协议模板.docx(36页珍藏版)》请在冰豆网上搜索。
计算机网络协议模板
计算机网络协议教案
一、TCP/IP协议族结构和协议
TCP/IP协议簇是Internet基础,也是当今最流行组网形式。
TCP/IP是一组协议代名词,包含很多别协议,组成了TCP/IP协议簇。
其中比较关键有SLIP协议、PPP协议、IP协议、ICMP协议、ARP协议、TCP协议、UDP协议、FTP协议、DNS协议、SMTP协议等。
TCP/IP协议并不完全符合OSI七层参考模型。
传统开放式系统互连参考模型,是一个通信协议7层抽象参考模型,其中每一层实施某一特定任务。
该模型目是使多种硬件在相同层次上相互通信。
而TCP/IP通讯协议采取了4层层级结构,每一层都呼叫它下一层所提供网络来完成自己需求。
(一)熟悉Internet地址结构
(二)了解Internet地址概念
互联网上每个接口必需有一个唯一Internet地址(也称作IP地址)。
IP地址长32bit。
Internet地址并不采取平面形式地址空间,如1、2、3等。
IP地址含有一定结构,五类不一样互联网地址格式如图1-5所表示。
这些32位地址通常写成四个十进制数,其中每个整数对应一个字节。
这种表示方法称作“点分十进制表示法(Dotteddecimalnotation)”。
比如,作者系统就是一个B类地址,它表示为:
140.252.13.33。
区分各类地址最简单方法是看它第一个十进制整数。
图1-6列出了各类地址起止范围,其中第一个十进制整数用加黑字体表示。
需要再次指出是,多接口主机含有多个IP地址,其中每个接口都对应一个IP地址。
因为互联网上每个接口必需有一个唯一IP地址,所以必需要有一个管理机构为接入互
联网网络分配IP地址。
这个管理机构就是互联网络信息中心(InternetNetworkInformationCentre),称作InterNIC。
InterNIC只分配网络号。
主机号分配由系统管理员来负责。
有三类IP地址:
单播地址(目为单个主机)、广播地址(目端为给定网络上全部主
机)以及多播地址(目端为同一组内全部主机)。
二、熟悉Internet协议通信原理及报文格式
(一)控制报文协议
ICMP协议
引言
ICMP常常被认为是IP层一个组成部分。
它传输差错报文以及其她需要注意信息。
ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。
部分ICMP报文把差错报文返回给用户进程。
ICMP报文是在IP数据报内部被传输,如图6-1所表示。
ICMP正式规范参见RFC792[Posterl1981b]。
ICMP报文格式如图6-2所表示。
全部报文前4个字节都是一样,不过剩下其她字节则互不相同。
下面我们将逐一介绍多种报文格式。
类型字段能够有15个不一样值,以描述特定类型ICMP报文。
一些ICMP报文还使用代码字段值来深入描述不一样条件。
检验和字段覆盖整个ICMP报文。
使用算法与我们在3.2节中介绍IP首部检验和算法相同。
ICMP检验和是必需。
ICMP报文类型
多种类型ICMP报文如图6-3所表示,不一样类型由报文中类型字段和代码字段来共同决定。
图中最终两列表明ICMP报文是一份查询报文还是一份差错报文。
因为对ICMP差错报文有时需要作特殊处理,所以我们需要对它们进行区分。
比如,在对ICMP差错报文进行响应时,永远不会生成另一份ICMP差错报文(假如没有这个限制规则,可能会碰到一个差错产生另一个差错情况,而差错再产生差错,这么会无休止地循环下去)。
当发送一份ICMP差错报文时,报文一直包含IP首部和产生ICMP差错报文IP数据报前8个字节。
这么,接收ICMP差错报文模块就会把它与某个特定协议(依据IP数据报首部中协议字段来判定)和用户进程(依据包含在IP数据报前8个字节中TCP或UDP报文首部中TCP或UDP端口号来判定)联络起来。
下面多种情况都不会造成产生ICMP差错报文:
1)ICMP差错报文(不过,ICMP查询报文可能会产生ICMP差错报文)。
2)目地址是广播地址(见图3-9)或多播地址(D类地址,见图1-5)IP数据报。
3)作为链路层广播数据报。
4)不是IP分片第一片(将在11.5节介绍分片)。
5)源地址不是单个主机数据报。
这就是说,源地址不能为零地址、环回地址、广播地址或多播地址。
这些规则是为了预防过去许可ICMP差错报文对广播分组响应所带来广播风暴。
ICMP地址掩码请求与应答
ICMP地址掩码请求用于无盘系统在引导过程中获取自己子网掩码(3.5节)。
系统广播它ICMP请求报文(这一过程与无盘系统在引导过程中用RARP获取IP地址是类似)。
无盘系统获取子网掩码另一个方法是BOOTP协议,我们将在第16章中介绍。
ICMP地址掩码请求和应答报文格式如图6-4所表示。
ICMP报文中标识符和序列号字段由发送端任意选择设定,这些值在应答中将被返回。
这么,发送端就能够把应答与请求进行匹配。
我们能够写一个简单程序(取名为icmpaddrmask),它发送一份ICMP地址掩码请求报文,然后打印出全部应答。
因为通常是把请求报文发往广播地址,所以这里我们也这么做。
目地址(140.252.13.63)是子网140.252.13.32广播地址(见图3-12)。
ICMP时间戳请求与应答
ICMP时间戳请求许可系统向另一个系统查询目前时间。
返回提议值是自午夜开始计算毫秒数,协调统一时间(CoordinatedUniversalTime,UTC)(早期参考手册认为
UTC是格林尼治时间)。
这种ICMP报文好处是它提供了毫秒级分辨率,而利用其她方法从别主机获取时间(如一些Unix系统提供rdate命令)只能提供秒级分辨率。
因为返回时间是从午夜开始计算,所以调用者必需经过其她方法获知当初日期,这是它一个缺点。
请求端填写提议时间戳,然后发送报文。
应答系统收到请求报文时填写接收时间戳,在发送应答时填写发送时间戳。
不过,实际上,大多数实现把后面两个字段都设成相同值
(提供三个字段原因是能够让发送方分别计算发送请求时间和发送应答时间)。
(二)用户数据报协议
UDP协议
引言
UDP是一个简单面向数据报运输层协议:
进程每个输出操作都恰好产生一个UDP
数据报,并组装成一份待发送IP数据报。
这与面向流字符协议不一样,如TCP,应用程序产生全体数据与真正发送单个IP数据报可能没有什么联络。
UDP数据报封装成一份IP数据报格式如图11-1所表示。
RFC768[Postel1980]是UDP正式规范。
UDP不提供可靠性:
它把应用程序传给IP层数据发送出去,不过并不确保它们能抵达
目地。
因为缺乏可靠性,我们似乎认为要避免使用UDP而使用一个可靠协议如TCP。
我们在第17章讨论完TCP后将再回到这个话题,看看什么样应用程序能够使用UDP。
应用程序必需关心IP数据报长度。
假如它超出网络MTU(2.8节),那么就要对IP数据报进行分片。
假如需要,源端到目端之间每个网络都要进行分片,并不只是发送端主机连接第一个网络才这么做(我们在2.9节中已定义了路径MTU概念)。
在11.5节中,我们将讨论IP分片机制。
UDP首部
UDP首部各字段如图11-2所表示。
端口号表示发送进程和接收进程。
在图1-8中,我们画出了TCP和UDP用目端口号来分用来自IP层数据过程。
因为IP层已经把IP数据报分配给TCP或UDP(依据IP首部中协议字段值),所以TCP端口号由TCP来查看,而UDP端口号由UDP来查看。
TCP端口号与UDP端口
号是相互独立。
UDP长度字段指是UDP首部和UDP数据字节长度。
该字段最小值为8字节(发送一份0字节UDP数据报是OK)。
这个UDP长度是有冗余。
IP数据报长度指是数据报全长(图3-1),所以UDP数据报长度是全长减去IP首部长度(该值在首部长度字段中指定,如图3-1所表示)。
UDP检验和
UDP检验和覆盖UDP首部和UDP数据。
回想IP首部检验和,它只覆盖IP首部—并不
覆盖IP数据报中任何数据。
UDP和TCP在首部中都有覆盖它们首部和数据检验和。
UDP检验和是可选,而TCP
检验和是必需。
尽管UDP检验和基础计算方法与我们在3.2节中描述IP首部检验和计算方法相类似
(16bit字二进制反码和),不过它们之间存在不一样地方。
首先,UDP数据报长度能够为
奇数字节,不过检验和算法是把若干个16bit字相加。
处理方法是必需时在最终增加填充字节
0,这只是为了检验和计算(也就是说,可能增加填充字节不被传送)。
其次,UDP数据报和TCP段都包含一个12字节长伪首部,它是为了计算检验和而设置。
伪首部包含IP首部部分字段。
其目是让UDP两次检验数据是否已经正确抵达目地(比如,IP没有接收地址不是本主机数据报,以及IP没有把应传给另一高层数据报传给UDP)。
UDP数据报中伪首部格式如图11-3所表示。
在该图中,我们特地举了一个奇数长度数据报例子,所以在计算检验和时需要加上填充字节。
注意,UDP数据报长度在检验和计算过程中出现两次。
假如检验和计算结果为0,则存入值为全1(65535),这在二进制反码计算中是等效。
假如传送检验和为0,说明发送端没有计算检验和。
假如发送端没有计算检验和而接收端检测到检验和有差错,那么UDP数据报就要被悄悄地丢弃。
不产生任何差错报文(当IP层检测到IP首部检验和有差错时也这么做)。
UDP检验和是一个端到端检验和。
它由发送端计算,然后由接收端验证。
其目是为了发觉UDP首部和数据在发送端到接收端之间发生任何改动。
尽管UDP检验和是可选,不过它们应该总是在用。
在80年代,部分计算机产商在默认条件下关闭UDP检验和功效,以提升使用UDP协议NFS(NetworkFileSystem)速度。
在单个局域网中这可能是能够接收,不过在数据报经过路由器时,经过对链路层数据帧进行循环冗余检验(如以太网或令牌环数据帧)能够检测到大多数差错,造成传输失败。
不管相信是否,路由器中也存在软件和硬件差错,以致于修改数据报中数据。
假如关闭端到端UDP检验和功效,那么这些差错在UDP数据报中就不能被检测出来。
另外,部分数据链路层协议(如SLIP)没有任何形式数据链路检验和。
IP分片
(三)传输控制协议
TCP协议
即传输控制协议,它提供是一个可靠数据流服务。
当传送受差错干扰数据,或举出网络故障,或网络负荷太重而使网际基础传输系统不能正常工作时,就需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 协议 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)