赞
踩
目录
1、互联网使用的IP协议是无连接的,因此其传输是不可靠的。这样容易使人们感到因特网很不可靠。那么为什么当初不把因特网的传输设计为可靠的呢?
3、奈氏准则和香农定理的主要区别是什么?这两个定理对数据通信的意义是什么?
4、信噪比为S/N,为什么还要取对数10log10(S/N)?
1、说明用n比特进行编号时,若接收窗口的大小为1,则仅在发送窗口的大小≤2^n-1时,连续ARQ协议才能正确运行。
3、在标准以太网中,为什么说若有冲突,则冲突一定发生在冲突窗口内?或者说一个若在冲突窗口内没有发生冲突,则该不会再发生冲突?
4、一个以太网的速率从10Mb/s升级到100Mb/s,满足CSMA/CD冲突条件。为使其正常工作,需做哪些调整?为什么?
5、关于物理层、数据链路层、网络层设备对于隔离冲突域和广播域的总结。
3、为什么超时事件发生时cwnd被置为1,而收到3个冗余ACK时cwnd减半?
5、为什么TCP在建立连接时不能每次都选择相同的、固定的初始序号?
6、假定在一个互联网中,所有链路的传输都不出现差错,所有结点也都不会发生故障。试问在这种情况下,TCP的“可靠交付”功能是否就是多余的?
主要介绍计算机网络体系结构的一些基本概念。重点在于掌握网络的分层结构(包括5层和7层结构),无其是ISO/OSI参考模型各层的功能,以及相关协议议、接口和服务等概念。还有那些有关网络的各种性能指标,特别是时延、带宽、速率等的计算。
注:互连、自治、集合。
注:分组交换最重要。
注:
注:王道书中已经将最后一个丢包率删除。
注:OSI参考模型将原语分为四类:
协议是透明的。
注:OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式但传输层支持无连接和面向连接两种模式。这个不同点常常作为考查点
OSI:都有->有 TCP:没有->都有(不可靠)
传统电信网的主要用途是电话通信,并且普通电话机不是智能的,因此电信公司必须花费巨大的代价把电信网设计得非常好,以保证用户的通信质量。
数据的传送显然必须非常可靠。当初在设计ARPAnet时,很重要的讨论内容之一是:“谁应当负责数据传输的可靠性?”一种意见是主张应当像电信网那样,由通信网络负责数据传输的可靠性(因为电信网的发展历史及其技术水平已经证明人们可以将网络设计得相当可靠);另一种意见则坚决主张由用户的主机负责数据传输的可靠性,理由是这样可使计算机网络便宜、灵活。
计算机网络的先驱认为,计算机网络和电信网的一个重大区别是终端设备的性能差别很大。于是,他们采用了“端到端的可靠传输”策略,即在传输层使用面向连接的TCP协议,这样既能使网络部分价格便宜且灵活可靠,又能保证端到端的可靠传输。
从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。
直接相连的结点之间的通信称为点到点通信,它只提供一台机器到另一台机器之间的通信,不涉及程序或进程的概念。同时,点到点通信并不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的。
端到端通信建立在点到点通信的基础上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,以完成应用程序(进程)之间的通信。“端”是指用户程序的端口,端口号标识了应用层中不同的进程。
传输速率指主机在数字信道上发送数据的速率,也称数据率或比特率,单位是比特/秒(b/s)。更常用的速率单位是千比特/秒(kb/s)、兆比特/秒(Mb/s)、吉比特/秒(Gb/s)、太比特/秒(Tb/s)。
传播速率是指电磁波在信道中传播的速率,单位是米/秒(m/s),更常用的单位是千米/秒km/s)。
举例如下。假定一条链路的传播速率为2×10^8m/s,这相当于电磁波在该媒体上1us可向前传播200m。若链路带宽为1Mb/s,则主机在1us内可向链路发送1b数据。当t=0时,开始向链路发送数据;当t=1us时,信号传播到200m处,注入链路1比特;当t=2us时,信号传播到400m处,注入链路共2比特;当t=3us时,信号传播到600m处,注入链路共3比特。
从下图可以看出,在一段时间内,链路中有多少比特取决于带宽(或传输速率),而1比特“跑”了多远取决于传播速率。
注:
这章超级爱考选择题啊。
从通信双方信息的交互方式看,可分为以下三种基本方式:
速率、波特和带宽:
1、奈奎斯特定理(奈氏准则)
2、香农定理
注:
注:
注:2倍
注:机电功过
中继器【Repeater,也叫放大器】:
注:
集线器:
注:两个网段在物理层进行互连时要求数据传输速率要一致,但数据链路层网络协议要相同。
传输介质并不是物理层。因为传输介质在物理层的下面,而物理层是体系结构的第一层,所以有时称传输介质为0层。在传输介质中传输的是信号,但传输介质并不知道所传输的信号代表什么。也就是说,传输介质不知道所传输的信号什么时候是1、什么时候是0。但是,物理层因为规定了电气特性,所以能够识别所传送的比特流。图2.9描述了上述概念。
在计算机内部或在相邻设备之间近距离传输时,可不经过调制就在信道上直接进行的传输方式称为基带传输。它通常用于局域网。数字基带传输就是在信道中直接传输数字信号,且传输介质的整个带宽都被基带信号占用,双向地传输信息。最简单的方法是用两个高低电平来表示二进制数字,常用的编码方法有不归零编码和曼彻斯特编码。例如,要传输1010,低电平代表0,高电平代表1,那么在基带传输下,1010需要向通信线路传输(高、低、高、低电平)。
用数字信号对特定频率的载波进行调制(数字调制),将其变成适合传送的信号后再进行传输,这种传输方式就是频带传输。当采用远距离传输或无线传输时,数字信号必须用频带传输技术进行传输。利用频带传输,不仅解决了电话系统传输数字信号的问题,而且可以实现多路复用,进而提高传输信道的利用率。同样传输1010,经过调制,一个码元对应4个二进制位,假设码元A代表1010,那么在模拟信道上传输码元A就相当于传输1010。
借助频带传输,可将链路分解成两个或多个信道,每个信道可携带不同的信号,这就是宽带传输。宽带传输中所有的信道能同时互不干地发送信号。例如,对信道进行频分复用,划分为2个互不相关的子信道,分别在两个子信道上同时进行频带传输,链路容量就会大大增加。
奈氏准则指出,码元传输的速率是受限的,不能任意提高,否则接收端就不能正确判定码元所携带的比特数据(因为码元之间存在相互干扰)。奈氏准则是在理想条件下推导出来的。在实际条件下,最高码元传输速率要比理想条件下得出的数值小很多。
值得注意的是,奈氏准则并未限制信息传输速率。要提高信息传输速率,就必须使每个码元能够携带许多比特的信息。但是,码元所载的比特数确定后,信道的极限数据率也就确定了。香农定理给出了信息传输速率的极限,即对于一定的传输带宽(单位为Hz)和一定的信噪比,信息传输速率的上限是确定的,这个极限不能突破。要想提高信息传输速率,要么设法提高传输线路的带宽,要么设法提高信道的信噪比,此外没有其他任何办法。
香农定理告诉我们,要得到无限大的信息传输速率,只有两个办法:要么使用无限大的传输带宽(这显然不可能),要么使信号的信噪比无限大,即采用没有噪声的信道或使用无限大的发送功率(这显然也不可能)。
注:奈氏准则和香农定理中“带宽”的单位都是Hz
- 数字形式表示,如噪声功率为1,信号功率为100,信噪比为100/1=100
- 同样还是上面这些数字,以分贝形式表示的信噪比为10logioS/M=10logo100=20dB。
二者在数值上等价。区别在于,前者没有单位,后者必须加dB(分贝)。采用分贝表示的原因:很多时候,信号要比噪声强得多,如信号比噪声强10亿倍,若用数值表示,则1后面有9个0,很容易丢失0若用分贝表示,则仅为90dB,因此要简单得多,且不容易出错。分贝对于表示特别大或特别小的数值极为方便,在通信领域中用途很广。
封装成帧、透明传输、差错检测
在不可靠的物理介质上提供可靠的传输。
Other Fuction:物理地址寻址、流量控制、数据的重发等。
信道:
局域网将数据链路层划分为两个子层:逻辑链路控制LLC子层和介质访问控制MAC子层,从而使LAN体系结构能适应多种传输介质。因此,对各种类型的局域网来说,其物理和MAC子层需要随着所采用介质和访问方法的不同发生改变,而这些不同对于LLC子层来说都是透明的。
1、封装成帧
封装成帧是指在一段数据的前后分别添加首部和尾部,构成帧,是数据链路层的数据传送单元。长等于顿的数据部分长度加上首部和尾部的长度。首部和尾部中含有很多控制信息,它们的一个重要作用是确定的界限,即定界。接收方能从接收到的二进制比特流中区分出的起始与终止,即同步。如在HDLC协议中,用标识位F(01111110)来标识的开始和结束在通信过程中,检测到标识位F即认为其是的开始,然后一旦检测到标识位F即表示的结束。HDLC标准格式如图所示。为了提高帧的传输效率,应当使的数据部分的长度尽可能地大于首部和尾部的长度,但随着帧长的增加,传输差错发生的概率也随之提高,发生差错时重传的代价也越大,因此每种链路层协议都规定了顿的数据部分的长度上限,即最大传送单元。
2、透明传输
不论所传的数据是什么样的比特组合,都能够按原样无差错地在这个数据链路上传输。
发送方依据一定的规则将网络层递交的分组封装成帧(也称组帧)。数据链路层之所以要将比特组合成以帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。组帧主要解决顿定界、同步、透明传输等问题。实现组帧的方法通常有以下4种。
这种方法最大的问题在于若计数字段出错,即失去边界划分的依据,则接收方就无法判断所传输的结束位和下一的开始位,收发双方将失去同步,造成灾难性后果。
注意,转义字符是ASCII码中的一个字符,而不是"E","S","C"三个字符的组合。
注:零比特填充法很容易由硬件来实现,性能优于字节填充法。
实际通信链路都不是理想的,比特在传输过程中可能产生差错,1可能变成0,0也可能变成1,这就是比特差错。比特差错是传输差错中的一种,本节仅讨论比特差错。
通常利用编码技术进行差错控制,主要有两类:
- 自动重传请求(AutomaticRepeatreQuest,ARQ)方式:当接收方检测到差错时,就设法通知发送方重发,直到收到正确的数据为止。
- 前向纠错(ForwardErrorCorrection,FEC)方式:接收方不但能发现差错,而能确定错误的位置并加以纠正。
因此,差错控制又可分为检错编码和纠错编码。
注:学有余力的时候再看。
1、确定海明码的位数
2、确定检验位的分布
3、分组以形成检验关系
4、检验位取值
5、海明码的检验原理
注:
注:NAK是否定应答或者非应答的缩写,全拼为 Negative Acknowledgment, 没有应答。它是一个用于数字通信中确认数据收到但是有小错误的信号。
后续这两种都叫做连续ARQ:
注:
介质访问控制所要完成的主要任务是,为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(MediumAccessControl,MAC)子层。
Pro版——统计时分复用(STDM)
注:与同步TDM相比,统计TDM需要解决的特殊的问题是封装成帧和同步。
波分复用其实就是光的频分复用。经过光调制,分别将光载波变换到不同波长。这些光波经过光复用器就可以在一根光纤中传输。到达终点后用光分用器将不同波长的光进行还原得到信息光信号传输一段距离后会衰减,对衰减的光信号必须进行放大才能继续传输。
在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户都能根据自己的意愿随机地发送信息,占用信道的全部速率。在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧冲突(也称碰撞),导致所有冲突用户的发送均以失败告终。为了解决随机访问发生的冲突,每个用户需要按照一定的规则反复地重传它的,直到该顿无冲突地通过,这些规则就是随机访问介质访问控制协议,其核心思想是:胜利者通过争用获得信道,进而获得信息的发送权。因此,随机访问介质访问控制协议又称争用型协议。
可见,若采用信道划分机制,则结点之间的通信要么共享空间,要么共享时间,要么共享空间和时间:而若采用随机访问控制机制,则结点之间的通信既不共享时间,又不共享空间。因此,随机介质访问控制实质上是一种将广播信道转换为点到点信道的机制。
先听先发、边听边发、冲突停发、延迟重发。
适用于总线形网络或半双工网络环境。
注:FCS是Frame Check Sequence的缩写,即帧校验序列。在计算机网络数据链路层的协议数据单元(帧)的尾部字段中,添加了4个字节的循环冗余校验码,用于检查数据传输中数据的正确性。
注:重传16次还没传上去的话就生气啦,直接丢掉,然后向高层报告。
注:96
比特时间是指发送96
比特所需要的时间,也称为帧间最小间隔。其作用是是接收方可以检测出一个帧的结束,同时也使得其他站点都能有机会平等竞争信道并发送帧。
为了尽量避免冲突,802.11标准规定,所有站完成发送后,必须等待一段很短的时间(继续监听)才能发送下一顿。这段时间称为间间隔(InterFrameSpace,IFS)。间间隔的长短取决于该站要发送的的类型。802.11标准使用了下列三种IFS。
802.11标准还采用了虚拟载波监听机制,即让源站将它要占用信道的持续时间(包括日的站发回ACK所需的时间)及时通知给所有其他站,以便使所有其他站在这段时间内都停止发送,这样就大大减少了冲突的机会。“虚拟载波监听”表示其他站并未监听信道,而是因收到了源站的通知才不发送数据,这种效果就像是其他站都监听了信道。
CSMA/CD与CSMA/CA区别:
相同点:
都属于CSMA的思路,其核心是先听再说,即需要先监听信道,若空闲,再发送数据。
不同点:
- 传输介质不同:CSMA/CD用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】
- 载波检测方式不同:因传输介质的不同,CSMA/CD与CSMA/CA的检测方式也不同。
- CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随之发生变化;
- 而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
- CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有限的重传。
局域网(LocalAreaNetwork,LAN)是指在一个较小的地理范围(如一所学校)内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互连网络。主要特点如下:
决定区域网的主要因素为:网络拓扑、传输介质、介质访问控制方法(最重要)
常见的局域网拓扑结构图主要有以下4大类:
三种特殊的局域网拓扑实现如下:
注:在上述标准中,10指标准的速率为10Mb/s;Base指基带以太网;早期标准Base之后的5或2指单段最大传输距离不超过500m或185m,Base之后的T指双绞线,F指光纤。
注:以太网不需要结束定界符,因为当以太网传送时,各之间必须有一定的间隙。因此,接收方只要找到开始定界符,其后面连续到达的比特流就都属于同一个。实际上,以太网采用了违规编码法的思想,因为以太网使用曼彻斯特编码,所以每个码元中间都有一次电压的跳变。发送方发完一个后,发送方网络接口上的电压不再变化,这样接收方就能很容易地找到的结束位置,这个位置往前数4字节就是FCS字段,于是就能确定数据字段的结束位置。
以太网从10Mb/s到10Gb/s的演进证明了以太网是可扩展的(从10Mb/s到10Gb/s)、灵活的(多种传输介质、全/半双工、共享/交换),且易于安装,稳健性好。
地址1是直接接收数据顿的结点地址,地址2是实际发送数据的结点地址。
注:对这三个地址的理解方法如下:地址1和地址2分别是无线通信中信道两端的接收地址和发送地址。(接受发送目的)
全双工通信,点对点通信
以太网交换机也称二层交换机,二层是指以太网交换机工作在数据链路层。以太网交换机实质上是一个多接口的网桥,它能将网络分成小的冲突域,为每个用户提供更大的带宽。对于传统使用集线器的共享式10Mb/s以太网,若共有N个用户,则每个用户的平均带宽为总带宽(10Mb/s)的1/N。使用以太网交换机(全双工方式)连接这些主机时,虽然从每个接口到主机的带宽还是10Mb/s,但是因为一个用户通信时是独占带宽的(而不是和其他网络用户共享传输介质带宽的),所以拥有N个接口的交换机的总容量为Nx10Mb/s。这正是交换机的最大优点。
以太网交换机的特点:
假设用3比特进行编号,可表示8个不同的序号,发送窗口的最大值似乎可以为8。但是实际上,发送窗口的大小设为8将使协议在某些情况下无法工作。下面来证明这一点。
设发送窗口为8,发送方发送完0~7号共8个数据帧后,暂停发送。假定这8个数据均已正确到达接收方,且接收方对每个数据顿都发回了确认。下面考虑两种不同的情况。
第一种情况:所有确认都正确地到达发送方,因此发送方接着又发送8个新的数据顿,其编号应是0~7。注意,序号是循环使用的。因此序号虽然相同,但8个都是新的。
第二种情况:所有确认都丢失。经过一段超时计时器控制的时间后,发送方重传这8个旧数据顿,其编号仍为0~7。于是,当接收方第二次收到编号为0~7的8个数据顿时,就无法判定这是8个新数据顿还是8个重传的旧数据。因此,将发送窗口设为8显然是不行的。
PPP不使用序号和确认机制是出于以下考虑:
若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就会增大。当数据链路层出现差错的概率不大时,使用比较简单的PPP较为合理。
在因特网环境下,PPP的信息字段放入的数据是IP数据报。假定我们采用了能实现可靠传输但十分复杂的数据链路层协议,当数据顿在路由器中从数据链路层上升到网络层时,仍有可能因网络拥塞而被丢弃。因此,数据链路层的可靠传输并不能保证网络层的传输也是可靠的。
PPP在帧格式中有检验序列FCS字段。对于每个收到的,PPP都要使用硬件进行CRC
检验。若发现差错,则丢弃该(一定不能把有差错的交给上一层)。端到端的差错控制最后
由高层协议负责。因此,PPP可以保证无差错接收。
结点在发送数据之前,先监听信道是否有载波,若有,表示信道忙,则继续监听,直至检测到信道空闲为止。一个数据在从结点A向最远结点的传输过程中,若有其他结点也在发送数据,则会发生冲突,冲突后的信号经过冲突窗口时间后传回结点A,结点A会检测到冲突,所以说若有冲突,则一定发生在冲突窗口内,若在冲突窗口内没有发生冲突,之后若其他结点再要发送数据,则会监听到信道忙,而不会发送数据,从而不会再发生冲突。
100BaseT以太网与10Mb/s以太网的格式相同,唯一不同的参数是间最小间隔时间,10Mb/s以太网的间最小间隔时间是9.6us,100BaseT以太网的间最小间隔时间是0.96us。此
外,为了保持最短长不变,将一个网段的最大长度减小到100m。所有这些调整的原因是速率提高到了原速度的10倍。
互联网是由全球范围内数以百万计的异构网络互连起来的。这些网络的拓扑结构、寻址方案、差错处理方法、路由选择机制等都不尽相同。网络层所要完成的任务之一就是使这些异构的网络实现互连。网络互连是指将两个以上的计算机网络,通过一定的方法,用一些中继系统相互连接起来,以构成更大的网络系统。根据所在的层次,中继系统分为以下4种
当使用物理层或数据链路层的中继系统时,只是把一个网络扩大了,而从网络层的角度看,它仍然是同一个网络,一般并不称为网络互连。因此,网络互连通常是指用路由器进行网络连接和路由选择。路由器是一台专用计算机,用于在互联网中进行路由选择。
注:由于历史原因,许多有关TCP/IP的文献也将网络层的路由称为网关。
路由器主要完成两个功能:一是路由选择(确定哪一条路径),二是分组转发(当一个分组到达时所采取的动作)。前者根据路由选择协议构造并维护路由表。后者处理通过路由器的数据
流,关键操作是转发表查询、转发及相关的队列管理和任务调度等。
1、虚电路
2、数据报
注:虚电报和报文交换都是分组交换。
SDN的优点:
SDN的问题:
因出现过量的分组而引起网络性能下降的现象称为拥塞。判断网络是否进入拥塞状态的方法是,观察网络的吞吐量与网络负载的关系;若随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量,则网络就可能已进入轻度拥塞状态;若网络的吞吐量随着网络负载的增大而下降则网络就可能已进入拥塞状态。拥塞控制主要解决的问题是如何获取网络中发生拥塞的信息,从而利用这些信息进行控制,以避免因拥塞而出现分组的丢失。
拥塞控制的作用是确保网络能够承载所达到的流量,这是一个全局性的过程,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素。单一地增加资源并不能解决拥塞。与流量控制的区别:流量控制往往是指在发送方和接收方之间的点对点通信量的控制。流量控制所要做的是抑制发送方发送数据的速率,以便使接收方来得及接收。
拥塞控制的方法有两种:
1、IPv4分组的格式
IP数据报分成固定部分和可变部分,固定部分为20个字节,可变部分的长度是可变的,最大为40个字节。
注:在IP数据报首部有三个关于长度的标记,即首部长度、总长度、片偏移,它们的基本单位分别为4B、1B、8B(爱考)
网络地址转换(NAT)
注:IP->MAC(ARP) MAC->IP(RARP)
注:PING工作在应用层,它是直接使用网络层的ICMP;Traceroute/Tracert工作在网络层
路由选择协议的核心是路由算法,即需要何种算法来获得路由表中的各个项目。
注:好消息传得快,坏消息传的慢。
分组类型
三种协议对比
概念:多播是让源主机一次发送的单个分组可以抵达用一个组地址标识的若干目的主机,即一对多的通信。在互联网上进行的多播,称为IP多播。
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的共同标识)。
IP组播使用D类地址格式。D类的前四位是1110,因此D类地址范围是 224.0.0.0 ~ 239.255.255.255。一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。
网际组管理协议IGMP
IGMP和ICMP都使用IP数据报传递报文。
网际 (因特网) 组管理协议(Internet Group Management Protocol,IGMP):IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组。
IGMP工作的两个阶段:
多播路由选择协议
多播路由选择目的就是要找出以源主机为根节点的多播转发树。(选转发路径)
其中每个分组在每条链路上只传送一次。不同的多播组对应于不同的多播转发树:同一个多播组,对不同的源点也会有不同的多播转发树。
移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
移动IP通信过程
关于数据发送: B向主机A发送数据,如果A在归属网络内直接接受数据就行,如果不在,数据被由本地代理截获,本地代理再封装数据包,新的目的地址是转交地址。(初始数据报的目的地址是归属网络内的主地址)
路由器
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是连接异构网络并完成路由转发。
内部结构组成:
不是所有有输入端口进入的分组都进行转发处理。若收到EIP/OSPF(路由信息)分组等,则把分组交由路由选择处理机,若收到的是数据分组,则查找转发表进行转发输出。
注:UDP检验和不是必需的,若不使用检验和,则将检验和字段设置为0。而检验和的计算结果恰好为0,则将检验和字段置为全1。
1、三次握手
在TCP连接建立的过程中,要解决以下三个问题:
注:同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中。
2、四次挥手
确认
重传
规定最大报文段长度MSS,并不是考虑接收方的缓存可能放不下TCP报文段中的数据。实际上,MSS与接收窗口没有关系。TCP报文段的数据部分,至少要加上40B的首部(TCP首部至少20B和IP首部至少20B),才能组装成一个IP数据报。若选择较小的MSS值,网络的利用率就很低。设想在极端情况下,当TCP报文段只含有1B的数据时,在IP层传输的数据报的开销至少有40B(包括TCP首部和IP首部)。这样,网络的利用率就不会超过1/41。到了数据链路层还要加上一些开销,网络的利用率还会进一步降低。但反过来,若TCP报文段很长,则在IP层传输时有可能要分解成多个短数据报片。在终点还要把收到的各个短数据报片装配成原来的TCP报文段。当传输出错时,还要进行重传。这些也都会使开销增大。
因此,MSS应尽可能大一些,只要在IP层传输时不要再分片就行。因为IP数据报所经历的路径是动态变化的,所以在一条路径上确定的不需要分片的MSS,若改走另一条路径,则可能需要进行分片。因此最佳的MSS是很难确定的。MSS的默认值为536B,因此在互联网上的所有主机都应能接受的报文段长度是536+20(TCP固定首部长度)=556B。
这是一个有必要弄清的问题。
前面讲过,TCP使用累积确认,这看起来像是GBN的风格。但是,正确收到但失序的报文并不会丢弃,而是缓存起来,并且发送冗余ACK指明期望收到的下一个报文段,这是TCP方式和GBN的显著区别。例如,A发送了N个报文段,其中第k(k<N)个报文段丢失,其余N-1个报文段正确地按序到达接收方B。使用GBN时,A需要重传分组k,以及所有后继分组k+1.k+2..N。相反,TCP却至多重传一个报文段,即报文段k。另外,TCP中提供一个SACK(SelectiveACK)选项,即选择确认选项。使用选择确认选项时,TCP看起来就和SR非常相似。因此,TCP的差错恢复机制可视为GBN和SR协议的混合体。
大家可以从如下角度考虑。超时事件发生和收到3个冗余ACK,哪个意味着网络拥塞程度更严重?通过分析不难发现,在收到3个冗余ACK的情况下,网络虽然拥塞,但至少还有ACK报文段能被正确交付。而当超时发生时,说明网络可能已经拥塞得连ACK报文段都传输不了,发送方只能等待超时后重传数据。因此,超时事件发生时,网络拥塞更严重,发送方就应该最大限度地抑制数据发送量,所以cwnd置为1:收到3个元余ACK时,网络拥塞不是很严重,发送方稍微抑制一下发送的数据量即可,所以cwnd减半。
这主要是为了防止两次握手情况下己失效的连接请求报文段突然又传送到服务器而产生错误。考虑下面这种情况。客户A向服务器B发出TCP连接请求,第一个连接请求报文在网络的某个结点长时间留,A超时后认为报文丢失,于是再重传一次连接请求,B收到后建立连接数据传输完毕后双方断开连接。而此时,前一个留在网络中的连接请求到达服务器B,而B认为A又发来连接请求,此时若使用“三次握手”,则B向A返回确认报文段,因为是一个失效的请求,所以A不予理踩,建立连接失败。若采用的是“两次握手”,则这种情况下B认为传输连接已经建立,并一直等待A传输数据,而A此时并无连接请求,因此不予理踩,这样就造成了B的资源白白浪费。
- 假定主机A和B频繁地建立连接,传送一些TCP报文段后,再释放连接,然后又不断地建立新的连接、传送报文段和释放连接。
- 假定每次建立连接时,主机A都选择相同的、固定的初始序号,如选择1。
- 假定主机A发出的某些TCP报文段在网络中会留较长时间,以致主机A超时重传这些TCP报文段。
- 假定有一些在网络中留时间较长的TCP报文段最后终于到达主机B,但这时传送该报文段的那个连接早已释放,而在到达主机B时的TCP连接是一条新的TCP连接。
这样,工作在新的TCP连接的主机B就有可能会接收在旧的连接传送的、已无意义的、过时的TCP报文段(因为这个TCP报文段的序号有可能正好处在当前新连接所用的序号范围之中),结果产生错误。因此,必须使得退到的TCP报文段的序号不处在新连接所用的序号范围之中这样,TCP在建立新的连接时所选择的初始序号一定要和前面的一些连接所用过的序号不同。因此,不同的TCP连接不能使用相同的初始序号。
不是多余的。TCP的“可靠交付”功能在互联网中起着至关重要的作用。至少在以下的情况下,TCP的“可靠交付”功能是必不可少的。
- 每个IP数据报独立地选择路由,因此在到达旧的主机时有可能出现失序。
- 由于路由选择的计算出现错误,导致IP数据报在互联网中转圈。最后数据报首部中的生存时间(TTL)的数值下降到零。这个数据报在中途就被丢失。
- 某个路由器突然出现很大的通信量,以致路由器来不及处理到达的数据报。因此有的数据报被丢弃。
以上列举的问题表明:必须依靠TCP的“可靠交付”功能才能保证在目的主机的目的进程中接收到正确的报文。
SMTP
POP3
IMAP
基于万维网的电子邮件
通常我们所说的熟知端口号是指应用层协议在服务器端的默认端口号,而客户端进程的端口号是由客户端进程任意指定的(临时的)。
当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口号,同时还要告诉服务器进程自己的临时端口号。接着,服务器进程就用自己的熟知端口号与客户进程所提供的端口号建立连接。
因特网(Internet)是指在ARPA网基础上发展而来的世界上最大的全球性互连网络,它采用TCP/IP协议族作为通信规则。
万维网(WWW)是无数个网络站点和网页的集合,它们一起构成了因特网最主要的部分(因特网也包括电子邮件、Usenet和新闻组)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。