计算机网络向用户提供最重要的功能:
网络(network)由若干结点(node)和连接这些结点的链路(link)组成。
结点——用于计算机网络中,表示计算机或路由器。
链路——连接的线路。
互联网是“网络的网络”(network of networks)。
连接在因特网上的计算机都称为主机(host)。
internet——互连网(互联网)
Internet——当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,使用TCP/IP协议族作为通信规则。前身是美国的阿帕网APPRANET
n起源于美国的因特网现已发展成为世界上最大的国际性计算机互联网
因特网发展三个阶段
计算机网络、互联网、互连网
两种通信方式
客户服务器方式(C/S 方式——Client/Server)
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户是服务的请求方,服务器是服务的提供方。
对等方式(P2P 方式——Peer to Peer)
因特网核心部分
电路交换
从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。
电路交换必定是面向连接的。 且利用率很低。
电路交换的三个阶段:
分组交换(存储转发)
报文:要发送的整块数据
分组:先将报文划分成较短的、固定长度的数据段,每一个数据段前面添加上首部构成分组或包。
每一个分组的首部都含有地址等控制信息。分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。用这样的存储转发方式,最后分组就能到达最终目的地。
因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的。
分组交换优点
分组在各结点存储转发时需要排队,这就会造成一定的时延。 分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。无法确保通信时端到端所需的带宽,在通信量较大时可能造成网络拥塞。
最简单定义:计算机网络是一些互相连接、自治的计算机的集合。
分类:
从网络的作用范围进行分类
从网络的使用者分类
速率
速率即数据率(data rate)或比特率(bit rate)是计算机网络中最重要的一个性能指标。速率的单位是b/s,或kb/s,Mb/s, Gb/s 等。
带宽
“带宽”(bandwidth)本来是指信号具有的频带宽度,单位是赫(或千赫、兆赫、吉赫等)。
现在“带宽”是数字信道所能传送的“最高数据率”的同义语,单位是“比特每秒”,或 b/s (bit/s)。
吞吐量
吞吐量/吞吐率(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
受网络的带宽或网络的额定速率的限制。
时延
对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。提高链路带宽减小了数据的发送时延.
丢包率
丢包率即分组丢失率,是指在一定的时间范围内,分组在传输过程中丢失的分组数量与总的分组数量的比率。
具体:接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
在现代计算机网络中网络拥塞是丢包的主要原因。因此,丢包率往往反映了网络的拥塞情况。
利用率
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
网络利用率则是全网络的信道利用率的加权平均值。
信道利用率并非越高越好。
若令 D0 表示网络空闲时的时延,D
表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示D和 D0之间的关系:
网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
三要素:语法,即数据与控制信息的结构或格式。
语义,即各个控制信息的具体含义,包括需要发出何种控制信息,完成何种动作以及做出何种响应。
同步(或时序),即事件实现顺序和时间的详细说明,包括数据应该在何时发送出去以及数据应该以什么速率发送。
计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。l体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
物理层: 如何在物理媒体上传送比特流
数据链路层: 相邻节点间分组(帧)的传输
PPP, 以太网
网络层: 如何将分组从源主机通过中间路由器传送到目的主机
IP, 选路协议
运输层: 提供不同主机上应用程序间的数据传输服务
TCP, UDP
应用层:如何通过应用进程间的交互来完成特定网络应用。
FTP, SMTP, STTP
实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。
本层的服务用户只能看见服务而无法看见下面的协议。
下面的协议对上面的服务用户是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
1994年4月20日我国用64kbit/s专线正式连入因特网。
云计算
物联网
物理层协议的主要任务就是确定与传输媒体的接口的一些特性
数据通信系统:
源系统:源点、发送器
传输系统
目的系统:接收器、终点
通信的目的是传送消息。数据是信息的实体。信号是数据的电气或电磁表现。
编码:将数字数据转换成数字信号的过程。
调制:将数字数据转换成模拟信号的过程。
提高数据传输速率的途径
要使用更好的传输媒体,使用先进的编码和调制技术,但不管采用好的传输媒体和怎样先进的调制技术,数据传输速率总是受限的,不可能任意地提高,否则就会出现较多的差错。
传输方式
导引型传输媒体
双绞线
屏蔽双绞线 STP(Shielded Twisted Pair)
无屏蔽双绞线 UTP (Unshielded Twisted Pair)
同轴电缆
50 W 同轴电缆
75 W 同轴电缆
光纤
非导引型传输媒体
无线传输所使用的频段很广。
短波通信主要是靠电离层的反射,但短波信道的通信质量较差。
微波在空间主要是直线传播。
地面微波接力通信
卫星通信
复用:通过一条物理线路同时传输多路用户的信号
频分复用:所有用户在同样的时间占用不同的带宽资源。
时分复用:所有用户在不同的时间占用同样的频带宽度
统计时分复用:
将模拟电话信号转换为数字信号目前采用的都是脉冲编码调制PCM (Pulse Code Modulation)技术,将一路模拟电话信号转换为64 kbit/s的PCM数字脉冲信号。
为了充分利用高速传输线路的带宽,通常将多路PCM信号用TDM方法汇集成时分复用帧,按某种固定的复用结构进行长途传输。
两个互不兼容的PCM复用速率标准:即北美体制和欧洲体制
早期的数字传输系统存在许多缺点。主要由速率标准不统一和不是同步传输。
传统SDH/SONET传输网络由光传输系统和交换结点的电子设备组成。
全光网AON (All Optical Network) 用光网络结点代替原来交换结点的电子设备,组成以端到端光通道为基础的全光传输网,避免因光/电转换所带来的带宽瓶颈,而路由器等电信号处理设备在边缘网络连接用户终端设备。
接入:将端系统连接到边缘路由器。接入技术解决的就是最终用户接入本地ISP“最后一公里”的问题。通常,人们将端系统连接到ISP边缘路由器的物理链路及相关设备的集合称为接入网AN(access
network)。
通过拨号调制解调器接入(非带宽接入)
–允许最高56Kbps接入速率(通常会更低)
–不能同时上网和打电话
–不提供持续连接
ADSL接入
上行和下行带宽做成不对称的。
上行指从用户到 ISP,而下行指从 ISP 到用户。
ADSL 在用户线(铜线)的两端各安装一个 ADSL 调制解调器。
我国目前采用的方案是离散多音调 DMT (Discrete Multi-Tone)调制技术。这里的“多音调”就是“多载波”或“多子信道”的意思。
光纤接入
以太网接入
无线接入
信道类型:
链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
封装成帧
封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。
透明传输
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
循环冗余检验的原理
循环冗余检验 CRC 和帧检验序列 FCS并不等同。CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。FCS 可以用CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。 仅用循环冗余检验CRC差错检出技术只能做到无差错接受。
可靠传输
停止等待协议
使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。这种可靠传输协议常称为自动重传请求ARQ(Automatic Repeat reQuest).ARQ 表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组 。
在发送完一个帧后,必须暂时保留已发送的帧的副本。数据帧和确认帧都必须进行编号。只要超过了一段时间还没有收到确认,就认为已发送的帧出错或丢失了,因而重传已发送过的帧。这就叫做超时重传。超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
停止等待协议不适合发送时延小于往返时延的情况。优点是简单,缺点是信道利用率低。
流水线传输
发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。
特点:
检测连接状态
PPP协议组成
PPP协议的帧格式
透明传输问题
当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。 当 PPP 用在异步传输时,就使用一种特殊的字符填充法。
零比特填充
在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现5 个连续1时,就把这 5 个连续 1 后的一个 0 删除,
由于用广播信道连接的计算机共享同一传输媒体,因此使用广播信道的局域网被称为共享式局域网。虽然交换式局域网在有线领域已完全取代了共享式局域网,但无线局域网仍然使用的是共享媒体技术。
媒体接入控制(MAC)
局域网
网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网的数据链路层的两个子层:
为了通信的简便以太网采取了两种重要的措施
采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。
以太网对发送的数据帧不进行编号,也不要求对方发回确认。
这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。
以太网提供的服务
以太网的服务是不可靠的交付,即尽最大努力的交付。当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。
载波监听多点接入/碰撞检测 CSMA/CD
最先发送数据帧的站,在发送数据帧后至多经过时间 2t (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
以太网的端到端往返时延 2t 称为争用期,或碰撞窗口。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
当连接很多站点时,以太网的平均吞吐量要比以太网的最高数据率小很多.
以太网的MAC帧格式
用集线器扩展以太网
优点:使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
扩大了局域网覆盖的地理范围。
缺点:碰撞域增大了,但总的吞吐量并未提高。
如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
由于争用期的限制,并不能无限扩大地理覆盖范围
在数据链路层扩展以太网
使用网桥。网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的
MAC 地址,然后再确定将该帧转发到哪一个接口。
使用网桥优点
过滤通信量
扩大了物理范围
提高了可靠性
可互连不同物理层、不同MAC子层和不同速率的局域网。
使用网桥缺点
存储转发增加了时延。
在MAC 子层并没有流量控制功能。
具有不同 MAC 子层的网段桥接在一起时时延更大。
网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。
集线器在转发帧时,不对传输媒体进行检测。
网桥在转发帧之前必须执行 CSMA/CD 算法。
若在发送过程中出现碰撞,就必须停止发送和进行退避。
透明网桥是一种即插即用设备。
网桥在转发表中登记以下三个信息
在网桥的转发表中写入的信息除了地址和接口外,还有帧进入该网桥的时间。
虚拟局域网
虚拟局域网其实只是局域网给用户提供的一种服务,而不是一种新型局域网!
简化网络管理。
控制广播风暴。
增强网络的安全性。
速率达到或超过 100 Mb/s 的以太网称为高速以太网。
有固定基础设施的无线局域网
一个移动站若要加入到一个基本服务集 BSS,就必须先选择一个接入点 AP,并与此接入点建立关联。
移动站与AP建立关联的方法
被动扫描,即移动站等待接收接入站周期性发出的信标帧(beacon frame)。
主动扫描,即移动站主动发出探测请求帧(probe request frame),然后等待从 AP 发回的探测响应帧(probe response frame)。
使用CSMA/CA协议
无线局域网不能使用CSMA/CD,而只能使用改进的CSMA协议。改进办法就是把CSMA增加一个碰撞避免功能。
无线局域网不能简单地搬用 CSMA/CD 协议。这里主要有两个原因。
对于无线信道,接收信号强度往往会远远小于发送信号强度。如要在无线局域网的适配器上实现碰撞检测,对硬件的要求非常高。。
即使我们能够实现碰撞检测的功能,并且当我们在发送数据时检测到信道是空闲的,在接收端仍然有可能发生碰撞(隐蔽站问题)。
分组转发和路由选择(转发表)
电信网的成功经验让网络负责可靠交付
虚电路服务
面向连接,建立虚电路,使用可靠传输协议(虚电路是逻辑上的连接)
因特网采用设计思路
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
数据报服务
虚电路转发表
每台中间路由器在转发分组时必须用一个新的VC号替代原来的VC号。
网际层协议IP
中间设备
物理层:转发器
数据链路层:网桥或桥接器
网络层:路由器
网络层以上:网关
虚拟互连网
所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
IP地址及编址方式
点分十进制记法:32位二进制代码,每8位插入一个空格,转换成十进制,提高可读性。
分类编址
IP地址 ::= {<网络号>,<主机号>} ::=代表“定义为”
IP地址的使用范围
| 网络类别 | 最大网络数 | 第一个可用的网络号 | 最后一个可用的网络号 | 每个网络中最大的主机数 |
| ——– | ——————- | —————— | ——————– | ———————- |
| A | 126(2^7-2) | 1 | 126 | 16777214 |
| B | 16383(2^14-1) | 128.1 | 191.255 | 65534 |
| C | 2,097,151 (221 - 1) | 192.0.1 | 223.255.255 | 254 |
划分子网
三级的IP地址
IP地址 ::= {<网络号>, <子网号>, <主机号>}
无分类编址CIDR
IP地址 ::= {<网络前缀>, <主机号>}
在分类编址中,给定一个IP地址,就确定了它的网络号和主机号。但在无分类编址中,由于网络前缀是不定长,IP地址本身并不能确定其网络前缀和主机号。
使用子网掩码(subnet mask)可以找出 IP 地址中的网络部分(网络前缀)。
CIDR 还使用“斜线记法” ,它又称为CIDR记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数。
地址解析协议ARP
IP地址——>ARP——>物理地址
物理地址——>RARP——>IP地址
IP数据报由首部和数据两部分组成,首部前一部分是固定长度,共20字节,是所有IP数据报必须具有的。
IP数据报分片
ICMP 不是高层协议,而是 IP 层的协议。
ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
前四个字节是统一的三个字段:类型、代码、检验和
ICMP报文的种类
PING
PING用来测试两个主机之间的连通性
PING 使用了 ICMP 回送请求与回送回答报文。
PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。
静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。
分层次的路由选择协议
自治系统AS
自治系统 AS 的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种AS 内部的路由选择协议和共同的度量以确定分组在该AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在AS之间的路由。
因特网两大路由选择协议
内部网关协议IGP
RIP三个要点:
仅和相邻路由器交换信息。
交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
按固定的时间间隔交换路由信息,例如,每隔 30 秒。
OSPF三个要点:
向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。
只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
外部网关协议EGP
划分区域
划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。
转发和路由选择的区别
“转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。
“路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。
路由表是根据路由选择算法得出的。而转发表是从路由表得出的。
在讨论路由选择的原理时,往往不去区分转发表和路由表的区别。
由输入端口、变换结构、输出端口
交换机与路由器的比较
交换机的优点是即插即用,并具有相对高的分组过滤和转发速度。缺点是:大型交换机网络要求交换机维护大的转发表,主机中维护大的ARP表,并可能产生广播风暴,逻辑拓扑被限制为树。
路由器的优点是能提供更加智能的路由选择,并能隔离广播域。缺点是:路由器不是即插即用的,对每个分组处理时间通常比交换机更长。
用隧道技术实现虚拟专用网
IP多播的一些特点
多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。
永久组地址——由因特网号码指派管理局 IANA 负责指派。
动态的组成员
利用局域网的硬件多播
IP多播需要两种协议
网际组管理协议IGMP
IGMP 并非在因特网范围内对所有多播组成员进行管理的协议。
IGMP 不知道 IP 多播组包含的成员数,也不知道这些成员都分布在哪些网络上。
IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。
多播路由器选择协议
多播转发必须动态地适应多播组成员的变化(这时网络拓扑并未发生变化)。请注意,单播路由选择通常是在网络拓扑发生变化时才需要更新路由。
多播路由器在转发多播数据报时,不能仅仅根据多播数据报中的目的地址,而是还要考虑这个多播数据报从什么地方来和要到什么地方去。
多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络。
IPV6引进的主要变化
IPv6 仍支持无连接的传送所引进的主要变化如下
更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
扩展的地址层次结构。
灵活的首部格式。
改进的选项。
允许协议继续扩充。
支持即插即用(即自动配置)
支持资源的预分配。
IPv6 数据报的目的地址可以是以下三种基本类型地址之一:
1.单播(unicast) 单播就是传统的点对点通信。
2.多播(multicast) 多播是一点对多点的通信。
3.任播(anycast) 这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。
从IPV4到IPV6的过渡
双协议栈
隧道技术
从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
运输层协议和网络层协议的主要区别
IP协议的作用范围是提供主机之间的逻辑通信
TCP(传输控制协议)和UDP(用户数据报协议)协议的作用范围是提供进程之间的逻辑通信
运输层的主要功能
运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。
运输层还要对收到的报文进行差错检测。
可靠数据传输
流量控制
拥塞控制
UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。
UDP 在某些方面有其特殊的优点
发送数据之前不需要建立连接
UDP 的主机不需要维持复杂的连接状态表。
UDP 用户数据报只有 8 个字节的首部开销。
网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。
UDP的特点
UDP是无连接的。
UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制,因此主机不需要维持具有许多参数的、复杂的连接状态表。
由于 UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。
UDP是面向报文的。
UDP支持一对一、一对多、多对一和多对多的交互通信。
TCP的主要特点:
TCP 是面向连接的运输层协议。
每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
TCP 提供可靠交付的服务。
TCP 提供全双工通信。
面向字节流。
发送缓存和接收缓存
TCP 连接是一条虚连接而不是一条真正的物理连接。
一对一通信
TCP 把连接作为最基本的抽象。
每一条 TCP 连接唯一地被通信两端的两个端点所确定。即:
TCP 连接 ::= {(IP1: port1), (IP2: port2)}
UDP与TCP复用的区别
TCP报文段结构
TCP 报文段分为首部和数据两部分。
TCP 的全部功能都体现在它首部中各字段的作用。
TCP 报文段首部的前 20个 字节是固定的,后面有 4N 字节是根据需要而增加的选项(N 必须是整数)。因此 TCP 首部的最小长度是 20 字节。
TCP的可靠传输
TCP在IP的不可靠的尽最大努力服务的基础上实现了一种可靠数据传输服务,保证数据无差错、无丢失、按序和无重复的交付。
由于TCP下面的传输数据的互联网的结构非常复杂,因此不能采用最简单的停止等待协议来实现可靠传输。
以字节为单位的滑动窗口
流量控制
•流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收。
•利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。
超时重传时间的选择
karn算法(不采用重传)
新的 RTTS = (1 - a) * (旧的 RTTS) + a * (新的 RTT 样本)
RTO = RTTS + 4 *RTTD
新的 RTTD = (1 - b) (旧的RTTD)+b|RTTS - 新的 RTT样本|
快速重传
如果网络中的负载(load),即发送到网络中的分组数量,超过了网络的容量,即网络中能处理的分组数量,那么在网络中就会发生拥塞(congestion)。
所谓拥塞控制(congestion control)就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。
开环控制和闭环控制
开环控制方法就是在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。
闭环控制是基于反馈环路的概念。