第一章 计算机网络体系机构
- 带宽:最高数据率,b/s
- 服务数据单元(SDU)+协议控制单元(PCI)=协议数据单元(PDU)
- 第n层服务的实体不仅要使用n-1层服务来实现自己定义的功能,还要向第n+1层提供本层服务,该服务是第n层及其下面各层提供的服务总和;最低层只提供服务;上一层只能通过相邻层间的接口使用下一层的服务
- 应用层:为用户提供使用网络的接口或者手段;
表示层:数据格式转换、数据加密和解密;
会话层:进行会话管理与会话同步
传输层:
网络层:在源和目的站点间选择路由和控制拥塞;
数据链路层:在相邻结点之间无差错地传输帧;
物理层:透明的传输原始比特流 - TCP/IP模型和OSI模型不同之处:
①OSI定义了服务、协议和接口,而TCP没有明确区分;
②OSI产生在协议发明之前,通用性良好,TCP先出现协议,模型知识对已有协议的描述;
③OSI在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接;TCP在网络层仅有无连接,而在传输层支持无连接和面向连接;
第二章 物理层
-
数据:传输信息的实体;
信号:数据的电气或电磁表现;连续变化的数据称为模拟数据;取值仅允许为有限的几个离散数值的数据称为数字数据 -
数据传输方式:串行传输、并行传输
-
码元:指用一个固定时长的信号波形(数字脉冲)表示一位k进制数字,代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元。1码元可以携带多个比特的信号量。例如,在使用二进制编码时,只有两种不同的码元:一种代表0状态,一种代表1状态
-
信道上传输的信号有基带信号和宽带信号。
基带信号将数字1和0直接用两种不同的电压表示,然后送到数字信道上传输(基带传输);宽带信号将基带信号进行调制后形成频分复用模拟信号,然后送到模拟信道上传输(宽带传输) -
数据率:数据的传输速率,表示单位时间内的传输的数据量
-
码元传输速率(波特率):单位时间内传输的码元个数,单位波特(Baud)
-
信息传输速率(比特率):单位时间内传输的二进制码元个数(即比特数),单位b/s
-
一个码元携带n比特信息,则M波特率对应的比特率为Mn比特每秒
-
奈奎斯特定理:
理想低通信道下的极限数据传输率=2W*log2V
W:带宽 V:每个码元离散电平的数目(有多少种不同的码元) -
香农定理:
信道的极限数据传输率=W*log2(1+S/N)
W:带宽 S/N:信噪比(S/N=10时,信噪比为10dB)
结论:信噪比越大,速率越高
一定带宽和一定信噪比,速率有上限 -
奈氏准则只考虑了带宽与极限传输速率的关系,而乡农考虑了带宽和信噪比。表明,一个码元对应的二进制位数是有限的
-
调制:把数据变换为模拟信号;
编码:把数据变换为数字信号 -
数字数据编码为数字信号:非归零编码、曼彻斯特编码、差分曼彻斯特编码
-
数字数据调制为模拟信号
-
模拟数据编码为数字信号:对音频信号进行编码的脉码调制(PCM)
采样定理:将模拟信号转换成数字信号时,假设原始信号中的最大频率为f,则采样频率f采样必须大于等于最大频率的2倍,才能保证采样后的数字信号保留原始模拟信号的信息。采样定理又称奈奎斯特定理 -
模拟数据调制为模拟信号
-
电路交换:
优点:时延小、没有冲突
缺点:建立连接时间长、线路独占、灵活性差 -
报文交换:
优点:无需建立连接、动态分配线路
缺点:转发时延、 -
分组交换:
优点:无建立时延、线路利用率高
缺点:存在传输时延 -
数据报:无需建立连接、不保证可靠性
-
虚电路:分组首部不包含目的地址;采用多路复用技术,一条物理线路可以进行多条逻辑上的连接
-
双绞线:带宽取决于铜线的粗细和传输的距离
-
物理层设备:
中继器:将信号发大再转发。放大器放大模拟信号,中继器放大数字信号
集线器(Hub):信号放大和转发。主要使用双绞线。只能在半双工状态下工作
第三章 数据链路层
-
奇偶校验码:(只能检验奇数个比特错误,检错能力为50%)
-
循环冗余码:(FCS的生成及接收端的CRC检验由硬件实现,处理迅速)
-
海明码:(发现偶数个比特错,纠正奇数个比特错)
-
停止等待协议:
-
后退N帧协议:
1<=WT<=2n-1 -
选择重传协议:
WTmax=WRmax=2(n-1) -
信道利用率=发送数据的时间/发送周期(从开始发送到收到第一个确认帧)
-
信道吞吐量=信道利用率*发送方的发送速率
-
码分多址(CDMA):是码分复用的一种方式
-
CSMA/CD:
适用于总线型网络或半双工网络环境
总线的传播时延对CSMA/CD的影响很大,设τ为单程传播时延,2τ为争用期,
最小帧长=总线传播时延数据传输率2 -
局域网:局域网的特性主要由3个要素决定:拓扑结构、传输介质、介质访问控制方式;
-
介质访问控制方法:CSMA/CD、令牌总线和令牌环;
-
以太网(目前使用范围最广的局域网):
逻辑拓扑是总线型结构,物理拓扑是星型或拓展星型结构
IEEE 802标准定义的局域网参考模型只对应于OSI模型的数据链路层和物理层,并将数据链路层拆为逻辑链路控制层(LLC)和媒体接入控制子层(MAC) -
IEEE 802.3标准是一种基带总线型的局域网标准,它描述物理层和数据链路层的MAC层的实现方法;
-
MAC地址(介质访问控制地址、物理地址):02-60-8c-e4-3b-21
高24位为厂商代码,低24位为网卡序列号; -
地址:6字节MAC地址;
FCS:校验码,从目的地址到数据段末尾,不校验前导码;
数据:46-1500字节;
由CSMA/CD可知,最小帧长为64B,所以减去18B的头部和尾部,剩46B的数据部分;1500是规定的。 -
IEEE 802.11:无线局域网的一系列标准,采用CSMA/CA协议进行介质访问控制,所以不需要在发送时检测冲突;
无线局域网发送碰撞也要发送完帧,而有限局域网发送即停止发送; -
令牌环网:
-
广域网:因特网的核心,不等于互联网;广域网使用的协议主要在网络层
-
PPP协议和HDLC是广域网数据链路层协议
-
PPP(点对点协议):
使用串行线路通信的面向字节的协议;
只支持全双工链路;
允许同时采用多种网络层协议;
提供差错检测但不提供纠错,只保证无差错接收(通过硬件进行CRC校验);
端对端差错检测由高级层负责;
不可靠传输协议,因此不使用序号和确认机制;
只支持点对点的链路通信,不支持多点通信; -
HDLC(高级数据链路控制协议):
ISO制定的面向比特的数据链路层协议;
全双工通信;有较高的传输效率;
采用CRC校验,对帧编号,传输可靠性高; -
网桥:
优点:具备寻址和路径选择能力,以确定帧的传输方向;
在不同或者相同类型的LAN之间存储并转发帧;
可使用不同物理层;
缺点:增大了时延;MAC子层没有流量控制功能;
不同MAC子层的网桥连接在一起时,需要进行帧格式转换;
网桥适合用户不多和通信不大的局域网; -
局域网交换机(以太网交换机):
每个端口直接与主机相连;,一般工作在全双工方式;
交换机独占传输媒体的带宽;
对10Mb/s的以太网,拥有N对端口的交换机的总容量为N*10Mb/s;
第四章 网络层
-
流量控制和拥塞控制的区别:
流量控制往往是指在发送端和接收端之间的点对点通信量的控制。流量控制的是发送端的发送数据的速率,以便接受端来得及接收。拥塞控制必须保证通信子网能够传送待传送的数据,是一个全局性问题。 -
IPv4:
首部长度:*4B
总长度:*1B
偏位移:*8B
标志:占3位:_ DF MF MF=1代表还有分片,DF=0代表允许分片
生存时间(TTL):确保分组不会永远在网络中循环
协议:指出分组的数据部分交给哪个传输层协议,TCP-6 UDP-17 -
在不同网络中传送时,MAC帧中的源地址和目的地址要发生变化,但是网桥在转发帧时,不改变帧的源地址。
-
私有地址:
A:10.0.0.0-10.255.255.255
B:172.16.0.0-172.31.255.255
C:192.168.0.0-192.168.255.255 -
CIDR(无分类域间路由选择协议):
CIDR虽然不使用子网,是因为CIDR并没有指明若干位作为子网字段,但任然使用掩码一词; -
ARP(地址解析协议):
主机如果在高速缓存中没有找到B的ip地址,则通过使用目的MAC地址为FF-FF-FF-FF-FF-FF的帧来封装并广播ARP请求分组;响应分组为单播。 -
DHCP(动态主机配置协议):
应用层协议,基于UDP;
使用客户/服务器方式;
客户机广播“DHCP发现”消息,试图找到网络中的DHCP服务器,故发送分组的源ip地址是0.0.0.0,目的地址是255.255.255.255; -
ICMP:
分为ICMP差错报告报文和ICMP询问报文;
不发送ICMP报文的几种情况如下:
对差错报文不发送差错报文;
对第一个分片的数据报片的所有后续数据报片都不发送;
对具有组播地址的数据报都不发送;
对具有特殊地址的数据报不发送:127.0.0.0或0.0.0.0。
PING使用了回答请求和回答报文,Tracert使用了时间超过报文;
PING工作在应用层,直接使用报文,没有使用TCP或者UDP。 -
IPV6
128位,16字节;
首部固定长度40B,长度必须是8的整数倍;
没有提供检验和字段;
不允许分片;
身份验证和保密功能是IPV6的关键特征;
简化了IP分组头,只包含8个域;
更好的支持选项 -
RIP(路由信息协议):
和相邻路由器交换全部信息,即路由表;
采用距离向量算法;
适用于小型网络;
可能会出现环路情况;
最多只能包含15个路由器,为了防止数据报不断循环在环路上;
优点:实现简单,开销小;
缺点:限制了网络规模,网络出现故障时会出现慢收敛,“坏消息传的慢”;
RIP是应用层协议,使用UDP传送数据。选择的路径不一定是时间最短,但一定是具有最少路由的路径。 -
OSPF(开放最短路径优先协议):
和所有路由器发送自己相邻的路由器的链路状态,采用洪范法;
分布式链路状态算法;
每个路由器根据全网的拓扑结构,使用Dijkstra算法计算最优路径,但路由表不会存储全部路径,只会存下一跳;
“度量”和带宽有关,和带宽成反比;
只有链路状态变化时才发消息;
OSPF是网络层协议,不使用UDP或者TCP,直接用数据报传送; -
BGP(边界网关协议):
BGP采用的是路径向量路由选择协议;
BGP是应用层协议,基于TCP;
只能力求寻找到一条能够达到目的网络且比较好的路由,并非最佳路由; -
IP组播:
组播一定仅用于UDP,将报文同时送给多个接受者;
组播不是让源主机给每个主机都发送一个单独的分组,而是让源主机把分组发给一个组播地址,该组播地址标识一组地址,因此一台主机可以同时属于多个组;
主机是使用IGMP(因特网组管理组织)的协议加入组播组;
组播需要路由器的支持,能够运行组播协议的路由器称为组播路由器。 -
IP组播地址:
组播数据报和一般IP地址的区别,前者使用D类地址作为目的地址,并且首部的协议字段值为2,表明使用IGMP;
注意:
组播数据报也是“尽最大努力交付”,不提供可靠交付;
组播地址只能用于目的地址;
组播数据报不产生ICMP差错报文;
并非所有D类地址都可作为组播地址; -
移动IP:
基于IPV4的移动IP定义3种功能实体:移动结点、归属代理(本地代理)、外部代理。
移动结点在外网通过外网的路由器或者外部代理向通信对端发送IP数据报;
如果一台主机的IP地址为160.80.40.33/16,那么当它移动不属于本网络的子网中,它将不可以直接接受分组,也不可以直接发送分组。 -
路由器:
作为最基础的包过滤防火墙应用;隔离了广播域;
路由器实现了下3层:
如果一个存储转发设备实现了某个层次的功能,那么它就可以互联两个在该层次使用不同协议的网段;
路由表、转发表;
标准路由表有4个项目:目的网络地址、子网掩码、下一条IP地址、接口;
第五章 传输层
-
传输层对收到的报文进行差错检测(首部和数据),而网络层只检查IP数据报的首部;
-
TCP:确认、流量控制、计时器、连接管理,FTP、HTTP、TELNET;
-
UDP:多路复用、错误检查,TFTP、DNS、SNMP、RTP;
-
UDP:
没有拥塞控制,因此网络拥塞不会影响主机的发送效率;因此应用层能更好的控制发送的数据和发送时间;
UDP面向报文,一次交付一个完整的报文,因此报文不可分割;
如果报文中目的端口不正确,那么丢弃,并由ICMP发送“端口不可达”差错报文;
校验:增加12B的伪首部,既检查了UDP的数据报,又对IP数据报的源IP地址和目的IP地址进行了校验;
该差错检验方法的检错能力不强,好处是简单、快。 -
TCP:
数据偏移:首部长度,*4B;
紧急位URG:尽快传送;
ACK:在连接建立后所有传送的报文段都必须把ACK置1 ;
PSH:尽快交付给应用程序;
SYN:为1 时,代表这是一个连接请求或连接接收报文;
窗口字段:如果为1000,则代表发送方还有1000B的接收缓存空间;
MSS:TCP报文段中的数据字段的最大长度; -
TCP连接管理:
每条TCP连接有2个端点,端点不是主机,也不是应用程序,也不是传输层的协议端口,而是套接字或插口。端口拼接到IP地址即构成套接字。
三次握手: -
SYN=1,seq=x;
-
SYN=1,ACK=1,seq=y,ack=x+1;
-
ACK=1,seq=x+1,ack=y+1;
第二步,服务器同意连接,发回确认,并为连接分配缓存和变量;
注意:服务器端的资源是在第二次握手的时候分配,而客户端是在第三次握手时分配,这就使得服务器易于收到SYN洪范攻击。
释放连接:4次握手 -
FIN=1,seq=u;
-
ACK=1,seq=v,ack=u+1;
-
FIN=1,ACK=1,seq=w,ack=u+1;
-
ACK=1,seq=u+1,ack=w+1;
TCP可靠传输:校验、序号、确认、重传。
重传:
(1):超时
RTTs:加权平均往返时间;
新RTTs=(1-a)(旧RTTs)+a(新RTT样本)
RTO:超时计时器设置的超时重传时间
RTO=RTTs+4RTTD
第一次RTTD为RTT的一半
新RTTD=(1-p)(旧RTTD)+p*|RTTS-新RTT样本|
(2):冗余ACK
TCP规定当发送方收到对同一报文的3个冗余确认时,就可以确认报文丢失;
冗余ACK还被用在拥塞控制中。 -
TCP流量控制:一种基于滑动窗口协议的流量控制机制
-
TCP拥塞控制:
接收窗口rwnd:发送方根据目前接受缓存的大小所许诺的最新窗口值;
拥塞窗口cwnd:发送方根据自己估算的网络拥塞程度而设置的值,其大小与网络的带宽和时延密切联系。
慢开始阶段,若2cwnd>ssthresh,则下一个RTT的cwnd等于ssthresh
当发送方检测到超时时,采用慢开始和拥塞避免算法;当检测到冗余ACK时,采用快重传和快恢复。
第六章 应用层
1.网络应用模型:
- 客户/服务器模型:Web、文件传输协议(FTP)、远程登录、电子邮件;特点:客户机相互不直接通信;服务器支持客户机数量有限。
- P2P模型:PPlive、Bittorrent和电驴;特点:多个客户机之间直接共享文档;在获取服务的同时,还要给其他节点提供服务,会占用较多内存,影响整机速度。
2.域名系统(DNS):
组成:层次域名空间、域名服务器、解析器;
域名标号注意:英文不分大小写;除“-”不能用其他标点符号。
域名服务器:
- 根域名服务器:通常不直接告诉IP地址,而告诉下一步。
- 顶级域名服务器
- 授权域名服务器:一台主机最少2个授权域名服务器,总能告诉ip地址。
- 本地域名服务器
3.域名解析过程
当客户端需要解析域名时,通过本机订单DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器。
查询方式:递归查询、递归与迭代相结合的查询
递归查询:给根域名服务器造成负载过大,实际几乎不用。
注意:多个域名可以指向同一个IP地址,多台主机也可以映射到同一域名上(同步均衡),一台主机也可以映射到多个域名(如虚拟主机)
4.文件传输协议(FTP):
提供以下功能:
- 提供不同种类主机系统之间的文件传输能力;
- 以用户管理权限的方式提供用户对远程FTP服务器的文件管理能力;
- 以匿名FTP的方式提供文件共享的能力;
FTP采用客户/服务器的工作方式,使用TCP的可靠传输服务,一个TCP进程可以同时为多个客户进程提供服务。
FTP服务器进程组成:主进程和若干从属进程
主进程:负责接收新的请求;
从属进程:负责处理单个请求。
5.控制连接和数据连接:
数据连接:服务器在控制进程收到FTP发来的文件传输请求后,就创建“数据传输进程”和“数据连接”。数据传送进程实际完成文件的传送,在传送完成后关闭。
在使用FTP时,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后再将修改后的文件副本传送到元服务器。
6.电子邮件:
组成:用户代理、邮件服务器、电子邮件协议(SMTP、POP3或IMAP)
用户代理:用户与电子邮件系统的接口。一个运行在主机上的程序。
邮件服务器:组成核心。采用客户/服务器工作方式,但它能同时充当客户和服务区。
电子邮件协议:发送:SMTP。接收:POP3.
多用途网际邮件扩充(MIME):由于SMTP只能传送一定长度的ASC码,且无法传送可执行文件及二进制对象,因此提出MIME。并未改动SMTP,增加了邮件主体的结构,并定义了传送非ASC码的编码规则。
7.简单邮件传输协议(SMTP):
一种提供可靠且有效的电子邮件传输协议,控制两个相互通信的SMTP进程交换信息。使用客户/服务器方式,用的是TCP连接,端口号为25。
连接建立:使用25与服务器建立连接,建立后,服务器发出“220 service ready”。客户机发送HELO,附上发送方的主机名。
邮件传送:邮件传送从MAIL命令开始。使用DATA,表示开始传输邮件内容。
连接释放:QUIT。
8.邮局协议(POP):
邮件读取协议。
使用客户/服务器工作方式,在传输层使用TCP,端口号为110。
两种工作方式:“下载并保留”和“下载并删除”。
另一种邮件接收协议是网际报文存取协议(IMAP),目前只是因特网建议标准。
随着万维网发展,目前出现了很多基于万维网的电子邮件,如Hotmail、Gmail。
这种邮件的特点是,用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或者接收使用的是HTTP,而仅仅在不同邮件服务器之间传送时采用SMTP。
9.万维网(WWW):
万维网的内核部分是由三个标准构成:客户/服务器方式工作。
- 统一资源定位符(URL)。负责标识万维网上的各种文档。
- 超文本传输协议(HTTP)。一个应用层协议,使用TCP连接进行可靠的传输。
- 超文本标记语言(HTML)。一种文档结构的标记语言。
10.URL:
<协议>://<主机>:<端口>/<路径>
<协议>有http、ftp等;<主机>是存放资源主机在因特网的域名,也可以是IP地址;<端口>和<路径>有时可以省略。
11.HTTP:
面向事务的应用层协议。
有两类报文:请求报文、响应报文。
流程:
- 浏览器分析链接指向页面的URL(http://www.tsinghua.edu.cn/chn/index.html);
- 浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址;
- 域名系统解析出清华大学服务器的IP地址;
- 浏览器与该服务器建立TCP连接(默认端口80);
- 浏览器发出HTTP请求:GET /chn/index.html;
- 服务器发现HTTP响应把文件index.html发送给浏览器;
- TCP连接释放;
- 浏览器解释文件index.html。
12.HTTP特点:
- HTTP采用TCP作为传输层协议,保证可靠性。HTTP本身是无连接的,也就是说虽然HTTP使用了TCP,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接。
- HTTP既可以使用非持久连接,也可以使用持久连接。
对非持久连接,每个网页元素对象(JPEG图形、Flash)的传输都需要单独建立一个TCP连接。
对持久连接,在万维网服务器发送响应后仍保留这条连接。
持久连接又分为非流水线和流水线两种方式。
对于非流水线,客户在收到前一个响应时才能发出下一个请求。
HTTP/1.1的默认是使用流水线的持久连接。在这种情况下,客户每遇到一个对象引用就立即发出一个请求,因而客户可以逐个发出对各个对象引用的请求。
13.HTTP报文:
面向文本。
都由3个部分组成:开始行、首部行、实体主体。
开始行在请求报文中为请求行,在响应报文中为状态行。