计算机网络知识点整理

一、概述

  1. 互联网
    1)三网:电信网络、有线电视网络、计算机网络
    2)基本特点:连通性(兑换信息)、共享性(对信息、软件、硬件的资源共享)
    3)网络、互连网、互联网的区别
    网络由若干结点和连接这些结点的链路组成;
    互联网internet泛指由多个计算机网络互联而成的计算机网络;
    互联网Internet指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET;
    4)组成:
    边缘部分(主机)—— C/S客户-服务器方式,P2P对等方式
    核心部分(路由器)—— 电路交换(面向连接),分组交换
  2. 计算机网络
    1)定义
    2)网络分类:广域网WAN,城域网MAN,局域网LAN,个人局域网PAN
  3. 性能指标
    1)速率bps:每秒钟传输的比特数
    2)带宽:模拟带宽(信道能通过的频率差,指频率的范围,单位Hz),数字带宽(最大传输速率,指比特率)
    3)吞吐量:单位时间内通过某个网络的实际的数据量
    4)时延
    发送时延=数据帧长度(bit)/发送速率(bit/s)
    传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
    对于告诉网络链路,我们可以提高的仅仅是数据的发送速率,不是比特在链路上的传播速率。
    提高数据的发送速率是减少了数据的发送时延。
    5)往返时间RTT
    往返时间还包括各中间结点的处理时延,排队时延以及转发数据时的发送时延。
  4. 计算机体系结构
    1)网络协议
    定义:未进行网络中的数据交换而建立的规则、标准或约定。
    要素:语法(数据与控制信息的结构或格式),语义(需要发出何种控制信息,完成何种动作以及做出何种响应),同步(时间实现顺序的详细说明)
    2)网络分层体系结构
    在这里插入图片描述
    3)协议与服务
    协议的实现保证了能够向上一层提供服务。
    本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
    协议是“水平的”,即协议是控制对等实体之间通信的规则。
    服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
    上层使用服务原语获得下层所提供的服务。

二、物理层

  1. 物理层的主要任务
    1)主要任务:在传输媒体上传输比特1和比特0
    2)定义接口的有关特性:机械特性、电器特性、功能特性、过程特性
    3)数据传输方式的转换:数据在计算机内部多采用并行传输方式,但数据在通信线路(传输媒体)上的传输方式一般都是串行传输,即逐个比特按照时间顺序传输,因此物理层还要完成传输方式的转换。
  2. 数据通信基本知识
    1)数据通信系统:源系统(信源),目的系统(信宿),传输系统(信道)
    2)信息、数据、信号概念
    模拟信号:连续信号;
    数字信号:离散信号;
    调制:数字信号->模拟信号;
    解调:模拟信号->数字信号;
    编码:数字信号->数字信号;
    3)数据编码:
    曼彻斯特编码:位周期中心的向上跳变代表0,向下跳变代表1;
    查分曼彻斯特编码:未开始边界有跳变代表0,无跳变代表1在这里插入图片描述
    4)信道极限容量:
    奈氏准则(无噪声) C = 2 W l o g 2 M ( b p s ) C=2Wlog_{2}M(bps) C=2Wlog2M(bps)C信道极限容量,W带宽,M码元状态数
    香农公式(高斯白噪声) C = W l o g 2 ( 1 + S N ) ( b i t / s ) C=Wlog_{2}(1+\frac{S}{N})(bit/s) C=Wlog2(1+NS)(bit/s)C信道极限信息传输速率,W带宽,S信号的能量,N噪声的能量
    信噪比(db) 信 噪 比 ( d b ) = 10 l o g 10 ( S N ) 信噪比(db)=10log_{10}(\frac{S}{N}) (db)=10log10(NS)
    5)码元传输速率Baud(波特率),信息传输速率bps(比特率) 比 特 率 = 波 特 率 × l o g 2 M 比特率=波特率\times log_{2}M =×log2M
  3. 传输媒体
    1)导引型传输媒体
    双绞线:10-Base-T
    同轴电缆
    光纤:单模光纤1550nm,多模光纤850nm-1300nm
    2)非导引型传输媒体
    地面微波接力通信
    卫星通信:传播时延270ms
  4. 信道复用技术
    1)频分复用:共享信道
    2)时分复用
    3)统计时分复用:按需动态分配
    4)码分复用:CDMA码分多址
    给每一个站分配的码片序列不仅必须各不相同,并且还必须互相正交(使用伪随机序列)
      两个不同站的码片序列正交:规格化内积=0;
      同一个码片向量与自己正交:规格化内积=1;
      同一个码片向量与自己反码正交:规格化内积=-1;
  5. 宽带接入技术
    ADSL技术特点:ADSL的上行和下行带宽是不对称的(上行指从用户到ISP,下行指从ISP到用户),ADSL在用户线(铜线)的两端各安装一个ADSL调制解调器,我国目前采用的方案是多音调DMT调制技术。这里的“多音调”也是“多载波”或“多子信道”。

三、数据链路层

  1. 点对点信道
    1)解决三个问题
    数据帧的封装(定界):在一段数据的前后分别添加首部和尾部,每一种链路层协议都规定了所能传送的帧的数据部分长度上限,即最大传送单位MTU。
    透明传输:如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”。因此,需采用字节填充或字符填充。发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC” 。接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。 在这里插入图片描述
    差错检测:在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER 。误码率与信噪比有很大的关系。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。
      在发送端,先把数据划分为组。假定每组 k 个比特。假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。 将余数 R 作为冗余码拼接在数据 M 后面发送出去。
      现在 k = 6, M = 101001。
      设 n = 3, 除数 P = 1101,
      被除数是 2nM = 101001000。
      模 2 运算的结果是:商 Q = 110101,余数 R = 001。
      把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R 即:101001001,共 (k + n) 位。
    在这里插入图片描述
    接收端对收到的每一帧进行 CRC 检验,若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。若余数 R不等于0,则判定这个帧有差错,就丢弃。
    2)点对点协议PPP:目前使用最广泛的数据链路层协议
    组成:一个将 IP 数据报封装到串行链路的方法;链路控制协议 LCP (Link Control Protocol);网络控制协议 NCP (Network Control Protocol)。
    字节填充RFC(异步传输):
    遇到0x7E —>(0x7D,0x5E)
    遇到0x7D ---->(0x7D,0x5D)
    遇到<0x20 ---->(0x7D,x+0x20H)
    零比特填充(同步传输):5个连续1后面添加0
  2. 广播信道
    1)局域网的特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
    2)按网络拓扑结构分类:星形网,环形网,总线网
    3)适配器的作用:对数据串行传输和并行传输的转换;对数据进行缓存;在计算机的操作系统安装设备驱动程序;实现以太网协议。
  3. 以太网
    1)CSMA/CD协议
    工作原理:最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。 总线上的每一个工作的计算机都能检测到 B 发送的数据信号。 由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。 其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。在具有广播特性的总线上实现了一对一的通信。在这里插入图片描述
    争用期:最先发送数据帧的站,在发送数据帧后至多经过时间 2t (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。以太网的端到端往返时延 2t 称为争用期,或碰撞窗口。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
    退避算法:基本退避时间取为争用期 2t。从整数集合 [0, 1, … , (2^k -1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。参数 k 按下面的公式计算:k = Min[重传次数, 10]。当 k 小于等于10 时,参数 k 等于重传次数。当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。
    争用期的长度:10 Mbit/s 以太网取 51.2 us 为争用期的长度。对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。这意味着,以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。帧间最小间隔为 9.6 us,相当于 96 bit 的发送时间。一个站在检测到总线开始空闲后,还要等待 9.6 us 才能再次发送数据。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。
    CSMA/CD协议要点
      准备发送。但在发送之前,必须先检测信道;
      检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧;
      检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
        ①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到准备发送。
        ②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 512 比特时间后,返回到步骤监测信道,继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错。
    2)集线器特点:使用集线器的局域网在物理上是一个星形网,逻辑上仍是一个总线网,同一时刻至多只允许一个站发送数据。
    3)以太网MAC层
    MAC地址:48位,固化在网卡的ROM中的地址
    发送本站的帧包括:单播帧(一对一)、广播帧(一对全体)、多播帧(一对多)
    MAC帧格式:最常用的MAC帧是以太网V2的格式在这里插入图片描述
      当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节。
    4)无效MAC帧:
      数据字段的长度与长度字段的值不一致;
      帧的长度不是整数个字节;
      用收到的帧检验序列 FCS 查出有差错;
      数据字段的长度不在 46 ~ 1500 字节之间。
      有效的 MAC 帧长度为 64 ~ 1518 字节之间。对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。
  4. 扩展以太网
    1)物理层扩展(集线器)
    2)在数据链路层扩展以太网:早期使用网桥,网桥对收到的帧提供其MAC帧的目的地址进行转发和过滤。
    3)以太网交换机的特点:
      以太网交换机实质上就是一个多接口的网桥。通常都有十几个或更多的接口;
      每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式;
      以太网交换机具有并行性;
      能同时连通多对接口,使多对主机能同时通信;
      相互通信的主机都是独占传输媒体,无碰撞地传输数据;
      以太网交换机的接口有存储器,能在输出端口繁忙时把到来的帧进行缓存;
      以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的;
      以太网交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多;
    4)自学习功能:以太网交换机运行自学习算法自动维护交换表。开始时,以太网交换机里面的交换表是空的。在这里插入图片描述
      A 先向 B 发送一帧,从接口 1 进入到交换机。交换机收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧。交换机把这个帧的源地址 A 和接口 1 写入交换表中,并向除接口1以外的所有的接口广播这个帧。C 和 D 将丢弃这个帧,因为目的地址不对。只 B 才收下这个目的地址正确的帧。这也称为过滤。从新写入交换表的项目 (A, 1) 可以看出,以后不管从哪一个接口收到帧,只要其目的地址是A,就应当把收到的帧从接口1转发出去。B 通过接口 3 向 A 发送一帧。交换机查找交换表,发现交换表中的 MAC 地址有 A。表明要发送给A的帧(即目的地址为 A 的帧)应从接口1转发。于是就把这个帧传送到接口 1 转发给 A。显然,现在已经没有必要再广播收到的帧。交换表这时新增加的项目 (B, 3),表明今后如有发送给 B 的帧,就应当从接口 3 转发出去。经过一段时间后,只要主机 C 和 D 也向其他主机发送帧,以太网交换机中的交换表就会把转发到 C 或 D 应当经过的接口号(2 或 4)写入到交换表中。在这里插入图片描述
      考虑到可能有时要在交换机的接口更换主机,或者主机要更换其网络适配器,这就需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间。过期的项目就自动被删除。以太网交换机的这种自学习方法使得以太网交换机能够即插即用,不必人工进行配置,因此非常方便。
    5)虚拟局域网VLAN:由一些局域网网段构成的与物理位置无关的逻辑组,知识局域网给用户提供的一种服务,而并不是一种新型局域网。

四、网络层

  1. 网际协议IP
    1)虚拟互联网络:
      网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据包服务;网络层不提供服务质量的承诺,如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。虚电路表示这知识一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
      没有一种单一的网络能够适应所有用户的需求,将网络互相连接起来要使用一些中间设备。 中间设备又称为中间系统或中继 (relay)系统。有以下五种不同的中间设备:
        物理层中继系统:转发器 (repeater)。
        数据链路层中继系统:网桥 或 桥接器 (bridge)。
        网络层中继系统:路由器 (router)。
        网桥和路由器的混合物:桥路器 (brouter)。
        网络层以上的中继系统:网关 (gateway)。
      所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用 IP 协议的虚拟互连网络可简称为 IP 网。使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)。
    2)分类的IP地址在这里插入图片描述
    在这里插入图片描述
    3)IP地址与MAC地址
      硬件地址(物理地址)是数据链路层和物理层使用的地址,IP地址是网络层及以上各层使用的地址,是一种逻辑地址。
      路由器的IP地址并不出现在IP数据报的首部中。
      IP抽象的互联网屏蔽了下层很复杂的细节。
      IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。
    4)地址解析协议ARP
      ARP作用:从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。每一台主机都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表。
      ARP请求分组:包括发送方硬件地址、IP地址、目标方硬件地址、IP地址。
      ARP响应分组:包括发送方硬件地址、IP地址、目标方硬件地址、IP地址。
      ARP分组封装在物理网络的帧中传播。
      路由器不转发ARP请求。
    5)IP数据报格式
      一个IP数据报由首部和数据组成,首部的前一部分是固定长度,共20字节。
    在这里插入图片描述
    IP数据报分片:
      一数据报的总长度为 3820 字节,其数据部分的长度为 3800 字节(使用固定首部),需要分片为长度不超过 1420 字节的数据报片。
      因固定首部长度为 20 字节,因此每个数据报片的数据部分长度不能超过 1400 字节。
      于是分为 3 个数据报片,其数据部分的长度分别为 1400、1400 和 1000 字节。
      原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。
    在这里插入图片描述
    在这里插入图片描述
    IP 数据报首部检验和的计算采用 16 位二进制反码求和算法:在这里插入图片描述
    6)IP分组转发
      路由表:(目的网络地址,下一跳地址)
      特定主机路由:对特定的目的主机指明一个路由
      默认路由:减少路由表所占用的空间和搜索路由表所用的时间。
  2. 划分子网
    1)划分子网概念:在IP地址中增加一个“子网号字段”,使两级IP地址变成三级IP地址。
    2)子网掩码:
      某位=1——IP地址中的对应为网络号和子网号
      某位=0——IP地址中的对应为主机号
    IP地址 AND 子网掩码 = 网络地址
    子网掩码是一个网络或一个子网的重要属性
    子网号不能全1或全0
    划分子网增加了灵活性,却减少了能够连接在网络上的主机总数
    3)使用子网时分组转发过程
      (1) 从收到的分组的首部提取目的 IP 地址 D。
      (2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网
    络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,
    执行 (3)。
      (3) 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给
    指明的下一跳路由器;否则,执行 (4)。
      (4) 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)。
      (5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明
    的默认路由器;否则,执行 (6)。
      (6) 报告转发分组出错。
    4)无分类编址CIDR(构成超网)
      CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。IP 地址从三级编址(使用子网掩码)又回到了两级编址。
      CIDR 使用“斜线记法”(slash notation),它又称为 CIDR 记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。例如: 220.78.168.0/24
      路由聚合也称为构成超网 (supernetting)。
    常用的 CIDR 地址块在这里插入图片描述
  3. ICMP协议
    1)ICMP报文:ICMP差错报告报文和ICMP询问报文。ICMP前4个字节统一的格式:类型、代码、检验和。ICMP询问报文包括回送请求和回答请求、时间戳请求和回答报文。回送请求报文是由主机或路由器向一个特定的目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。
    2)PING用来测试两台主机之间的连通性,PING使用了ICMP回送请求和回答报文,PING是应用层直接使用网络层ICMP的一个例子。
  4. 内部网关协议IGP
    1)RIP:RIP是一种分布式的,基于距离向量的路由选择协议。RIP允许一条路径最多只能包含15个路由器。RIP不能在两个网络之间同时使用多条路由。RIP协议仅和相邻路由器交换信息,交换自己的路由表,按固定的时间间隔交换。
      距离向量算法:没有新信息,不变;
             相同下一跳,替换;
             一条新路由,添加;
             不同的下一跳,新跳数小,替换;
             不同的下一跳,新跳数相同,不变;
             不同的下一跳,新跳数更大,不变;
    2)OSPF:开放最短路径优先,最短路径算法SPF,分布式的链路状态协议。OSPF将一个自制系统再划分为若干个更小的范围——区域;OSPF使用层次结构的区域划分,在上层的区域叫作主干区域,主干区域的标识符为0.0.0.0作用是连通在下层的区域;OSPF不用UDP而直接用IP数据报传送。
  5. 网络互联设备
    1)各层次网络互联设备:
      物理层——转发器;
    数据链路层——网桥;
      网络层——路由器;
    网络层以上——网关;
    2)路由器
      路由选择(控制部分)
      分组转发:交换结构(转发表)输入端口和输出端口
    路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
  6. IPV6协议
    1)地址空间表示(零压缩法)每个地址占128位,任一地址中只能使用一次零压缩,CIDR的斜线表示法仍然可用。
    2)过滤方法:
      双协议栈,是一部分主机(或路由器)装有双协议栈,一个IPV4 和一个IPV6域名系统DNS返回IPV4地址,源主机就是用IPV4地址。
      隧道技术,把IPV6数据报封装成为IPV4数据报
  7. VPN
    1)私有地址:
      10.0.0.0-10.255.255.255
      172.16.0.0-172.31.255.255
      192.168.0.0-192.168.255.255
    在互联网中的所有路由器,对目的地址是专用地址的数据报一律不转发。
    2)本地地址:仅在机构内部使用的IP地址
    全球地址:全球唯一的IP地址,必须向互联网的管理机构申请
    3)专用IP地址:可重用地址
    4)网络地址转换NAT:装有NAT软件的路由器叫作NAT路由器,它至少有一个有效的外部全球IP地址。

五、运输层

  1. 主要功能
    1)运输层为相互通信的应用进程提供了逻辑通信。从IP层来说,通信的两端是两台主机;从运输层的角度来说,通信的真正端点并不是主机而是主机中的进程。
    2)复用和分用,通过端口号实现
    运输层的两个主要协议:用户数据报协议UDP,传输控制协议TCP
    运输协议数据单元:UDP报文/用户数据报,TCP报文段
    3)差错检测,运输层还要对收到的报文进行差错检测,IP数据报首部中的检验和字段,只检验首部是否出现差错而不检查数据部分。
    4)运输层的端口
      运行在计算机中的进程使用进程标识符来标志的,
      运输层使用协议端口号,在协议栈层间的抽象的协议端口是软件端口,路由器或交换机上的端口是硬件端口。
      端口号只具有本地意义,标志本计算机应用层中的各进程。
      服务器端使用的端口号包括数值端口号(0-1023),登记端口号(1024-49151)。
      客户端使用的端口号(49152-65535)
      UDP:DNS(53),TFTP(69),SNMP(161,162)
      TCP:SMTP(25),FTP(20,21),HTTP(80)
  2. 协议
    1)UDP协议特点:
      无连接;
      支持一对一,一对多,多对一和多对多通信;
      面向报文;
      尽最大努力交换,不保证可靠交付,没有拥塞控制;
      首部开销小,只有8个字节;
    2)TCP协议特点:
      面向连接;
      点对点全双工通信,不提供广播,多播服务;
      面向字节流;
      可靠交付,使用流量控制和拥塞控制;
      首部最少20个字节,最大60个字节;
    TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系,但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。
    TCP连接是一条虚连接而不是一条真正的物理连接。
    TCP根据对方给出的窗口值和当前网络拥塞程度来决定一个报文段应包含多少个字节。
  3. TCP协议
    1)TCP连接
    套接字(IP地址:端口号)
    TCP把连接作为最基本的抽象
    每一条TCP连接有两个端点
    TCP连接::={socket1,socket2}={(IP1,port1),(IP2,port2)}
    同一个IP地址可以有多个不同的TCP连接
    同一个端口号也可以出现在多个不同的TCP连接
    2)可靠传输工作原理
    停止等待协议:
      “停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
      全双工通信的双方既是发送方也是接收方。
      为了讨论问题的方便,我们仅考虑 A 发送数据而 B 接收数据并发送确认。因此 A 叫做发送方,而 B 叫做接收方。
      【无差错情况】A 发送分组 M1,发完就暂停发送,等待 B 的确认 (ACK)。B 收到了 M1 向 A 发送 ACK。A 在收到了对 M1 的确认后,就再发送下一个分组 M2。
      【出现差错】在接收方 B 会出现两种情况:
      B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。
      M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。
      在这两种情况下,B 都不会发送任何信息。
      如何保证 B 正确收到了 M1 呢?
      解决方法:超时重传
      A 为每一个已发送的分组都设置了一个超时计时器。
      A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
      【确认丢失】若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内不能收到确认,但 A 并无法知道:是自己发送的分组出错、丢失了,或者 是 B 发送的确认丢失了。因此 A 在超时计时器到期后就要重传 M1。
      假定 B 又收到了重传的分组 M1。这时 B 应采取两个行动:
      第一,丢弃这个重复的分组 M1,不向上层交付。
      第二,向 A 发送确认。不能认为已经发送过确认就不再发送,因为 A 之所以重传 M1 就表示 A 没有收到对 M1 的确认。
      【确认迟到】如果传输过程中没有出现差错,但 B 对分组 M1 的确认迟到了。
      A 会收到重复的确认。对重复的确认的处理很简单:收下后就丢弃。
      B 仍然会收到重复的 M1,并且同样要丢弃重复的 M1,并重传确认分组。
    【注意】
      在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发。
      分组和确认分组都必须进行编号。
      超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
    自动重传请求 ARQ:重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组。
    连续 ARQ 协议:发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了。
    3)TCP报文段的首部格式
      TCP 虽然是面向字节流的,但 TCP 传送的数据单元却是报文段。
      一个 TCP 报文段分为首部和数据两部分,而 TCP 的全部功能都体现在它首部中各字段的作用。
      TCP 报文段首部的前 20 个字节是固定的,后面有 4n 字节是根据需要而增加的选项 (n 是整数)。因此 TCP 首部的最小长度是 20 字节。
      序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
      确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
      确认 ACK —— 只有当 ACK= 1 时确认号字段才有效。当 ACK =0 时,确认号无效。
      同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。
      终止 FIN —— 用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
      MSS—— TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。所以,MSS是“TCP 报文段长度减去 TCP 首部长度”。
    4)滑动窗口
    发送缓存用来暂时存放:
      发送应用程序传送给发送方 TCP 准备发送的数据;
      TCP 已发送出但尚未收到确认的数据。
    接收缓存用来暂时存放:
      按序到达的、但尚未被接收应用程序读取的数据;
      不按序到达的数据。
    5)流量控制
      流量控制 (flow control) 就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。
      利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。
    6)TCP的运输连接管理
      TCP连接的建立采用客户服务器方式。
      主动发起连接建立的应用进程叫做客户(client),
      被动等待连接建立的应用进程叫做服务器(server)。
    【TCP 的连接建立】TCP 建立连接的过程叫做握手。握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手。采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。
    在这里插入图片描述
      A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x。
      B 的 TCP 收到连接请求报文段后,如同意,则发回确认。B 在确认报文段中应使 SYN = 1,使 ACK = 1,其确认号ack = x+1,自己选择的序号 seq = y。
      A 收到此报文段后向 B 给出确认,其 ACK = 1,确认号 ack = y +1。A 的 TCP 通知上层应用进程,连接已经建立。
       B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程:TCP 连接已经建立。
    【TCP 的连接释放】TCP 连接释放过程比较复杂。数据传输结束后,通信的双方都可释放连接。TCP 连接释放过程是四报文握手。
    在这里插入图片描述
      数据传输结束后,通信的双方都可释放连接。现在 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。A 把连接释放报文段首部的 FIN = 1,其序号seq = u,等待 B 的确认。
       B 发出确认,确认号 ack = u +1,而这个报文段自己的序号 seq = v。TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接处于半关闭状态。B 若发送数据,A 仍要接收。
      若 B 已经没有要向 A 发送的数据,其应用进程就通知 TCP 释放连接。
       A 收到连接释放报文段后,必须发出确认。
      在确认报文段中 ACK = 1,确认号 ack= w + 1,自己的序号 seq = u + 1。

六、应用层

  1. 域名系统DNS
    1)域名空间:层次树状结构
    2)域名服务器:根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器
    3)域名解析——迭代查询
    本地域名服务器向根域名服务器的查询通常是采用迭代查询
  2. 文件传输协议FTP
    1)控制连接:熟知端口21
    2)数据连接:熟知端口20
  3. 万维网www
    1)使用统一资源定位符URL来标志万维网上的各种文档,是每一个文档在整个互联网的范围内具有唯一的标识符URL。
    2)http协议的特点
      HTTP 是面向事务的客户服务器协议。
      HTTP 1.0 协议是无状态的 (stateless)。
      HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。
    3)HTTP有两类报文
      请求报文——从客户向服务器发送请求报文
      响应报文——从服务器到客户的回答
  4. E-mail
    1)用户代理UA:用户与电子邮件系统的接口
    2)邮件服务器
    3)邮件传输协议:发送协议SMTP,MIME;接受协议POP3,IMAP4
    4)基于互联网的电子邮件
      电子邮件从A发送到网易邮件服务器使用HTTP协议
      两个邮件服务器之间的传送使用SMTP
      邮件从邮件服务器传送到B是使用HTTP协议
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值