计算机网络-笔记

1.总论

1.PDU在各层的名字

  • 传输层-报文段/

  • 网络层-分组/数据报

  • 数据链路层-帧

  • 物理层-比特

2.TCP/IP模型的传输层提供端到端的通信,并负责差错控制和流量控制,可以提供可靠的面向连接的服务/不可靠的无连接服务

3.TCP/IP的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

IP首部如果是面向连接的,应该有用与建立连接的字段。

如果提供可靠的服务,至少有序号和校验和2个字段。

有连接、可靠的应用是由传输层的TCP实现的。

4.集线器:多端口的中继器,工作在物理层

以太网交换机:多端口的网桥,在DLL

路由器:网络层设备

ISO/OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅支持面向连接的通信;

TCP/IP模型在网络层仅有无连接的通信,而在传输层支持无连接和面向连接的通信。

两类协议栈的区别是统考的考点,而这个区别是常考点。

TCP/IP的4层

  1. 应用层

  2. 传输层

  3. 网际层:主机-主机类OSI网络层,定义了分组格式和协议,即IP

  4. 网络接口层 alt

物理层

码元:用一个固定时长的信号波形(数字脉冲)表示一位k进制数字。时长内信号称为k进制码元。时长称为码元宽度。

信源:产生和发送数据的源头

信宿:接受数据的终点

信道:信号的传输媒介。一条线路的逻辑部件。

传输信号形式的不同:模拟信道/数字信道

传输介质的不同:无线/有线信道

基带信号/基带传输:将数字信号0/1用电压表示,然后送到数字信道传输

宽带信号/宽带传输:将基带信号进行调制后形成模拟信号,然后送到模拟信道传输

频带传输:用数字信号对特定频率的载波进行调制,将其变为适于传送的信号后再进行传输。适用于数字信号的远距离传输/无线传输。可以实现多路复用。

码元传输速率/波特率/调制速率/波形速率/符号速率:单位时间内数字通信系统传输的码元个数/脉冲个数/信号变化的次数。单位为Baud。码元速率与进制数无关。

信息传输速率/信息速率/比特率:单位时间二进制码元个数

Nyquist theorem

码间串扰:信道能通过的频率是有限的,高频分量不能通过信道,会衰减。失去码元间的清晰界限。

在理想状态下,为了避免码间串扰,极限码元传播速率额为2W波特。W为信道宽度。

  1. 在任何信道中,码元的传输速率有上线。
  2. 频带越宽,就可以用更高的速率进行码元的有效传输
  3. 给出了码元传输速率的限制,但未有信息传输速率的限制。即未对一个码元可以对应多少二进制位给出限制。

Shannon Theorem

带宽受限,高斯白噪声干扰的信道极限数据传输速率**=W**

W-带宽 S-信道平均功率 N-信道内部的高斯噪声功率

-信噪比

  1. 信噪比越大,信息极限传输速率越高
  2. 对一定的传输带宽和一定的信噪比,信息传输速率的上限是确定的
  3. 只要信息传输速率低于信道的极限传输速率,就能找到某种方法实现无差错传输
  4. 香农得到的是极限传输速率,实际比他低

调制:数据->模拟信号

编码:数据->数字信号

  1. 数字数据编码为数字信号

alt 归零编码(RZ) 高电平1,低电平0 (或相反)每个时钟周期中间均跳到低电平(归零),接受方根据跳变调制时钟基准,为传输双方提供了自同步机制。归零占用一部分带宽。

非归零编码(NRZ):不用归零,无法同步。需要都带有时钟线

反向非归零编码(NRZI):信号的翻转:0,信号不变1。集成了前2者的优势。既可以传输时钟信号,又不占用带宽,USB使用NRZI方式。

曼彻斯特编码:一个码元分成2个间隔,前高后低=1,也可以相反。在每个码元中间发生跳变。频带宽度为原始的2倍。用于以太网。波特率是比特率2倍。

差分曼彻斯特编码:码元为1,前半个和上一码元的后半相同。码元为0,则相反。在每个码元都有一次电平跳转。可以实现自同步。抗干扰性好。用于局域网传输。

4B/5B编码:每4位作为1组,转成5位。只有16种对应不同的4位。其他16种作为控制码。

  1. 数字数据调制成模拟信号

    辐移键控(ASK):改变振幅来表示1/0,容易实现,抗干扰能力差。

    频移键控(FSK):改变频率来表示1/0,应用广泛。

    相移键控PSK:改变相位。分绝对调相和相对调相

    正交振幅调制(QAM):ASK,PSK结合起来。形成叠加信号。

    波特率为B,采用m个相位,每个相位有n种振幅。数据传输率R=

alt

  1. 模拟数据编码为数字信号

    采样

    采样定理/nyquist定理:带宽:信号最高频率和最低频率之差。采样频率必须2最大频率。才能保证采样后的数字信号能完整保留原始模拟信号的信息。

    量化:采样取得的电平值转化成数字并取整

    编码:量化的结果转换为与之对应的二进制编码

  2. 模拟数据调制成模拟信号

为了实现传输的有效性,可能需要较高的频率。这种调制方式还可以使用频分复用(FDM) 技术,充分利用带宽资源。电话机和本地局交换机采用模拟信号传输模拟数据的编码方式,模拟的声音数据是加载到模拟的载波信号中传输的。

电路交换

先建立一条专用的物理通信路径,在整个传输期间一直被独占。通信结束后释放。3个阶段。

连接建立、数据传输、连接释放

适用于数据量大,传送时间呼叫时间

优:

  1. 通信时延小
  2. 有序传输
  3. 没有冲突
  4. 适用范围广
  5. 实时性强
  6. 控制简单

  1. 建立连接时间长
  2. 线路独占
  3. 灵活性差
  4. 难以规格化

电路建立后,电路上任何节点都采用直通方式接收和发送数据。无差错控制能力。

报文交换

单位是报文,携带有目标地址、源地址等信息。在交换节点使用存储转发方式。

优:

无需建立连接

动态分配线路

提高线路可靠性

提高线路利用率

提高多目标服务

引起转发时延

对报文大小没有限制,网络节点需要有较大的缓存空间

分组交换

也采用存储转发方式,解决了报文交换中大报文传输的问题。限制了每次传送的数据块大小的上限。把大的数据块划分成合理的小数据块,加上控制信息,构成分组。根据控制信息发送到下一个节点,下一个结点接收到分组后,保存并排队等待运输。

端到端的通路由多段链路组成,比较合适。

无建立时延

线路利用率高

简化了存储管理(相对于报文交换):因为分组长度固定,缓冲区大小也固定。

加速传输:存储和转发可以并行

减少了出错概率和重发数据量

存在存储转发时延

需要传输额外的信息量

采用数据报服务时,可能有失序,丢失,重复分组的问题。到达目的结点时,进行排序。

采用虚电路服务,无失序问题,有呼叫建立,数据传输,虚电路释放过程 alt

分组交换还可以再分为数据报和虚电路,都由网络层提供。

数据报

  1. 分组正在某一链路上传送时,分组并不占用网络的其他部分资源,资源是共享的。
  2. 发送分组前不需要建立连接,发送方可随时发送分组,网络中的结点可随时接收分组。
  3. 网络尽最大努力交付,不保证可靠性。为每个分组独立选择路由。转发的路径可能不同,分组不一定按序到达。
  4. 发送的分组中要包括发送端和接收端的完整地址,以便独立传输。
  5. 交换结点需要排队等候,当通信量大或者网络拥塞时,时延会增加,交换结点还可以丢弃分组。
  6. 网络具有冗余路径,可更新转发表。对故障适应能力强。
  7. 存储转发时延小,增大了网络吞吐量
  8. 在出错率高的系统中,数据报更合适。因为虚电路每有一个结点出现故障就要重建电路。

虚电路

在发送之前,建立逻辑上的电路。建立后就固定了物理路径。

建立和拆除需要时间,对交互性和小量表现不好,长时间频繁效率高。

路由选择体现在建立阶段,建立后就确定了传输路径。

提供了可靠的通信功能,能保证正确有序的到达。还可以进行流量控制。

当某条链路或某个结点失效时,所有经过的虚电路将被破坏。

分组首部不包含目的地址,包含虚电路标识符,相对数据报方式开销小。

电路不是专用的,结点之间的链路可以有若干虚电路通过。 alt alt

信道通信线路,一条可双向通信的线路包含2个信道,发送信道和接收信道。

波特率=

并行传输:距离短、速度快。

串行传输:距离长,速度慢。

计算机内部并行传输,同步异步是通信方式,不是传输方式。

码元有效离散值个数,即为

信号传播速度不会影响数据传输速率

单位dB=

传输介质/传输媒体

分为导向传播介质/非导向传播介质。在导向传播介质中,电磁波沿固体媒介前进,非导向介质是空气,真空等。

双绞线

并排绞合,相互绝缘的铜导线组成。可以减少对相邻导线的电磁干扰。

可以在双绞线的外面再加一层,即用金属丝编织的屏蔽层,即屏蔽双绞线。

价格便宜,是最常用的传输介质。模拟传输和数字传输都可以用双绞线。

距离太远时,对于模拟传输,使用放大器放大衰减的信号。

对于数字信号,用中继器将失真的信号整形。

同轴电缆

分基带同轴电缆,宽带同轴电缆。

光纤

多模光纤:不同角度射入的多条光线在一条光纤中传输。

单模光纤:直径只一个光的波长,可使光线一直向前传播。

优:

  1. 传输损耗小,中继距离长
  2. 抗雷电和电磁干扰性能好。
  3. 保密性好,不易被窃听
  4. 体积小,重量轻。

无线传输介质

  1. 无线电波
  2. 微波,红外线,激光:高带宽的无线通信使用。

物理层接口的特性

机械特性

电气特性:各条线电压的范围

功能特性:各种电压表示什么意义

过程特性/规程特性:对不同功能的各种可能事件的出现顺序。

物理层设备

中继器/转发器/放大器

将信号整形,并放大再转发出去。以消除经过长时间电缆的衰减和失真。

端口仅作用于电气部分,不管是否有错误或者不适合网段的数据。

用于扩大网络规模最简单廉价的设备。2端是网段,而不是子网。中继器连接的几个网段仍然是一个局域网。若出现故障,对相邻2个网段都有影响。由于中继器工作在物理层,所以不能连接2个速率不同的局域网。

网络具有存储转发的功能:可以连接2个不同的协议

5-4-3原则;互相串联的中继器个数不能超过4个,4个中继器串联的5段通信介质中只有3段可以挂载计算机。

中继器和放大器都有放大作用,放大器放大模拟信号,中继器放大数字信号,原理是整形再生。

集线器

是多端口的中继器。转发到所有工作端口。如果有2个以上端口工作,则数据失效。

只有信号放大和转发的作用。可以扩大网络的传输范围。

hub只能在半双工下工作。

集线器不能分割冲突域,所有集线器的端口属于同一个冲突域。在一个时钟周期中只能传递一组信息。

2个网段在物理层互联,数据传输速率必须相同。但DLL协议可以不同。

在物理层互联成功,只能表明2个网段可以互相传送物理信号,并能保证可以互相传输DLL的frame。

传输媒体不是物理层,是第0层。

DLL

加强物理层传输原始比特流的功能,将物理层提供可能出错的物理连接改造为逻辑上无差错的数据链路,使其对网络层表现为一条无差错的链路。

为网络层提供服务
  1. 无确认无连接服务:实时通信/误码率较低的信道,如以太网

  2. 有确认无连接服务:目的机器收到数据时必须发回确认,发送端未收到确定以后就重传。适用于误码率较高的。

  3. 有确认面向连接服务:适用于通信要求较高的场合。

链路管理:DLL的建立,维持和释放。

帧定界:将一段数据的前后分别添加首部和尾部。含有控制信息。用于确定帧的界限。

帧同步:接收方能从二进制比特流中分出起始河种植。

透明传输:数据部分出现了和帧定界符一样的bit组合,会认为结束了。要避免这种事情发生。

流量控制

发送方能力可能大于接收方,不限制发送方速率,帧会丢失。

需要反馈机制,发送方知道接收方是否能跟上自己。

差错控制

位错:帧中某些位发生了差错。使用循环冗余检验(CRC)来检验。通过自动重传请求(ARQ)来重传出错的帧。

CRC的检验流程:

把比特串除以生成多项式,如果结果=0,则检测证明无错。

ARQ法:发送方将帧附带CRC发送,接收方检验。如果不对,直接丢弃,发送方在超时以后,再次发送。

帧错:帧的丢失,重复,失序。引入定时器,编号机制。可以保证每一帧最终都能有且仅有一次正确的交付给目的结点。

物理层来为终端结点隐蔽物理传输的细节。

组帧

  1. 字符计数法

    在帧头部使用一个计数字段来表明帧内字符数。目的结点的DLL收到以后,就知道后面的字节数,就知道帧结束的位置。

    如果计数字段出错,就失去了帧边界划分的依据。接收方就无法判断下一帧的开始位,同步就会失去。

  2. 字符填充的首尾定界符法

    使用特殊字符来规定首尾。如果数据中出现特殊字符,则增加转义字符,如果数据中本身还有转义字符,那么再加转义字符。

  3. 零比特填充的首位标志法

    使用特定的bit模式01111110来标识一帧的开始和结束。如果数据里面也有01111110,每5个连续的1,后面插入1个0。接收方在数据中的每5个连续的1,删除后面的0。

  4. 违规编码法

    在对物理层进行编码时使用。比如曼彻斯特编码高高和低低是违规的,可以作为起始和终止。

    违规编码法不需要任何填充。只适合采用冗余编码的特殊编码环境。

    字符计数法计数字段脆弱,字符填充实现复杂,不兼容,多用零比特填充法和违规编码法。

    差错控制

    自动重传请求ARQ,前向纠错FEC。差错控制分检错编码和纠错编码。

    检错编码

    奇偶校验码

    循环冗余码:其实有纠错功能,但ARQ协议只要检测到错误就直接扔,所以不需要纠错。

    纠错编码

    海明码

流量控制与可靠传输

由接收方控制发送方发送数据的速率。

停止-等待协议/滑动窗口协议

停止-等待原理:发送方每发送一帧,都要等接收方的应答信号,之后发送下一帧。接收方每接收一帧,反馈一个应答信号。传输效率低

滑动窗口原理:发送窗口:发送方维持一组连续的允许发送的帧的序号。

接收窗口:维持一组连续的允许接收的帧的序号

发送端每接收一个确认帧,发送窗口就向前移动一个帧的位置。发送窗口内没有可以发送的帧,发送方就会停止发送。

接收端收到数据帧后,窗口向前移一个位置,并发回确认帧。若收到的数据帧落在接收窗口之外,则一律丢弃。

从滑动窗口的概念看,停止-等待协议、后退N帧协议和选择重传协议只在发送窗口大小 与接收窗口大小上有所差别:

停止-等待协议:发送窗口大小=1,接收窗口大小=1。

后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1。

选择重传协议(SR):发送窗口大小>1,接收窗口大小>1。

接收窗口的大小=1时,可保证帧的有序接收。

DLL的滑动窗口协议中,窗口的大小在传输过程中是固定的(与传输层滑动窗口协议有区别)。

捎带确认:将确认捎带在一个回复帧中,为了提高传输效率。

自动重传请求(ARQ),分停止-等待(Stop-and-Wait),后退N帧(Go-Back-N)和选择性重传(Selective Repeat)后2种是滑动窗口和请求重发的结合。

因为窗口尺寸过大时。帧在线路上可以连续流动,又称连续ARQ协议。

在DLL中,流量控制和可靠传输是交织在一起的。

停止-等待协议

除数据帧丢失外,还可能有2种差错

1.到达目的地的帧已遭破坏,接收站在检出后,简单的将该帧丢弃。源站装备了计时器。一个帧发送后,源站等待确认。

2.数据帧正确确认帧遭到破坏。连续出现相同序号的确认帧。

为了超时重发和判定重复帧的需要,发送方和接收方都设置一个帧缓冲区。发送端保留一个副本,可以重传。

多帧滑动窗口和后退N帧协议(GBN)

接收端不一定每个正确的数据帧就发回一个确认帧,可以在连续收到几个正确的数据帧后。对最后一个数据帧发确认消息。

或者在自己有数据要发送时才将对以前正确收到的帧加以捎带确认。

累加确认:对某一数据帧的确认就表明该数据帧和之前所有的数据帧都已准确无误的收到。

接收窗口=1.可保证按序接收数据帧。采用n比特对帧编号,发送窗口的尺寸应满足,若发送窗口尺寸,则会造成接收方无法分辨新帧和旧帧。

1.连续发送数据帧提高了信道利用率

2.重传时又必须把原来已传送正确的数据帧进行重传,又使传送效率降低。

当信道传输质量很差导致误码率较大时,GBN不一定优于SW。

SR

设法只重传出现差错的数据帧或者计时器超时的数据帧。加大接收窗口。收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。

每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方。

接收窗口尺寸和发送窗口尺寸都>1,一次可接收和发送多个帧。

一般来说。最大值为序号的,若采用n比特对帧编号,则需要满足

避免重复传送那些本可以正确到达接收端的数据帧。但在接收端要设置大缓冲区来暂存那些未按序正确收到的帧。

信道的效率/信道利用率:发送方在一个发送周期的时间内,有效发送数据所需要的事件所占发送周期的比率。

信道吞吐率:信道利用率×发送方发送速率

介质访问控制

为使用介质的每一个结点隔离来自同一信道上其他结点所传送的信号。

用来决定广播信道中信道分配的属于数据链路层的一个子层,称为介质访问控制子层。

介质访问控制方法:信道划分介质访问控制、随机访问介质访问控制、轮询访问介质访问控制。前者为静态,后2为动态。

多路复用:传输介质的带宽超过传输单个信号所需的带宽时,就在一个介质上同时携带多个传输信号的方法来提高传输系统的利用率。

把多个信号组合在一条物理信道上进行传输。

信道划分介质访问控制

频分多路复用(FDM)

多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。物理信道分割为子信道。

每个信道分配的带宽可不相同,但总和不能超过总带宽。为防止子信道之间干扰,加入“保护频带”。

时分多路复用(TDM)

将一条物理信道分成若干时间片。轮流分配给多个信号使用。

alt

统计时分多路复用(异步时分多路复用)(STDM)是TDM的一种改进。不固定分配时隙,按需动态分配时隙。终端有数据传送时,才分配到时间片。

波分多路复用(WDM)

光的频分多路复用,一根光纤中不同波长的光信号。

码分多路复用(CDM)/码分多址(CDMA)

采用不同的编码区分各路原始信号。与FDM和TDM不同,既共享频率,又共享时间。

每个比特时间在划分成m个短的时间槽,称为码片,m通常为64/128。

每个站点指派一个唯一的m位码片序列,发送1时,发送它的码片序列,发送0时,发送码片序列的反码。多个站点同时发送时,各路数据在信道中线性相加。为了从信道中分离出各路信号,要求各个站点的码片序列相互正交。

原理:2个不同站的码片的规格化内积=0,与自身的是1,与自身反码是-1.到达之后,如果要A站信号,所以A站是1。

要B站信号,所以B站发出0.

随机访问介质控制

不采用集中控制方式解决发送信息的次序问题,所有用户根据自己的意愿随机发送信息。占据信道全部速率。多个用户同时发送消息时,会发生帧的冲突,导致所有冲突用户失败。

为了避免随机接入发生的碰撞,每个用户按照一定的规则反复重传他的帧。直到该帧通过。规则就是随机访问介质控制。

ALOHA协议,CSMA协议,CSMA/CD协议,CSMA/CA协议。

核心思想都是胜利者通过争用获得信道,从而获得信息的发送权。也称争用型协议。将广播信道传化为点对点信道。

ALOHA协议
纯ALOHA

一个站点发送数据,无需任何检测发送数据。一段时间未收到确认,认为传输过程中发生了冲突。 alt 纯ALOHA的重传策略:各站等待随机一段时间,直到重传成功。

网络负载(时间内所有站点发送成功和未成功而重传的帧数)=G,

吞吐量(时间内所有站点发送成功的帧数)

吞吐量低。

时隙ALOHA

各站在时间上同步,将时间划分成一段段等长的时隙(Slot)。

只能在时隙开始发送一个帧。避免了用户发送数据的随意性,减少了数据产生冲突的可能性。

时隙长度:每个帧在一个时隙内发送完毕。

吞吐量和网络负载之间:。比纯ALOHA大1倍。

CSMA

每个站点在发送前监听一下共用信道。发现信道空闲后再发送。

与ALOHA区别在于,多了一个载波监听装置。

1.1-坚持CSMA

一个结点发送数据时,监听信道,如果信道空闲,立刻发送数据。如果信道忙,那么等待,继续监听直到信道空闲。如果发生冲突,随机等待一段时间后,重新开始监听信道。

1-坚持:监听到帧空闲后,立刻发送帧的概率=1。

传播延迟对1-坚持CSMA影响较大。

A发送数据。B也有数据要发送,A的信号还未到达B,B监听到信道空闲,立刻发送数据,结果必然导致冲突

2.非坚持CSMA

如果信道忙,放弃监听,等待一个随机时间再重复上述过程。

降低了多个结点等待信道空闲后同时发送数据导致冲突的概率。增加数据在网络中的平均延迟。信道利用率的提高的代价是增加数据的延迟

3.p-坚持CSMA

适用于时分/时隙信道。

发送数据时,监听信道,如果信道忙,持续监听。直至空闲。

如果空闲,那么以概率p发送数据,1-p推迟到下一个时隙。直至数据发送成功。

推迟的目的:降低1-坚持CSMA中多个结点检测到信道空闲后同时发送数据的冲突概率。

坚持的目的:克服非坚持CSMA中随机等待造成的延迟时间长的缺点。

是前2种方法的折中方案。

alt

CSMA/CD

适用于总线型网络或者半双工网络环境。对于全双工网络,其采用2条信道,任何时候,发送双方都可以接收或发送数据。不可能冲突。

载波监听:每个结点在发送前和发送中都必须不停的检测信道。

发送前检测:获得发送权。

发送中检测:发现发送的数据是否发生了碰撞。

碰撞检测:边发送边监听。如果发生了碰撞,立刻停止数据发送,等待一段随机时间后,再重新发送数据。

CSMA/CD概括为:先听后发,边听边发,冲突停发,随机重发。

CSMA/CD不可能同时进行发送和接收,只能进行半双工通信。

发送帧后,至多经历(端到端传播时延的2倍)就能知道所送的帧有没有碰撞。

是一种争用带宽的机制,而不是预约带宽的机制。从“争用期”的名字也可以看出。

争用期/争议期/冲突窗口/碰撞窗口:端到端往返时间.信号在最远2个断点之间往返传输的时间。

只有经过争用期未检测到碰撞,才确定不会碰撞。

最短帧长(争用期内可发送的数据长度):在争用期内如果检测到碰撞,就会停止发送,发送出去的数据一定小于最短帧长。

凡是长度小于最短帧长的帧全是由于冲突而异常终止的无效帧。

。就是争用期发出的比特数。

总线传播时延就是单向传播时延,不要认为是双向的再乘2.

如果发送小于最小帧长的帧,须在MAC子层中在数据字段的后面加入一个整数字节的填充字段。

除检测冲突,还能恢复冲突。发生了冲突,参与冲突的2个站点再次发送无意义。使用截断二进制指数退避算法来解决

1) 确定基本退避时间,一般取两倍的总线端到端传播时延2(即争用期)。 2) 定义参数k,等于重传次数,但最多不超过10,即k=min[重传次数,10].当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10 (这个条件往往容易忽略,请读者注意)

3) 从离散的整数集合[0, 1,・・]中随机取出一个数r,重传所需退避的时间就是r倍的基本退避时间,即

4) 当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错(这个条件也容易忽略,请读者注意)。

动态退避:平均时间随重传次数增大而增大。

① 准备发送:适配器从网络层获得一个分组,封装成帧,放入适配器的缓存。 ② 检测信道:若检测到信道空闲,它就开始发送这个帧。若检测到信道忙,它就持续检测 直至信道上没有信号能量,然后开始发送这个帧。

③ 在发送过程中,适配器仍持续检测信道。这里只有两种可能:

•发送成功:在争用期内一直未检测到碰撞,这个帧肯定能发送成功。

•发送失败:在争用期内检测到碰撞,此时立即停止发送,适配器执行指数退避算法,等待 一段随机时间后返回到步骤②。若重传16次仍不能成功,则停止重传并向上报错。

CSMA/CA

无线局域网下,不能使用CSMA/CD。特别是碰撞检测部分

1.接收信号强度发送信号强度,无线介质上强度的动态变化范围很大。为了实现碰撞检测,硬件上花费大。

2.在无线通信中,并非所有站点都能听见对方,存在"隐蔽站"问题。

原因是不需要在发送过程中进行冲突检测。

CSMA/CA把CSMA/CD改成了碰撞避免。

802.11不使用碰撞检测,一旦一个站点开始发送一个帧,就会完全的使用这个帧。

802.11使用链路层确认/重传(ARQ)方案。

所有站完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。时间称作帧间间隔(IFS),帧间间隔的长短取决于发送帧的类型。

1) SIFS (短IFS):最短的IFS,用来分隔属于一次对话的各帧,使用SIFS的帧类型有ACK 帧、CTS帧、分片后的数据帧,以及所有回答AP探询的帧等。

2) PIFS (点协调IFS):中等长度的IFS,在PCF操作中使用。

3) DIFS (分布式协调IFS):最长的IFS,用于异步帧竞争访问的时延。

CSMA/CA的退避算法和CSMA/CD的稍有不同。

信道从忙态变为空闲态时,任何 一个站要发送数据帧,不仅都要等待一个时间间隔,而且要进入争用窗口,计算随机退避时间以 便再次试图接入信道,因此降低了碰撞发生的概率。

当且仅当检测到信道空闲且这个数据帧是要发送的第一个数据帧时,才不使用退避算法。其他所有情况都必须使用退避算法。

具体为:

①在发送第一个帧前检测到信道忙;

②每次重传;

③每次成功发送后要发送下一帧。

CSMA/CA算法的归纳如下:

1) 若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间DIFS后,就发送整个数据帧。

2) 否则,站点执行CSMA/CA退避算法,选取一个随机回退值。一旦检测到信道忙,退避计时器就保持不变。只要信道空闲,退避计时器就进行倒计时。

3)当退避计时器减到0时(这时信道只可能是空闲的),站点就发送整个帧并等待确认。

4) 发送站若收到确认,CSMA/CA是存在确认机制的,就知道已发送的帧被目的站正确接收。这时如果要发送第二帧,就要从步骤2)开始,执行CSMA/CA退避算法,随机选定一段退避时间。 若发送站在规定时间(由重传计时器控制)内没有收到确认帧ACK,就必须重传该帧,再次使用CSMA/CA协议争用该信道,直到收到确认,或经过若干次重传失败后放弃发送。

隐蔽站问题

A,B都在AP覆盖范围内,AB距离较远,听不见对方。AB检测到信道空闲时,都对AP发送数据,导致碰撞的发生。

发送站对信道进行预约,发送数据帧之前先须等待DIFS的时间,广播一个请求发送RTS数据帧。包含源地址,目的地址,此次通信所持续的时间。能被范围内所有站点听到。

若信道空闲,AP发送一个允许发送CTS控制帧,包含了本次通讯的持续时间(从RTS中复制。)CTS能被范围内包括A,B所有的站点听到。B和其他站听到CTS后,在CTS帧所指定的时间欸抑制发送。

CTS的2个目的:

  1. 给源站明确的发送许可

  2. 指示其他站点在预约期内不要发送

    使用RTS和CTS会使效率下降,但2种帧很短,比数据帧开销小。如果不使用,发生碰撞导致重发,浪费的时间更多。可以不使用预约,只有数据帧长度超过某一值时,采用RTS和CTS比较有利。

    CSMA/CD与CSMA/CA主要有如下区别:

    1) CSMA/CD可以检测冲突,但无法避免;CSMA/CA发送数据的同时不能检测信道上有无 冲突,本结点处没有冲突并不意味着在接收结点处就没有冲突,只能尽量避免。

    2) 传输介质不同。CSMA/CD用于总线形以太网,CSMA/CA用于无线局域网802.11a/b/g/n等

    3) 检测方式不同。CSMA/CD通过电缆中的电压变化来检测;而CSMA/CA采用能量检测、 载波检测和能量载波混合检测三种检测信道空闲的方式。

    总结:CSMA/CA协议的基本思想是在发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞。CSMA/CD协议的基本思想是发送前监听,边发送边监听, 一旦出现碰撞马上停止发送。

轮询访问:令牌传递协议

用户不能随机发送信息,通过集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配,一个结点使用信道时,其他结点都不能使用。

一个Token沿环形总线在计算机间传递。Token是一个特殊的MAC控制帧。控制信道的使用,确保同一时刻只有一个站独占信道。

1) 网络空闲时,环路中只有令牌帧在循环传递。

2) 令牌传递到有数据要发送的站点时,该站点就修改令牌中的一个标志位,并在令牌中附加自己需要传输的数据,将令牌变成一个数据帧,然后将这个数据帧发送出去。

3) 数据帧沿着环路传输,接收到的站点一边转发数据,一边查看帧的目的地址。如果目的 地址和自己的地址相同,那么接收站就复制该数据帧以便进一步处理。

4) 数据帧沿着环路传输,直到到送孩帧的源站点,源站点收到自己发出去的帧后便不再转发。同时,通过检验返回的帧来查看数据传输过程中是否出错,若有错则重传。

5) 源站点传送完数据后,重新产生一个令牌,并传递给下一站点,以交出信道控制权。 所以令牌环具有公平性,不能一直持有数据直到传输完毕。只能在令牌持有时间内持有。到时间就要传送给下一个。

在令牌传递网络中,传输介质的物理拓扑不必是一个环,但是为了把对介质访问的许可从一个设备传递到另一个设备,令牌在设备间的传递通路逻辑上必须是一个环。

轮询介质访问控制非常适合负载很高的广播信道。

所谓负载很高的信道,是指多个结点在同一时刻发送数据概率很大的信道。可以想象,如果这样的广播信道采用随机介质访问控制,那么发生冲突的概率将会很大,而采用轮询介质访问控制则可以很好地满足各结点间的通信需求。

轮询介质访问控制既不共享时间,也不共享空间,它实际上是在随机介质访问控制的基础上,限定了有权力发送数据的结点只能有一个。

即使是广播信道也可通过介质访问控制机制使广播信道逻辑上变为点对点的信道,所以说数 据链路层研究的是“点到点”之间的通信。

以太网最短帧长:64B

局域网

特点

1) 所有站点共享较高的总带宽(即较高的数据传输速率)。

2) 较低的时延和较低的误码率。

3) 各站为平等关系而非主从关系。

4) 能进行广播和组播.

特性

拓扑结构

传输介质:双绞线,铜缆,光纤等多种介质。

介质控制访问方式:CSMA/CD,令牌总线,令牌环。前2种方法用于总线,令牌环用于环形

3种特殊的局域网拓扑:

  1. 以太网(目前使用范围最广的局域网):逻辑总线,物理星形或扩展星形

  2. 令牌环(IEEE802.5):逻辑环,物理星

  3. FDDI(光纤分布数字接口,IEEE802.8)逻辑环,物理双环

    802模型仅对应于OSI的物理层和数据链路层。并将DLL拆分为逻辑链路控制(LLC)和媒体接入控制(MAC)子层

    MAC子层:屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口

    功能:组帧和拆卸帧,比特传输差错检测、透明传输

    LLC子层与传输媒体无关,

    对网络层提供无确认无连接、面向连接、带确认无连接、高速传送这4种服务类型。

    以太网在局域网市场中取得垄断地位,LLC子层作用已不大。

    以太网与IEEE802.3

    以太网简化通信;

    采用无连接的工作方式,尽最大努力交付数据,提供不可靠服务。对差错的纠正由高层完成。

    发送的数据采用manchester编码,接收方利用电压转换可以提取同步信号。 alt

    BASE:基带传输。T:双绞线。F:光纤(Fiber)

    网络接口板/网络适配器/网络接口卡/网卡:用来实现计算机与外界局域网连接。

    网卡是工作在DLL层和物理层的网络组件。

    网卡与局域网通信:串行

    网卡与计算机通信:通过I/O总线并行。

    网卡的功能:数据的串并转换,局域网传输介质之间的物理连接,电信号匹配,帧的发送与接收,帧的封装与拆封,介质访问控制,数据编解码,数据缓存。

    以太网的MAC帧

alt

FCS:校验码,使用CRC,校验MAC帧的所有,不校验前导码。

类型:数据域中携带的数据应交给那个协议实体

以太网帧必须>64B,所以数据最小是46B=64-6-6-2-4,

以太网与数据无关的占了18B。

高速以太网

速率达到或超过100Mb/s的以太网称为高速以太网。

(1) 100BASE-T 以太网 100BASE-T以太网是在双绞线上传送100Mb/s基带信号的星形拓扑结构以太网,它使用 CSMA/CD协议。这种以太网既支持全双工方式,又支持半双工方式,可在全双工方式下工作而无冲突发生,因此在全双工方式下不使用CSMA/CD协议。 MAC帧格式仍然是802.3标准规定的。保持最短帧长不变,但将一个网段的最大电缆长度减小到100m.帧间时间间隔从原来的9.6改为现在的0.96

(2) 吉比特以太网 吉比特以太网又称千兆以太网,允许在1Gb/s速率下用全双工和半双工两种方式工作。使用 802.3协议规定的帧格式。在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD 协议)。与10BASE-T和100BASE-T技术向后兼容。

(3) 10吉比特以太网 10吉比特以太网与10Mb/s、100Mb/s和IGb/s以太网的帧格式完全相同。10吉比特以太网 还保留了 802.3标准规定的以太网最小和最大帧长,便于升级。这种以太网不再使用铜线而只使 用光纤作为传输媒体。只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议。

以太网从10Mb/s到10Gb/s的演进证明了以太网是可扩展的(从10Mb/s到10Gb/s)、灵活的 (多种传输媒体、全/半双工、共享/交换),易于安装,稳健性好。

IEEE802.11无线局域网

无线局域网:

  1. 有固定基础设施的无线局域网

    802.11系列协议标准,使用星形拓扑,中心称为接入点(AP)。MAC层使用CSMA/CA,又称Wi-Fi

    基本服务集BSS(Basic Service Set):包括1个AP和若干移动站。各站在本BSS内的通信,或与本BSS外部站的通信,必须通过本BSS的AP。安装AP时,必须为该AP分配一个<32B的服务集标识符(Service Set IDentifier SSID)和一个信道。SSID就是使用该AP的无线局域网的名字。

    基本服务区(Basic Service Area BSA):一个BSS覆盖的地理范围。

    BSS可以是孤立的,也可以通过AP连接到分配系统(DS Distribution System)连接到另1个BSS,构成扩展的服务集(Extended Service Set ESS).

    DS:使ESS对上层表现的像BSS。

    ESS可以通过Portal(门户)为无线用户提供到有线连接的以太网的接入。

    门户作用相当于网桥。

  2. 无固定基础设施的移动自组织网络/自组网络(ad hoc network)

由一些平等状态的移动站相互通信组成的移动网络,各节点间地位平等,中间都为转发结点。都具有路由器的功能。

自组网络通常是这样构成的:一些可移动设备发现在它们附近还有其他的可移动设备,并且要求和其他移动设备进行通信。自组网络中的每个移动站都要参与网络中其他移动站的路由的发现和维护,同时由移动站构成的网络拓扑可能随时间变化得很快,因此在固定网络中行之有效的 一些路由选择协议对移动自组网络已不适用,需引起特别的关注。

自组网络和移动IP并不相同。移动IP技术使漫游的主机可以用多种方法连接到因特网,其 核心网络功能仍然是基于固定网络中一直使用的各种路由选择协议。而自组网络是把移动性扩展 到无线领域中的自治系统,具有自己特定的路由选择协议,并且可以不和因特网相连。

802.11局域网的MAC帧

1.数据帧

  1. MAC首部

  2. 帧主体

  3. 帧检验序列FCS

    前3种地址 alt

2.控制帧

3.管理帧

VLAN

一个以太网是一个广播域,当包含的计算机太多时

  • 以太网中出现大量广播帧,ARP,DHCP
  • 一个单位的不同部门用一个局域网,对信息保密不利

VLAN可以把一个较大的局域网分割成一些较小的与地理位置无关的逻辑上的VLAN,每个VLAN是一个小的广播域。

VLAN通过所连计算机的IP地址来确定端口所属VLAN

在以太网帧中插入一个4B的标识符。

VID唯一标识了帧属于那个VLAN。

VLAN可以由路由器或三层交换机进行分割。一个VLAN可以理解为一个广播域。

路由器端口分割了广播域。

广域网

结点交换机/路由器转发分组。

广域网在网络层

alt

重要问题是路由选择和分组转发

PPP协议是广域网数据链路层协议。

DLL设备

局域网交换机/以太网交换机:多端口网桥。全双工工作。

直通式交换机

存储转发式交换机

交换机的自学习功能

收到帧后,查找交换表。将源地址写入交换表,并向除源地址以外的所有地址广播这1帧。

alt

网络层

img

向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

如果需要通信可靠,可以由传输层负责。

异构网络互联

1) 物理层中继系统:转发器,集线器。

2) 数据链路层中继系统:网桥或交换机。

3) 网络层中继系统:路由器。

4) 网络层以上的中继系统:网关。

路由器:1.路由选择(确定那一条路径)2.分组转发(分组到达时所采取的动作)

根据2个功能,将网络层划分为

数据平面/转发层面:转发

控制平面:路由选择

SDN(软件定义网络):

集中式控制平面:控制-数据接口对数据平面的路由器进行集中式控制。路由器变得简单了,不需要路由选择软件。不需要交换路由信息。

分布式数据平面。

北向接口:对上层应用开发者

南向接口:控制器和转发设备建立双向协议的接口

拥塞控制

拥塞:过量分组引起网络性能下降

采用能防止拥塞的一系列方法对子网进行拥塞控制。获取网络中发生拥塞的信息。

确保子网能够承载所达到的流量。

流量控制和拥塞控制的区别:

流量控制往往是指在发送端和接收端之间的点对点通信量的控制。流量控制所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。

拥塞控制:必须确保通信子网能够传送待传送的数据,是一个全局性的问题,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素。

拥塞控制的方法

1.开环控制

在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞,一种静态的预防方法。系统启动并运行,中途不再修改。在做决定时不考虑当前网络的状态。

2.闭环控制

事先不考虑发生拥塞的因素,采用监测网络去监视,及时检测哪里发生了拥塞,然后将拥塞信息传到合适的地方。一种动态的方法。

路由算法

静态路由/非自适应:网络管理员手工配置路由信息,如果状态变化,需要手工改。

动态路由/自适应:路由表项是通过相互连接的路由器之间彼此交换信息,然后按照算法优化出来的。

距离-向量路由算法:

结点定期将路由选择表传送到与之直接相邻的结点。路由选择表包含

每条路径的目的地(另一结点)

路径的代价/距离

所有结点参与距离向量交换,迭代计算一条路中的站段数或延迟时间,从而得到最小通路。每次更新时将全部路由表发送给所有相邻的结点。更新报文的大小和通信子网的结点个数成正比。

典型:RIP算法

链路状态路由算法:

每个结点都具有完全的网络拓扑信息,

主动测试所有邻接结点的状态

定期将链路状态传播给所有其他结点

链路状态路由算法主要有三个特征:

1) 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法,即路由器通过所有端 口向所有相邻的路由器发送信息。而每个相邻路由器又将此信息发往其所有相邻路由器 (但不再发送给刚刚发来信息的那个路由器)。

2)发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓“链路状态”,是指说明本路由器与哪些路由器相邻及该链路的“度量”。对于 OSPF算法,链路状态的“度量”主要用来表示费用、距离、时延、带宽等。

3) 只有当链路状态发生变化时,路由器才向所有路由器发送此信息。

优:每个路由节点都使用同样的原始状态数据独立计算路径,不依赖中间结点的计算。链路状态报文不经改变的传播,易于查找故障。报文仅运载来自单个节点关于直接链路的信息,大小与路由结点数目无关。

算法 交谈 传递信息
距离-向量路由算法 直接邻居 自己到网络中国所有其他其他节点的最低费用
链路状态算法 所有其他结点 与它直接相连的链路的费用
层次路由

将整个互联网划分为许多小的自洽系统

路由选择协议的2大类。

一个自洽系统内部使用的路由选择协议:内部网关协议(IGP)/域内路由选择。

RIP,OSPF

自洽系统之间使用的路由选择协议:外部网关协议(EGP)/域间路由选择

分组在不同自洽系统之间选择最优路径。

BGP

IPv4

**首部:固定部分:20B,**可选字段,长度可变。

1.版本

2.首部长度:4位,最大表示15,最大值60B,最常见首部长度20B,不使用任何选项

3.总长度:16位,首部+数据之和的长度。数据报最大长度

4.标识:16位,每产生一个数据报就+1,一个计数器,分片使用,分成多个数据报片时,每个都要复制一遍标识号。

5.标志:3位,最低位MF,MF=1表示后面还有分片,MF=0表示最后一个分片,中间一位为DF,DF=0允许分片。

6.片偏移:13位,较长的分组在分片后,某片在原分组中的相对位置。**片偏移以8B为偏移单位,除最后一个分片外,每个分片长度一定是8B的整数倍。**从这里可以注意到,最大数据部分长度为MTU-20,之后小于其的最大8的倍数。

7.生存时间TTL,8位,可通过路由器数的最大值。标识分组在网络中的寿命。

IP分组在传输过程中可能再次分片,但不可能合片。分片原因是传输到了具有更小MTU的链路上。

首部长度,总长度,片偏移,基本单位分别为4B,1B,8B。

alt

主机号全为0,本网络本身。

主机号全1,本网络的广播地址/直接广播地址

127.x.x.x环回自检地址,表示任意主机本身。

32位全0:本网络的本主机

32位全1:整个TCP/IP网络的广播地址/受限广播地址。

alt

减2,减的是全0和全1,全0和全1都不能用于源地址或者目的地址。

IP地址标识一台主机和一条链路的接口

转发器/桥接器连接的若干LAN仍然是一个网络,LAN中所有主机的IP地址的网络号必须相同,但主机号必须不同。

网络地址转换(NAT)

只需一个IP地址就可以与因特网联通。节省了IP地址的消耗,隐藏了内部网络的结构。

部分IP地址为私有IP地址/可重用地址,只用于LAN,不用于WAN连接。

私有地址网段

A:1个A类网段。10.0.0.0-10.255.255.255

B:16个B类网段:172.16.0.0-172.31.255.255

C:256个C类网段:192.168.0.0-192.168.255.255

采用私有IP地址的互联网络称为专用互联网/本地互联网。

internet中,允许一台主机拥有2个或2个以上IP地址。如果一台主机拥有2个或2个以上的IP地址。同一时刻一个合法的内网地址只能分配一台主机,否则会引起ip地址冲突。

子网划分,子网掩码,CIDR

子网划分的原则:划分出来的子网IP地址不重叠,原来的IP地址空间不遗漏。

可以使用二叉树来观察。

CIDR:软件支持构造超网。

一个CIDR地址块可以表示很多地址,称为路由聚合。

DHCP:主机动态的分配IP地址,应用层协议。基于UDP。使用C/S模式,需要IP地址,启动时就向DHCP服务器发送发现报文。主机成为DHCP客户。DHCP服务器先在数据库中查找该计算机的配置信息,如果找到,就返回找到的信息,如果找不到,就从IP池中取一个分配给该计算机。回答报文称为提供报文

ICMP:为了提高IP数据报交付成功的机会,主机或路由器报告差错和异常情况。由IP直接提供服务。

ICMP差错报告报文

  1. 终点不可达
  2. 源点抑制:拥塞控制
  3. 时间超过
  4. 参数问题
  5. 改变路由/重定向

ICMP询问报文

  1. 回送请求和回答报文
  2. 时间戳请求和回答报文
  3. 地址掩码请求回答报文
  4. 路由器询问和通告报文

子网号-2,主机号不用减。

变长子网划分:类似于指令的变长划分,最大子网采用1位子网号,第二大子网采用2位,以此类推。

路由协议

自洽系统:单一技术管理下的一组路由器

内部网关协议

一个自洽系统内使用的路由选择协议

外部网关协议

源站和目的站处于不同的自洽系统中

RIP

限制了网络的规模

路由器开销大

网络出现故障时,慢收敛。坏消息传的慢。

是应用层协议

RIP的16跳表示不可达,

OSPF

对于不同的链路根据IP分组的不同服务类型设置不同的代价。对于不同类型的业务计算不同的路由。

通往一个目的网络有多条相同代价的路径,可以将通信量平分给几条路径,多路径之间的负载平衡。

BGP

alt

组播

仅应用于UDP。

IGMP加入组播组。

IP组播使用D类地址,前4位1110,D类地址范围:224.0.0.0-239.255.255.255

组播中使用D类IP地址作为目的地址,协议字段=2

组播尽最大努力交付

只能用于目的地址,不能用于源地址

移动IP

移动节点:拥有永久IP地址的移动站,移动站连接的网络称为归属网络

归属代理:连接到归属网络上的路由器

本地代理:连接在归属网络上的路由器

外地代理:连接在被访网络上的路由器

网络层设备

冲突域

连接到同一物理介质上所有结点的集合,存在介质争用的现象。

广播域

接收同样广播消息的结点集合,视为第二层概念。通常局域网(LAN)指的是用路由器分割的网络,即广播域

路由器先检测是否处于同一个网络,如果在同一个网络上,直接交付无需通过路由器。

如果不在同一网络,按照转发表指出的路由将数据报转发给下一个路由器,称为间接交付。

路由器隔离了广播域。

路由选择部分:控制部分

路由表:目的网络IP地址,子网掩码,下一跳IP地址,接口。

转发表由路由表得出,其表项与路由表项有直接对应关系,格式与路由表不同。结构应使查找过程最优化。

路由表需对网络拓扑的变化的计算最优化。

路由表总是由软件实现,转发表可用软件/硬件实现。

路由器可以对分组进行差错校验。差错检验只能保证丢弃错误的分组,不能保证分组不丢失

传输层

传输层为运行在不同主机上的进程提供了逻辑通信

网络层提供的主机之间的逻辑通信

复用:发送方不同的应用进程可用一个传输层协议传送数据

分用:接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。

与网络层的复用分用不同的时,网络层的复用:发送方不同协议的数据可以封装成IP数据报发送出去

分用,接收方的网络层剥去首部后把数据交付给相应的协议。

传输层对报文的首部和数据进行差错检测,网络层仅检测首部。

端口:传输层的SAP(TSAP)

DLLSAP:MAC

网络层SAP:IP地址

端口号长度16bit,能表示65536个不同的端口号。

服务器使用的端口号

1.熟知端口号:0-1023 alt

2.登记端口号:1024-49151,供没有熟知端口号的程序使用。

客户端使用的端口号/短暂端口号/临时端口:49152-65535

套接字

端口号拼接到IP地址,形成套接字Socket。

UDP

仅在IP的数据报服务上增加了

复用分用

差错检测

UDP优点

  1. 无需建立连接
  2. 无连接状态
  3. 分组首部开销小
  4. 应用层更好的控制要发送的数据和发送时间。没有拥塞控制,网络中的拥塞不会影响发送效率。
  5. 支持一对一,一对多,多对一,多对多的交护通信

用于一次性传输较少数据的应用/多媒体应用。

UDP面向报文,报文不可分割,是UDP数据报处理的最小单位。

UDP首部

8B,4个部分组成,每个字段2B。

  1. 源端口

  2. 目的端口

  3. 长度

  4. 校验和

    只有重传才能保证可靠传输,校验不能。

    UDP实现分用使用目的端口号。

TCP

TCP首部最短20B

连接建立、数据传送、连接释放

关于连接和释放,ACK,SYN,FIN=1

三次握手

alt

服务器端资源在第二次握手时分配,客户端在完成第三次握手时分配。

SYN报文段不携带数据,选择一个初始序号seq=x

TCP客户端进入SYN-SENT(同步已发送)状态。

二次握手。服务器进程进入SYN-RCVD(同步收到)状态

第三次握手,进入ESTABLISHED(以确定连接状态)。

服务器端资源在完成二次握手时分配,客户端在完成三次握手时分配。

连接释放

四次挥手

alt

FIN-WAIT-1,FIN-WAIT-2是提出的状态

CLOSE-WAIT,CLOSED是服务器的状态。

提供可靠数据传输服务。校验、序号,确认、重传等机制达成这一目的。

ack是期望收到对方下一个报文段的数据的第一个字节的序号

seq是本报文段所发送的数据的第一个字节的序号。

序号:保证数据有序提交

确认:期望收到对方的下一个报文段的数据的第一个字节的序号。TCP使用累计确认,只确认数据流中至第一个丢失字节为止的字节。

重传:

超时:每发送一个报文段,就对这个报文段设置一个计时器。

往返时间(RTT):报文段收到相应确认的时间-报文段发出的时间

RTO(超时重传时间):略大于RTT_S

冗余ACK:超时重传存在问题,超时周期往往太长。

收到连续3个相同确认报文段,就是收到,立刻重传。

SYN:同步比特,用于建立连接

ACK:确认

FIN:终止连接

PSH:推送操作

RST:复位。用于连接出现严重差错来释放连接,重新建立传输。

TCP流量控制

基于滑动窗口。

接收方根据自己接收缓存的大小,动态调整发送方窗口大小,称为接收窗口,rwnd.

发送方根据其对当前网络拥塞程度的估计而确定窗口值,称为拥塞窗口:cwnd。

传输层定义端到端之间的流量控制,DLL层定义2个中间的相邻结点的流量控制。

DLL的滑动窗口的窗口大小不能动态变化,传输层可以动态变化。

TCP拥塞控制

拥塞控制和流量控制的区别

拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。

流量控制往往是指点对点的通信量的控制,是个端到端的问题(接收端控制发送端),它所要做的是 抑制发送端发送数据的速率,以便使接收端来得及接收。

当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果.

发送方维护以下2个窗口。

接收窗口(rwnd):

接收方根据目前接收缓存大小所许诺的最新窗口值,也就是说,如果缓存被用掉了,接受窗口cwnd值会减小。

反映接收方的容量。由接收方根据其放在TCP报文的首部的窗口字段通知发送方。

拥塞窗口(cwnd)

发送方根据自己估算的网络拥塞程度所许诺的最新窗口值

反映网络的当前容量。

发送窗口的上限=min[rwnd,cwnd]

4种算法拥塞控制

慢开始和拥塞避免用来维护拥塞窗口。

慢开始

在TCP建立连接后,令cwnd=1,即最大报文段长度MSS。

每次收到一个对新报文段的确认后,每经过一个RTT,cwnd加倍。

cwnd加到慢开始门限ssthresh,改用拥塞避免算法。

拥塞避免

每过一个RTT,cwnd+1,不是加倍,线性增大。

cwnd<ssthresh,慢开始

cwnd>ssthresh,拥塞避免

cwnd=ssthresh,2种都可以用。

alt

网络拥塞的处理

只要发送方判断网络出现拥塞,未及时收到确认,把ssthresh设置为出现拥塞时发送方cwnd的一半()。把cwnd重新置为1,执行慢开始算法。

在慢开始和拥塞避免中,使用了乘法减小和加法增大的算法。

快重传和快恢复是慢开始和拥塞避免算法的改进

快重传

当发送方连续收到3个重复的ACK报文时,直接重传对方尚未收到的报文段,不必等待那个报文段设置的重传计时器超时。

快恢复

发送方连续收到3个冗余ACK时,执行乘法减小算法,把ssthresh设置为.

与慢开始不同的是,把cwnd值设置为ssthresh改变后的数值。然后执行加法增大。

跳过了cwnd从1开始的慢开始过程,称为快恢复。

alt

ssthresh可以根据需要设置,不一定是减半,减半是自动设置,也可以手动设置,如果要求拥塞窗口增长的最长时间,可以将ssthresh设置为很小的值,然后执行拥塞避免的慢增长。

路由器的接口一般是该网络最小的地址。

如果来的数据报的目的IP不是路由表的任何一个,转发给默认IP0.0.0.0所对应的下一路由器地址。

应用层

DNS:查询次数最多是www.xxx.yyy.com的段数,有4段就最多查询4次。向根域名服务器(没有),发起一次请求。

之后从后向前查,直到www.

FTP的控制连接和数据连接都使用TCP,控制连接服务器端口号21,数据连接服务器端口号20.

SMTP:用来客户向服务器推送。终点是服务器就是SMTP。

POP:采用“拉”的通信方式,当用户读取邮件时,用户向服务器发起请求。即服务器向客户机发。终点是客户机就是POP

2者都使用使用TCP协议。

TCP请求一个网页需要2个RTT,分别是建立连接的3次握手,1.5RTT,传送数据的0.5RTT。

全部评论

相关推荐

点赞 评论 收藏
分享
10-17 16:04
已编辑
南京大学 C++
陈启鸣:恭喜
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
1 8 评论
分享
牛客网
牛客企业服务