计算机网络知识总结

概述

网络的网络

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

互联网服务提供商

互联网服务提供商(Internet Service Provider),简称ISP,指的是面向公众提供下列信息服务的经营者:一是接入服务,即帮助用户接入Internet;二是导航服务,即帮助用户在Internet上找到所需要的信息;三是信息服务,即建立数据服务系统,收集、加工、存储信息,定期维护更新,并通过网络向用户提供信息内容服务。

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

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

互联网的组成

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

三种交换方式

电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个节点。
分组交换——单个分组(整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
三种交换方式

三种交换模式的优劣分析

交换模式优劣

计算机网络的类别

按照网络的作用范围分类: 广域网(WAN)、城域网(MAN)、局域网(LAN)、个人局域网(PAN)
按照网络使用者分类:公用网、专用网

计算机网络的性能

1.速率

计算机发出的信号都是数字形式,比特(bit)意思是一个“二进制数字”,一个比特就是二进制数字中的一个0或1。网络技术中的速率指的是数据传送速率,它也称为数据率或比特率

2.带宽

1.信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。单位赫
2.带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络的某信道所能通过的“最高速率”。这种意义上的带宽单位是数据率的单位bit/s,比特每秒

3.吞吐量

对于一个1Gbit/s的以太网,就是说其额定速率是1Gbit/s,那么这个数字也就是该以太网的吞吐量的绝对上限值。

4.时延

发送时延 = 数据帧长度/发送速率

传播时延 = 信道长度/电磁波在信道上的传播速率

OSI,TCP/IP,五层协议的体系结构,以及各层协议

osi数据传输过程

物理层

通信方式

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

带通调制

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

信道复用技术

频分复用、时分复用

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

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

统计时分复用

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

波分复用

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

码分复用

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

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

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

其中 S ′ ⃗ \vec{S'} S S ⃗ \vec{S} S 的反码。

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

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

数据链路层

三个基本问题

封装成帧

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

透明传输

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

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

差错检测

目前数据链路层广泛使用了循环冗余检验(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.构成超网。

分类的 IP 地址

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

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

划分子网

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

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

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

无分类编址 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 地址。

网际控制报文协议 ICMP

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

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

分组网间探测 PING

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

虚拟专用网 VPN

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

有三个专用地址块:

10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

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

运输层

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

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

UDP 和 TCP 的特点

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

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

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

TCP三次握手参考上一篇博客

TCP 流量控制

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

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

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) 根域名服务器:解析顶级域名;

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

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

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

文件传输协议 FTP

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

远程终端协议 TELNET

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

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

万维网 WWW

HTTP 见上篇博客

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.浏览器得到页面内容之后,解析并渲染,向用户展示页面。

常用端口

应用层协议端口号
DNS53
FTP控制连接 21,数据连接 20
TELNET23
DHCP67 68
HTTP80
SMTP25
POP3110
IMAP143
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值