㈠ [计算机网络之六] 传输层
传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。
从传输层的角度,通信的真正端点并不是主机而是主机中的进程。
传输层有 分用 和 复用 的功能。 “复用” 是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据, “分用” 是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。
网络层和运输层有明显的区别,网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
知名端口号 :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。
㈡ 帧 比特 字节
bps(bits per second)每秒比特数
bps是网络传输中一个最基本的网速单位,而比特流常用于拨号上网时代,最快的网速也就几十kbps(1024bps),常指在网络中传输的数据流,也就是说上网比特流,就有现在由于网速的加快,常用Mbps(1024kbps),现在的网络传输不再称为比特流,而称为信息高速公路。
bps(bits per second)每秒比特数
bps是网络传输中一个最基本的网速单位,而比特流常用于拨号上网时代,最快的网速也就几十kbps(1024bps),常指在网络中传输的数据流,也就是说上网比特流,就有现在由于网速的加快,常用Mbps(1024kbps),现在的网络传输不再称为比特流,而称为信息高速公路。
PS:BT的全称BitTorrent种子下载,所用技术是P2P(Point to Point)点对点传输。
PPS:BS Phillips盗用经典网络术语作为品牌
什么是“帧”。
帧的组成
在网络中,计算机通信传输的是由“0”和“1”构成的二进制数据,二进制数据组成“帧”(Frame),帧是网络传输的最小单位。实际传输中,在铜缆(指双绞线等铜质电缆)网线中传递的是脉冲电流;在光纤网络和无线网络中传递的是光和电磁波(当然光也是一种电磁波)。
针对高速脉冲电流而言,我们人为地用低电平的脉冲代表“0”、用高电平的脉冲代表“1”。这些虚拟的“0”或“1”就是“位”(Bit)。在计算机网络中一般8个位组成了一个“字节”(Byte)。学过计算机的人都知道字节(Byte)是计算机的数据储存单位。网络技术的初学者大都会把“Bit”(位)与“Byte”(字节)相混淆,谈到100Mbps以太网,就会以为它是每秒钟能传100MB数据的网络,实际上只是25MB(理论值)。
如果把脉冲电流看成是轨道,那么帧就是运行在轨道上的火车。火车有机车和尾车,帧也有一个起点,我们称之为“帧头”,而且帧也有一个终点,我们称之为“帧尾”。帧头和帧尾之间的部分是这个帧负载的数据(相当于火车车头和车尾之间的车厢)。
帧的传输
在网络中,网络设备将“位”组成一个个的字节,然后这些字节“封装”成帧,在网络上传输。为什么要把数据“封装”成帧呢?因为用户数据一般都比较大,有的可以达到MB字节,一下子发送出去十分困难,于是就需要把数据分成许多小份,再按照一定的次序发送出去。
以太网的帧值总是在一定范围内浮动,最大的帧值是1518字节,最小的帧值是64字节。在实际应用中,帧的大小是由设备的MTU(最大传输单位)即设备每次能够传输的最大字节数自动来确定的。
帧是当计算机发送数据时产生的,确切地说,是由计算机中安装的网卡产生的。帧只对于能够识别它的设备才有意义。对于集线器来说,帧是没有意义的,因为它是物理层设备,只认识脉冲电流。有许多人对帧不理解,所以不能很好地理解交换机与集线器的区别。
看了以上这么多,也许你还是不明白,其实,二进制并不是网管员要打交道的东西,而帧才是网管员真正要注意的东西,所以在Windows 2000的“网络监视器”中,“帧”才是被监视的对象。但我们究竟怎样监视帧呢?
㈢ 什么是终端
1、终端Terminal通常是指那些与集中式主机系统(例如IBM大型计算机)相连的“哑”用户设备。终端从用户接收键盘输入,并且将这些输入发送给主机系统。主机系统处理这个用户的键盘输入和命令,然后输出返回并显示在这个终端的屏幕上。个人计算机可以运行称为终端仿真器的一些程序来模仿一个哑终端的工作。
2、终端(2006年美国电影)
3、终端(牛奶泡饭着网络小说)
终端小说内容构架庞大,描述的世界另有特色,另类之处为开篇很有悬疑,层次划分与众多小说相比有很大差异,层次的概念描述极其到位,故事、打斗、道具,都与众不同。
㈣ 何谓计算机网络的体系结构与网络协议
计算机协议及体系结构网络协议与层次结构
1.2.1网络体系结构
1.网络协议
通过通信信道和网络设备互联起来的不同地理位置的多个计算机系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。
网络协议(Protocol)是为进行计算机网络中的数据交换而建立的规则、标准或约定的集
合。准确地说,它是对同等实体之间通信而制定的有关规则和约定的集合;
网络协议的三个要素: 、
l)语义(Semarlties)涉及用于协调与差错处理的控制信息。
2)语法(Syntax)涉及数据及控制信息的格式、编码及信号电平等。
3)定时(Timing)涉及速度匹配和定序等。
2.网络的体系结构及其划分所遵循的原则计算机网络系统是一个十分复杂的系统。将一个复杂系统分解为若干个容
易处理的子系统。分层就是系统分解的最好方法之一。
在图1-4所示的一般分层结构中,n层是n-l层的用户,又是n+l层的服务提供者。n+1层虽然只直接使用了n层提供的服务,实际上它通过n层还间接地使用了n-1层以及以下所有各层的服务。、
层次结构的好处在于使每一层实现一种相对独立的功能。分层结构还有利于交流、理解和标准化。
所谓网络的层次模型就是计算机网络各层次及其协议的 集合。层次结构一般以垂直分层模型来表示, 层次结构的要点:
1)除了在物理媒体上进行的是实通信之外,其余各 对等实体间进行的都是虚通信。
2)对等层的虚通信必须遵循该层的协议。
3)n层的虚通信是通过n/n-l层间接口处n-l层提供的服务以及n-1层的通信(通常也
是虚通信)来实现的。
1.2.2网络体系结构
网络体系结构最常用的分为两种:
OSI七层结构和TCP/IP(TramferControlProtocol/InternetProtocol,传输控制协议/网际协议)四层结构。TCP/IP协议是Internet的核心协议。
1.OSI/RM基本参考模型
开放系统互联(OpenSystemIntercomectim)基本参考模型是由国际标准化组织(ISO)
制定的标准化开放式计算机网络层次结构模型,又称ISO/OSI参考模型。"开放"这个词表示能使任何两个遵守参考模型和有关标准的系统可以进行互联。
OSI/RM包括了体系结构、服务定义和协议规范三级抽象。OSI的体系结构定义了一个七层模型,用以进行进程间的通信,并作为一个框架来协调各层标准的制定gOSI的服务定义描述了各层所提供的服务,以及层与层之间的抽象接口和交互用的服务原语:OSI各层的协议规范,精确地定义了应当发送何种控制信息及何种过程来解释该控制信息。
OSI/RM的七层参考模型结构包括:从下至上分别为物理层、数据链路层、网络层、传输层,
会话层、表示层和应用层。
2.Internet层次模型
Internet网络结构以TCP/IP协议层次模型为核心,
共分四层结构:应用层、传输层、网际层和网络接口层。TCP/IP的体系结构与ISO的OSI七层参考模型的对应关系如图1-6所示。TCP/IP是Internet的核心,利用TCP/IP协议可以方便地实现各种网络的平滑、无缝连接。在TCP/IP四层模型中,作为最高层的应用层相当于OSI的5~7层,该层中包括了所有的高层协议,如常见的文件传输协议FTP(文件传输协议)、电子邮件SMTP,(简单邮件传送协议)、域名系统DNS(域名服务)、网络管理协议SNMP、访问WWW的超文本传输协议HTTP、远程终端访问协议TELNET等。
TCP/IP的次高层为传输层,相当于OSI的传输层,该层负责在源主机和目的主机之间提供端到端的数据传输服务。这一层上主要定义了两个协议:面向连接的传输控制协议TCP和无连接的用户数据报协议UDP(UserDatagramProtocol)。
TCP/IP的第二层相当于OSI的网络层,该层负责将报文(数据包)独立地从信源传送到信宿,主要解决路由选择、阻塞控制级网际互联问题。这一层上定义了网际协议(InternetProtocol,IP协议)、地址转换协议ARP(AddressResolutionProtocol)、反向地址转换协议RARP(ReverseARP)和网际控制报文协议ICMP()等协议。
TCP/IP的最低层为网络接口层,该层负责将IP分组封装成适合在物理网络上传输的帧格式并发送出去,或将从物理网络接收到的帧卸装并递交给高层。这一层与物理网络的具体实现有关,自身并无专用的协议。事实上,任何能传输IP报文的协议都可以运行。虽然该层一般不需要专门的TCP/IP协议,各物理网络可使用自己的数据链路层协议和物理层协议。
3.Internet主要协议
TCP/IP协议集的各层协议的总和亦称作协议枝。给出了TCP/IP协议集与OSI参
考模型的对应关系。其中每一层都有着多种协议。一般来说,TCP提供传输层服务,而IP提供网络层服务。
(l)TCP/IP的数据链路层
数据链路层不是TCP/IP协议的一部分,但它是TCP/IP与各种通信网之间的接口。这些通信网包括多种广域网和各种局域网。
一般情况下,各物理网络可以使用自己的数据链路层协议和物理层协议,不需要在数据链路层上设置专门的TCP/IP协议。但是,当使用串行线路连接主机与网络,或连接网络与网络时,例如用户使用电话线接入网络肘,则需要在数据链路层运行专门的SLIP(SerialLineIP)协议的PPP(PointtoPointProtocol)协议。
(2)TCP/IP网络层
网络层最重要的协议是IP,它将多个网络联成一个互联网,可以把高层的数据以多个数据报的形式通过互联网分发出去。
网络层的功能主要由IP来提供。除了提供端到端的报文分发功能外,IP还提供了很多扩充功能。例如:为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的IP数据报能以较小的报文在网上传输。
网络层的另一个重要服务是在互相独立的局域网上建立互联网络,即网际网。网间的报文来往根据它的目的IP地址通过路由器传到另一网络。
IP的基本任务是通过互联网传送数据报,各个IP数据报之间是相互独立的。主机上的IP层向传输层提供服务。IP从源传输实体取得数据,通过它的数据链路层服务传给目的主机的IP层。IP不保证服务的可靠性,在主机资源不足的情况下,它可能丢弃某些数据报,同时IP也不检查被数据链路层丢弃的报文。
在传送时,高层协议将数据传给IP层,IP层再将数据封装为互联网数据报,并交给数据链路层协议通过局域网传送。若目的主机直接连在本局域网中,IP可直接通过网络将数据报传给
目的主机;若目的主机在其他网络中,则IP路由器传送数据报,而路由器则依次通过下一网络将数据报传送到目的主机或再下一个路由器。即IP数据报是通过互联网络逐步传递,直到终点 为止。
(3)TCP/IP传输层
TCP/IP在这一层提供了两个主要的协议:传输控制协议(TCP)和用户数据协议(UDP)。TCP提供的是一种可靠的数据流服务。当传送有差错数据,或网络故障,或网络负荷太
重不能正常工作时,就需要通过其他协议来保证通信的可靠。TCP就是这样的协议,它对应于OSI模型的传输层,它在IP协议的基础上,提供端到端的面向连接的可靠传输。
TCP采用"带重传的肯定确认"技术来实现传输的可靠性。简单的"带重传的肯定确认"是指与发送方通信的接收者,每接收一次数据,就送回一个确认报文J发送者对每个发出去的
报文都留一份记录,等到收到确认之后再发出下一报文。发送者发出报文时,启动计时器,若计时器计数完毕,确认还未到达,则发送者重新发送该报文。
TCP通信建立在面向连接的基础上,实现了一种"虚电路"的概念。双方通信之前,先建立一条连接,然后双方就可以在其上发送数据流。这种数据交换方式能提高效率,但事先建立连接和事后拆除连接需要开销。
4.TCP/IP协议族中的其他协议
TCP/IP是网络中使用的基本的通信协议,是一系列协议和服务的总集。虽然从名字上看
τCP/IP包括两个协议一一…传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,包括了上百个各种功能的协议,如:远程登录、文件传输和电子邮件(PPP,ICMP,ARP/
RARP,UDP,FTP,HTTP,SMTP,SNMP,RIP,OSPF)等协议,而TCP协议和IP协议是保证数据完整传输的两个最基本的重要协议。通常说TCP/IP是指TCP/IP协议族,而不单单是TCP和IP。TCP/IP依靠TCP和IP这两个主要协议提供的服务,加上高层应用层的服务,共同实现了TCP/IP协议族的功能。
TCP/IP的最高层与OSI参考模型的上三层有较大区别,也没有非常明确的层次划分。其中FTP,TELNET,SMTP,DNS是几种广泛应用的协议,TCP/IP中还定义了许多别的高层协议。
(l)文件传输协议FTP
FTP(FileTransferProtocol):文件传输协议,允许用户将远程主机上的文件拷贝到自
己的计算机上。
文件传输协议是用于访问远程机器的专门协议,它使用户可以在本地机与远程机之间进行有关文件的操作。FTP工作时建立两条TCP连接,条用于传送文件,另一条用于传送控制。
FTP采用客户/服务器模式,它包含FTP客户端和FTP服务器。客户启动传送过程,而服 务器对其做出应答。客户FTP大多有交互式界面,使客户可以方便地上传或下载文件。
(2)远程终端访问TELNET
Telnet(RemoteLogin):提供远程登录功能,用户可以登录到远程的另一台计算机土,如同在远程主机上直接操作一样。
设备或终端进程交互的方讼,支持终端到终端的连接及进程到进程分布式计算的通信。
(3)域名服务DNS
DNS是一个域名服务的协议,提供域名到IP地址的转换,允许对域名资源进行分散管理。(4)简单邮件传送协议SMTP
SMTP(SimpleMailTransferProtocol,简单邮件传输协议),用于传输电子邮件。
互联网标准中的电子邮件是基于文件的协议,用于可靠、有效的数据传输。SMTP作为应用层的服务,并不关心它下面采用的是何种传输服务,它可通过网络在TCP连接上传送邮件, 或者简单地在同一机器的进程之间通过进程通信的通道来传送邮件。
邮件发送之前必须协商好发送者、接收者。SMTP服务进程同意为接收方发送邮件时,它将邮件直接交给接收方用户或将邮件经过若干段网络传输,直到邮件交给接收方用户。在邮件传输过程中,所经过的路由被记录下来。这样,当邮件不能正常传输时可按原路由找到发送者。
13网络互联基础
1.3.1IP地址
IP地址和域名是Internet使用的、符合TCP/IP协议规定的地址方案。这种地址方案与日常生活中涉及的电话号码和通信地址相似,涉及到Internet服务的每一环节。IP协议要求所有Internet的网络节点要有统一规定格式的地址,简称IP地址。IP地址是运行TCP/IP协议的唯一标识符。TCP/IP协议是上层协议,无论下层是何种拓扑结构的网络,均应统一在上层IP地址上。任何网络接入Internet,均应使用IP地址。
IP地址是唯一的、全球识别的InterIEt网络地址,采用32位二进制(即4字节)的格式。
在Internet上,每台计算机或网络设备都被分配一个IP地址,这个IP地址在整个InterIIet网络中是唯一的,保证了Internet成为全球开放互联的网络系统。
1.3.2IP地址的格式和分类
IP地址可表达为二进制格式和十进制格式。二进制的IP地址为32位,分为4个8位二进制数。为书写方便起见,常将每个字节作为一段并以十进制数来表示,每段间用"."分隔,每段取值为0~255,。例如:135.111.5.27(二进制格式:10000111.01101111.00000101.00011011)就是合怯的IP地址。
IP地址由网络标识和主机标识两部分组成。常用的IP地址有ATB,C三类,每类均规定
了网络标识和主机标识在32位中所占的位数。这三类IP地址的格式表示范围分别为:
A类地址:0.0.0.O~127.255.255.255
B类地址:128.0.0.O~191.255.255.255
C类地址:192.0.0.O~233.255.255.255
A类IP地址一般用于主机数多达160余万台的大型网络,前8位代表网络号,后3个8
位代表主机号。32位的最高位为Og十进制的第一组数值范围为000~127。IP地址范围为:001.x.y.z~126.x.y.z。
B类IP地址一般用于中等规模的各地区网管中心,前两个8位二进制代表网络号,后两个8位代表主机号。32位的最高两位为10;十进制的第一组数值范围为128~191。IP地址范围为:128.x.y.Z~191.x.y.z。
C类地址一般用于规模较小的本地网络,如校园网、企业网、政府机构网等。前三个8位代表网络号,最后8位代表主机号。32位的最高3位为110,十进制第一组数值范围为192~223。IP地址范围为:192.x.y.z~223.x.y.z。一个C类地址可连接256个主机。
A类地址一般分配给具有大量主机的网络使用,B类地址通常分配给规模中等的网络使用,C类地址通常分配给小型局域网使用。为了确保唯→性,IP地址由世界各大地区的权威机构InterNIC()管理和分配。
1.3.3子网的划分与掩码
在Internet中,如果每个物理网络就要占用一个网络号,是不够用的。另外,如果每个单位增添新的物理网络(例如新建楼房或新部门中新建的网络)就要向Internet的NIC申请新网络号,也太麻烦,并且不便于IP地址的分配管理。
,
在IP地址的某个网络标识中,可以包含大量的主机(如A类地址的主机标识域为24位,B类地址的主机标识域为16位),而在实际应用中不可能将这么多的主机连接到单一的网络中, 这将给网络寻址和管理带来不便。为解决这个问题,可以在网络中引入"子网"的概念。
注意:这里的子网与前面所说的通信子网是两个完全不同的概念。将主机标识域进一步划分为子网标识和子网主机标识,通过灵活定义子网标识域的位数,可以控制每个子网的规模。将一个大型网络划分为若干个既相对独立又相互联系的子网后,网络内部各子网便可独立寻址和管理,各子网间通过跨子网的路由器连接,这样也提高了网络的安全性。
利用子网掩码可以判断两台主机是否在同一子网中。子网掩码与IP地址一样也是32位二进制数,不同的是它的子网主机标识部分为全"。"。若两台主机的IP地址分别与它们的子网掩码相"与"后的结果相同,则说明这两台主机在同一网中。
1.子网划分
为使多个物理网络共用一个IP地址,可以采取把IP地址中主机号部分进一步划分为子网号和主机号两部分。例如:一个B类IP地址,可以把第三个字节作为子网号,第四个字节作为子网(物理网络)上主机号。
2.子网掩码
IP路由选择算法是根据IP数据报报头中目的地址的网络号,查找它的路由表,找到一个表项的目的网络号能与它匹配,然后用匹配上表项的中继IP地址作为发送该数据报到达目的主机的下一个路由器地址。IP数据报报头中目的地址的网络号是根据该地址最高位值来决定它是哪一类IP地址,网络号应占用多少位。
划分了子网后,就不能从地址的最高位值来判断网络号占用的位数了,用户可以自行决定子网号占用的位数。为了解决这个问题,必须使用子网掩码(mask)子网掩码是一个32位的数,其中取值为1的位,对应网络号或子&网号:取值为0的位,对应主机号。
㈤ 计算机网络-网络层-IPv6数据报格式
IPv6:解决IP地址耗尽的根本措施就是采用具有更大地址空间的新版本的IP,即IPv6。
IPv6仍支持无连接的传送,但将协议数据单元PDU称为分组,而不是Pv4的数据报。IPv6所引进的主要变化如下:
(1)更大的地址空间,Pv6把地址从Pv4的32位增大到4倍,即增大到128位,使地址空间增大了2^96倍,这样大的地址空间在可预见的将来是不会用完的。
(2)扩展的地址层次结构。IPv6由于地址空间很大,因此可以划分为更多的层次。
(3)灵活的首部格式。IPv6数据报的首部和Pv4的并不兼容。IPv6定义了许多可选的扩展首部,不仅可提供比Pv4更多的功能,而且还可提高路由器的处理效率,这是因为路由器对扩展首部不进行处理(除逐跳扩展首部外)。
(4)改进的选顶。Pv6允许数据报包含有选项的控制信县,因而可以包含一些新的选项。但IPv6的首部长度是固定的,其选项放在有效载荷中。IPv4所规定的选项放在首部的可变部分。
(5)允许协议继续扩充。这一点很重要,因为技术总是在不断地发展(如网络硬件的更新)而新的应用也还会出现。但我们知道,IP4的功能是固定不变的。
(6)支持即插即用(即自动配置),因此IPv6不需要使用DHCP。
(7)支持资源的预分配。Pv6支持实时视像等要求保证一定的带宽和时延的应用。
(8)IPv6首部改为8字节对齐(即首部长度必须是8字节的整数倍)。原来的IPv4首部是4字节对齐。
IPv6数据报由两大部分组成,即基本首部(base header)和后而的有效载荷(payload) ,有效载荷也称为净负荷。有效我荷允许有零个或多个扩展首部(extension header),再后面是数据部分(图4-46)。
IPv6各个字段:
(1)版本(version)占4位。它指明了协议的版本,对IPv6该字段是6。
(2)通信量类(traffic class)占8位。这是为了区分不同的IPv6数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。
(3)流标号(flow labe)占20位。IPv6的一个新的机制是支持资源预分配,并且允许路由器把每一个数据报与一个给定的资源分配相联系。IPv6提出流(flow)的抽象概念。所谓“流”就是互联网络上从特定源点到特定终点(单播或多播)的一系列数据报(如实时音频或视频传输),而在这个“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号小因此,流标号对实时音烦/视频数据的传送特别有用。对于传统的电子郎件或非实时数据,标号则没有用处,把它置为0即可。
(4)有效载荷长度(payload length)占16位。它指明IPv6数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内)。这个字段的最大值是64KB(65535字节).
(5)下一个首部(next header)占8位。它相当于IPv4的协议字段或可选字段。
① 当Pv6数据报没有扩展首部时,下一个首部字段的作用和Pv4的协议字段一样,它的值指出了基本首部后面的数据应交付P层上面的哪一个高层协议(例如:6或17分别表示应交付运输层TCP或UDP)。
② 当出现扩展首部时, 下一个首部字段的值就标识后面第一个扩展首部的类型 。
(6)跳数限制(hop limit)占8位。用来防止数据报在网络中无限期地存在。源点在每
个数据报发出时即设定某个跳数限制(最大为255跳)。每个路由器在转发数据报时,要先
把跳数限制字段中的值减1。当跳数限制的值为零时,就要把这个数据报丢弃。
(7)源地址占128位。是数据报的发送端的IP地址。
(8)目的地址占128位。是数据报的接收端的IP地址。
扩展首部
IP4的数据报如果在其首部中使用了选项,那么沿着数据报传送的路径上的每一个路由器都必须对这些选项一一进行检查,这就降低了路由器处理数据报的速度。然而实际上很多的选项在途中的路由器上是不需要检查的(因为不需要使用这些选项的信息)。IPv6把原来IPv4首部中选项的功能都放在扩展首部中,并把扩展首部留给路径两端的源点和终点的主机来处理,而数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部),这样就大大提高了路由器的处理效率。
在RFC2460中定义了以下六种扩展首部:(1)逐跳选项:(2)路由选择:(3)分片:(4)鉴别:(5)封装安全有效载荷:(6)目的站选项。
每一个扩展首部都由若干个字段组成,它们的长度也各不同。但所有扩展首部的第一个字段都是8位的“下一个首部”字段,此字段的值指出了在该扩展首部后面的字段是什么。当使用多个扩展首部时,应按以上的先后顺序出现。高层首部总是放在最后面。
㈥ 计算机网络第一章课后答案
1-01 计算机网络向用户可以提供那些服务?
答: 连通性和共享
1-02 简述分组交换的要点。
答:(1)报文分组,加首部
(2)经路由器储存转发
(3)在目的地合并
1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。
答:(1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高。
(2)报文交换:无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速。
(3)分组交换:具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生存性能好。
1-04 为什么说因特网是自印刷术以来人类通信方面最大的变革?
答: 融合其他通信网络,在信息化过程中起核心作用,提供最好的连通性和信息共享,第一次提供了各种媒体形式的实时交互能力。
1-05 因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。
答:从单个网络APPANET向互联网发展;TCP/IP协议的初步成型
建成三级结构的Internet;分为主干网、地区网和校园网;
形成多层次ISP结构的Internet;ISP首次出现。
1-06 简述因特网标准制定的几个阶段?
答:(1)因特网草案(Internet Draft) ——在这个阶段还不是 RFC 文档。
(2)建议标准(Proposed Standard) ——从这个阶段开始就成为 RFC 文档。
(3)草案标准(Draft Standard)
(4) 因特网标准(InternetStandard)
1-07小写和大写开头的英文名字 internet 和Internet在意思上有何重要区别?
答:(1) internet(互联网或互连网):通用名词,它泛指由多个计算机网络互连而成的网络。;协议无特指
(2)Internet(因特网):专用名词,特指采用 TCP/IP 协议的互联网络
区别:后者实际上是前者的双向应用
1-08 计算机网络都有哪些类别?各种类别的网络都有哪些特点?
答:按范围:(1)广域网WAN:远程、高速、是Internet的核心网。
(2)城域网:城市范围,链接多个局域网。
(3)局域网:校园、企业、机关、社区。
(4)个域网PAN:个人电子设备
按用户:公用网:面向公共营运。专用网:面向特定机构。
1-09 计算机网络中的主干网和本地接入网的主要区别是什么?
答:主干网:提供远程覆盖\高速传输\和路由器最优化通信
本地接入网:主要支持用户的访问本地,实现散户接入,速率低。
1-10 试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路共有几个结点。)
答:线路交换时延:kd+x/b+s, 分组交换时延:kd+(x/p)*(p/b)+ (k-1)*(p/b)
其中(k-1)*(p/b)表示K段传输中,有(k-1)次的储存转发延迟,当s>(k-1)*(p/b)时,电路交换的时延比分组交换的时延大,当x>>p,相反。
1-11 在上题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,而h为每个分组所带的控制信息固定长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?(提示:参考图1-12的分组交换部分,观察总的时延是由哪几部分组成。)
答:总时延D表达式,分组交换时延为:D= kd+(x/p)*((p+h)/b)+ (k-1)*(p+h)/b
D对p求导后,令其值等于0,求得p=[(xh)/(k-1)]^0.5
1-12 因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有什么特点?
答:边缘部分:由各主机构成,用户直接进行信息处理和信息共享;低速连入核心网。
核心部分:由各路由器连网,负责为边缘部分提供高速远程分组交换。
1-13 客户服务器方式与对等通信方式的主要区别是什么?有没有相同的地方?
答:前者严格区分服务和被服务者,后者无此区别。后者实际上是前者的双向应用。
1-14 计算机网络有哪些常用的性能指标?
答:速率,带宽,吞吐量,时延,时延带宽积,往返时间RTT,利用率
1-15 假定网络利用率达到了90%。试估计一下现在的网络时延是它的最小值的多少倍?
解:设网络利用率为U。,网络时延为D,网络时延最小值为D0
U=90%;D=D0/(1-U)---->D/D0=10
现在的网络时延是最小值的10倍
1-16 计算机通信网有哪些非性能特征?非性能特征与性能特征有什么区别?
答:征:宏观整体评价网络的外在表现。性能指标:具体定量描述网络的技术性能。
1-17 收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×108m/s。试计算以下两种情况的发送时延和传播时延:
(1) 数据长度为107bit,数据发送速率为100kb/s。
(2) 数据长度为103bit,数据发送速率为1Gb/s。
从上面的计算中可以得到什么样的结论?
解:(1)发送时延:ts=107/105=100s
传播时延tp=106/(2×108)=0.005s
(2)发送时延ts=103/109=1µs
传播时延:tp=106/(2×108)=0.005s
结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。
1-18 假设信号在媒体上的传播速度为2×108m/s.媒体长度L分别为:
(1)250px(网络接口卡)
(2)100m(局域网)
(3)100km(城域网)
(4)5000km(广域网)
试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数。
解:(1)1Mb/s:传播时延=0.1/(2×108)=5×10-10
比特数=5×10-10×1×106=5×10-4
1Gb/s: 比特数=5×10-10×1×109=5×10-1
(2)1Mb/s: 传播时延=100/(2×108)=5×10-7
比特数=5×10-7×1×106=5×10-1
1Gb/s:比特数=5×10-7×1×109=5×102
(3) 1Mb/s: 传播时延=100000/(2×108)=5×10-4
比特数=5×10-4×1×106=5×102
1Gb/s:比特数=5×10-4×1×109=5×105
(4)1Mb/s:传播时延=5000000/(2×108)=2.5×10-2
比特数=2.5×10-2×1×106=5×104
1Gb/s:比特数=2.5×10-2×1×109=5×107
1-19 长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。
若应用层数据长度为1000字节,数据的传输效率是多少?
解:(1)100/(100+20+20+18)=63.3%
(2)1000/(1000+20+20+18)=94.5%
1-20 网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似的日常生活。
答:分层的好处:
①各层之间是独立的。某一层可以使用其下一层提供的服务而不需要知道服务是如何实现的。
②灵活性好。当某一层发生变化时,只要其接口关系不变,则这层以上或以下的各层均不受影响。
③结构上可分割开。各层可以采用最合适的技术来实现
④易于实现和维护。
⑤能促进标准化工作。
与分层体系结构的思想相似的日常生活有邮政系统,物流系统。
1-21 协议与服务有何区别?有何关系?
答:网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成:
(1)语法:即数据与控制信息的结构或格式。
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
(3)同步:即事件实现顺序的详细说明。
协议是控制两个对等实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下面一层提供服务。
协议和服务的概念的区分:
1、协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。
2、协议是“水平的”,即协议是控制两个对等实体进行通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。上层使用所提供的服务必须与下层交换一些命令,这些命令在OSI中称为服务原语。
1-22 网络协议的三个要素是什么?各有什么含义?
答:网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成:
(1)语法:即数据与控制信息的结构或格式。
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
(3)同步:即事件实现顺序的详细说明。
1-23 为什么一个网络协议必须把各种不利的情况都考虑到?
答:因为网络协议如果不全面考虑不利情况,当情况发生变化时,协议就会保持理想状况,一直等下去!就如同两个朋友在电话中约会好,下午3点在公园见面,并且约定不见不散。这个协议就是很不科学的,因为任何一方如果有耽搁了而来不了,就无法通知对方,而另一方就必须一直等下去!所以看一个计算机网络是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细的检查协议能否应付各种异常情况。
1-24 论述具有五层协议的网络体系结构的要点,包括各层的主要功能。
答:综合OSI 和TCP/IP 的优点,采用一种原理体系结构。各层的主要功能:
物理层物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞
线、同轴电缆、光缆等,是在物理层的下面,当做第0 层。)物理层还要确定连接电缆插头的定义及连接法。
数据链路层数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。
网络层网络层的任务就是要选择合适的路由,使发送站的运输层所传下来的分组能够
正确无误地按照地址找到目的站,并交付给目的站的运输层。
运输层运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端
服务,使它们看不见运输层以下的数据通信的细节。
应用层应用层直接为用户的应用进程提供服务。
1-25 试举出日常生活中有关“透明”这种名词的例子。
答:电视,计算机视窗操作系统、工农业产品
1-26 试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。
答:实体(entity)表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合。
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户是服务的请求方,服务器是服务的提供方。
客户服务器方式所描述的是进程之间服务和被服务的关系。
协议栈:指计算机网络体系结构采用分层模型后,每层的主要功能由对等层协议的运行来实现,因而每层可用一些主要协议来表征,几个层次画在一起很像一个栈的结构.
对等层:在网络体系结构中,通信双方实现同样功能的层.
协议数据单元:对等层实体进行信息交换的数据单位.
服务访问点:在同一系统中相邻两层的实体进行交互(即交换信息)的地方.服务访问点SAP是一个抽象的概念,它实体上就是一个逻辑接口.
1-27 试解释everything over IP 和IP over everthing 的含义。
TCP/IP协议可以为各式各样的应用提供服务 (所谓的everything over ip)
答:允许IP协议在各式各样的网络构成的互联网上运行(所谓的ip over everything)