笔记来源是对某站湖科大教书匠每节课的总结,强推这位老师的计网课程,PPT做的巨好!
网络是由若干节点和连接这些节点的链路(Link)组成。
多个网络还可以通过路由器互连起来,就构成了覆盖范围更大的网络,即互联网(或互连网),因此互联网是“网络的网络”
因特网是世界上最大的互连网络。
因特网服务提供者ISP:普通用户通过ISP接入Internet,ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备。任何机构和个人只要向ISP交纳规定的费用,就可以从ISP得到所需要的IP地址。
(因特网上的主机必须有IP地址才能进行通信)
分组交换 的组成:报文、首部、分组。
采用存储转发技术,即收到分组——存储分组——查询路由(路由选择协议)——转发分组。
**优点:**高效、灵活、迅速、可靠。
**缺点:**时延、开销。
**关键构件:**路由器。
报文交换中的交换节点也采用存储转发方式,但对报文大小没有限制。
可以随时发送报文,而不需要事先建立连接。
**水定义:**一些互相连接的、自治的计算机的集合。
互相连接:是指计算机之间可以通过有线或无线的方式进行数据通信
自治:是指独立的计算机,他有自己的硬件和软件,可以单独运行使用
终端机只有IO功能而不具备单独的计算能力,计算等工作是交给大型机完成的,所以不是自治的计算机。
较好的定义::计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
按交换技术分类
按使用者分类
按传输介质分类
按覆盖范围分类
按拓扑结构分类
一个比特就是二进制数字中的一个1或0
8bit = 1 Byte
常用的有以下8个:
速率:
带宽:
吞吐量
时延
时延带宽积
往返时间
利用率
信道利用率:表示某信道有百分之几的时间是被利用的(即有数据通过)
网络利用率:全网络的信道利用率的加权平均
根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此,信道利用率并非越高越好
如果令D0表示网络空闲时的时延,D表示网络当前的时延,U表示利用率,那么在适当假定条件下,可以将三者关系表示为: D = D0 ÷ (1 - U)
丢包率
物理层考虑的是怎么样才能在连接各种计算机的传输媒体上传输比特流
物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么
传输媒体不属于计算机网络体系结构的任何一层
- 串行传输
- 指数据是一个比特一个比特一次发送
- 发送端和接收端之间只需要1条数据传输线路即可
- 并行传输
- 数据一次发送n个比特,也就是需要n条传输线路
- 同步传输:
- 数据块以稳定的比特流的形式,字节之间没有间隔
- 接收端在每个比特信号的中间时刻进行检测,以判断是0还是1
- 有时钟误差积累,解决收发双方时钟同步的方法
- 外同步:在收发双方之间添加一条单独的时钟信号线
- 内同步:发送端将时钟同步信号编码到发送数据中一起传输(例如曼彻斯特编码)
- 异步传输
- 以字节为独立的传输单位,字节之间的时间间隔不是固定的
- 接收端仅在每个字节的起始处对字节内的比特实现同步
- 异步指的是字节之间的异步,也就是字节之间的时间间隔不固定,但字节中的每个比特仍要同步(各比特的持续时间相同)
- 单向通信(单工)
- 通信双方只有一个数据传输方向,例如无线电广播
- 双向交替通信(半双工)
- 通信双方可以相互传输数据,但不能同时进行,例如对讲机
- 双向同时通信(全双工)
- 通信双方可以同时相互传输数据
计算机需要处理和传输用户的文字、图片、音频和视频,可以统称为消息
数据是运送消息的实体,由于计算机只能处理二进制数据,计算机中的网卡将比特0和1变换成相应的电信号发送到网线
也就是说,信号是数据的电磁表现。由信源发出的原始信号成为基带信号。
基带信号可分为两类:
信号需要在信道(信道可分为数字信道和模拟信道两种)中传输。
**编码:**在不改变信号性质的前提下,仅对数字基带信号的波形进行变换的过程,编码后产生的信号仍为数字信号,可以在数字信号中传输
**调制:**把数字基带信号的频率范围搬移到较高的频段,并转换为模拟信号,称为调制。调制后产生的信号是模拟信号
**码元:**在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形。(其实就是构成信号的一段波形)
常用编码:
在传输信号过程中,通信质量的好坏会也影响输出信号波形失真严重程度。
失真因素:码元传输速率,信号传输距离,噪声干扰,传输媒体质量
奈氏准则:在假定的理想条件下,为了避免码间干扰,码元传输速率是有上限的
香农公式:带宽受限且有高斯白噪声干扰的信道的极限信息传输速率
c = W × log2(1 + S/N)
c:信道的极限信息传输速率(单位b/s)
W:信道带宽(单位:Hz)
S:信道内所传信号的平均功率
N:信道内的高斯白噪声功率
S/N:信噪比,使用分贝(dB)作为度量单位
信噪比(dB) = 10 × log10(S/N) (d/B)
链路(Link):就是从一个节点到相邻接点的一段物理线路,而中间没有任何其他的交换节点
数据链路(Data Link):是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路
数据链路层以帧为单位传输和处理数据
**封装成帧:**将数据链路层给网络层交付的协议数据单元添加帧头和帧尾的操作,成为封装成帧,添加帧头和帧尾的目的是为了实现在链路上以帧为单元来传送数据。
**差错检测:**接收方接收到帧后,通过帧尾部的检错码和检错算法可以判断出帧在传输过程中是否出现了误码。
**可靠传输:**尽管误码是不能完全避免的,但若能实现发送方发送什么,接收方就能收到什么,就成为可靠传输。
接收方收到有误码的帧后,会将其丢弃。如果数据链路层向上提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施。如果向上提供是可靠服务,那么就还需要其他措施来确保接收方主机可以重新收到被丢弃的这个帧的正确副本。
帧头和帧尾中包含有重要的控制信息,另外的作用之一就是帧定界。
透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
如果接收方不能对帧是否结束进行精确判断就不能成为透明传输(比如在传输的数据中存在与帧定界相同的比特流,那么接收方可能会误认为这是帧尾)。为了避免这种情况,协议规定在发送帧之前,会对帧进行扫描,每存在一个帧定界符,就会在其前面插入一个转义字符,这样接收方当接收到一个转义字符时,他就知道这是数据内容,而不是帧定界符。
在一段时间内,传输错误的比特占所传输比特总数的比率成为误码率BER(Bit Error Rate)
**奇偶校验:**在待发送的数据后面添加1位奇偶校验位,是整个数据中“1”的个数为奇数(奇校验)或偶数(偶校验)。但这个方法不好。
循环冗余检验CRC(Cyclic Redundancy Check):
检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。要想纠正传输中的错误,可以使用冗余信息更多的纠错码进行前向纠错。但纠错码的开销比较大,在计算机网络中较少使用。
循环冗余检测有很好的检错能力,虽然计算比较复杂,但非常易于硬件实现,因此被广泛用于数据链路层。
发送方发送数据一组一组发送,当接收方收到一个分组并确认无误后会给发送方返回一个确认分组(ACK),发送方接收到ACK后,才会发送下一个分组。
但其中有很多需要解决的问题:
发送方的发送窗口可连续发送Wt个帧,接收方的接收窗口接受Wr(Wr=1)个帧。接收方不一定要对收到的数据分组逐个发送确认,而是可以在收到几个数据分组之后,对按序到达的对后一个数据分组发送确认。ACKn表示序号n及以前的所有数据分组都已正确接收。
为了进一步提高GBN协议的性能,可设法只重传出现误码的数据分组。因此,接收窗口的尺寸Wr不应再等于1,而是大于1,以便接收方先收下到达但无误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后再一并送交上层。但接收方不能再采用累计确认。
PPP是目前使用最广泛的点对点数据链路层协议,其主要提供了一个标准方法,主要由以下三部分构成:
当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。
字节填充——PPP使用异步传输
当 PPP 用在异步传输时,就使用一种特殊的字符填充法:将每一个 0x7E字节变为(0x7D, 0x5E),0x7D转变成为(0x7D, 0x5D)。ASCII 码的控制字符(即数值小于 0x20 的字符),则在前面要加入0x7D,同时将该字符的编码加以改变。
零比特填充——PPP使用同步传输
只要发现有5个连续的1,则立即填入一个0
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control)
媒体接入控制的方式可划分为
信道复用是通信技术中的重要概念。复用就是通过一条物理线路同时传输多路用户的信号。
当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
**多址接入MA:**多个站连接在一条总线上,竞争使用总线
**载波监听CS:**每个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧。若检测到总线空闲96比特时间(指发送96比特所消耗的时间,也称帧间最小间隔,其作用是使接收方可以检测出一个帧的结束),则发送这个帧;若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送这个帧。
**碰撞检测CD:**每一个正在发送帧的站边发送变检测碰撞,一旦发现总线上出现碰撞,则立即停止发送,退避一段随机时间后再次发送
MAC地址是以太网的MAC子层所使用的地址
IP地址是TCP/IP体系结构网际层所使用的地址
ARP协议属于tcp/ip体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址
MAC地址是数据链路层的地址,用于唯一标识网络适配器(网卡)
一台主机拥有多少个网络适配器就有多少个MAC地址(每个网络适配器都有一个全球唯一的MAC地址)。一般用户主机都有两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。而交换机和路由器往往拥有更多的网络接口,因此拥有多个MAC地址。严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
MAC地址类型
IP地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识两部分信息:
如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)
其作用是通过IP地址找到相应的MAC地址
当主机H1向主机H2发送数据,在H1知道H2的IP,但不知道H2的MAC地址,就没办法在数据链路层封装目的帧地址,其解决办法步骤如下:
ARP的作用范围:逐段链路或逐个网络使用
除了ARP请求和响应外,ARP还有其他类型的报文(例如用于检查IP地址冲突的“无故ARP、免费ARP)
ARP没有安全验证机制,存在ARP欺骗(攻击)问题。
随着交换式以太网规模的扩大,广播域相应扩大,巨大的广播域会带来很多弊端,比如:广播风暴、难以管理和维护、潜在的安全问题。网络中会频繁出现广播信息,这边造成了很多资源浪费。为了分割广播域,使用路由器可以隔离广播域,但路由器成本较高,于是虚拟局域网VLAN技术应运而生。
虚拟局域网是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
该技术是在交换机上实现的,需要交换机能够实现以下两大功能:
网络层的树要任务是实现网络互连,进而实现数据包在各网络之间的传输。
需要解决以下几个问题
IPv4地址就是因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内的唯一的32比特的标识符
在分配给某一区域一个网络后,该区域想将原来的网络划分成三个独立的子网络,为了避免需要申请新的网络号,就可以从IP地址中的主机号部分借用一些位作为子网号来区分不同的子网,从而可以不用申请新的网络地址。
如何知道分类地址中主机号有多少位被用作子网号了呢?
划分子网的工具:子网掩码
子网掩码使用连续的比特1来对应网络号和子网号,用连续的比特0来对应主机号
将IPv4地址和32位比特的子网掩码进行逻辑与运算,便可得到IP地址所在子网的网络地址 {去掉主机号的网络号(包括原网络号+子网号)
}
无分类域间路由选择CIDR(Classless Inter-Domain Routing),CIDR消除了传统的A、B、C类地址以及划分子网的概念,用网络前缀代替网络号和子网号,后面的部分指明主机。因此,CIDR使IP地址从三级编址(使用子网掩码),又回到了两级编址,但这已是无分类的两级编址。
路由聚合(构造超网)
在路由分发的路由表中,当有多个网络存在时,可通过找CIDR地址块的共同前缀,将其聚合成一个聚合地址块,可节省路由表的空间来表示向哪里转发。
给定一个IPv4地址块,如何将其划分成几个更小的地址块,并将这些地址块分配给互联网中的不同网络,进而可以给各网络中的主机和路由器接口分配IPv4地址。
一般有以下两种方法:
IP数据报的发送和转发过程包含以下两个部分:
主机A会将IP数据报传输给自己的默认网关(默认的指定路由器),当路由器收到IP数据报后
静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表
路由器是一种具有多个输入端口和输出端口的专用计算机,其任务是转发分组。
整个路由器结构可划分为两大部分:路由选择部分和分组转发部分
路由选择部分的核心构建是路由选择处理机,其任务是根据所使用的路由选择协议,周期性的与其他路由器进行路由信息的交互,来更新路由表。
分组转发部分由三部分构成,分别是:交换结构、一组输入端口、一组输出端口。
整个过程:
RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议。RIP要求自治系统AS内的每一个路由器都要维护从他自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V”。
RIP使用跳数作为度量来衡量到达目的网络的距离。
RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由。
当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡(也就是将分组等分到多条路由上转发)
RIP包含以下三个要点:
基本工作过程:
OSPF相邻路由器之间通过交互问候(Hello)分组,建立和维护邻居关系。
使用OPSF的每个路由器都会产生链路状态通告LSA。LSA包含以下内容:
LSA会被封装在链路状态更新分组LSU中,采用洪泛法发送。
使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA。通过个路由器洪泛发送封装有自己LSA的LSU分组,个路由器的LSDB最终将达到一致。由链路状态数据库可以得出带权有向图,通过迪杰斯特拉算法就可以得出各路由器为根的最短路径。
OSPF协议的基本工作过程
在不同的自治系统之间,BGP是力求寻找一条能够从一个自治系统中的网络到达另一个自治系统中网络的比较好的路由,不能兜圈子,而并未要寻找一条最佳路由。
(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4 (即IPv4)。 关于以后要使用的IPv6 (即版本6的IP协议)。
(2)首部长度 占4位,可表示的最大十进制数值是15。请注意,首部长度字段所表示数的单位是32位字(1 个32位字长是4字节)。因为IP首部的固定长度是20字节,因此首部长度字段的最小值是5 (即二进制表示的首部长度是0101)。
(3)区分服务 占8位,用来获得更好的服务。服务类型包括最小延迟、最大吞吐量、最高可靠性等性能指标。这里全为0表示一般服务。
(4)总长度 总长度指首部和数据之和的长度,单位为字节。
(5)标识(identification) 占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1, 并将此值赋给标识字段。
(6)标志(flag) 占3位,但目前只有两位有意义。
标志字段中的最低位记为MF (More Fragment)。 MF = 1即表示后面“还有分片”的数据报。MF = 0表示这已是若干数据报片中的最后-一个。
标志字段中间的一位记为DF (Don’t Fragment), 意思是“不能分片”。只有当DF=0时才允许分片。
(7)片偏移 占 13 位。当报文被分片后,该字段标记该分片在原报文中的相对位置。片偏移以 8 个字节为偏移单位。所以,除了最后一个分片,其他分片的偏移值都是 8 字节(64 位)的整数倍。
(8)生存时间 占8位,生存时间字段常用的英文缩写是TTL (Time To Live), 表示数据报在网络中的寿命,占 8 位。该字段由发出数据报的源主机设置。其目的是防止无法交付的数据报无限制地在网络中传输,从而消耗网络资源。
(9)协议 占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个协议进行处理。
(10)首部检验和 占16位。 当校验值有误时,IP层丢弃收到的数据报,但不生成差错报文,由上层去发现丢失的数据报并进行重传。
(11)源地址 32位
(12)目的地址 32位
(13) 可选字段 该字段用于一些可选的报头设置,主要用于测试、调试和安全的目的。这些选项包括严格源路由(数据报必须经过指定的路由)、网际时间戳(经过每个路由器时的时间戳记录)和安全限制。
**(14) 填充 ** 由于可选字段中的长度不是固定的,使用若干个 0 填充该字段,可以保证整个报头的长度是 32 位的整数倍。
(15) 数据部分 表示传输层的数据,如保存 TCP、UDP、ICMP 或 IGMP 的数据。数据部分的长度不固定。
为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP,主机或路由器使用ICMP来发送差错报告报文和询问报文
ICMP报文被封装在IP数据报中发送。
当路由器或主机不能交付数据报时,就向源点发送重点不可达报文。具体可再根据ICMP的代码字段细分为13种错误。
利用公用的因特网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网。
NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。
由于绝大多数的网络应用都是使用运输层协议TCP或UDP来传送数据,因此可以利用运输层的端口号和IP地址一起进行转换。这样用一个全球IP地址就可以使多个拥有本地地址的主机同时和因特网上的主机进行通信。这种将端口号和IP地址一起进行转换的技术叫做网络地址与端口号转换NAPT(Network Address and Port Translation)
物理层、数据链路层以及网络层他们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信。
但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程。
如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端协议。
因特网的运输层为应用层提供了两种不同的运输协议,即面向连接的TCP和无连接的UDP。
运输层使用端口号来区分不同的应用进程,运行在计算机上的进程使用进程标识符PID来标志。
由于不同操作系统使用不同格式的进程标识符,为了使不同操作系统的应用进程可以网络通信就必须使用同一的方法对TCP/IP体系的应用进程进行标识,于是有了端口号。
端口号只具有本地意义,即端口号只是为了标识本计算机应用层中的各进程,在因特网中,不同计算机中的相同端口号没有联系。
一些应用进程所发送的不同应用报文,在运输层使用UDP协议进行封装,称为UDP复用。
一些应用进程所发送的不同应用报文,在运输层使用TCP协议进行封装,称为TCP复用。
不管是使用UDP协议封装成的UDP用户数据报还是TCP协议封装成的TCP报文段,在网络层都需要使用IP协议封装成IP数据报,称为IP复用。IP数据报首部中协议字段的值,用来表名IP数据报的数据载荷部分封装的是何种协议数据单元。取值为6表示封装的是TCP报文段,取值为17表示封装的是UDP用户数据报。
所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接受
利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制
TCP
是在发送端
进行拥塞控制的。TCP为每条连接准备了一个记录拥塞窗口大小的变量cwnd
,它限制了本端TCP
可以发送到网络中的最大报文数量。显然,这个值越大,连接的吞吐量越高,但也更容易导致网络拥塞。所以,TCP的拥塞控制本质上就是根据丢包情况调整cwnd
,使得传输的吞吐率尽可能地大!而不同的拥塞控制算法就是调整cwnd
的方式不同!
TCP发送端发送数据报到接收到确认报文段的时间差为往返时间RTT,其中会设置超时重传时间RTO。如果RTT大于RTO会造成不必要的重传,使网络负荷增大,但如果RTT远小于RTO,会使得网络的空闲时间增大,降低了传输效率。因此如何计算更新RTO是很重要的。
TCP基于以字节为单位的滑动窗口实现可靠传输。
保证可靠传输的手段:
TCP运输连接有以下三个阶段:
TCP的连接建立要解决以下三个问题:
使TCP双方能够确知对方的存在
使TCP双方能够协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳以及服务质量等)
使TCP双方能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配
所谓三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个报文。
一些名词含义:
SYN:synchronous建立连接
FIN:终止标志位,用来释放TCP连接
ACK:acknowledgement 确认
seq:指的是该报文段数据的第一个字节的序号。数据载荷中的每个字节数据都有序号(不是内容)
ack:指确认收到了该序号以前的报文段。
假设TCP连接建立后,TCP客户端发生故障,这样TCP服务器进程以后就不能再收到TCP客户进程发来的数据。因此应当有措施使TCP服务器进程不要再白白等下去(也就是TCP服务进程如何发现TCP客户端发生了故障)
TCP服务器进程每收到一次TCP客户进程的数据,就重新设置并启动保活计时器。
**源端口:**占16比特,用来标识发送该TCP报文段的应用进程
**目的端口:**占16比特,用来标识接收该TCP报文段的应用进程
序号Sequence Number:占32比特,用来指出本TCP报文段数据载荷的第一个字节的序号
确认号Acknowledgement Number:占32比特,指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号,同时也是对之前收到的所有数据的确认。
确认标识位ACK:取值为1时确认号字段才有效;取值为0时确认号字段无效。(TCP规定,在连接建立后所有传送的TCP报文段都必须把ACK设置为1)
同步标识位SYN:在TCP连接建立时用来同步序号。连接请求报文段首部中的SYN被设置为1,表明这是一个TCP连接请求报文段。当ACK也被设置为1时,表名这是TCP连接请求确认报文段。
**终止标识位FIN:**用来释放TCP连接
**复位标识位RST:**用来复位TCP连接。让RST=1时,表明TCP连接出现了异常,必须释放连接,然后再重新建立连接。或还用来拒绝一个非法的报文段或拒绝打开一个TCP连接
推送标识位PSH:接收方的TCP收到该标识位为1的报文段会尽快上交应用进程,而不必等到接受缓存都填满后再向上交付。
**紧急标识位URG:**取值为1时紧急指针字段有效;取值为0时紧急指针字段无效。
**紧急指针:**占16比特,指明紧急数据的长度。当发送方有紧急数据时,可将紧急数据插队到发送缓存的最前面,并立刻封装到一个TCP报文段中进行发送。
**数据偏移:**占4比特,用来指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远(实际是TCP固定首部的长度)
窗口:占16比特,指出发送本报文段的一方得到接收窗口。这是以接收方的接受能力来控制发送方的发送能力,成为流量控制(但实际发送窗口的大小还取决于拥塞窗口的大小,也就是发送窗口应等于接受窗口和拥塞窗口取小者)
**校验和:**占16比特,检查范围包括TCP报文段的首部和数据载荷两部分
选项:
应用层用来解决通过应用进程的交互来实现特定网络应用的问题
DHCP能够为客户端自动分配IP地址,在分配地址的同时具有记录缓存的机制,可避免IP的重复分配,过期地址回收机制增加了IP地址的复用性,对于维护大规模的局域网客户端有极大的便利性。
用户接入到网络后必须先设置IP地址和子网掩码,为了让所有的主机IP地址唯一,网络管理员负担会很重。如果有DHCP服务器就可以通过TCP/IP通信来获取IP地址
当在浏览器地址栏中输入某个Web服务器的域名时:
DNS服务器是有层次的,它可以分为三种类型:根DNS服务器, 顶级域DNS服务器和权威DNS服务器
递归查询
高速缓存
为了提高DNS查询效率减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,是一项基本的网络应用,即文件传送。
主要作用是在服务器和客户端之间实现文件的传输和共享。FTP协议运行在TCP连接上,保证了文件传输的可靠性
FTP基本工作原理
一个电子邮件系统应具有三个主要组成部分:用户代理、邮件服务器、邮件发送协议(如SMTP)与邮件读取协议(如POP)
**用户代理(User Agent)**就是用户与电子邮件系统的接口,在大多数情况下它就是运行在用户PC机中的一个程序。一般具有撰写、显示、处理、通信等功能。
发送和接收电子邮件的几个重要步骤:
(1)发件人调用 PC 中的用户代理撰写和编辑要发送的邮件。
(2)发件人的用户代理把邮件用SMTP 协议发给发送方邮件服务器,
(3)SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。
(4)发送方邮件服务器的SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去
(5)运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
(6)收件人在打算收信时,就运行 PC 机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。请注意,POP3 服务器和 POP3 客户之间的通信是由 POP3 客户发起的。
万维网使用统一资源定位符URL来指明因特网上任何种类“资源“位置
url一般由四部分组成:协议://
+ 主机
+ :端口
+ /路径
HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及万维网服务器怎么样把万维网文档传送给浏览器
基本过程:
HTTP版本
HTTP/1.0采用非持续连接方式。该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到相应后就立即关闭连接。
HTTP/1.1采用持续连接方式。该方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。