计算机网络_计算机网络谢希仁 - CSDN
计算机网络 订阅
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 [1] 展开全文
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 [1]
信息
类    别
网络操作系统
使用领域
互联网
中文名
计算机网络
功    能
信息的传输与共享
计算机网络定义分类
计算机网络也称计算机通信网。关于计算机网络的最简单定义是:一些相互连接的、以共享资源为目的的、 自治的计算机的集合。若按此定义,则早期的面向终端的网络都不能算是计算机网络,而只能称为联机系统(因为那时的许多终端不能算是自治的计算机)。但随着硬件价格的下降,许多终端都具有一定的智能,因而“终端”和“自治的计算机”逐渐失去了严格的界限。若用微型计算机作为终端使用,按上述定义,则早期的那种面向终端的网络也可称为计算机网络。 [2]  另外,从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。 [2]  从用户角度看,计算机网络是这样定义的:存在着一个能为用户自动管理的网络操作系统。由它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。 [2]  一个比较通用的定义是:利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。 [2]  从整体上来说计算机网络就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。简单来说,计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的集合体。 [2]  最简单的计算机网络就只有两台计算机和连接它们的一条链路,即两个节点和一条链路。 [2]  计算机网络就是通过线路互连起来的、自治的计算机集合,确切的说就是将分布在不同地理位置上的具有独立工作能力的计算机、终端及其附属设备用通信设备和通信线路连接起来,并配置网络软件,以实现计算机资源共享的系统。 [2]  计算机网络就是由大量独立的、但相互连接起来的计算机来共同完成计算机任务。这些系统称为计算机网络(computer networks)。 [3] 
收起全文
精华内容
参与话题
  • 计算机网络学习总结(超赞!!!)

    万次阅读 多人点赞 2018-02-27 20:28:27
    原文地址第一章 概述网络网络网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络网络。ISP互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等...

    我是技术搬运工,好东西当然要和大家分享啦.原文地址

    第一章 概述

    网络的网络

    网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络的网络。

    ISP

    互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。

    目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为主干 ISP、地区 ISP 和本地 ISP。

    互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。

    互联网的组成

    1. 边缘部分:所有连接在互联网上的主机,用户可以直接使用;
    2. 核心部分:由大量的网络和连接这些网络的路由器组成,为边缘部分的主机提供服务。

    主机之间的通信方式

    1. 客户 - 服务器(C/S)

    客户即是服务请求方,服务器是服务提供方。

    2. 对等(P2P)

    不区分客户和服务器。

    电路交换与分组交换

    1. 电路交换

    电路交换用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低,往往不到 10%。

    2. 报文交换

    报文交换用于邮局通信系统,邮局接收到一份报文之后,先存储下来,然后把相同目的地的报文一起转发到下一个目的地,这个过程就是存储转发过程。

    3. 分组交换

    分组交换也使用了存储转发,但是转发的是分组而不是报文。把整块数据称为一个报文,由于一个报文可能很长,需要先进行切分,来满足分组能处理的大小。在每个切分的数据前面加上首部之后就成为了分组,首部包含了目的地址和源地址等控制信息。

    存储转发允许在一条传输线路上传送多个主机的分组,因此不需要占用端到端的线路资源。

    相比于报文交换,由于分组比报文更小,存储转发的速度也就更快。

    时延

    总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

    1. 发送时延

    主机或路由器发送数据帧所需要的时间。

    其中 l 表示数据帧的长度,v 表示发送速率。

    2. 传播时延

    电磁波在信道中传播一定的距离需要花费的时间,电磁波传播速度接近光速。

    其中 l 表示信道长度,v 表示电磁波在信道上的传播速率。

    3. 处理时延

    主机或路由器收到分组时进行处理所需要的时间,例如分析首部,从分组中提取数据部分等。

    4. 排队时延

    分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。

    计算机网络体系结构*

    1. 七层协议

    如图 a 所示,其中表示层和会话层用途如下:

    1. 表示层:信息的语法语义以及它们的关联,如加密解密、转换翻译、压缩解压缩;
    2. 会话层:不同机器上的用户之间建立及管理会话。

    2. 五层协议

    1. 应用层:为特定应用程序提供数据传输服务,例如 HTTP、DNS 等。数据单位为报文。

    2. 运输层:提供的是进程间的通用数据传输服务。由于应用层协议很多,定义通用的运输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。

    3. 网络层:为主机之间提供服务,而不是像运输层协议那样是为主机中的进程提供服务。网络层把运输层产生的报文段或者用户数据报封装成分组来进行传输。

    4. 数据链路层:网络层针对的还是主机之间,而主机之间可以有很多链路,链路层协议就是为相邻结点之间提供服务。数据链路层把网络层传来的分组封装成帧。

    5. 物理层:考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使物理层上的数据链路层感觉不到这些差异。

    3. 数据在各层之间的传递过程

    在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。

    路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要运输层和应用层。

    4. TCP/IP 体系结构

    它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。

    现在的 TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。

    TCP/IP 协议族是一种沙漏形状,中间小两边大,IP 协议在其中占用举足轻重的地位。

    第二章 物理层

    通信方式

    1. 单向通信,又称为单工通信;
    2. 双向交替通信,又称为半双工通信;
    3. 双向同时通信,又称为全双工通信。

    带通调制

    模拟信号是连续的信号,数字信号是离散的信号。带通调制把数字信号转换为模拟信号。

    信道复用技术

    1. 频分复用、时分复用

    频分复用的所有用户在相同的时间占用不同的频率带宽资源;时分复用的所有用户在不同的时间占用相同的频率带宽资源。

    使用这两种方式进行通信,在通信的过程中用户会一直占用一部分信道资源。但是由于计算机数据的突发性质,没必要一直占用信道资源而不让出给其它用户使用,因此这两种方式对信道的利用率都不高。

    2. 统计时分复用

    是对时分复用的一种改进,不固定每个用户在时分复用帧中的位置,只要有数据就集中起来组成时分复用帧然后发送。

    3. 波分复用

    光的频分复用。由于光的频率很高,因此习惯上用波长而不是频率来表示所使用的光载波。

    4. 码分复用

    为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 $\vec{S}$ 和 $\vec{T}$ 有

    为了方便,取 m=8,设码片 $\vec{S}$ 为 00011011。在拥有该码片的用户发送比特 1 时就发送该码片,发送比特 0 时就发送该码片的反码 11100100。

    在计算时将 00011011 记作 (-1 -1 -1 +1 +1 -1 +1 +1),可以得到

    其中 $\vec{S'}$ 为 $\vec{S}$ 的反码。

    利用上面的式子我们知道,当接收端使用码片 $\vec{S}$ 对接收到的数据进行内积运算时,结果为 0 的是其它用户发送的数据,结果为 1 的是用户发送的比特 1,结果为 -1 的是用户发送的比特 0。

    码分复用需要发送的数据量为原先的 m 倍。

    第三章 数据链路层

    三个基本问题

    1. 封装成帧

    将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。

    2. 透明传输

    透明表示一个实际存在的事物看起来好像不存在一样。

    帧中有首部和尾部,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据中出现首部尾部相同的内容前面插入转义字符,如果需要传输的内容正好就是转义字符,那么就在转义字符前面再加个转义字符,在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。

    3. 差错检测

    目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。

    点对点信道 - PPP 协议

    互联网用户通常需要连接到某个 ISP 之后才能接入到互联网,PPP 协议就是用户计算机和 ISP 进行通信时所使用的数据链路层协议。

    在 PPP 的帧中,F 字段为帧的定界符,A 和 C 暂时没有意义。FCS 是使用 CRC 的检验序列。信息部分的长度不超过 1500。

    局域网的拓扑

    广播信道 - CSMA/CD 协议*

    在广播信道上,同一时间只能允许一台计算机发送数据。

    CSMA/CD 表示载波监听多点接入 / 碰撞检测。

    多点接入:说明这是总线型网络,许多计算机以多点的方式连接到总线上。载波监听:每个站都必须不停地检听信道。在发送前,如果检听信道正在使用,就必须等待。碰撞检测:在发送中,如果检听信道已有其它站正在发送数据,就表示发生了碰撞。虽然每一个站在发送数据之前都已经检听信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。

    记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 争用期。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

    当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定,从离散的整数集合 {0, 1, .., (2k-1)} 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。

    集线器

    从表面上看,使用集线器的局域网在物理上是一个星型网。但是集线器使用电子器件来模拟实际缆线的工作,逻辑上仍是一个总线网,整个系统仍像一个传统以太网那样运行。

    MAC 层

    MAC 地址是 6 字节(48 位)的地址,用于唯一表示网络适配器(网卡),一台主机拥有多少个适配器就有多少个 MAC 地址,例如笔记本电脑普遍存在无线网络适配器和有线网络适配器。

    MAC 帧用类型字段来标记上层使用什么协议;数据字段长度在 46-1500 之间,如果太小则需要填充;FCS 为帧检验序列,使用的是 CRC 检验方法;前面插入的前同步码只是为了计算 FCS 临时加入的,计算结束之后会丢弃。

    虚拟局域网

    虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到广播信息,例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网,A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。

    第四章 网络层*

    网际协议 IP 概述

    因为网络层是整个互联网的核心,因此应当让网络层尽可能简单。网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。

    使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。

    与 IP 协议配套使用的还有三个协议:

    1. 地址解析协议 ARP(Address Resolution Protocol)
    2. 网际控制报文协议 ICMP(Internet Control Message Protocol)
    3. 网际组管理协议 IGMP(Internet Group Management Protocol)

    IP 数据报格式

    版本 : 有 4(IPv4)和 6(IPv6)两个值;

    首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为首部固定长度为 20 字节,因此该值最小为 5。如果可选部分的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。

    区分服务 : 用来获得更好的服务,一般情况下不使用用。

    总长度 : 包括首部长度和数据部分长度。

    标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。

    片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。

    生存时间 :TTL,它的存在为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。

    协议:指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。

    首部检验和:因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。

    IP 地址编址

    IP 地址的编址方式经历了三个历史阶段:

    1. 分类的 IP 地址;
    2. 子网的划分;
    3. 构成超网。

    1. 分类的 IP 地址

    由两部分组成,网络号和主机号,其中不同类别具有不同的网络号长度,并且是固定的。

    IP 地址 ::= {< 网络号 >, < 主机号 >}

    2. 划分子网

    通过在网络号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。注意,外部网络看不到子网的存在。

    IP 地址 ::= {< 网络号 >, < 子网号 >, < 主机号 >}

    要使用子网,必须配置子网掩码。一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网占两个比特,那么子网掩码为 11111111 11111111 11000000 000000,也就是 255.255.192.0。

    3. 无分类编址 CIDR(构成超网)

    CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。

    IP 地址 ::= {< 网络前缀号 >, < 主机号 >}

    CIDR 的记法上采用在 IP 地址后面加上网络前缀长度的方法,例如 128.14.35.7/20 表示前 20 位为网络前缀。

    CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为网络前缀的长度。

    一个 CIDR 地址块中有很多地址,一个 CIDR 表示的网络就可以表示原来的很多个网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表项的数量。把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为构成超网。

    在路由表中每个项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一个匹配结果,应当采用最长前缀匹配。

    IP 地址和 MAC 地址

    网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。因此在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变。

    地址解析协议 ARP

    实现由 IP 地址得到 MAC 地址。

    每个主机都有一个 ARP 高速缓存,存放映射表。如果一个 IP 地址 到 MAC 地址的映射不在该表中,主机通过广播的方式发送 ARP 请求分组,匹配 IP 地址的主机会发送 ARP 响应分组告知 MAC 地址。

    路由器的结构

    路由器从功能上可以划分为两大部分:路由选择和分组转发。

    分组转发部分由三部分组成:交换结构、一组输入端口和一组输出端口。

    交换结构的交换网络有以下三种实现方式:

    交换机与路由器的区别

    • 交换机工作于数据链路层,能识别 MAC 地址,根据 MAC 地址转发链路层数据帧。具有自学机制来维护 IP 地址与 MAC 地址的映射。

    • 路由器位于网络层,能识别 IP 地址并根据 IP 地址转发分组。维护着路由表,根据路由表选择最佳路线。

    路由器分组转发流程

    1. 从数据报的首部提取目的主机的 IP 地址 D,得到目的网络地址 N。(路由表项是网络号而不是 IP 地址,这样做大大减少了路由表条目数量)
    2. 若 N 就是与此路由器直接相连的某个网络地址,则进行直接交付;
    3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给表中所指明的下一跳路由器;
    4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;
    5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;
    6. 报告转发分组出错。

    路由选择协议

    互联网使用的路由选择协议都是自适应的,能随着网络通信量和拓扑变化而自适应地进行调整。

    互联网可以划分为许多较小的自治系统 AS,一个 AS 可以使用一种和别的 AS 不同的路由选择协议。

    可以把路由选择协议划分为两大类:

    1. 内部网关协议 IGP(Interior Gateway Protocol) 在自治系统内部使用,如 RIP 和 OSPF。
    2. 外部网关协议 EGP(External Gateway Protocol) 在自治系统之间使用,如 BGP。

    1. 内部网关协议 RIP

    RIP 是一种分布式的基于距离向量的路由选择协议。距离是指跳数,直接相连的路由器跳数为 1,跳数最多为 15,超过 15 表示不可达。

    RIP 按固定的时间间隔仅和相邻路由器交换自己的路由表,经过若干次交换之后,所有路由器最终会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器地址。

    距离向量算法:

    1. 对地址为 X 的相邻路由器发来的 RIP 报文,先修改报文中的所有项目,把下一跳字段中的地址改为 X,并把所有的距离字段加 1;
    2. 对修改后的 RIP 报文中的每一个项目,进行以下步骤:
    • 若原来的路由表中没有目的网络 N,则把该项目添加到路由表中;
    • 否则:若下一跳路由器地址是 X,则把收到的项目替换原来路由表中的项目;否则:若收到的项目中的距离 d 小于路由表中的距离,则进行更新(例如原始路由表项为 Net2, 5, P,新表项为 Net2, 4, X,则更新);否则什么也不做。
    1. 若 3 分钟还没有收到相邻路由器的更新路由表,则把该相邻路由器标为不可达,即把距离置为 16。

    RIP 协议实现简单,开销小,但是 RIP 能使用的最大距离为 15,限制了网络的规模。并且当网络出现故障时,要经过比较长的时间才能将此消息传送到所有路由器。

    2. 内部网关协议 OSPF

    开放最短路径优先 OSPF,是为了克服 RIP 的缺点而开发出来的。

    开放表示 OSPF 不受某一家厂商控制,而是公开发表的;最短路径优先是因为使用了 Dijkstra 提出的最短路径算法 SPF。

    OSPF 具有以下特点:

    1. 向本自治系统中的所有路由器发送信息,这种方法是洪泛法。
    2. 发送的信息就是与相邻路由器的链路状态,链路状态包括与哪些路由器相连以及链路的度量,度量用费用、距离、时延、带宽等来表示。
    3. 只有当链路状态发生变化时,路由器才会发送信息。

    所有路由器都具有全网的拓扑结构图,并且是一致的。相比于 RIP,OSPF 的更新过程收敛的很快。

    3. 外部网关协议 BGP

    AS 之间的路由选择很困难,主要是互联网规模很大。并且各个 AS 内部使用不同的路由选择协议,就无法准确定义路径的度量。并且 AS 之间的路由选择必须考虑有关的策略,比如有些 AS 不愿意让其它 AS 经过。

    BGP 只能寻找一条比较好的路由,而不是最佳路由。它采用路径向量路由选择协议。

    每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息。

    网际控制报文协议 ICMP

    ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议。

    ICMP 报文分为差错报告报文和询问报文。

    分组网间探测 PING

    PING 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。

    PING 的过程:

    1. PING 同一个网段的主机,查找目的主机的 MAC 地址,然后直接交付。如果无法查找到 MAC 地址,就要进行一次 ARP 请求。
    2. PING 不同网段的主机,就发送给网关让其进行转发。同样要发送给网关也需要通过查找网关的 MAC 地址,根据 MAC 地址进行转发。

    IP 多播

    在一对多的通信中,多播不需要将分组复制多份,从而大大节约网络资源。

    虚拟专用网 VPN

    由于 IP 地址的紧缺,一个机构能申请到的 IP 地址数往往远小于本机构所拥有的主机数。并且一个机构并不需要把所有的主机接入到外部的互联网中,机构内的计算机可以使用仅在本机构有效的 IP 地址(专用地址)。

    有三个专用地址块:

    1. 10.0.0.0 ~ 10.255.255.255
    2. 172.16.0.0 ~ 172.31.255.255
    3. 192.168.0.0 ~ 192.168.255.255

    VPN 使用公用的互联网作为本机构各专用网之间的通信载体。专用指机构内的主机只与本机构内的其它主机通信;虚拟指“好像是”,而实际上并不是,它有经过公用的互联网。

    下图中,场所 A 和 B 的通信部经过互联网,如果场所 A 的主机 X 要和另一个场所 B 的主机 Y 通信,IP 数据报的源地址是 10.1.0.1,目的地址是 10.2.0.3。数据报先发送到与互联网相连的路由器 R1,R1 对内部数据进行加密,然后重新加上数据报的首部,源地址是路由器 R1 的全球地址 125.1.2.3,目的地址是路由器 R2 的全球地址 194.4.5.6。路由器 R2 收到数据报后将数据部分进行解密,恢复原来的数据报,此时目的地址为 10.2.0.3,就交付给 Y。

    网络地址转换 NAT

    专用网内部的主机使用本地 IP 地址又想和互联网上的主机通信时,可以使用 NAT 来将本地 IP 转换为全球 IP。

    在以前,NAT 将本地 IP 和全球 IP 一一对应,这种方式下拥有 n 个全球 IP 地址的专用网内最多只可以同时有 n 台主机接入互联网。为了更有效地利用全球 IP 地址,现在常用的 NAT 转换表把运输层的端口号也用上了,这样可以使得多个专用网内部的主机共用一个全球 IP 地址。使用端口号的 NAT 也叫做网络地址与端口转换 NAPT。

    第五章 运输层*

    网络层只把分组发送到目的主机,但是真正通信的并不是主机而是主机中的进程。

    运输层提供了应用进程间的逻辑通信。运输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看见的好像在两个运输层实体之间有一条端到端的逻辑通信信道。

    UDP 和 TCP 的特点

    用户数据包协议 UDP(User Datagram Protocol)传输控制协议 TCP(Transmission Control Protocol)

    UDP 是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部)。

    TCP 是面向连接的,提供可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块)

    UDP 首部格式

    首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。12 字节的伪首部是为了计算检验和而临时添加的。

    TCP 首部格式

    序号 :用于对字节流进行编号,例如序号为 301,表示第一个字节的编号为 301,如果携带的数据长度为 100 字节,那么下一个报文段的序号应为 401。

    确认号 :期望收到的下一个报文段的序号。例如 B 正确收到 A 发送来的一个报文段,序号为 501,携带的数据长度为 200 字节,因此 B 期望下一个报文段的序号为 701,B 发送给 A 的确认报文段中确认号就为 701。

    数据偏移 :指的是数据部分距离报文段起始处的偏移量,实际上指的是首部的长度。

    确认 ACK :当 ACK=1 时确认号字段有效,否则无效。TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1。

    同步 SYN :在连接建立时用来同步序号。当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1。

    终止 FIN :用来释放一个连接,当 FIN=1 时,表示此报文段的发送方的数据已发送完毕,并要求释放运输连接。

    窗口 :窗口值作为接收方让发送方设置其发送窗口的依据。之所以要有这个限制,是因为接收方的数据缓存空间是有限的。

    TCP 的三次握手

    假设 A 为客户端,B 为服务器端。

    1. 首先 B 处于 LISTEN(监听)状态,等待客户的连接请求。
    2. A 向 B 发送连接请求报文段,SYN=1,ACK=0,选择一个初始的序号 x。
    3. B 收到连接请求报文段,如果同意建立连接,则向 A 发送连接确认报文段,SYN=1,ACK=1,确认号为 x+1,同时也选择一个初始的序号 y。
    4. A 收到 B 的连接确认报文段后,还要向 B 发出确认,确认号为 y+1,序号为 x+1。
    5. B 收到 A 的确认后,连接建立。

    TCP 的四次挥手

    以下描述不讨论序号和确认号,因为序号和确认号的规则比较简单。并且不讨论 ACK,因为 ACK 在连接建立之后都为 1。

    1. A 发送连接释放报文段,FIN=1;
    2. B 收到之后发出确认,此时 TCP 属于半关闭状态,B 能向 A 发送数据但是 A 不能向 B 发送数据;
    3. 当 B 要不再需要连接时,发送连接释放请求报文段,FIN=1;
    4. A 收到后发出确认,此时连接释放。

    TIME_WAIT

    客户端接收到服务器端的 FIN 报文后进入此状态,此时并不是直接进入 CLOSED 状态,还需要等待一个时间计时器设置的时间。这么做有两个理由:

    1. 确保最后一个确认报文段能够到达。如果 B 没收到 A 发送来的确认报文段,那么就会重新发送连接释放请求报文段,A 等待一段时间就是为了处理这种情况的发生。
    2. 可能存在“已失效的连接请求报文段”,为了防止这种报文段出现在本次连接之外,需要等待一段时间。

    TCP 滑动窗口

    窗口是缓存的一部分,用来暂时存放字节流。发送方和接收方各有一个窗口,接收方通过 TCP 报文段中的窗口字段告诉发送方自己的窗口大小,发送方根据这个值和其它信息设置自己的窗口大小。

    发送窗口内的字节都允许被发送,接收窗口内的字节都允许被接收。如果发送窗口左部的字节已经发送并且收到了确认,那么就将发送窗口向右滑动一定距离,直到左部第一个字节不是已发送并且已确认的状态;接收窗口的滑动类似,接收窗口左部字节已经发送确认并交付主机,就向右滑动接收窗口。

    接收窗口只会对窗口内最后一个按序到达的字节进行确认,例如接收窗口已经收到的字节为 {31, 32, 34, 35},其中 {31, 32} 按序到达,而 {34, 35} 就不是,因此只对字节 32 进行确认。发送方得到一个字节的确认之后,就知道这个字节之前的所有字节都已经被接收。

    TCP 可靠传输

    TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文段在超时时间内没有收到确认,那么就重传这个报文段。

    一个报文段从发送再到接收到确认所经过的时间称为往返时间 RTT,加权平均往返时间 RTTs 计算如下:

    超时时间 RTO 应该略大于 RRTs,TCP 使用的超时时间计算如下:

    其中 RTTd 为偏差,它与新的 RRT 和 RRTs 有关。

    TCP 流量控制

    流量控制是为了控制发送方发送速率,保证接收方来得及接收。

    接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。例如将窗口字段设置为 0,则发送方不能发送数据。

    TCP 拥塞控制

    如果网络出现拥塞,分组将会丢失,此时发送方会继续重传,从而导致网络拥塞程度更高。因此当出现拥塞时,应当控制发送方的速率。这一点和流量控制很像,但是出发点不同。流量控制是为了让接收方能来得及接受,而拥塞控制是为了降低整个网络的拥塞程度。

    TCP 主要通过四种算法来进行拥塞控制:慢开始、拥塞避免、快重传、快恢复。发送方需要维护有一个叫做拥塞窗口(cwnd)的状态变量。注意拥塞窗口与发送方窗口的区别,拥塞窗口只是一个状态变量,实际决定发送方能发送多少数据的是发送方窗口。

    为了便于讨论,做如下假设:

    1. 接收方有足够大的接收缓存,因此不会发生流量控制;
    2. 虽然 TCP 的窗口基于字节,但是这里设窗口的大小单位为报文段。

    慢开始与拥塞避免

    发送的最初执行慢开始,令 cwnd=1,发送方只能发送 1 个报文段;当收到确认后,将 cwnd 加倍,因此之后发送方能够发送的报文段为:2、4、8 ...

    注意到慢开始每个轮次都将 cwnd 加倍,这样会让 cwnd 增长速度非常快,从而使得发送方发送的速度增长速度过快,网络拥塞的可能也就更高。设置一个慢开始门限 ssthresh,当 cwnd >= ssthresh 时,进入拥塞避免,每个轮次只将 cwnd 加 1。

    如果出现了超时,则令 ssthresh = cwnd / 2,然后重新执行慢开始。

    快重传与快恢复

    在接收方,要求每次接收到报文段都应该发送对已收到有序报文段的确认,例如已经接收到 M1 和 M2,此时收到 M4,应当发送对 M2 的确认。

    在发送方,如果收到三个重复确认,那么可以确认下一个报文段丢失,例如收到三个 M2 ,则 M3 丢失。此时执行快重传,立即重传下一个报文段。

    在这种情况下,只是丢失个别报文段,而不是网络拥塞,因此执行快恢复,令 ssthresh = cwnd / 2 ,cwnd = ssthresh,注意到此时直接进入拥塞避免。

    第六章 应用层*

    域名系统 DNS

    把主机名解析为 IP 地址。

    被设计成分布式系统。

    1. 层次结构

    一个域名由多个层次构成,从上层到下层分别为顶级域名、二级域名、三级域名以及四级域名。所有域名可以画成一颗域名树。

    域名服务器可以分为以下四类:

    (1) 根域名服务器:解析顶级域名;

    (2) 顶级域名服务器:解析二级域名;

    (3) 权限域名服务器:解析区内的域名;

    区和域的概念不同,可以在一个域中划分多个区。图 b 在域 abc.com 中划分了两个区:abc.com 和 y.abc.com

    因此就需要两个权限域名服务器:

    (4) 本地域名服务器:也称为默认域名服务器。可以在其中配置高速缓存。

    2. 解析过程

    主机向本地域名服务器解析的过程采用递归,而本地域名服务器向其它域名服务器解析可以使用递归和迭代两种方式。

    迭代的方式下,本地域名服务器向一个域名服务器解析请求解析之后,结果返回到本地域名服务器,然后本地域名服务器继续向其它域名服务器请求解析;而递归地方式下,结果不是直接返回的,而是继续向前请求解析,最后的结果才会返回。

    文件传输协议 FTP

    FTP 在运输层使用 TCP,并且需要建立两个并行的 TCP 连接:控制连接和数据连接。控制连接在整个会话期间一直保持打开,而数据连接在数据传送完毕之后就关闭。控制连接使用端口号 21,数据连接使用端口号 20。

    远程终端协议 TELNET

    TELNET 用于登录到远程主机上,并且远程主机上的输出也会返回。

    TELNET 可以适应许多计算机和操作系统的差异,例如不同操作系统系统的换行符定义。

    万维网 WWW

    见 HTTP 笔记。

    电子邮件协议

    一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件发送协议和读取协议。其中发送协议常用 SMTP,读取协议常用 POP3 和 IMAP。

    POP3

    POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。

    IMAP

    IMAP 协议中客户端和服务器上的邮件保持同步,如果不去手动删除邮件,那么服务器上的邮件也不会被删除。IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。IMAP 协议也支持创建自定义的文件夹。

    SMTP

    SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。MIME 并没有改动或者取代 SMTP,而是增加邮件主题的结构,定义了非 ASCII 码的编码规则。

    动态主机配置协议 DHCP

    DHCP 提供了即插即用的连网方式,用户不再需要去手动配置 IP 地址等信息。

    DHCP 配置的内容不仅是 IP 地址,还包括子网掩码、默认路由器 IP 地址、域名服务器的 IP 地址。

    工作方式如下:需要 IP 地址的主机广播发送 DHCP 发现报文(将目的地址置为全 1,即 255.255.255.255:67,源地址设置为全 0,即 0.0.0.0:68),DHCP 服务器收到发现报文之后,则在 IP 地址池中取一个地址,发送 DHCP 提供报文给该主机。

    点对点传输 P2P

    把某个文件分发的所有对等集合称为一个洪流。文件的数据单元称为文件块,它的大小是固定的。一个新的对等方加入某个洪流,一开始并没有文件块,但是能够从其它对等方中逐渐地下载到一些文件块,与此同时,它也为别的对等方上传一些文件块。

    每个洪流都有一个基础设施,称为追踪器。当一个对等方加入洪流时,必须向追踪器登记,并周期性地通知追踪器它仍在洪流中。可以在任何时间加入和退出某个洪流。

    一个新的对等方加入洪流时,追踪器会随机从洪流中选择若干个对等方,并让新对等方与这些对等方建立连接,把这些对等方称为相邻对等方。接收和发送文件块都是在相邻对等方中进行。

    当一个对等方需要很多文件块时,通过使用最稀有优先的策略来取得文件块,也就是一个文件块在相邻对等方中副本最少,那么就优先请求这个文件块。

    当很多对等方向同一个对等方请求文件块时,该对等方优先选择以最高速率向其发送文件块的对等方。

    P2P 是一个分布式系统,任何时候都有对等方加入或者退出。使用分布式散列表 DHT,可以查找洪流中的资源和 IP 地址映射。

    Web 页面请求过程

    1. 向 DNS 服务器发送 DNS 查询报文来解析域名。

    2. 开始进行 HTTP 会话,需要先建立 TCP 连接。

    3. 在运输层的传输过程中,HTTP 报文被封装进 TCP 中。HTTP 请求报文使用端口号 80,因为服务器监听的是 80 端口。连接建立之后,服务器会随机分配一个端口号给特定的客户端,之后的 TCP 传输都是用这个分配的端口号。

    4. 在网络层的传输过程中,TCP 报文段会被封装进 IP 分组中,IP 分组经过路由选择,最后到达目的地。

    5. 在链路层,IP 分组会被封装进 MAC 帧中,IP 地址解析成 MAC 地址需要使用 ARP。

    6. 客户端发送 HTTP 请求报文,请求获取页面。

    7. 服务器发送 HTTP 相应报文,客户端从而获取该页面。

    8. 浏览器得到页面内容之后,解析并渲染,向用户展示页面。

    常用端口

    应用层协议端口号运输层协议
    DNS53UDP
    FTP控制连接 21,数据连接 20TCP
    TELNET23TCP
    DHCP67 68UDP
    HTTP80TCP
    SMTP25TCP
    POP3110TCP
    IMAP143TCP

    参考资料

    • 计算机网络 第七版
    • 自顶向下计算机网络
    展开全文
  • 计算机网络第六版(谢希仁)】网络要点总结

    千次阅读 多人点赞 2018-04-22 15:42:40
    一、网络分层  OSI 七层模型、TCP/IP 四层模型、五层模型图:  OSI 七层模型:  1、 物理层:主要定义物理标准,如网线的接口类型、光纤的接口类型、各种介质的传输速率等。它的主要作用是传输比特流(就是由1、...

    一、网络分层

                   OSI 七层模型、TCP/IP 四层模型、五层模型图:

         OSI 七层模型:

              1、 物理层:主要定义物理标准,如网线的接口类型、光纤的接口类型、各种介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,

    到大目的地后在转化为 1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫比特。

              2、数据链路层:定义了如何让格式化数据以数据帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

    (即 封装成帧、透明传输、差错检测)如:串口通信中使用到的 115200、8、N、1。

              3、网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet 的发展使得从世界各个站点访问信息的用户数大大增加,而网络层正是管理

    这种连接的层。即 网络层负责数据包从源到宿的传递和网际互连(包PackeT)

               4、传输层:定义了一些传输数据的协议和端口(www 端口 80 等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),

    UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求高,数据量小的数据,如QQ聊天就是通过这种方式传输的)。主要是将从下层接收的数据进行分段和传

    输,到大目的地址后再进行重组。常常把这一层数据叫做段。传输层,提供端到端的可靠报文传递和错误恢复(段Segment)

               5、会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接收会话请求。(设备之间需要相互认识可以是 IP 也

    可以是 MAC 或者是主机名)。即,会话层:建立、管理和终止会话(会话协议数据单元SPDU)

               6、表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC 程序员与另一台计算机进行通信,其中一台计算机使用扩展二一十进制

    交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。即,表示

    :对数据进行翻译、加密和压缩(表示协议数据单元PPDU)

              7、应用层:是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

          

         TCP/IP 四层模型:

        

    二、典型协议

                   传输层:         常见的协议有  TCP/UDP 协议

                   应用层:         常见的协议有 HTTP,FTP 协议

                   网络层:         常见的协议有 IP 协议,ICMP 协议,IGMP 协议

                   网络接口层:  常见的协议有 ARP 协议,RARP 协议

                   TCP      传输控协议(TransmissionControl Protocol)是一种面向连接的,可靠的,基于字节流的传输层通信协议

                   UDP      用户数据包协议(UserDatagram Protocol)是 OSI 参考模型中一种无连接的传输层协议,提供面向事物的简单不可靠信息传送服务

                   HTTP    超文本传输系协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种协议

                   FTP       文件传输协议(File Transfer Protocol)

                   IP          协议是英特网互联协议(Internet Protocol)

                   ICMP     协议是 Internet 控制报文协议(Internet Control Message Protocol),它是 TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息

                   IGMP     协议是 Internet 网际组管理协议,是英特网协议家族中的一个组播协议。该协议运行在主机和组播路由之间

                   ARP       协议是正向地址解析协议(Address Resolution Protocol),通过已知的 IP,寻找对应主机的 MAC 地址

                   RARP    协议是方向地址解析协议,通过 MAC 地址确定 IP地址

                   TFTP      协议是 TCP/IP 协议族中的一个用来在客户机和服务器之间进行简单文件传输的协议,提供不复杂、开销不大

    的文件传输协议

                   DHCP     协议,动态主机配置协议,是一种让系统得以连接到网络上的,并获取 所需要的配置参数的手段

                   NAT       协议,网络地址转换属接入广域网(WAN),是将一种私有(保留)地址转换为合法IP地址的转换技术

    三、TCP 和 UDP对应的协议

    TCP 对应的协议:

    (1)、FTP:定义了文件传输协议,使用 21 端口。

    (2)、Telnet:远程登录协议。使用 23 号端口,用户可以以自己的身份远程登录到计算机上,可提供基于DOS模式下的通信服务。

    (3)、SMTP:邮件传送协议,用于发送邮件。服务器开放的端口是 25 号端口。

    (4)、POP3 :它和 SMTP 对应,POP3用于接收协议。所用的端口是 110。

    (5)、HTTP:是从 Web 服务器传送超文本到本地浏览器的传送协议。

    UDP对应的协议:

    (1)、DNS:用于域名解析服务,将域名地址转换为 IP 地址。DNS 用的是 53号端口。

    (2)、SNMP:简单网络管理协议,使用 161 号端口,是用来管理网络设备。

    (3)、TFTP:简单文件传输协议,在 69 号端口上使用 UDP 服务。


    四、IP地址的分类:

    A类地址:以 0 开头,第一个字节范围:0~127(1.0.0.0-126.255.255.255)

    B类地址:以10开头,第一个字节范围:128~191(128.0.0.0-191.255.255.255)

    C类地址:以 110 开头,第一个字节范围:192~233(192.0.0.0-223.255.255.255)

    10.0.0.0-10.255.255.255,172.16.0.0-172.31.255.255,192.168.0.0-192.168.255.255(Internet 保留地址,用于内部)


    五、ARP是地址解析协议,简单语言解释一下工作原理。

    1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。

    2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段

    的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址

    3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从

    数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。

    4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

    广播发送ARP请求,单播发送ARP响应。

    六、描述:RARP

    RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在

    网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后

    广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用

    于具有广播能力的网络。


    七、浏览器中输入www.baidu.com后执行的全部过程

    1、客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个

    HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。

    2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口

    如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。

    3、客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由

    路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。

    4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可

    以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

    八、DNS域名系统,简单描述其工作原理。

    当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,

    指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需

    要完成主机名到IP地址的转换。

    九、面向连接和非面向连接的服务的特点是什么?

    面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实

    时地监控和管理。非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息

    自主地在网络上去传,一般在传输的过程中不再加以监控。

    十、了解交换机、路由器、网关的概念、并知道各自的用途

    (1)、交换机

    在计算机网络系统中,交换机是针对共享工作模式的弱点推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有端口都挂接在这条背部总线上,当控制电路 收到数据包以后,处理端口会查找内存中的地址对照表以确定目的 MAC (网卡的硬件地址)的 NIC(网卡)

    挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。目的 MAC 若不存在,交换机才广播到所有的端口,接收端口回应后交换机会”学习“ 新的地址。并把它添加到内部地址表或中。

    交换机工作于 OSI 参考模型的第二层,即数据链路层。交换机内部的CPU 会在每个端口成功连接时,通过 ARP 协议学习它的 MAC 地址,保存一张 ARP 表。在今后的通讯中,发往该 MAC 地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

    交换机被广泛用于二层 网络交换,俗称“二层交换机”。

    交换机的种类有:二层交换机,三层交换机、四层交换机、七层交换机分别工作 OSI 七层模型中的第二层、第三层、第七层,并因此得名。

    (2)、路由器

    路由器是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源段到目的端所经过的路由路径(host 到 host 之间的传输路径),这个过程称之为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为传送。路由工作在 OSI 模型的第三层 — 即网络层,例如,网际协议。

    路由器的一个作用是联通一个网络,另一个作用是选择信息传送的路径。路由器与交换器的差别,路由器是属于 OSI 第三层产品,交换器是属于OSI第二层产品(这里指的是二层交换机)。

    (3)、网关

    网关,顾名思义就是连接两个网络的设备,却别在于路由器(由于历史的原因,许多有关 TCP/IP 的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用的都是路由来接入网络,因此,现在通常指的网关就是路由器的 IP),经常在家庭中或者小型企业中使用,用于连接局域网和 Internet。网关经常指把一种协议转换成另一种协议的设备,比如语音网关。

    在传统 TCP/IP 术语中,网络设备只分为两种,一种网关,另一种主机。网关能在网络之间传送数据包,但主机不能传送数据包。在主机中,数据包经过 TCP/IP 四层协议处理,但是在网关(又称中介系统)只需到达网际层,决定路径之后就可以传送。在当时,网关与路由器还没有区别。

    在现代网络术语中,网关(gateway)与路由器(router)的定义不同。网关(gateway)能在不同协议间移动数据,而路由器(router)

    是在不同网络间移动数据,相当于传统所说的IP网关(IP gateway)。

    网关是连接两个网路的设备,对于语音网关来说,它可以连接 PSTN 网路和以太网,这就相当于 VOIP,把不同电话中的模拟信号通过网关转换成数字信号,而且加入协议再去传输。在到了接收端的时候在通过网关还原成模拟的电话信号,最后才能在主机上听到。

    对于以太网中的网关只能转发三层以上数据包,这一点和路由是一样的。而不同的是网关中并没有路由表,他只能按照预先设定的不同

    网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。

    十一、端口及对应的服务?

    服务

    端口号

    服务

    端口号

    FTP

    21

    SSH

    22

    telnet

    23

    SMTP

    25

    Domain(域名服务器)

    53

    HTTP

    80

    POP3

    110

    NTP(网络时间协议)

    123

    MySQL数据库服务

    3306

    Shell或 cmd

    514

    POP-2

    109

    SQL Server

    1433












    十二、IP数据包的格式

    IP数据报由首部 和数据  两部分组成。首部由固定部分和可选部分  组成。首部的固定部分有 20 字节。可选部分的长度变化范围为1——40字节。固定部分的字段:

    字段名

    位数(bit)

    字段名

    位数

    版本

    4  Ipv4

    首部长度

    4(表示的最大数为15个单位,一个单位表示4字节)

    服务类型

    8  以前很少用

    总长度

    16 (首部和数据部分的总长度,因此数据报的最大长度为65535字节,即64KB,但是由于链路层的MAC都有一定的最大传输单元,因此IP数据报的长度一般都不会有理论上的那么大,如果超出了MAC的最大单元就会进行分片)

    标识

    16 (相同的标识使得分片后的数据报片能正确的重装成原来的数据报)

    标志

    3 (最低位MF=1表示后面还有分片,MF=0表示这是若干个数据报片的最后一个中间位DF=0才允许分片)

    片偏移

    片偏移指出较长的分组在分片后,某片在原分组中的相对位置,都是8字节的偏移位置

    生存时间

    数据报在网络中的生存时间,指最多经过路由器的跳数

    协议

    8 (指出该数据报携带的数据是何种协议,以使得目的主机的IP层知道应将数据部分上交给哪个处理程序)如ICMP=1 IGMP=2 TCP=6 EGP=8 IGP=9 UDP=17 Ipv6=41 OSPF=89

    首部校验和

    这个部分只校验首部,不包括数据部分,计算方法:将首部划分为多个16位的部分,然后每个16位部分取反,然后计算和,再将和取反放到首部校验和。接收方收到后按同样的方法划分,取反,求和,在取反,如果结果为零,则接收,否则就丢弃

    源地址

    32

    目的地址

    32
























    十三、TCP数据报的格式?

    一个TCP报文段分为首部和数据两部分。首部由固定部分和选项部分组成,固定部分是20字节。TCP首部的最大长度为60。首部固定部分字段:


    字段名

    字节(Byte)

    字段名

    字节(Byte)

    源端口

    2

    目的端口

    2

    序号

    4

    确认号

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

    数据偏移

    4bit 指出TCP报文段的数据起始处距离TCP报文段的起始有多远

    保留

    6bit

    紧急比特URG

    确认比特ACK

    只有当ACK=1时,确认号字段才有效

    推送比特PSH

    复位比特RST

    同步比特SYN

    终止比特FIN

    窗口

    2

    检验和

    2 (包括首部和数据两部分,同时还要加12字节的伪首部进行校验和计算)

    选项

    长度可变(范围1——40)















    TCP的12字节伪首部:

    源IP地址(4)

    目的IP地址(4)

    0 (1)

    6(1) 代表这是TCP,IP协议中提到过

    TCP长度(2)

    TCP数据报的格式?

    用户数据报UDP由首部和数据部分组成。首部只有8个字节,由4个字段组成,每个字段都是两个字节。


    字段名

    字节

    字段名

    字节

    源端口

    2

    目的端口

    2

    长度

    2

    检验和

    2 (检验首部和数据,加12字节的伪首部)



    UDP的12字节伪首部:

    源IP地址(4)

    目的IP地址(4)

    0 (1)

    17(1) 代表这是UDP

    UDP长度(2)

    以太网MAC帧格式?

    前导码 前定界符 目的地址 源目的地址 长度字段 数据字段 校验字段
    7B 1B 6B 6B 2B 46-1500 4B







    十四、TCP的12字节伪首部:

    源IP地址(4)

    目的IP地址(4)

    0 (1)

    6(1) 代表这是TCP,IP协议中提到过

    TCP长度(2)



    十五、TCP数据报的格式?

    用户数据报UDP由首部和数据部分组成。首部只有8个字节,由4个字段组成,每个字段都是两个字节。


    字段名

    字节

    字段名

    字节

    源端口

    2

    目的端口

    2

    长度

    2

    检验和

    2 (检验首部和数据,加12字节的伪首部)







    UDP的12字节伪首部:

    源IP地址(4)

    目的IP地址(4)

    0 (1)

    17(1) 代表这是UDP

    UDP长度(2)



    十六、以太网MAC帧格式?

    前导码 前定界符 目的地址 源目的地址 长度字段 数据字段 校验字段
    7B 1B 6B 6B 2B 46-1500 4B


    展开全文
  • 计算机网络基础知识(笔记)

    万次阅读 多人点赞 2020-09-03 20:13:17
    计算机网络 二、常见的计算机连网方法 2.1 互联网 互联网(互连网) 由许多网络通过路由器互连而成 三、计算机网络的带宽 计算机网络的带宽是指网络可通过的最高数据率,即每秒...

    一、现在三种主要的网络

    • 电信网络(电话网)
    • 有线电视网络
    • 计算机网络

    二、常见的计算机连网方法

    这里写图片描述


    2.1 互联网

    互联网(互连网) 由许多网络通过路由器互连而成


    三、计算机网络的带宽

    计算机网络的带宽是指网络可通过的最高数据率,即每秒多少比特

    例如:带宽是 10M 。 实际上是 10Mbps,和网络下载速度不是同一个单位。换成下载速度,粗略情况除以8即表示下载速度。


    3.1什么是宽带

    宽带线路: 可通过较高数据率的线路。

    在目前,对于用于接入到因特网的用户线来说,每秒传送几个兆比特就可以算是宽带速率。


    3.2 宽带 vs 窄带

    宽带比窄带每秒有更多的比特从计算机注入到线路。 但是二者的传播速率是一样的。


    四. 分组交换

    这里写图片描述

    4.1 IP网络特点

    • 每一个分组独立选择路由
    • 发往同一个目的地的分组,后发送的有可能先到达,(不能保证接收顺序)
    • 当网络中的通信量过大时,路由器来不及处理分组时,会丢弃一些分组。
    • IP网路不保证分组的可靠交付;IP网路提供的服务被称为: 尽最大努力服务

    IP网络传送的分组常称为:IP分组或者IP数据报(IP datagram)

    这里写图片描述

    4.2 构造路由表

    • 路由器之间不断地互相通告路由信息
    • 路由器根据所掌握的路由信息构造出自己的
    • 路由器之间交换路由信息都要遵守有关路由选择协议
    • 当网络状况发生变化时,路由器中的路由表能够自动进行更新,从而保证正确地转发分组

    当IP网路中的某些路由或链路被破坏时,路由器可以自动调整路由,使得网络一直保持连通。 这种动态调整的整个过程对用户是透明的。


    五. TCP/IP 协议

    这里写图片描述

    TCP 保证应用程序之间端到端的可靠通信


    5.1 TCP协议的主要功能

    • TCP给要传送的每一个字节的数据都进行编号。
    • 当网络中的通信量过大时,TCP就通知发送端,放慢发送数据。(流量控制

    5.2 场景引用

    场景一: 下载文件特别慢

    可能的原因:某处的通信量突然增大,路由器来不及处理的分组,被丢弃,TCP发现少了分组,就重传,于是产生了时延

    场景二:发送电子邮件总是失败

    由于某处通信量特别大,路由器大量丢弃,即使TCP协议进行重传,但还是被丢弃。


    六 IP介绍

    连接到因特网的每一台终端都有唯一的一个IP.; 表示方法有二进制点分十进制

    这里写图片描述

    IP地址是宝贵的网络资源

    IPv4 地址总数 是2的32次幂。过渡升级到IPv6


    七、域名介绍

    这里写图片描述


    7.1 域名服务器DNS

    用于把域名转换为IP地址
    这里写图片描述


    八、邮件协议

    SMTP(Simple Mail Transfer Protocol)简单邮件传输协议 – 用于 发送邮件使用的协议

    POP3(Post Office Protocol version 3 ) 接收邮件使用的协议

    这里写图片描述


    参考

    《计算机网络》 --谢希仁

    展开全文
  • 计算机网络基本知识汇总

    万次阅读 多人点赞 2017-10-21 22:22:46
    物理层、数据链路层、网络层、运输层、会话层、表示层、应用层 TCP/IP分层(4层) 网络接口层、网络层、运输层、应用层 五层协议(5层) 物理层、数据链路层、网络层、运输层、应用层 五层结构的概述 应用层:通过...

    概述

    OSI分层(7层)

    • 物理层、数据链路层、网络层、运输层、会话层、表示层、应用层

    TCP/IP分层(4层)

    • 网络接口层、网络层、运输层、应用层

    五层协议(5层)

    • 物理层、数据链路层、网络层、运输层、应用层

    五层结构的概述

    1. 应用层:通过应用进程间的交互来完成特定网络应用
      • 数据:报文
      • 协议:HTTP, SMTP(邮件), FTP(文件传送)
    2. 运输层:向两个主机进程之间的通信提供通用的数据传输服务。
      • 数据:TCP:报文段,UDP:用户数据报
      • 协议:TCP, UDP
    3. 网络层:为分组交换网上的不同主机提供通信服务
      • 数据:包或IP数据报
      • 协议:IP
    4. 数据链路层:
      • 数据:帧
    5. 物理层:
      • 数据:比特

    ARP地址解析协议:用来获取目标IP地址所对应的MAC地址的

    各层协议

    应用层

    域名系统DNS

    例:某用户通过主机A浏览西安交大的主页 www.xjtu.edu.cn
    1. A向本地域名服务器DNS查询
    2. 如果DNS上有www.xjtu.edu.cn的记录,就立即返回IP地址给主机A
    3. 如果DNS上没有该域名记录,则DNS向根域名服务器发出查询请求
    4. 根域名服务器把负责cn域的顶级域名服务器B的IP地址告诉DNS
    5. DNS向B查询获得二级域名服务器C的IP地址,最终迭代查询到www.xjtu.edu.cn的ip直接返回DNS

    HTTP
    请求报文

    请求报文

    • 常用的 HTTP 请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT;

    • GET:当客户端要从服务器中读取某个资源时,使用GET 方法。GET 方法要求服务器将URL 定位的资源放在响应报文的部分,回送给客户端,即向服务器请求某个资源。使用GET 方法时,请求参数和对应的值附加在 URL 后面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。

    • POST:当客户端给服务器提供信息较多时可以使用POST 方法,POST 方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。GET 一般用于获取/查询资源信息,POST 会附带用户数据,一般用于更新资源信息。POST 方法将请求参数封装在HTTP 请求数据中,以名称/值的形式出现,可以传输大量数据;

    • 请求头部:请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:

      1. User-Agent:产生请求的浏览器类型;
      2. Accept:客户端可识别的响应内容类型列表;星号 “ * ” 用于按范围将类型分组,用 “ / ” 指示可接受全部类型,用“ type/* ”指示可接受 type 类型的所有子类型;
      3. Accept-Language:客户端可接受的自然语言;
      4. Accept-Encoding:客户端可接受的编码压缩格式;
      5. Accept-Charset:可接受的应答的字符集;
      6. Host:请求的主机名,允许多个域名同处一个IP 地址,即虚拟主机;
      7. connection:连接方式(close 或 keepalive);
      8. Cookie:存储于客户端扩展字段,向同一域名的服务端发送属于该域的cookie;
    GET /search?hl=zh-CN&source=hp&q=domety&aq=f&oq= HTTP/1.1  
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
    application/msword, application/x-silverlight, application/x-shockwave-flash, */*  
    Referer: <a href="http://www.google.cn/">http://www.google.cn/</a>  
    Accept-Language: zh-cn  
    Accept-Encoding: gzip, deflate  
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; TheWorld)  
    Host: <a href="http://www.google.cn">www.google.cn</a>  
    Connection: Keep-Alive  
    Cookie: PREF=ID=80a06da87be9ae3c:U=f7167333e2c3b714:NW=1:TM=1261551909:LM=1261551917:S=ybYcq2wpfefs4V9g; 
    NID=31=ojj8d-IygaEtSxLgaJmqSjVhCspkviJrB6omjamNrSm8lZhKy_yMfO2M4QMRKcH1g0iQv9u-2hfBW7bUFwVh7pGaRUb0RnHcJU37y-
    FxlRugatx63JLv7CWMD6UB_O_r  
    响应报文

    相应报文

    状态码由三位数字组成,第一位数字表示响应的类型,常用的状态码有五大类如下所示:

    • 1xx:表示服务器已接收了客户端请求,客户端可继续发送请求;
    • 2xx:表示服务器已成功接收到请求并进行处理;
    • 3xx:表示服务器要求客户端重定向;
    • 4xx:表示客户端的请求有非法内容;
    • 5xx:表示服务器未能正常处理客户端的请求而出现意外错误;

    200 OK:表示客户端请求成功;

    400 Bad Request:表示客户端请求有语法错误,不能被服务器所理解;

    401 Unauthonzed:表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用;

    403 Forbidden:表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因;

    404 Not Found:请求的资源不存在,例如,输入了错误的URL;

    500 Internal Server
    Error:表示服务器发生不可预期的错误,导致无法完成客户端的请求;

    503 Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常;

    响应头部:响应头可能包括:
    - Location:Location响应报头域用于重定向接受者到一个新的位置。例如:客户端所请求的页面已不存在原先的位置,为了让客户端重定向到这个页面新的位置,服务器端可以发回Location响应报头后使用重定向语句,让客户端去访问新的域名所对应的服务器上的资源;
    - Server:Server 响应报头域包含了服务器用来处理请求的软件信息及其版本。它和 User-Agent 请求报头域是相对应的,前者发送服务器端软件的信息,后者发送客户端软件(浏览器)和操作系统的信息。
    - Vary:指示不可缓存的请求头列表;
    - Connection:连接方式;

    1. 对于请求来说:close(告诉WEB 服务器或者代理服务器,在完成本次请求的响应后,断开连接,不等待本次连接的后续请求了)。keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求);

    2. 对于响应来说:close(连接已经关闭); keepalive(连接保持着,在等待本次连接的后续请求); Keep-Alive:如果浏览器请求保持连接,则该头部表明希望WEB 服务器保持连接多长时间(秒);例如:Keep-Alive:300;

      • WWW-Authenticate:WWW-Authenticate响应报头域必须被包含在401 (未授权的)响应消息中,这个报头域和前面讲到的Authorization 请求报头域是相关的,当客户端收到 401 响应消息,就要决定是否请求服务器对其进行验证。如果要求服务器对其进行验证,就可以发送一个包含了Authorization 报头域的请求;

    问题:
    1. Http1.1与Http1.0的区别
    http1.0使用非持久连接(短连接),而http1.1默认是持久连接(长连接),当然也可以配置成非持久连接。

    Cookie和Session的作用和工作原理

    FTP文件传送协议

    运输层

    • 使用UDP和TCP协议的各种应用和应用层协议
    应用 应用层协议 运输层协议
    名字转换 DNS(域名系统) UDP
    文件传送 TFTP(简单文件传送协议) UDP
    路由器选择协议 RIP(路由信息协议) UDP
    IP地址配置 DHCP(动态主机配置协议) UDP
    网络管理 SNMP(简单网络管理协议) UDP
    远程服务器 NFS(网络文件系统) UDP
    多播 IGMP(网际组管理协议) UDP
    电子邮件 SMTP(简单邮件传送协议) TCP
    远程终端 TELNET(远程终端协议) TCP
    万维网 HTTP(超文本传送协议) TCP
    文件传送 FTP(文件传送协议) TCP

    - 端口
    TCP和UDP都需要有源端口目的端口

    (端口:用16位来表示,即一个主机共有65536个端口.序号小于256的端口称为通用端口,如FTP是21端口,WWW是80端口等.端口用来标识一个服务或应用.一台主机可以同时提供多个服务和建立多个连接.端口(port)就是传输层的应用程序接口.应用层的各个进程是通过相应的端口才能与运输实体进行交互.服务器一般都是通过人们所熟知的端口号来识别的)

    服务端

    常用的熟知端口

    应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP(trap)
    熟知端口 21 23 25 53 69 80 161 162

    登记端口 1024~49151

    客户端

    端口号由客户进程动态选择。数值范围 49152~65535

    UDP

    特点
    1. 无连接的(发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延)
    2. 尽最大努力交付(不保证可靠支付,因此主机不需要维持复杂的连接状态表)
    3. 面向报文的(UDP对应用层交下来的报文,添加完首部后就直接交付IP层。如果太长就会分片)
    4. UDP没有拥塞控制
    5. UDP支持一对一、一对多、多对一和多对多的交互通信
    6. UDP的首部开销小(只有8个字节,TCP有20个字节)
    UDP报文


    - 源端口:2字节 = 16bit = 0 ~ 65535
    - 目的端口:2字节
    - 长度:2字节
    - 检验和:2字节

    如果接受方UDP发现收到的报文中的目的端口号不正确(不存在对应端口号的应用进程),就会丢弃报文,并有网际控制报文协议ICMP(ping某个地址就是用的ICMP)发送“端口不可达”差错报文给发送方。

    UDP用户数据报首部检验和计算时会在UDP用户数据报前增加12个字节的伪首部

    UDP伪首部

    TCP

    特点
    1. 面向连接的运输层协议。
    2. 点对点(一对一)通信。
    3. 可靠交付。
    4. 全双工通信(TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据)。
    5. 面向字节流。

    TCP与UDP在发送报文时所采用的方式完全不同。TCP具体发送的报文由接收方给出的窗口值和当前网络拥塞的程度来决定一个报文段包含多少字节。而UDP发送的报文长度由应用进程给出。

    TCP可靠传输工作原理

    TCP连接的端点叫做套接字(socket)或插口。套接字socket = (IP地址:端口号)

    停止等待协议

    无差错情况
    超时重传

    每发送完一个分组就设置一个超时计时器。
    - 注意:
    1. 必须暂时保存已发送的分组的副本
    2. 分组和确认分组都必须编号
    3. 超市计时器设置的重传时间比数据在分组传输的平均时间更长一些

    • 确认丢失和确认迟到

    确认丢失
    确认迟到
    如果接收方接收到数据发送确认没有被发送方接收到,那么发送方超时后会重新发送分组,并且接收方收到重复的分组会丢弃并重传确认。
    如果接收方收到的确认是已经接受过的,那么会无视这个确认。

    缺点

    停止等待协议(自动重传ARQ)虽然简单,但是信道利用率低。

    信道利用率

    信道利用率U = TD / (TD + RTT + TA)

    连续ARQ协议和滑动窗口协议

    连续ARQ协议

    窗口

    TCP报文格式

    TCP报文

    1. 源端口和目的端口 各占2字节
    2. 序号 4字节
    3. 确认号 4字节期望收到对方下一个报文的第一个数据字节的序号
    4. 数据偏移 4位
    5. 保留 6字节
    6. 紧急URG 当URG=1表示紧急指针有效
    7. 确认ACK
    8. 推送PSH
    9. 复位RST 当RST = 1时,释放连接并重新建立连接
    10. 同步SYN 当SYN = 1 ACK = 0时,表明这是一个连接请求报文段。
    11. 终止FIN FIN = 1,请求释放连接。
    12. 窗口
    13. 检验和
    14. 紧急指针
    15. 选项
    TCP的三次握手

    1. 客户端TCP向服务端TCP发送一个特殊的TCP报文段,不包含应用层数据,报文中SYN=1,设置一个初始号client_isn,记录在报文段的序列号seq中。
    2. SYN报文段到达服务器后,为该TCP链接分配缓存和变量,并向客户端发送允许链接的报文段。其中,SYN = 1, ACK = client_isn+1,seq = server_isn;
    3. 客户端收到允许连接的报文后,客户端也给连接分配缓存和变量,客户端向服务端发送一个报文段,其中ACK = server_isn+1,SYN = 0,并且由于连接已经建立所以现在可以携带应用层数据。
    TCP四次挥手


    1. 客户端发送连接释放报文段,报文中FIN = 1, seq = u;
    2. 服务端接收到连接释放报文后发出确认报文,其中ACK = 1; seq = v; ack = u + 1;
    3. 服务端在发送完数据后,发送连接释放报文FIN = 1, seq = w, ack = u + 1;并停止向客户端发送数据。
    4. 客户端收到连接释放报文后,发送确认报文, ACK = 1; seq = u + 1; ack = w + 1;并且进入等待2MSL,防止服务端没有接收到确认报文,重传报文。并且使连接产生的报文都消失。

    TCP协议的连接是全双工连接,一个TCP连接存在双向的读写通道。
    简单说来是 “先关读,后关写”,一共需要四个阶段。以客户机发起关闭连接为例:
    1. 服务器读通道关闭
    2. 客户机写通道关闭
    3. 客户机读通道关闭
    4. 服务器写通道关闭

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

    流量控制针对的是点对点之间的(发送方和接收方)之间的速度匹配服务,因为接收方的应用程序读取的速度不一定很迅速,而接收方的缓存是有限的,就需要避免发送的速度过快而导致的问题。拥塞控制是由于网络中的路由和链路传输速度限制,要避免网络的过载和进行的控制。

    拥塞控制算法

    拥塞控制算法主要包含了三个部分:慢启动、拥塞避免和快速回复

    1. 慢启动

    慢开始算法的思路就是,不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。一般一开始为1个MSS,之后翻倍这样来增加,呈指数增长。其中1、慢启动过程有一个阈值ssthresh,一旦到达阈值就进入拥塞避免模式。这是第一种离开结束慢启动的方式2、如果收到了一个丢包提示,就将cwnd设为1并且重新开始慢启动过程,这时要把阈值ssthresh设为当前cwnd值的一半。3、如果收到了三次冗余的ACK,就执行一次快速重传并且进入快速恢复状态,这是最后一种结束慢启动的过程。

    1. 拥塞避免

    进入拥塞避免说明cwnd值大约是上一次遇到拥塞是的一半,这时候不能翻倍,而是将cwnd的值每次增加一个MSS。结束的过程有两种可能:1、当出现超时时,将cwnd值设为1个MSS,并且将ssthresh阈值设为当前cwnd值的一半。2、当收到三个冗余ACK时,将ssthresh阈值设为当前cwnd值的一半,并且将cwnd值设为当前cwnd值的一半加3,即ssthresh阈值加3,并且进入快速恢复状态。

    1. 快速恢复

    快速恢复就是指进入快速恢复前的一系列操作,即将ssthresh阈值设为当前cwnd值的一半,并且将cwnd值设为当前cwnd值的一半加3,即ssthresh阈值加3,之后进入拥塞避免状态,即每次cwnd的值加1个MSS。

    网络层

    协议

    • 地址解析协议 ARP
    • 网际控制报文协议 ICMP
    • 网际组管理协议 IGMP

    IP

    IP地址分类:
    - A类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255为环回地址,用于本地环回测试等用途);

    • B类:128.0.0.0~191.255.255.255,默认子网掩码/16,即255.255.0.0;

    • C类:192.0.0.0~223.255.255.255,默认子网掩码/24,即255.255.255.0;

    • D类:224.0.0.0~239.255.255.255,一般于用组播

    • E类:240.0.0.0~255.255.255.255(其中255.255.255.255为全网广播地址),E类地址一般用于研究用途

    展开全文
  • DMAC:目的MAC地址 SMAC:源MAC地址 数据帧:帧头、数据、帧尾 ...以太网在数据链路层通过MAC地址唯一标识网络设备 MAC地址总共包括48比特,前24比特由IEEE统一分配,后24比特由厂商分配给每个产品的唯一数值 局...
  • 目的地址 源地址 类型 数据 FCS
  • 关于它的详细介绍以及其他寻址方式的介绍可以看这篇博客:计算机网络知识点——寻址(物理地址、逻辑地址、端口地址与专用地址))。 源地址 传输该帧到局域网上的适配器的MAC地址。 类型字段 用来标记上一层使用的是...
  • 计算机网络基础知识整理

    万次阅读 多人点赞 2018-09-25 12:07:48
    参考书目:计算机网络(第6版 谢希仁) 一、概述 1、三网:电信网络、有线电视网络和计算机网络 2、电路交换、报文交换、分组交换的比较 电路交换 公共电话网(PSTN网)和移动网(包括GSM和CDMA网)采用的都是电路交换...
  • 【笔试】计算机网络知识点整理

    万次阅读 多人点赞 2018-07-29 19:41:59
    OSI与TCP/IP各层的结构与功能,都有哪些协议。 TCP与UDP的区别。 TCP报文结构。 TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。 TCP拥塞控制。 TCP滑动窗口与回退N针协议。...
  • 计算机网络第七版谢希仁知识点总结

    万次阅读 多人点赞 2019-06-26 02:35:18
    1.专有名词: 互联网服务提供商ISP(Interest Service Provider) 互联网交换点 IXP (Internet eXchange Point) 广域网WAN(Wide Area Network) 城域网MAN(Metropolitan Area Network) 局域网LAN(Local Area ...
  • 计算机网络谢希仁第七版 课后答案

    万次阅读 多人点赞 2020-09-27 14:10:35
    谢希仁计算机网络第七版课后答案 第一章 概述 1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享 1-02 简述分组交换的要点。答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并 1-03 试从多...
  • 在成千上万的计算机中,为什么一台计算机能够准确着寻找到另外一台计算机,并且把数据发送给它呢? 可能很多人都听说过网络通信的 5 层模型,但是可能并不是很清楚为什么需要五层模型,五层模型负责的任务也有可能...
  • 计算机网络知识点汇总(谢希仁 第七版)

    万次阅读 多人点赞 2020-04-11 21:48:06
    写在前面 这篇博客是当时在大二的时候为了学习计网总结的一篇学习笔记,其实当时的做法和抄书差不多,但是时隔两年的时间没想到有这么多的 同学会来关注学习,实在受宠若惊; 现在我已经大四,而且刚刚经历过秋招...
  • 计算机网络》复习笔记

    万次阅读 多人点赞 2020-08-05 11:32:27
    计算机网络》复习笔记 本复习笔记基于谢希仁的《计算机网络》第五版教材整理。 计算机网络复习笔记 绪论 1 计算机网络 2 因特网概述 3 互联网的组成 P8 4 计算机网络的类别 P17 5 计算机网络的体系结构 P25 ...
  • 计算机网络第七版答案

    万次阅读 多人点赞 2020-07-31 10:51:09
    计算机网络第七版答案 第一章 概述 1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享 1-02 简述分组交换的要点。答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并 1-03 试从多个方面...
  • 计算机网络试题库 1单项选择题 1.1以下属于物理层的设备是(A) A.中继器 B.以太网交换机 C.桥 D.网关 1.2在以太网中,是根据_(B)__地址来区分不同的设备的. A. LLC地址 B. MAC地址 C. IP地址D. IPX地址 1.3下面...
  • 计算机网络核心知识点总结&面试笔试要点

    万次阅读 多人点赞 2020-04-19 17:27:20
    计算机网络之基础篇 一、计算机网络概述  1.什么是计算机网络   计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。  2.计算机网络...
  • 计算机网络面试问题集锦

    万次阅读 多人点赞 2020-03-20 01:14:54
    转载自点击打开链接1、Http和Https的区别 Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份;Https是身披SSL(Secure Socket Layer)外壳的Http,运行于SSL上,SSL运行于TCP之上,是添加...资...
  • 计算机网络谢希仁第七版 第二章 课后答案 2-01 物理层要解决哪些问题?物理层的主要特点是什么?计算机网络谢希仁 答案:物理层要解决的主要问题: (1)物理层要尽可能地屏蔽掉物理设备和传输媒体,通信手段的不同...
  • 你说你懂计算机网络,那这些你都知道吗

    万次阅读 多人点赞 2019-12-11 21:43:49
    今天的因特网无疑是有史以来由人类创造的、精心设计的最大系统、该系统由数以千计的计算机设备(计算机、平板电脑、智能手机)彼此相互连接构成,并且还有一批与因特网相互连接的物品比如游戏机、监控系统、汽车、...
1 2 3 4 5 ... 20
收藏数 895,773
精华内容 358,309
关键字:

计算机网络