计算机网络

计算系统

概述

组成

资源子网和通信子网

分类

​ 按照拓扑:星树总环网

​ 按照范围:局域网LAN,城域网MAN,广域网WAN

ISP

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

主机之间的通信方式
  • 客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。

    5OXnXD.png

  • 对等(P2P):不区分客户和服务器。

5OX1AA.png

电路交换,报文交换,分组交换

两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。

全部先发给中间商,再由中间商给对方

可以分为多组,分线发送,最后拼接在一起

时延

总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延

网络协议三要素

语法,语义,时序

OSI参考模型

开放式系统互联参考模型,下层为上层服务

应用层

4tXGdJ.png

4tXhy8.png

5OqI4P.png

4tXToj.png

4tXOS0.png

5OLGVA.png

img

计算机网络课程主要围绕五层协议的前四层,无线网络移动网络讲解,其中还包括每层中的相关协议

FTP(文件传输协议)

使用两个并行的TCP连接传输文件,一个控制连接,一个数据连接,21端口是用来连接的,20端口用于传输数据

FTP 有主动和被动两种模式:

  • 主动模式:服务器端主动建立数据连接,其中服务器端的端口号为 20,客户端的端口号随机,但是必须大于 1024,因为 0~1023 是熟知端口号。

5OjZUs.png

  • 被动模式:客户端主动建立数据连接,其中客户端的端口号由客户端自己指定,服务器端的端口号随机。

5OjnCq.png

DHCP(动态主机配置协议)

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

DHCP 工作过程如下:

  1. 客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理。
  2. DHCP 服务器收到 Discover 报文之后,发送 Offer 报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提供的信息,因此客户端需要进行选择。
  3. 如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器。
  4. DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。
远程登录协议

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

电子邮件协议

一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件协议。

邮件协议包含发送协议和读取协议,发送协议常用 SMTP,读取协议常用 POP3 和 IMAP。

5Oj2Gt.png

常用端口
应用 应用层协议 端口号 传输层协议 备注
域名解析 DNS 53 UDP/TCP 长度超过 512 字节时使用 TCP
动态主机配置协议 DHCP 67/68 UDP
简单网络管理协议 SNMP 161/162 UDP
文件传送协议 FTP 20/21 TCP 控制连接 21,数据连接 20
远程终端协议 TELNET 23 TCP
超文本传送协议 HTTP 80 TCP
简单邮件传送协议 SMTP 25 TCP
邮件读取协议 POP3 110 TCP
网际报文存取协议 IMAP 143 TCP
Web 页面请求过程
DHCP 配置主机信息

连接在交换机的 DHCP 服务器收到广播帧之后,不断地向上分解得到 IP 数据报、UDP 报文段、DHCP 请求报文,之后生成 DHCP ACK 报文,该报文包含以下信息:IP 地址、DNS 服务器的 IP 地址、默认网关路由器的 IP 地址和子网掩码。该报文被放入 UDP 报文段中,UDP 报文段有被放入 IP 数据报中,最后放入 MAC 帧中。

ARP 解析 MAC 地址

网关路由器接收到该帧后,不断向上分解得到 ARP 报文,发现其中的 IP 地址与其接口的 IP 地址匹配,因此就发送一个 ARP 回答报文,包含了它的 MAC 地址,发回给主机。

DNS 解析域名

hosts文件-dns缓存-dns服务器

tieba.baidu.com找附近dns服务器没找到,就去.服务器找,.fu服务器说在.com.服务器下,.com服务器说在baidu.com.服务器下,最后baidu.com.服务器告诉了tieba.baidu.com的ip地址

HTTP 请求页面

http协议建立连接要经过3次握手,断开连接要4次挥手

tcp可以提供全双工的数据流传输服务,全双工说白了,就是同一时间A可以发信息给B,B也可以发消息给A,俩人同时都可以给对方发消息;半双工就是某个时间段A可以发给B,但B不能给A,换个时间段,就反过来了;单工就是只能一个给另一个类似于汽车单行道;

传输层

UDP 首部格式

5OzUGn.png

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

TCP 首部格式

5XSlWR.png

  • 序号 :用于对字节流进行编号,例如序号为 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三次握手和四次挥手
建立连接过程:

5OvqTH.png

1、服务器就进入了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 的确认后,连接建立。

连接断开过程:

5Ox63t.png

1、A 发送连接释放报文,FIN=1。

2、B 收到之后发出确认,此时 TCP 属于半关闭状态,B 能向 A 发送数据但是 A 不能向 B 发送数据

3、当 B 不再需要连接时,发送连接释放报文,FIN=1。

4、A 收到后发出确认,进入 TIME-WAIT 状态,等待 2 MSL(最大报文存活时间)后释放连接

5、B 收到 A 的确认后释放连接

6、服务器只要收到了客户端发出的确认,立即进入CLOSED状态。

TIME_WAIT

客户端接收到服务器端的 FIN 报文后进入此状态,此时并不是直接进入 CLOSED 状态,还需要等待一个时间计时器设置的时间 2MSL。

网络层

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

  • 地址解析协议 ARP(Address Resolution Protocol)
  • 网际控制报文协议 ICMP(Internet Control Message Protocol)
  • 网际组管理协议 IGMP(Internet Group Management Protocol)
IP 数据报格式

5X9Pvq.png

  • 版本 : 有 4(IPv4)和 6(IPv6)两个值;
  • 首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为固定部分长度为 20 字节,因此该值最小为 5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
  • 区分服务 : 用来获得更好的服务,一般情况下不使用。
  • 总长度 : 包括首部长度和数据部分长度。
  • 生存时间 :TTL,它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。
  • 协议 :指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。
  • 首部检验和 :因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。
  • 标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
  • 片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
地址解析协议 ARP

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

每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表。

网际控制报文协议 ICMP

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

1. Ping
2. Traceroute
虚拟专用网 VPN
网络地址转换 NAT

链路层

以太网

5XCq78.png

虚拟局域网

使用 VLAN 干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连 VLAN 交换机。IEEE 定义了一种扩展的以太网帧格式 802.1Q,它在标准以太网帧上加进了 4 字节首部 VLAN 标签,用于表示该帧属于哪一个虚拟局域网。

5XCo6I.png

物理层

根据信息在传输线上的传送方向,分为以下三种通信方式:

  • 单工通信:单向传输
  • 半双工通信:双向交替传输
  • 全双工通信:双向同时传输
两种信号

数字信号(抗干扰)

模拟信号(更加丰富表现形式)

5xUZ1U.png

调制和编码

调制-输出模拟信号,调制解调器,比如光猫

编码-输出数字信号

部分参考资料

https://www.freesion.com/article/6104572728/

https://blog.csdn.net/qq_14935437/article/details/71081546

https://github.com/CyC2018/CS-Notes/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%20-%20%E6%A6%82%E8%BF%B0.md

https://www.cnblogs.com/nevermorewang/p/8906833.html

http://www.cyc2018.xyz

results matching ""

    No results matching ""