《计算机网络》谢希仁第6版复习笔记

一 介绍

  • 三网合一:电信网络、有线电视网络、计算机网络

  • 互联网的两个重要特点:连通性、共享;连通性是指互联网使上网用户之间,不管相距多远都可以非常便捷、经济地交换各种信息,好像这些用户终端都彼此直接连通一样。共享就是指资源共享(信息共享、软件共享、硬件共享)。

  • 计算机网络由若干结点和连接这些结点的链路组成。结点可以是计算机、集线器、交换机、路由器等。

  • 网络边缘段端系统之间的通信方式:客户-服务器方式,对等方式(P2P)。

  • 电路交换、报文交换、分组交换:

    电路交换:整个报文的比特流连续的从源点直达重点,且需要建立连接,好像在一个管道中传送。
    报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个结点。
    分组交换:单个分组(整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个结点。断续分配传输带宽。

    传送突发数据时,报文交换/分组交换可以提高信道利用率,不需要预先分配传输带宽。如果传送大量数据,且传送时间远大于连接建立时间,则电路交换传输速率较快。

  • 计算机网络类别:
    按网络作用范围:广域网WAN,城域网MAN,局域网LAN,个人局域网PAN。
    按网络使用者:公用网,专用网

  • 性能指标:
    速率:数据的传送速率,也叫数据率/比特率,单位bit/s。比特bit = binary digit。往往网络的速率指的是额定速率或标称速率,而非实际上网络运行的速率。
    带宽:(1)信号具有的频带宽度,即频率范围,单位是Hz;(2)网络中某信道传送数据的能力,单位时间内网络中某信道所能通过的最高数据率,单位是bit/s。
    吞吐量:单位时间内通过某个网络的实际的数据量。
    时延:数据从网络的一段传送到另一端所需的时间。包括发送时延(数据帧第一个比特到最后一个比特发送完毕所需要的时间(数据大小/带宽)),传播时延(电磁波在信道中传播一定的距离需要花费的时间(传播长度/该信道的传播速率)),排队时延,处理时延。
    往返时间RTT

  • 高速链路提高的是数据的发送速率而不是在链路上的传播速率;光纤信道的传输数率高是指光纤信道发送数据的速率很高,但传播速率要比铜线还低一点。

  • OSI/RM(开放系统互连基本参考模型)

  • 协议:为进行网络中的数据交换而建立的规则。包括语法(数据格式)、语义(应该发出何种控制信息,如何做出响应)、同步(事件实现顺序的详细说明)。

  • 计算机网络体系结构:计算机网络的各层及其协议的集合就是网络的体系结构。OSI/RM七层与TCP/IP四层综合形成五层的体系结构

    应用层:通过应用进程间的交互来完成特定网络应用。
    运输层:向两台主机中进程之间的通信提供通用的数据传输服务。多种应用可以使用同一运输层服务。TCP/UDP
    网络层:为分组交换网上的不同主机提供通信服务。选择合适的路由。IP数据报
    数据链路层:将网络层的IP数据报封装成帧。
    物理层:传输单位是bit,主要考虑用多大的电压代表1或者0等。物理层下面的物理媒体不包含在物理层。

二 物理层

  • 信道:单工信道、半双工、全双工
  • 香农公式:信道的极限传输速率 C = Wlog2(1+S/N) (b/s) ,S/N信号功率/噪声功率(信噪比:10log10(S/N) dB),W带宽。只要传输速率低于信道的极限信息传输速率,就一定可以找到某种方法来实现无差错的传输。
  • 信道复用:频分复用、时分复用、波分复用、码分复用

三 数据链路层

  • 点对点信道(PPP协议)、广播信道(CSMA/CD)

  • 数据链路:除了物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用网络适配器(硬件和软件)来实现这些协议。

  • 数据链路层数据传输单位:帧

  • 数据链路层三个基本问题:

    封装成帧(帧首部帧尾部, 帧定界符)
    透明传输:透明是指帧定界符透明,像不存在,不会因为传输与帧定界符一样的内容(SOH:01,EOT:04),而发生不正确的截断,丢失传输内容。可以通过加转义字符ESC的方式实现透明传输
    差错检测:循环冗余检测CRC,通过计算冗余码FCS,添加在数据最后。可以用来检测比特差错(01误码)。但不能检测帧丢失、帧重复、帧失序,所以还不是可靠传输。

  • 最大传送单元MTU:帧的数据部分长度上限

  • 点对点协议PPP:用户计算机和ISP通信时使用的数据链路层协议(入网时)。
    组成:链路控制协议LCP、网络控制协议NCP
    PPP帧格式:0x7F首尾定界符;协议字段为0x0021时,PPP帧信息部分就是IP数据报,不超过1500字节。
    在这里插入图片描述
    字节填充:PPP使用异步传输(逐个字符传送)时,转义字符为0x7D;同步传输(一连串比特连续传送,SONET/SDH链路)时采用零比特填充,连续5个1填入1个0。

    • 异步传输(Asynchronous Transmission): 异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达。
      异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个比特已经过去了。这就像有人出乎意料地从后面走上来跟你说话,而你没来得及反应过来,漏掉了最前面的几个词。因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。
    • 同步传输(Synchronous Transmission):同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。我们将这些组合称为数据帧,或简称为帧。
      数据帧的第一部分包含一组同步字符,它是一个独特的比特组合,类似于前面提到的起始位,用于通知接收方一个帧已经到达,但它同时还能确保接收方的采样速度和比特的到达速度保持一致,使收发双方进入同步。
      异步传输、同步传输的区别
  • 广播信道:一对多通信,半双工信道需要考虑碰撞,全双工不用。

  • 局域网按网络拓扑可以分为星型网、环形网、总线网。

  • 以太网:符合DIX Ethernet V2标准的局域网。(最初是基带总线局域网)

  • 网络适配器:计算机与外界局域网的连接通过它。装有处理器和存储器,可以进行数据串行传输和并行传输的转换(适配器与局域网通信是通过电缆或双绞线串行传输,适配器与计算机是通过主板上的I/O总线并行传输)。
    在这里插入图片描述

  • CSMA/CD协议:多点接入载波监听/碰撞检测。总线网中只要有一台计算机在发送数据,总线的传输资源就被占用,因此同一时间只能允许一台计算机发送数据。以太网采用简单的随机接入,但有很好的协议
    在这里插入图片描述

  • MAC层地址,48位的全球地址,也叫物理地址/硬件地址。固化在适配器的ROM中。
    在这里插入图片描述

  • 扩展的以太网:在物理层可以用转发器,集线器来扩展以太网的地理覆盖范围;数据链路层使用网桥,交换机(自学习算法建立转发表,即插即用,无需人工配置)。这种扩展在网络层看来仍然是一个网络。

四 网络层

  • 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。由于传输网络不提供端到端的可靠传输,这就使网络中的路由器比较简单且价格低廉,网络造价降低。

  • 网际协议IP:使互连起来的计算机网络能够进行通信。配套使用的还有地址解析协议ARP,网际控制报文协议ICMP,网际组管理协议IGMP。
    在这里插入图片描述

  • 网络互连:
    在这里插入图片描述
    在这里插入图片描述

  • IP地址:给互联网上每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32位标识符,由ICANN分配。经历了三个阶段:分类的IP地址、子网、构成超网。

  1. 分类的IP地址:IP地址 ::= {网络号,主机号},用点分十进制,分类的不太用了
    在这里插入图片描述
    A类地址:网络号全零是个保留地址,意为本网络。01111111(127)为环回测试地址,如果主机发送一个目的地址为环回地址的IP数据报,则本主机中的协议软件就处理该数据报中的数据,不会发送到任何网络。
    B类地址:128.1.0.0最小网络地址。
    C类地址:192.0.1.0最小网络地址。

    IP地址管理机构在分配IP时只分配网络号,主机号由该网络号的单位自行分配。
    路由器仅根据目的主机所连接的网络号来转发分组。减少路由表大小以及查路由表的时间。

  • IP地址与硬件地址:
    在这里插入图片描述

  • 地址解析协议ARP:已知IP地址,找出相应硬件地址。在主机的ARP高速缓存中存放IP地址到硬件地址的映射表(本局域网内各主机和路由器的),并且动态更新(设置生存时间)。(映射表的建立,通过广播发送ARP请求分组,单播发送ARP响应分组)

  • IP数据报:固定长度20字节
    在这里插入图片描述

    标识:不是序号,IP是无连接的。每产生一个数据报,存储器内维护的计数器+1,使得分片后的各数据报最后能够正确重装为原数据报。
    标志:三位,第一位MF,第二位DF,目前第三位无意义。MF=1表示后面还有分片,MF=0表示这是最后一个分片。DF=0时才允许分片。
    片偏移:分组后,某片在原分组中的相对位置,8字节为一个单位,即分片长度是8字节的整数倍。
    生存时间:TTL,数据报在网络中的寿命。跳数限制(路由器转发之前,就将TTL-1,若TTL=0就丢弃不再转发)
    协议:数据报携带的数据使用何种协议。

  • 路由器转发表,最重要的部分是(目的网络,下一跳地址)
    在这里插入图片描述

  • 划分子网:从主机号划分出子网号,IP地址 ::= {<网络号>,<子网号>,<主机号>}。利用子网掩码表示是否划分了子网(网络号部分全1,主机号全0)。将子网掩码与IP地址逐位与运算,就能得出网络地址。

  • 无分类编址,无分类域间路由选择CIDR(构造超网),无分类的两级编址IP地址:{<网络前缀>,<主机号>},斜线记法128.14.25/20 20表示网络前缀所占位数。

    网络前缀相同的连续的IP地址组成一个CIDR地址块。
    知道CIDR地址块中任一地址,可得知该地址块网络前缀位数、地址块内最小地址、最大地址、地址个数
    路由表中利用CIDR地址块来查找目的网络——路由聚合,也称构成超网。
    查找路由表时,遵循最长前缀匹配策略

  • 网际控制报文协议ICMP:允许主机或路由器报告差错情况和提供有关异常情况的报告。包括ICMP差错报告报文、ICMP询问报文。装在IP数据报中作为数据部分发送。
    在这里插入图片描述
    在这里插入图片描述
    >终点不可达:
    在这里插入图片描述
    提取IP数据包数据字段前8字节是为了得到运输层的端口号以及运输层报文的发送序号。
    应用:

    1.分组网间探测PING,测试主机间的连通性,使用了ICMP回送请求与回送回答报文,是应用层直接使用网络层的例子。
    2.traceroute:用来跟踪一个分组从源点到终点的路径。

  • 内部网关协议IGP:在一个自治系统内使用的路由选择协议。RIP,OSPF

    RIP:基于距离向量的路由选择协议。每个路由器维护从它自己到其他每个目的网络的距离记录。允许一条路径最多包含15个路由器,适用于小型互联网。
    下层由UDP封装,好消息传得快,坏消息传的慢。
    在这里插入图片描述
    在这里插入图片描述

    OSPF:开放最短路径优先,采用链路状态协议。由IP数据报封装,工作位置在网络层。
    在这里插入图片描述

  • 外部网关协议EGP:源主机和目的主机不在同一个自制系统中。BGP,只是力求寻找一条能够到达目的网络且比较好的路由,不一定是最佳路由。采用路径向量选择协议。由TCP封装。
    在这里插入图片描述
    在这里插入图片描述

五 运输层

  • 向应用层(主机中的进程)提供通信服务,属于面向通信部分的最高层。

在这里插入图片描述
在这里插入图片描述

  • 端口:为了运输层收到IP数据报后能交付给正确的应用进程,要给每个进程一个标识。而操作系统中的进程标识符,依赖具体的操作系统,所以需要一个统一的方法来标识进程。但是,把进程当做通信的终点还是不可行的,一方面,往往需要利用目的主机提供的功能来识别终点。另一方面,进程的创建和撤销是动态的,不一定知道某个服务是由哪个进程执行的。于是,在运输层使用协议端口号,即端口。只要把报文交付给合适的目的端口,剩下的交付给正确的进程则由TCP来完成。

    熟知端口号:0-1023
    在这里插入图片描述

  • UDP:无连接的,尽最大努力交付的,面向报文的(发送方UDP对应用程序交下来的报文,添加首部后直接交付IP层,不合并不拆分),没有拥塞控制,支持一对一、一对多、多对一、多对多。

    TCP只支持一对一

    首部8字节:
    在这里插入图片描述

  • TCP: 面向连接,每条链接只能有两个端点(一对一),提供可靠交付的服务,提供全双工通信,面向字节流(流入到进程或从进程流出的字节序列,一连串无结构的字节流,不保证接收方收到的数据块和发送方发送的大小一样)

    每条TCP链接被两端的套接字确定:{socket1, socket2} = {(IP:port1), (IP:port2)}

    停止等待协议(为了引出可靠传输,实际TCP使用的比该协议更复杂):发送方每发送一个分组,等待接收方确认后再发送下一个,如果超过超时计时器还没收到就重传(所以发完要暂时保留已发送分组副本)。这种可靠传输协议常称为自动重传请求ARQ(Automatic Repeat reQuest),即重传是自动进行的,接收方不需要请求发送方重传。

    信道利用率太差

    为了提高传输效率,可以采用流水线传输:不必每发完一个分组就停顿下来等待对方确认。连续ARQ协议:接收方对按序到达的最后一个分组发送确认。
    在这里插入图片描述
    TCP首部最小长度20字节。
    在这里插入图片描述

    序号:本报文段发送的数据的第一个字节的序号(每个字节都编号)
    确认号:期望收到对方下一个报文段的第一个数据字节的序号。
    数据偏移:TCP首部长度。
    ACK:建立连接后ACK=1,确认号字段有效。
    SYN:SYN=1,请求连接建立,建立后=0
    FIN:释放连接
    窗口:报文段发送方的接收窗口,知名允许对方发送的数据量,会动态变化。

    TCP可靠传输的实现:滑动窗口协议,TCP的精髓。
    在这里插入图片描述


流量控制:基于滑动窗口协议,让发送方发送速率不要太快,让接收方来得及接收。通过调整窗口值大小来进行流量控制。
在这里插入图片描述
在这里插入图片描述

TCP报文段的发送时机(应用程序将数据传到TCP缓存后,TCP何时将报文段发出去):
在这里插入图片描述


拥塞控制:防止过多的数据注入到网络中,使网络中的路由器和链路不过载。
流量控制往往指点对点通信量的控制,拥塞控制是一个全局性的过程。流量控制不好会出现拥塞,某些拥塞控制方法也会降低发送方的发送速率。

TCP进行拥塞控制的算法有:慢开始、拥塞避免、快重传、快恢复。

在这里插入图片描述

发送方维护拥塞窗口=发送窗口(也可能发送窗口<拥塞窗口).
慢开始:拥塞窗口cwnd先设置为一个MSS,然后每收到一个确认就将拥塞窗口+1(一个传输轮次,拥塞窗口翻倍);设置慢开始门限ssthresh,当cwnd>ssthresh时,开始执行拥塞避免(一个轮次,cwnd+1,不是翻倍);如果发生拥塞,调整ssthersh = 当前拥塞窗口的一半,cwnd=1,重新开始慢开始算法。(①-③)

快重传:接收方收到失序报文段后给发送方发送最后一个按序报文段的确认,发送方收到三次重复确认后,立即重传对方未按序收到的报文段。由于发送方能收到重复确认,认为此时没有发生拥塞。所以接下来执行快恢复(④-⑤),即ssthresh=当前拥塞窗口的一半,但cwnd=此时的ssthresh,而不是从1开始。


连接管理
连接建立:三次握手。服务器端创建传输控制块TCB,等待接收客户端连接请求;SYN=1的报文段不能携带数据,但要消耗序号;ACK报文段可以携带数据,如果不携带数据可以不消耗序号。
在这里插入图片描述

三次握手:最后一次握手是为了防止已失效的连接请求报文段(A第一次请求丢失或绕圈,又发了一次并成功链接,连接释放后之前绕圈的请求到了B),又到了B,B确认了之后,一直等待A发送数据,但A不会理睬。

连接释放:四次挥手。
通信双方都可以释放连接。FIN=1不携带数据,但消耗一个序号;A发送连接释放请求,B确认后,连接处于半关闭状态,A还要接收B的数据。
时间等待计时器TIME-WAIT设置2MSL(MSL:最长报文段寿命,RFC建议2分钟,现在有点长)。A撤销传输控制块后结束了此次连接。
在这里插入图片描述

TIME-WAIT是为了保证A发送的最后一个ACK报文段能够到达B。如果A的确认丢失,B重传释放请求,A可以重传确认报文段。如果不设置TIME-WAIT立即释放,则B无法正常释放。
在这里插入图片描述

在这里插入图片描述

六 应用层

  • 每个应用层协议是为了解决某一类应用问题,定义进程之间通信的规则。

  • DNS域名解析协议:将域名转化为IP地址,由分布在因特网上的许多域名服务器程序共同完成。
    客户机将DNS请求报文发送给本地域名服务器,本地域名服务器将应答放在DNS回答报文,或者递归的/迭代的将请求发给其他域名服务器。

    域名结构:层次树状结构:
    在这里插入图片描述
    为了提高查询效率,减轻根域名服务器的负荷,在域名服务器和主机中使用高速缓存,存放最近查询过的域名。

  • FTP文件传输协议:复制整个文件。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • HTTP超文本传输协议:
    WWW万维网是一个大规模的、联机式的信息储藏所,即web。浏览器是客户程序,客户机所需资源所在的主机运行服务器程序。

    统一资源定位符URL:标志分布在整个因特网上的万维网文档。
    在这里插入图片描述

    协议:使用什么协议来获取资源,常用http,https,ftp
    主机:资源所在主机,域名

    超文本传输协议HTTP:实现万维网上的超链接,规定客户机与服务器程序之间交互的规则,如何请求,如何传送文档。
    HTTP是面向事务的(一系列信息交换要么都完成要不都不完成)、无状态的(服务器不记得曾访问过得用户)、本身无连接(没有http链接,下层TCP链接)

    http各版本/https

    http1.0:一个TCP处理一个请求就释放,但可以设置keep-alive。也可以有5-10个并行TCP链接。
    http1.1:默认持久连接。分为非流水线/流水线。非流水线是客户收到想赢才发下一个请求,流水线是连续发送新的请求。

    代理服务器:万维网高速缓存,把最近的一些请求和响应暂存在本地磁盘中。

    HTTP报文格式:
    在这里插入图片描述

    方法:GET/POST/等等
    状态码:在这里插入图片描述

    由于http无状态,但实际工作中一些万维网站点希望能识别用户,于是用到了cookie。
    cookie

  • SMTP简单邮件传输协议
    在这里插入图片描述
    POP3:当用户从POP服务器读取了邮件,服务器就把该邮件删除。
    IMAP网际报文存取协议:接收方IMAP客户程序与IMAP邮件服务器建立TCP连接,则用户可在PC上操作IMAP服务器,打开某个邮件时才下载到本地。删除之前一直存在服务器中。

  • DHCP动态主机配置协议:分配IP,提供即插即用连网,允许一台计算机加入新的网络获取IP地址不用手动配置。
    在这里插入图片描述
    DHCP中继代理:不想在每个网络都设置DHCP服务器,则使每个网络都有一个DHCP中继代理,它收到主机的广播发现报文后以单播形式向DHCP服务器转发此报文。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    主机如果关机再启动时,还在租用期,则询问DHCP是否可以接着使用,如果不同意则要重新四次广播。

  • 1
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值