1. [计算机网络之一] 网络基础知识
协议就是计算机与计算机之间通过网络实现通信时事先达成的一种 “约定”。这种 “约定” 使那些由不同的厂商、不同的 CPU 以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。
TCP/IP、AppleTalk(仅限苹果计算机使用)、SNA(IBM)、DECnet(DEC)、IPX/SPX(Novell)
分组交换是指将大数据分割为一个个叫做包的较小单位进行传输的方法。
ISO (International Organization for Stardards,国际标准化组织)制定了国际标准 OSI (Open System Interconnection,开放系统互联参考模型),但是没有得到普及,反而是随 Apanet 而生的 TCP/IP 协议在大学研究机构和计算机行业的推动下成为实际的业界标准。
每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定服务。上下层之间进行交互所遵循的约定叫做 “接口” ,同一层之间交互所遵循的约定叫做 “协议” 。
协议分层参考了计算机软件中的模块化开发。
单播、广播、多播、任播。
一个地址必须明确地表示一个主体对象,在同一个通信网络中不允许有两个相同地址的通信主体存在。
有层次性的地址方便高效地找到通讯目标(eg: 快递地址国家、省市区)
MAC地址有唯一性但没有层次性。
以太网、无线、帧中继、ATM、FDDI、ISDN。
NIC(Network Interface Card,网络接口卡),计算机必须有网卡才能接入网络。
物理层面上延长网络的设备。将电缆传递过来的光电信号经过波形调整和放大之后传递给另一个电缆。
集线器 :提供多个端口的中继器。
数据链路层面连接两个网络的设备。 不同网络可能采用了不同的数据链路,数据传输的速率可能完全不一样 ,网桥会缓存一个网段传输到另一个网段的数据帧,再重新生成信号作为全新的帧转发给另一个网段(这里我理解不同数据链路帧的格式不一样,所以网桥需要缓存数据并转换位另一个数据链路中的帧格式)。
网桥的其他作用:
① 根据数据帧中的 FCS 检查数据帧是否已损坏,是则不转发;
② 自学习MAC设备来自哪些网络,并记录在地址转发表中(地址转发表记录硬件地址与网络的映射关系);
③ 过滤功能控制网络流量。
交换集线器 :每个端口都相当于一个网桥。
网络层面上连接两个网络、并对分组报文进行转发的设备。
应用场景:广域网加速器、特殊应用访问加速、防火墙。
将传输层到应用层的数据进行转发和翻译的设备。
代理服务器 :控制流量和出于安全考虑,客户端和服务端无需在网络上直接通信,而是从传输层到应用层对数据和访问进行各种控制和处理。
研发基于分组交换技术的 ARPANET,取代容灾性差的中央集中式网络。
单个网络无法解决所有通信问题,开始研究网络互连技术,出现了 TCP/IP,并首先被 BSD UNIX 采用,随之被广泛使用变得流程,所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。
围绕大型计算机中心建设计算机网络,即 NSFNET(国家科学基金网),它是一个三级网络,分为主干网、地区网和校园网。这种三级计算机网络覆盖了全美主要的大学和研究所,并成为互联网中的主要组成部分。
NSFNET 逐渐被商用的互联网主干网替代,政府机构不再负责互联网的运营。用户接入互联网需要通过 ISP(Internet Service Provider:互联网服务提供商)。
IXP(Internet eXchange Point)互联网交换点 的作用是允许两个网络直接相连并交换分组,而不需要再通过第三个网络(如上图中的主干 ISP)来转发分组。
所有的互联网标准都是以 RFC 的形式在互联网上发表的,但并非所有的 RFC 文档都是互联网标准。
制定互联网的正式标准要经过以下三个阶段
(1)互联网草案
(2)建议标准
(3)互联网标准
由所有连接在互联网上的主机组成。这部分是用户直接使用的额,用来进行通信和资源共享。
由大量网络和连接这些网络的路由器组成。这部分视为边缘部分提供服务的(提供连通性和交换)。
① 电路交换的起源
② 电路交换的特点
在使用信道时,信道两端的两个用户始终占用端到端的通信资源,线路上真正传送数据的时间比例很小,传输效率很低。
③ 电路交换的步骤
建立连接 (占用通信资源)→ 通话 (一直占用通信资源)→ 释放连接 (归还通信资源)
电报通信采用基于存储转发原理的报文交换,整个报文被发送到相邻结点,存储下来,再转发到下一个结点。
① 分组交换的特点
把一个完整的报文划分为一个个分组,每个分组传送到相邻结点后,存在下来查找转发表,在转发到下一个结点。
② 分组交换的优缺点
优点:每个分组可以经过不同的路由,使得有更好的可靠性,也能充分利用网络性能。
缺点:分组控制信息有一定开销,路由器存储转发时需要排队导致产生时延,无法确保通信时端到端所需的宽带。
① 广域网 WAN(Wide Area Network) 广域网的作用范围通常为几十到几千公里,是互联网的核心,其任务是通过长距离运送主机锁发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信量。
② 城域网 MAN(Metropolotan Area Network) 城域网的作用范围一般是一个城市,作用距离约为 5 ~ 50 km。可以为一个或几个单位所用欧,也可以是一种公用设置,用来将多个局域网进行互联。目前很多城域网采用的是以太网技术。
③ 局域网 LAN(Local Area Network) 局域网一般用微型计算机或工作站通过高速通信链路相连(速率通常在 10 Mbit/s 以上),但地理上则局限在较小的范围(如 1 km 左右)。在局域网发展的初期,一个学校或工厂往往只拥有有个局域网,但现在局域网已非常广泛地使用,学校或企业大都拥有多个互连的局域网(这样的网络常称为 校园网 或 企业网 )。
④ 个人局域网 PAN(Personal Area Network) 个人局域网就是在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络,因此也常称为 无线个人局域网 WPAN(Wireless PAN) ,其范围很小,大约在 10 m 左右。
① 公用网(pulic network) 电信公司出资建造的大型网络。
② 专用网(private network) 某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务,例如,军队、铁路、银行、电力等系统均有本系统的专用网。
接入网(Access Network) ,又称为本地接入网或居民接入网。
数据的传输速率,也称为数据率或比特率,单位为 bit/s(比特每秒)(或 b/s,有时也写为 bps,即 bit per second)。
1 kbit/s = 1 × 10³ bit/s,1 Mbit/s = 1 × 10^6 bit/s,1 Gbit/s = 1 × 10^9 bit/s,1 Tbit/s = 1 × 10^12 bit/s
吞吐量表示在单位时间内通过某个网络的实际的数据量,单位同速率带宽。
时延是指数据从网络的一端传送到另一端所需的时间,网络时延由几个部分组成:
网络总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
[误区] 光纤的传播速率实际上比铜线要慢,但是光纤的带宽却比普通的双绞线要快,这是因为光信号的抗干扰性强,并且可以通过波分复用的信道复用技术,达到一路光纤传输多路信号的效果。
时延带宽积表示信道中可以容纳多少比特。
在计算机网络中,往返时间 RTT(Round-Trip Time)是一个重要的性能指标,因为在许多情况下,互联网上的信息不仅仅单方向传输而是双向交互的。
使用卫星通信时,发送时延很短,主要消耗在来回传播时延上,即往返时间相对较长。
利用率有信道利用率和网络利用率两种。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率为零。网络利用率则是全网络的信道利用率的加权平均值。
D0 表示网络空闲时的时延,D 表示网络当前的时延,U 表示利用率,则
U = 1 - D0/D,变形一下,有
信道利用率不是越高越好,因为信道利用率增大时,网络时延也会增加,因为排队时延增大。所以当 U 趋于 1 时,D 会趋于无限大,所以 信道或网络的利用率过高会产生非常大的时延 。
费用、质量、标准化、可靠性、可扩展性和可升级性、易于管理和维护。
① 语法,即数据与控制信息的结构或格式;
② 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
③ 同步,即时间实现顺序的详细说明。
① 各层独立;
② 灵活性好;
③ 结构上可分割开;
④ 易于实现和维护;
⑤ 能促进标准化工作。
计算机网络的各层及其协议的集合就是网络的体系结构。
实体 :表示任何可发送或接收信息的硬件或软件进程。
协议 :协议是水平的,控制两个对等实体进行通信的规则的集合。
服务 :服务是垂直的,下层通过接口向上层提供服务。
服务访问点 :SAP(Service Access Point),同一系统中相邻两层的实体进行交互的地方。
2. 计算机网络传播时延和传输时延在图上是哪一段
……图1就是图2最右边的分组交换。图1是没有任何问题的……
图1的发送时延即为传输时延。
传输时延,transmission delay,指一个节点将一个完整报文的所有比特发送到网络链路中所需要花费的时间。显然传输时延与报文大小和发送速率有关。
传播时延,propagation delay,指一个比特从发送方跨越千山万水到达接收方所需要花费的时间。显然传播时延与链路的类型/质量、转发次数等等有关。
3. 计算机网络知识点
一、计算机网络概述
1.1 计算机网络的分类
按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);
按照网络使用者:公用网络、专用网络。
1.2 计算机网络的层次结构
TCP/IP四层模型与OSI体系结构对比:
1.3 层次结构设计的基本原则
各层之间是相互独立的;
每一层需要有足够的灵活性;
各层之间完全解耦。
1.4 计算机网络的性能指标
速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RTT:数据报文在端到端通信中的来回一次的时间。
二、物理层
物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
物理层设备:
中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;
集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。
单工通信信道:只能一个方向通信,没有反方向反馈的信道;
半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;
全双工通信信道:双方都可以同时发送和接收。
三、数据链路层
3.1 数据链路层概述
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括: 物理地址寻址、数据的成帧、流量控制、数据的检错、重发 等。
有关数据链路层的重要知识点:
数据链路层为网络层提供可靠的数据传输;
基本数据单位为帧;
主要的协议:以太网协议;
两个重要设备名称:网桥和交换机。
封装成帧:“帧”是 数据链路层 数据的基本单位:
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
3.2 数据链路层的差错监测
差错检测:奇偶校验码、循环冗余校验码CRC
奇偶校验码–局限性:当出错两位时,检测不到错误。
循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
3.3 最大传输单元MTU
最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.
路径MTU:由链路中MTU的最小值决定。
3.4 以太网协议详解
MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。
以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:
局域网分类:
Ethernet以太网IEEE802.3:
以太网第一个广泛部署的高速局域网
以太网数据速率快
以太网硬件价格便宜,网络造价成本低
以太网帧结构:
类型:标识上层协议(2字节)
目的地址和源地址:MAC地址(每个6字节)
数据:封装的上层协议的分组(46~1500字节)
CRC:循环冗余码(4字节)
以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;
MAC地址(物理地址、局域网地址)
MAC地址长度为6字节,48位;
MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
MAC广播地址:FF-FF-FF-FF-FF-FF。
四、网络层
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文。
网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。
与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:
1、网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;
2、基本数据单位为IP数据报;
3、包含的主要协议:
IP协议(Internet Protocol,因特网互联协议);
ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
4、重要的设备:路由器。
路由器相关协议
4.1 IP协议详解
IP网际协议是 Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。
IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。
其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。
4.2 IP协议的转发流程
4.3 IP地址的子网划分
A类(8网络号+24主机号)、B类(16网络号+16主机号)、C类(24网络号+8主机号)可以用于标识网络中的主机或路由器,D类地址作为组广播地址,E类是地址保留。
4.4 网络地址转换NAT技术
用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。
NAT 工作原理:
从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;
从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。
4.5 ARP协议与RARP协议
地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。
ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。
RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。
4.6 ICMP协议详解
网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。
ICMP协议的应用:
Ping应用:网络故障的排查;
Traceroute应用:可以探测IP数据报在网络中走过的路径。
4.7网络层的路由概述
关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化、稳定的公平的。
自治系统AS: 指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。
静态路由: 人工配置,难度和复杂度高;
动态路由:
链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法
距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);
4.8 内部网关路由协议之RIP协议
路由信息协议 RIP(Routing Information Protocol)【应用层】,基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;RIP报文,封装进UDP数据报。
RIP协议特性:
RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);
RIP的费用定义在源路由器和目的子网之间;
RIP被限制的网络直径不超过15跳;
和隔壁交换所有的信息,30主动一次(广播)。
4.9 内部网关路由协议之OSPF协议
开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】,基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络,直接封装在IP数据报传输。
OSPF协议优点:
安全;
支持多条相同费用路径;
支持区别化费用度量;
支持单播路由和多播路由;
分层路由。
RIP与OSPF的对比(路由算法决定其性质):
4.10外部网关路由协议之BGP协议
BGP(Border Gateway Protocol)边际网关协议【应用层】:是运行在AS之间的一种协议,寻找一条好路由:首次交换全部信息,以后只交换变化的部分,BGP封装进TCP报文段.
五、传输层
第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
有关网络层的重点:
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
重要设备:网关。
5.1 UDP协议详解
UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议。
UDP协议的特点:
UDP是无连接协议;
UDP不能保证可靠的交付数据;
UDP是面向报文传输的;
UDP没有拥塞控制;
UDP首部开销很小。
UDP数据报结构:
首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】 数据字段:应用数据
5.2 TCP协议详解
TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议。
TCP协议的功能:
对应用层报文进行分段和重组;
面向应用层实现复用与分解;
实现端到端的流量控制;
拥塞控制;
传输层寻址;
对收到的报文进行差错检测(首部和数据部分都检错);
实现进程间的端到端可靠数据传输控制。
TCP协议的特点:
TCP是面向连接的协议;
TCP是面向字节流的协议;
TCP的一个连接有两端,即点对点通信;
TCP提供可靠的传输服务;
TCP协议提供全双工通信(每条TCP连接只能一对一);
5.2.1 TCP报文段结构:
最大报文段长度:报文段中封装的应用层数据的最大长度。
TCP首部:
序号字段:TCP的序号是对每个应用层数据的每个字节进行编号
确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;
TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍
TCP标记的作用:
5.3 可靠传输的基本原理
基本原理:
不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失
基于不可靠信道实现可靠数据传输采取的措施:
差错检测:利用编码实现数据包传输过程中的比特差错检测 确认:接收方向发送方反馈接收状态 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据按序提交 计时器:解决数据丢失问题;
停止等待协议:是最简单的可靠传输协议,但是该协议对信道的利用率不高。
连续ARQ(Automatic Repeat reQuest:自动重传请求)协议:滑动窗口+累计确认,大幅提高了信道的利用率。
5.3.1TCP协议的可靠传输
基于连续ARQ协议,在某些情况下,重传的效率并不高,会重复传输部分已经成功接收的字节。
5.3.2 TCP协议的流量控制
流量控制:让发送方发送速率不要太快,TCP协议使用滑动窗口实现流量控制。
5.4 TCP协议的拥塞控制
拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。拥塞控制的方法:慢启动算法+拥塞避免算法。
慢开始和拥塞避免:
【慢开始】拥塞窗口从1指数增长;
到达阈值时进入【拥塞避免】,变成+1增长;
【超时】,阈值变为当前cwnd的一半(不能<2);
再从【慢开始】,拥塞窗口从1指数增长。
快重传和快恢复:
发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;
执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
5.5 TCP连接的三次握手(重要)
TCP三次握手使用指令:
面试常客:为什么需要三次握手?
第一次握手:客户发送请求,此时服务器知道客户能发;
第二次握手:服务器发送确认,此时客户知道服务器能发能收;
第三次握手:客户发送确认,此时服务器知道客户能收。
建立连接(三次握手):
第一次: 客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN_SEND (同步发送状态);
第二次: 服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态);
第三次: 客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;
5.6 TCP连接的四次挥手(重要)
释放连接(四次挥手)
第一次: 客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态);
第二次: 服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器期望接收客户数据序号为x+1(ack_seq=x+1);服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2;
第三次: 服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器期望接收客户数据序号为x+1(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状态由CLOSE_WAIT 进入 LAST_ACK (最后确认状态);
第四次: 客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED;
为什么需要等待2MSL?
最后一个报文没有确认;
确保发送方的ACK可以到达接收方;
2MSL时间内没有收到,则接收方会重发;
确保当前连接的所有报文都已经过期。
六、应用层
为操作系统或网络应用程序提供访问网络服务的接口。应用层重点:
数据传输基本单位为报文;
包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
6.1 DNS详解
DNS(Domain Name System:域名系统)【C/S,UDP,端口53】:解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的 域名 到 IP 地址的映射。
域名解析的顺序:
【1】浏览器缓存,
【2】找本机的hosts文件,
【3】路由缓存,
【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。
IP—>DNS服务—>便于记忆的域名
域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(,taobao,qq,alibaba)、三级域(www)(12-2-0852)
6.2 DHCP协议详解
DHCP(Dynamic Configuration Protocol:动态主机设置协议):是一个局域网协议,是应用UDP协议的应用层协议。作用:为临时接入局域网的用户自动分配IP地址。
6.3 HTTP协议详解
文件传输协议(FTP):控制连接(端口21):传输控制信息(连接、传输请求),以7位ASCII码的格式。整个会话期间一直打开。
HTTP(HyperText Transfer Protocol:超文本传输协议)【TCP,端口80】:是可靠的数据传输协议,浏览器向服务器发收报文前,先建立TCP连接,HTTP使用TCP连接方式(HTTP自身无连接)。
HTTP请求报文方式:
GET:请求指定的页面信息,并返回实体主体;
POST:向指定资源提交数据进行处理请求;
DELETE:请求服务器删除指定的页面;
HEAD:请求读取URL标识的信息的首部,只返回报文头;
OPETION:请求一些选项的信息;
PUT:在指明的URL下存储一个文档。
6.3.1 HTTP工作的结构
6.3.2 HTTPS协议详解
HTTPS(Secure)是安全的HTTP协议,端口号443。基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护
原文地址:https://blog.csdn.net/Royalic/article/details/119985591
4. 计算机访问网络时延平均值是什么意思
计算机访问网络时延平均值其实就是看到的ping时间。
生存时间(time-to-live)指定数据包被路由器丢弃之前允许通过的网段数量。
它是IP(中文全称:网络协议)协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。
ping的概念:
Ping是Windows下的一个命令,在Unix和Linux下也有这个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
ping指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保护你的电脑。
5. 计算机网络 为什么还要加上k-1段的发送时延
例题1:
试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路共有几个结点。)
答:在电路交换中,电路的建立时延是s,报文的发送时延是x/b,报文的传播时延是:kd,故总时延为:x/b+kd+s;
在分组交换中,报文的发送时延是(x/p)*(p/b); K段传输中,有(k-1)次的储存转发延迟,(p/b)*(k-1);传播时延是kd;故总时延是:(x/p)*(p/b)+ (p/b)*(k-1)+kd=x/b+kd+(p/b)*(k-1);
当s>(k-1)*(p/b)时,电路交换的时延比分组交换的时延大,当x>>p,相反。
6. 计算机网络有哪些常用的性能指标
计算机网络常用性能指标有:
1、速率:连接在计算机网络上的主机在数字信道上传送数据的速率。
2、带宽:网络通信线路传送数据的能力。
3、吞吐量:单位时间内通过网络的数据量。
4、时延:数据从网络一端传到另一端所需的时间。
5、时延带宽积:传播时延带宽。
6、往返时间RTT:数据开始到结束所用时间。
7、利用率信道:数据通过信道时间。
(6)计算机网络时延符号扩展阅读:
计算机网络中的时延是由一下几个不同的部分组成的:
(1)发送时延
发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送时延也叫做传输时延。发送时延的计算公式是:
发送时延=数据帧长度(bit)/发送速率(bit/s)
(2)传播时延
传播时延是电磁波在信道中传播一定的距离需要花费的时间。传播时延的计算公式是:
传播时延=信道长度(m)/电磁波在信道上大的传播速率(m/s)
电磁波在自由空间的传播速率是光速。即3.0*10^5km/s。
发送时延发生在机器内部的发送器中,与传输信道的长度没有任何关系。传播时延发生在机器外部的传输信道媒体上,而与信道的发送速率无关。信号传送的距离越远,传播时延就越大
(3)处理时延
主机或路由器在收到分组时需要花费一定时间进行处理,例如分析分组的首部,从分组中提取数据部分、进行差错检验或查找合适的路由等,这就产生了处理时延。
(4)排队时延
分组在进行网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待,在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。排队时延的长短取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延无穷大。
这样数据在网络中经历的总时延就是以上四种时延之和:总时延=发送时延+传播时延+处理时延+排队时延。
一般来说,小时延的网络要优于大时延的网络。
7. 关于计算机网络中的发送时延
发送时延=数据帧长度(b)/发送速率(b/s)
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延。(时延=发送时延+传播时延+处理时延+排队时延)一般,发送时延与传播时延是我们主要考虑的。对于报文长度较大的情况,发送时延是主要矛盾;报文长度较小的情况,传播时延是主要矛盾。(计算机网络方面的时延概念)
时延是指从说话人开始说话到受话人听到所说的内容的时间。一般人们能忍受小于250ms的时延,若时延太长,会使通信双方都不舒服。此外,时延还会造成回波,时延越长所需的用于消除回波的计算机指令的时间就越多。传送时延由internet的路由情况决定,如果在低速信道或信道太拥挤时,可能会导致长时间时延或丢失数据包的情况。
8. 计算机网络中的四种延迟分别是什么
计算机网络中的四种延迟分别是:节点处理延迟、排队延迟、发送延迟、传播延迟。
1、节点处理延迟
数据更改在一个服务器上完成与该更改出现在另一个服务器上之间所用的时间(例如在发布服务器上进行更改和该更改出现在订阅服务器上之间的时间)。
延迟是指帧从网络上一个端口进入到从另一个端口出去,所花费的时间。
2、网络延迟
网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。
3、排队延迟
时延是指数据从网络的一端传送到另一端所需的时间。排队时延是指分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。
4、时延
时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延。(时延=发送时延+传播时延+处理时延+排队时延)一般,发送时延与传播时延是我们主要考虑的。对于报文长度较大的情况,发送时延是主要矛盾;报文长度较小的情况,传播时延是主要矛盾。
时延是指数据包第一个比特进入路由器到最后一比特从路由器输出的时间间隔。在测试中通常使用测试仪表发出测试包到收到数据包的时间间隔。时延与数据包长相关,通常在路由器端口吞吐量范围内测试,超过吞吐量测试该指标没有意义。
(8)计算机网络时延符号扩展阅读:
定义:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
如何定义网络延迟程度:
(网络延迟PING值越低速度越快)
1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
31~50ms:良好,可以正常游戏,没有明显的延迟情况
51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
>100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
计算方法:1秒=1000毫秒(例:30ms为0.03秒)
参考资料来源:
网络-时延
网络-排队延迟
网络-网络延迟
网络-延迟
9. 计算机网络基础知识(一)
参考:计算机网络 谢希仁 第7版
一、现在最主要的三种网络
电信网络(电话网)
有线电视网络
计算机网络 (发展最快,信息时代的核心技术)
二、internet 和 Internet
internet 是普通名词
泛指一般的互连网(互联网)
Internet 是专有名词,标准翻译是“因特网” 世界范围的互连网(互联网)
使用 TCP/IP 协议族
前身是美国的阿帕网 ARPANET
三、计算机网络的带宽
计算机网络的带宽是指网络可通过的最高数据率,即每秒多少比特。 描述带宽也常常把“比特/秒”省略。
例如,带宽是 10 M,实际上是 10 Mb/s。注意:这里的 M 是 106。
四、对宽带传输的错误概念
在网络中有两种不同的速率:
信号(即电磁波)在传输媒体上的传播速率(米/秒,或公里/秒)
计算机向网络发送比特的速率(比特/秒),也叫传输速率。 这两种速率的意义和单位完全不同。
宽带传输:计算机向网络发送比特的速率较高。 宽带线路:每秒有更多比特从计算机注入到线路。 宽带线路和窄带线路上比特的传播速率是一样的。
早期的计算机网络采用电路交换,新型的计算机网络采用分组交换的、基于存储转发的方式。 分组交换:
在发送端把要发送的报文分隔为较短的数据块
每个块增加带有控制信息的首部构成分组(包)
依次把各分组发送到接收端
接收端剥去首部,抽出数据部分,还原成报文
IP 网络的重要特点
每一个分组独立选择路由。
发往同一个目的地的分组,后发送的有可能先收到(即可能不按顺序接收)。 当网络中的通信量过大时,路由器就来不及处理分组,于是要丢弃一些分组。 因此, IP 网络不保证分组的可靠地交付。
IP 网络提供的服务被称为:
尽最大努力服务(best effort service) 五、最重要的两个协议:IP 和 TCP
TCP 协议保证了应用程序之间的可靠通信,IP 协议控制分组在因特网的传输,但因特网不保证可靠交付.
在 TCP/IP 的应用层协议使用的是客户服务器方式。
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
客户服务器方式所描述的是进程之间服务和被服务的关系。
当 A 进程需要 B 进程的服务时就主动呼叫 B 进程,在这种情况下,A 是客户而 B 是服务器。
可能在下一次通信中,B 需要 A 的服务,此时,B 是客户而 A 是服务器。
注意:
使用计算机的人是“用户”(user)而不是“客户”(client)。
客户和服务器都指的是进程,即计算机软件。
由于运行服务器进程的机器往往有许多特殊的要求,因此人们经常将主要运行服务器进程的
机器(硬件)不严格地称为服务器。
例如,“这台机器是服务器。” 意思是:“这台机器(硬件)主要是用来运行服务器进程(软件)。” 因此,服务器(server)一词有时指的是软件,但也有时指的是硬件。
六、总结
因特网(Internet)是世界范围的、互连起来的计算机网络,它使用 TCP/IP 协议族,并且它的前身是美 国阿帕网 ARPANET。
计算机网络的带宽是网络可通过的最高数据率。
因特网使用基于存储转发的分组交换,并使用 IP 协议传送 IP 分组。
路由器把许多网络互连起来,构成了互连网。路由器收到分组后,根据路由表查找出下一跳路由器的
地址,然后转发分组。
路由器根据与其他路由器交换的路由信息构造出自己的路由表。
IP 网络提供尽最大努力服务,不保证可靠交付。
TCP 协议保证计算机程序之间的、端到端的可靠交付。
在 TCP/IP 的应用层协议使用的是客户服务器方式。
客户和服务器都是进程(即软件)。客户是服务请求方,服务器是服务提供方。
服务器有时也指“运行服务器软件”的机器。
一、IP 网络是虚拟网络
IP 网络是虚拟的。在 IP 网络上传送的是 IP 数据报(IP 分组)。
实际上在网络链路上传送的是“帧”,使用的是帧的硬件地址(MAC 地址)。
地址解析协议 ARP 用来把 IP 地址(虚拟地址)转换为硬件地址(物理地址)。
二、IP 地址的表示方法
IP 地址的表示方法有两种:二进制和点分十进制。
IP 地址是 32 位二进制数字,为方便阅读和从键盘上输入,可把每 8 位二进制数字转换成一个十进制数字,并 用小数点隔开,这就是点分十进制。
三、因特网的域名
因特网的域名分为: 顶级域名 二级域名 三级域名
四级域名
四、域名服务器 DNS (Domain Name Server)
因特网中设有很多的域名服务器 DNS,用来把域名转换为 IP 地址。
五、电子邮件
发送邮件使用的协议——简单邮件传送协议 SMTP (Simple Mail Transfer Protocol) 接收邮件使用的协议——邮局协议版本 3 POP3 (Post Office Protocol version 3) 注:邮件的传送仍然要使用 IP 和 TCP 协议
六、统一资源定位符 URL (Uniform Resource Locator)
URL 用来标识万维网上的各种文档。
因特网上的每一个文档,在整个因特网的范围内具有惟一的标识符 URL。 URL 实际上就是文档在因特网中的地址。
七、超文本传送协议 HTTP (HyperText Transfer Protocol) 万维网客户程序与服务器程序之间的交互遵守超文本传送协议 HTTP。
八、结束语
IP 地址是 32 位二进制数字。为便于阅读和键入,也常使用点分十进制记法。 个人用户上网可向本地 ISP 租用临时的 IP 地址。
域名服务器 DNS 把计算机域名转换为计算机使用的 32 位二进制 IP 地址。 发送电子邮件使用 SMTP 协议,接收电子邮件使用 POP3 协议。
统一资源定位符 URL 惟一地确定了万维网上文档的地址。
超文本传送协议 HTTP 用于万维网浏览器程序和服务器程序的信息交互。
超文本标记语言 HTML 使万维网文档有了统一的格式。
IP 电话不使用 TCP 协议。利用 IP 电话网关使得在普通电话之间可以打 IP 电话。
一、因特网服务提供者 ISP (Internet Service Provider) 根据提供服务的覆盖面积大小以及所拥有的 IP 地址数目的不同,ISP 也分成为不同的层次。
二、两种通信方式
在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:C/S 方式 和 P2P 方式
(Peer-to-Peer,对等方式)。
三、因特网的核心部分
网络核心部分是因特网中最复杂的部分。
网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其 他主机通信(即传送或接收各种形式的数据)。
因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。
在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通 常以相对较低速率的链路相连接。
主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用 来转发分组的,即进行分组交换的。
在网络核心部分起特殊作用的是路由器(router)。
路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分
最重要的功能。
四、电路交换
电路交换必定是面向连接的。 电路交换的三个阶段:建立连接、通信、释放连接。
五、网络的分类
不同作用范围的网络
广域网 WAN (Wide Area Network)
局域网 LAN (Local Area Network)
城域网 MAN (Metropolitan Area Network)
个人区域网 PAN (Personal Area Network)
从网络的使用者进行分类
公用网 (public network)
专用网 (private network)
用来把用户接入到因特网的网络
接入网 AN (Access Network),它又称为本地接入网或居民接入网。
注:由 ISP 提供的接入网只是起到让用户能够与因特网连接的“桥梁”作用。
六、计算机网络的性能指标
速率
带宽
吞吐量
时延(delay 或 latency)
传输时延(发送时延) —— 从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完 毕所需的时间。
传播时延 —— 电磁波在信道中需要传播一定的距离而花费的时间。 注:信号传输速率(即发送速率)和信号在信道上的传播速率是完全不同的概念。
处理时延 —— 交换结点为存储转发而进行一些必要的处理所花费的时间。
排队时延 —— 结点缓存队列中分组排队所经历的时延。 总时延 = 发送时延+传播时延+处理时延+处理时延
时延带宽积
利用率 —— 分为信道利用率和网络利用率。
信道利用率——某信道有百分之几的时间是被利用的(有数据通过)。 网络利用率——全网络的信道利用率的加权平均值。 注:信道利用率并非越高越好。
七、网络协议(network protocol) 简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。其组成要素有以下三点:
语法 语义 同步
数据与控制信息的结构或格式 。
需要发出何种控制信息,完成何种动作以及做出何种响应。 事件实现顺序的详细说明。
八、实体、协议、服务和服务访问点
实体(entity)——表示任何可发送或接收信息的硬件或软件进程。 协议——是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。 要实现本层协议,还需要使用下层所提供的服务。
本层的服务用户只能看见服务而无法看见下面的协议。
下面的协议对上面的服务用户是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。 同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。
九、TCP/IP 的体系结构
路由器在转发分组时最高只用到网络层,而没有使用运输层和应用层。
10. 网络时延是什么
时延是指一个报文或分组从网络的一端传送到另一端所耗费的时间,时延由节点处理时延、排队时延、发送时延、传播时延组成。