计算机网络学习笔记

 一、三种交换方式:电路交换、报文交换和分组交换的优缺点比较

计算机网络学习笔记_第1张图片

二、计算机网络的定义和分类

        计算机网络的较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某-特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

  • 计算机网络所连接的硬件,并不限于- -般的计算机,而是包括了智能手机等智能硬件。
  • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。

计算机网络学习笔记_第2张图片

三、计算机网络性能指标 

计算机网络学习笔记_第3张图片

计算机网络学习笔记_第4张图片

例题:计算机网络学习笔记_第5张图片

四、计算机网络体系结构

计算机网络学习笔记_第6张图片

 计算机网络学习笔记_第7张图片

 计算机网络学习笔记_第8张图片

 习题

五、物理层

(1)物理层的基本概念

计算机网络学习笔记_第9张图片

(2)物理层下的传输媒体

计算机网络学习笔记_第10张图片

计算机网络学习笔记_第11张图片

(3)传输方式

计算机网络学习笔记_第12张图片

(4)编码与调制

计算机网络学习笔记_第13张图片

(5)信道的极限容量

计算机网络学习笔记_第14张图片

例题

1. 

计算机网络学习笔记_第15张图片

2.

计算机网络学习笔记_第16张图片

3.

计算机网络学习笔记_第17张图片

  

 4.计算机网络学习笔记_第18张图片

六、数据连路层

(1)数据链路层的概述

  • 链路(Link) 就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
  • 数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
  • 数据链路层以帧为单位传输和处理数据。
  • 使用点对点信道的数据链路层
    • 三个重要问题:封装成帧、差错检测、可靠传输
  • 使用广播信道的数据链路层
    • 共享式以太网的媒体接入控制协议CSMA/CD
    • 802.11 局域网的媒体接入控制协议CSMA/CA
  • 数据链路层的互连设备
    • 网桥和交换机的工作原理
    • 集线器(物理层互连设备)与交换机的区别

(2)封装成帧

 计算机网络学习笔记_第19张图片

(3)差错检测

①奇偶校验

计算机网络学习笔记_第20张图片

②CRC

计算机网络学习笔记_第21张图片

计算机网络学习笔记_第22张图片

CRC举例

计算机网络学习笔记_第23张图片

(4)可靠传输   

①基本概念

计算机网络学习笔记_第24张图片

②可靠传输的实现机制——停止 - 等待协议SW

计算机网络学习笔记_第25张图片

例题:

计算机网络学习笔记_第26张图片

③GBN(回退N帧协议) 

计算机网络学习笔记_第27张图片

例题:

计算机网络学习笔记_第28张图片

④SR(选择重传协议)

计算机网络学习笔记_第29张图片

例题:

计算机网络学习笔记_第30张图片

(5)点对点协议PPP

计算机网络学习笔记_第31张图片

计算机网络学习笔记_第32张图片

 计算机网络学习笔记_第33张图片

 计算机网络学习笔记_第34张图片

 计算机网络学习笔记_第35张图片

(6)媒体接入控制

        ①基本概念 

②静态划分信道

习题:

  • 计算机网络学习笔记_第36张图片
  • 计算机网络学习笔记_第37张图片

③动态接入控制-随机接入-CSMA/CD协议(总线局域网使用)

习题:

计算机网络学习笔记_第38张图片

计算机网络学习笔记_第39张图片

④动态接入控制-随机接入-CSMA/CA协议(无线局域网使用)

计算机网络学习笔记_第40张图片

计算机网络学习笔记_第41张图片

 帧间间隔IFS 

计算机网络学习笔记_第42张图片

CSMA/CA工作原理

源站为什么在检测到信道空闲后还要再等待一段时间DIFS?
        就是考虑到可能有其他的站有高优先级的帧要发送。若有,就要让高优先级帧先发送。


目的站为什么正确接收数据帧后还要等待- -段时间SIFS才能发送ACK帧?
        SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧。在这段时间内,一个站点应当能够从发送方式切换到接收方式。

信道由忙转为空闲且经过DIFS时间后,还要退避一段随机时间才能使用信道?

        防让多个站点同时发送数据而产生碰撞封

退避算法:

计算机网络学习笔记_第43张图片

退避算法举例:

计算机网络学习笔记_第44张图片

 

CSMA/CA协议的信道预约和虚拟载波监听

  • 为了尽可能减少碰撞的概率和降低碰撞的影响,802.1 1标准允许要发送数据的站点对信道进行预约。
    • (1)源站在发送数据帧之前先发送-个短的控制帧,称为请求发送RTS(Request To Send),它包括源地址、目的地址以及这次通信(包括相应的确认帧)所需的持续时间。
    • (2)若目的站正确收到源站发来的RTS帧,且媒体空闲,就发送一个响应控制帧,称为允许发送CTS(Clear To Send),它也包括这次通信所需的持续时间(从RTS帧中将此持续时间复制到CTS帧中)。
    • (3)源站收到CTS帧后,再等待一段时间SIFS后,就可发送其数据帧。
    • (4)若目的站正确收到了源站发来的数据帧,在等待时间SIFS后,就向源站发送确认帧ACK。
  • 除源站和目的站以外的其他各站,在收到CTS帧(或数据帧)后就推迟接入到无线局域网中。这样就保证了源站和目的站之间的通信不会受到其他站的干扰。
  • 如果RTS帧发生碰撞,源站就收不到CTS帧,需执行退避算法重传RTS帧。
  • 由于RTS帧和CTS帧很短,发送碰撞的概率、碰撞产生的开销及本身的开销都很小。而对于- -般的数据帧,其发送时延往往大于传播时延(因为是局域网) ,碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的。802.11标准规定 了3种情况供用户选择:
    • 使用RTS帧和CTS帧
    • 不使用RTS帧和CTS帧
    • 只有当数据帧的长度超过某一数值时才使用RTS帧和CTS帧
  • 除RTS帧和CTS帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间,这称为802.11的虚拟载波监听机制
  • 由于利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧或数据帧中的任何一个,就能知道信道被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。
  • 计算机网络学习笔记_第45张图片

总结:

计算机网络学习笔记_第46张图片

习题:

计算机网络学习笔记_第47张图片

计算机网络学习笔记_第48张图片

 计算机网络学习笔记_第49张图片

⑤MAC地址

计算机网络学习笔记_第50张图片

地址格式:

计算机网络学习笔记_第51张图片

 表示方法:

计算机网络学习笔记_第52张图片

发送顺序

计算机网络学习笔记_第53张图片

⑥IP地址

计算机网络学习笔记_第54张图片

习题:

计算机网络学习笔记_第55张图片

⑦地址解析协议ARP

计算机网络学习笔记_第56张图片

⑧交换机和集线器的区别

集线器

计算机网络学习笔记_第57张图片

交换机计算机网络学习笔记_第58张图片

 区别:

计算机网络学习笔记_第59张图片计算机网络学习笔记_第60张图片

⑨以太网交换机自学习和转发帧的过程

习题:

计算机网络学习笔记_第61张图片

⑩以太网交换机的生成树协议STP 

计算机网络学习笔记_第62张图片

11.虚拟局域网VLAN

概述 

计算机网络学习笔记_第63张图片

实现机制: 

七、网络层

(1)概述

计算机网络学习笔记_第64张图片

(2)网络层的两种服务

①面向链接的虚电路服务

计算机网络学习笔记_第65张图片

②无连接的数据报服务

计算机网络学习笔记_第66张图片

③虚电路服务与数据包服务比较

计算机网络学习笔记_第67张图片

(3)IPv4地址

      

        ①概述

计算机网络学习笔记_第68张图片

        ②分类编址的IPv4地址

计算机网络学习笔记_第69张图片

习题

计算机网络学习笔记_第70张图片

计算机网络学习笔记_第71张图片

③划分子网的IPv4

计算机网络学习笔记_第72张图片

习题

计算机网络学习笔记_第73张图片

④无分类编址的IPv4地址

习题

计算机网络学习笔记_第74张图片

计算机网络学习笔记_第75张图片

计算机网络学习笔记_第76张图片

⑤IPv4地址的应用规划

计算机网络学习笔记_第77张图片

 习题

定长:

计算机网络学习笔记_第78张图片

(4)IP数据报的发送和转发过程

计算机网络学习笔记_第79张图片

习题

计算机网络学习笔记_第80张图片

计算机网络学习笔记_第81张图片

计算机网络学习笔记_第82张图片

(5)静态路由配置及其可能产生的路由环路问题

计算机网络学习笔记_第83张图片

(6)路由选择协议概述

计算机网络学习笔记_第84张图片

(7)路由信息协议RIP的基本工作原理 

习题

计算机网络学习笔记_第85张图片

计算机网络学习笔记_第86张图片

 (8)开放最短路径优先的OSPF的基本工作原理

计算机网络学习笔记_第87张图片

计算机网络学习笔记_第88张图片

计算机网络学习笔记_第89张图片

 (9)边界网关协议BGP的基本工作原理

习题

计算机网络学习笔记_第90张图片

计算机网络学习笔记_第91张图片

(10)IPv4数据报的首部格式

习题

 分片

计算机网络学习笔记_第92张图片

计算机网络学习笔记_第93张图片

计算机网络学习笔记_第94张图片

(11)ICMP网际控制报文协议

ICMP差错报告报文种类-终点不可达:

计算机网络学习笔记_第95张图片

ICMP差错报告报文种类-源点抑制

计算机网络学习笔记_第96张图片

ICMP差错报告报文种类-时间超过 

计算机网络学习笔记_第97张图片

ICMP差错报告报文种类-参数问题 

计算机网络学习笔记_第98张图片

ICMP差错报告报文种类-改变路由 

计算机网络学习笔记_第99张图片

ICMP询问报文 

计算机网络学习笔记_第100张图片

ICMP应用举例计算机网络学习笔记_第101张图片

计算机网络学习笔记_第102张图片

习题

计算机网络学习笔记_第103张图片

 (12)虚拟专用VPN与网络地址转换NAT

八、运输层

(1)概述

计算机网络学习笔记_第104张图片

  计算机网络学习笔记_第105张图片

(2)运输层端口号、复用与分用的概念

端口号概述

计算机网络学习笔记_第106张图片

发送方的复用和接收方的分用

计算机网络学习笔记_第107张图片

TCP/IP体系的应用层常用协议所使用的运输层熟知端口号 计算机网络学习笔记_第108张图片

(3)UDP和TCP的对比

计算机网络学习笔记_第109张图片

  (4)TCP流量控制

计算机网络学习笔记_第110张图片

 计算机网络学习笔记_第111张图片

习题

计算机网络学习笔记_第112张图片

(5)TCP的拥塞控制

 计算机网络学习笔记_第113张图片

慢开始

计算机网络学习笔记_第114张图片

 拥塞避免计算机网络学习笔记_第115张图片

快重传

计算机网络学习笔记_第116张图片

快恢复

计算机网络学习笔记_第117张图片

 计算机网络学习笔记_第118张图片

习题

计算机网络学习笔记_第119张图片

(6)TCP超时重传时间的选择 

计算机网络学习笔记_第120张图片

计算机网络学习笔记_第121张图片

(7)TCP可靠传输的实现 

 习题   

计算机网络学习笔记_第122张图片

计算机网络学习笔记_第123张图片

(8)TCP的运输连接管理-TCP的连接建立

  • 发送针对TCP连接请求的确认是否多余?(为什么TCP客户进程最后还要发送一个普通的TCP确认报文段呢,是否多余?)
    • 不多余!这是为了防止已失效的连接请求报文段突然又传送到了TCP服务器,因而导致错误。

TCP“三报文握手”建立连接的基本过程 

  •  第一次握手
    • SYN=1,表明这是TCP连接请求报文段;
    • 序号字段seq被设置了一个初始值x,作为TCP客户进程所选择的初始序号
  • 第二次握手
    • 同步位SYN和确认位ACK都设置为1,表明这是一个TCP连接请求确认报文段
    • 序号字段seq被设置了一个初始值y,作为TCP服务进程所选择的初始序号
    • 确认号字段ack的值被设置成了x+1,这是对TCP客户进程所选择的初始序号的确认
  • 第三次握手
    • 确认位ACK都设置为1,表明这是一个普通的TCP确认报文段
    • 序号字段seq被设置成x+1,这是因为TCP客户进程发送的第一个TCP报文段的序号为x,并且不携带数据
    • 确认号字段ack的值被设置成了y+1,这是对TCP服务器进程所选择的出书序号的确认

计算机网络学习笔记_第124张图片

 计算机网络学习笔记_第125张图片

 习题 

计算机网络学习笔记_第126张图片

(9) TCP的运输连接管理-TCP的连接释放

TCP通过“四报文挥手”来释放连接

  • 第一次挥手(TCP客户端发送TCP连接释放)
    • 终止位FIN和确认位ACK都设置为1,表明这是一个TCP连接释放报文段,同时也对之前收到的报文段进行确认
    • 序号seq字段的值设置为u,它等于TCP客户进程之前已传送过的数据的最后一个字节的序号加1
    • 确认号ack字段的值设置为v,它等于TCP客户进程之前已收到的数据的最后一个字节的序号加1
  • 第二次挥手(TCP服务器发送TCP普通确认)
    • 确认位ACK都设置为1,表明这是普通的TCP确认报文段
    • 序号seq字段的值设置为v,它等于TCP服务器进程之已传送过的数据的最后个字节的序号加1,这也与之前收到的TCP连接释放报文段中的确认号匹配。
    • 确认号ack字段的值设置为u+1,这是对TCP连接释放报文段的确认
  • 第三次挥手(TCP服务器发送TCP连接释放)
    • 终止位FIN和确认位ACK都设置为1,表明这是一个TCP连接释放报文段,同时也对之前收到的报文段进行确认
    • 序号seq字段的值设置为w,因为服务器为半关闭的情况下可能还要传送一些数据
    • 确认号ack字段的值设置为u+1,这是对TCP连接释放报文段的重复确认
  • 第四次挥手(TCP客户机发送TCP普通确认)
    • 确认位ACK都设置为1,表明这是普通的TCP确认报文段
    • 序号seq字段的值设置为u+1,这是因为TCP客户进程之前发送的TCP连接释放报文段虽然不携带数据,但要消耗一个序号
    • 确认号ack字段的值设置为w+1,这是对所收到的TCP连接释放报文段的确认。

计算机网络学习笔记_第127张图片

计算机网络学习笔记_第128张图片

(10) TCP报文段的首部格式

 计算机网络学习笔记_第129张图片

计算机网络学习笔记_第130张图片

  • 源端口:占16比特,写入源端口号,用来标识发送该TCP报文段的应用进程。
     
  • 目的端口:占16比特, 写入目的端口号,用来标识接收该TCP报文段的应用进程。
     
  • 序号:占32比特,取值范围[0, 2- 1],序号增加到最后一个后,下一个序号就又回到0。指出本TCP报文段数据载荷的第一个字节的序号。
     
  • 确认号:占32比特,取值范围[0, 22 1],确认号增加到最后- -个后,下一个确认号就又回到0。指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号, 同时也是对之前收到的所有数据的确认。
     
  • 确认标志位ACK:取值为1时确认号字段才有效;取值为0时确认号字段无效。TCP规定,在连接建立后所有传送的TCP报文段都必须把ACK置1。
     
  • 同步标志位SYN:在TCP连接建立时用来同步序号。
     
  • 终止标志位FIN:用来释放TCP连接。
     
  • 复位标志位RST:用来复位TCP连接。
    当RST=1时,表明TCP连接出现了异常,必须释放连接,然后再重新建立连接。
    RST置1还用来拒绝一个非法的报文段或拒绝打开一个TCP连接。

     
  • 推送标志位PSH:接收方的TCP收到该标志位为1的报文段会尽快.上交应用进程,
    而不必等到接收缓存都填满后再向上交付。
     
  • 紧急标志位URG:取值为1时紧急指针字段有效;取值为0时紧急指针字段无效。

    紧急指针:占16比特,以字节为单位,用来指明紧急数据的长度。

    当发送方有紧急数据时,可将紧急数据插队到发送缓存的最前面,并立刻封装到-个TCP报文段中进行发送。紧急指针会指出本报文段数据载荷部分包含了多长的紧急数据,紧急数据之后是普通数据。
     
  • 数据偏移:占4比特,并以4字节为单位。用来指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远。这个字段实际。

    上是指出了TCP报文段的首部长度。
    首部固定长度为20字节,因此数据偏移字段的最小值为0101B
    首部最大长度为60字节,因此数据偏移字段的最大值为1111B
     
  • 窗口:占16比特,以字节为单位。指出发送本报文段的一方的接收窗口。
    窗口值作为接收方让发送方设置其发送窗口的依据。
    这是以接收方的接收能力来控制发送方的发送能力,称为流量控制。

     
  • 校验和:占16比特,检查范围包括TCP报文段的首部和数据载荷两部分。
    在计算校验和时,要在TCP报文段的前面加上12字节的伪首部。
     

  • 计算机网络学习笔记_第131张图片
     
  • 填充:由于选项的长度可变,因此使用填充来确保报文段首部能被4整除
    (因为数据偏移字段,也就是首部长度字段,是以4字节为单位的)

九、应用层 

(1)客户/服务器(C/S)方式和对等方式(P2P方式)  

客户/服务器(C/S)方式 

计算机网络学习笔记_第132张图片

 对等方式(P2P方式)

计算机网络学习笔记_第133张图片

(2)动态主机配置协议DHCP 

 计算机网络学习笔记_第134张图片

 工作过程

DHCP中继代理

计算机网络学习笔记_第135张图片

(3)域名系统DNS 

  • 因特网是否可以只使用一台DNS服务器?
    • 这种做法并不可取。因为因特网的规模很大,这样的域名服务器肯定会因为超负荷而无法正常工作,而且一日域名服务器出现故障,整个因特网就会瘫痪。
    • 早在1983年,因特网就开始采用层次结构的命名树作为主机的名字(即域名),并使用分布式的域名系统DNS。

      DNS使大多数域名都在本地解析,仅少量解析需要在因特网上通信,因此系统效率很高。

      由于DNS是分布式系统,即使单个计算机出了故障,也不会妨碍整个系统的正常运行。
  • DNS报文使用运输层的UDP协议进行封装,运输层端口号为53
     

计算机网络学习笔记_第136张图片

 域名服务器可以划分为四种不同的类型

  

域名解析的过程

计算机网络学习笔记_第137张图片

计算机网络学习笔记_第138张图片

习题

计算机网络学习笔记_第139张图片

计算机网络学习笔记_第140张图片

 (4)文件传输协议FTP

计算机网络学习笔记_第141张图片

FTP的基本工作原理 

计算机网络学习笔记_第142张图片

习题

计算机网络学习笔记_第143张图片

 计算机网络学习笔记_第144张图片

(5)电子邮件 

计算机网络学习笔记_第145张图片

发送和接收过程 

计算机网络学习笔记_第146张图片

简单邮件传送协议SMTP的基本工作原理 

 计算机网络学习笔记_第147张图片

电子邮件的信息格式 

计算机网络学习笔记_第148张图片

多用途因特网邮件扩展MIME

计算机网络学习笔记_第149张图片

计算机网络学习笔记_第150张图片

 常用的邮件读取协议

计算机网络学习笔记_第151张图片

 基于万维网的电子邮件

计算机网络学习笔记_第152张图片

习题

计算机网络学习笔记_第153张图片

 计算机网络学习笔记_第154张图片

 计算机网络学习笔记_第155张图片

(6)万维网WWW 

HTTP请求报文格式 

计算机网络学习笔记_第156张图片 

 HTTP响应报文格式 计算机网络学习笔记_第157张图片

 

 使用Cookie在服务器上记录用户信息

计算机网络学习笔记_第158张图片 

万维网缓存与代理服务器

         若Web缓存的命中率比较高,则大大减少了该链路上的通信量,从而减少了访问因特网的时延

计算机网络学习笔记_第159张图片 

 

习题

计算机网络学习笔记_第160张图片

计算机网络学习笔记_第161张图片 

 

你可能感兴趣的:(学习)