文章目录
- 1.网络互联模型
- 2.常见网络协议
- (1)应用层协议:FTP、HFTP、HTTP
- (2)传输层协议:TCP、UDP
- 三次握手、四次挥手(重要)
- TCP 和 UDP 区别
- (1)连接
- (2)服务对象
- (3)可靠性
- (4)拥塞控制、流量控制
- (5)首部开销
- (6)TCP 和 UDP 应用场景
- (3)网络层协议:IP
- 3.IP地址及其表示方法
- 4.子网与子网掩码
- (1)子网
- (2)子网掩码
- (3)典型真题:判断 IP 是否在相同网段
- 5.IPV4数据报
- (1)数据报结构
- (2)典型真题:数据报结构
- (3)网关
- (4)广播地址(Broadcast Address)
- 6.IPv6
- (1)IPv6 地址结构
- (2)IPv4 / IPv6 过渡技术
- (3)IPv6 数据报
- 7.TCP与UDP
- (1)TCP 协议
- (2)TCP 协议报头
- (3)UDP 协议
- (4)UDP 协议报头
- 8.网络设计
- (1)接入层
- (2)汇聚层
- (3)核心层
- (4)典型真题:网络分层设计模型
- 9.综合布线系统
- (1)六个子系统
- (2)典型真题:综合布线系统
- 10.域名和地址
- (1)访问 IPv4 与 IPv6 的区别
- (2)域名系统
- (3)域名服务器
- (4)域名查询
- 递归查询
- 迭代查询
- (5)网络互连与常用设备
- (6)网络存储技术
- (7)网络系统建设
- (8)典型真题:域名查询
1.网络互联模型
- 计算机之前通信涉及的问题很多,如系统是异构的,硬件设备不同,计算机之间使用的网络不同。
- 实际使用最多的是四层的 TCP/IP 协议,被视为简化的七层 OSI 协议。
- 每一层都会完成相应的工作。每一层都会为上一层提供服务。
- 物理层:没有什么协议,都是一些串口,如 USB 接口、带阵脚的接口。
- 数据链路层:把物理层传输的数据打包,称为帧。IEEE 802(局域网协议)、HDLC / PPP(点对点传输协议)、ATM(异步传输协议)。可以对数据做校验,把错误的数据丢掉,无差错传输。
- 网络层:选择一条合适的路由。网络节点的转发。主机到主机。最主要的是 IP 协议。
- 传输层:应用程序和应用程序之间连接。最主要的是 TCP、UDP 协议。
- 会话层:应用程序和应用程序之间通信。RPC、SQL。
- 表示层:信息表示成应用层能看的懂的。
- 应用层:最主要的是 HTTP 协议。
2.常见网络协议
(1)应用层协议:FTP、HFTP、HTTP
(2)传输层协议:TCP、UDP
三次握手、四次挥手(重要)
https://mp.weixin.qq.com/s/nZbSuGygZlT3Mvzt5aQhag
TCP 和 UDP 区别
(1)连接
- TCP 是面向连接的传输层协议,传输数据前先要建立连接。
- UDP 是不需要连接,即刻传输数据。
(2)服务对象
- TCP 是一对一的两点服务,即一条连接只有两个端点。
- UDP 支持一对一、一对多、多对多的交互通信
(3)可靠性
- TCP 是可靠交付数据的,数据可以无差错、不丢失、不重复、按需到达。
- UDP 是尽最大努力交付,不保证可靠交付数据。
(4)拥塞控制、流量控制
- TCP 有拥塞控制和流量控制机制,保证数据传输的安全性。
- UDP 则没有,即使网络非常拥堵了,也不会影响 UDP 的发送速率。
(5)首部开销
- TCP 首部长度较长,会有一定的开销,首部在没有使用「选项」字段时是 20 个字节,如果使用了「选项」字段则会变长的。
- UDP 首部只有 8 个字节,并且是固定不变的,开销较小。
(6)TCP 和 UDP 应用场景
- 由于 TCP 是面向连接,能保证数据的可靠性交付,因此经常用于:
- FTP 文件传输
- HTTP / HTTPS
- 由于 UDP 面向无连接,它可以随时发送数据,再加上UDP本身的处理既简单又高效,因此经常用于:
- 包总量较少的通信,如 DNS 、SNMP 等
- 视频、音频等多媒体通信
- 广播通信
(3)网络层协议:IP
3.IP地址及其表示方法
- IPV4(点分十进制) 地址已经耗尽,现在使用 IPV6 地址。
- A类:**政府机关。**规定网络号占 8 位,以 0 开头。网络号的范围从 0 ~ 127。其中 0 代表任何地址,127 为回环测试地址,因此,网络号的范围从 1 ~ 126。
- B 类:**大中型企业。**规定网络号占 16 位,以 1 0 开头。网络号的范围从 128 ~ 191。
- C 类:**个人使用。**规定网络号占 24 位,以 1 1 0 开头。网络号的范围从 192 ~ 223。
- D 类:组播。
- E 类:保留实验。
- 补充:
- 为什么要设定私有地址?
- IPv4私有地址
4.子网与子网掩码
(1)子网
- 申请了一个 B 类地址,主机数用不完,但是申请一个 C 类地址又不方便之后的扩充,于是就造成了IP地址的浪费。
- 子网划分简单来说就是把一个两级IP地址划变为三级地址,相当于从原来的主机号中借用若干个位作为子网号。
- 如何来划分子网,划分子网后数据报 又是怎么路由的呢?
- 如下图所示,一个B类网络被划分了三个子网,每个子网此时其实已经处于不同网段了。子网划分是一个单位内部的事情,对外仍是一个二级IP地址。
- 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网,最后就将 IP 数据报直接交付目的主机。
(2)子网掩码
- 划分子网时需要注意:
- 子网的划分并没有改变原来的网络号,只是将主机号部分再划分。因此,单看一个IP地址是无法判断该地址是否进行了子网划分的。
- 子网号能否为全 0 和全 1 需要根据题目来判断,因为对分类IP地址进行划分时,子网号不能为全0或全1 ,但CIDR可以。
- 无论是 IPv4 地址还是 CIDR,主机号都不能全为0(全0表示子网网络号)或全为1(全1位广播地址)。
- 只通过一个IP地址根本不知道它的网络号是什么,同一个IP地址都有可能表示的是不同的网络。这时,就需要子网掩码了。
- 子网掩码的划分规则如下:
- 子网掩码长度:32位
- 某位=1:IP地址中对应的网络号或子网号
- 某位=0:IP地址中对应位为主机号
- 掩码的作用就是用来告诉电脑把“大网”划分为多少个“小网”。掩码是用来确定子网数目的依据。
- 将 IP 地址与子网掩码做“与运算”得到子网的网络号。
- 比较两个 IP 地址是否在同一个网段,就是看网络位是否相同。
(3)典型真题:判断 IP 是否在相同网段
- 179 转为二进制:1 0 1 1 0 0 1 1
- 177 转为二进制:1 0 1 1 0 0 0 1
- 网络号是 20 位。32 个子网需要 5 位。一共需要 25 位。前三个字节都是 1,即 255,最后一个字节的第一位是 1,即 128。
- 主机数占 7 位,一共 128 个,去掉全 0 和 全 1,还剩 126个。
- 原地址网络号为 20 位。C 类子网网络号为 24 位。多出 4 位 可组成 16 个子网。
- 子网地址范围:192 ~ 207。
5.IPV4数据报
(1)数据报结构
- 到了网络层,除了数据部分以外,还会加上很多控制信息(IP 数据报的首部部分)。
- 版本:二进制的 4。
- 首部长度:占 4 位,可以表示 15 个单位,一个单位 4 字节。最大 60 字节。
- 区分服务:希望当前的数据报被优先处理。不是必须的。
- 总长度:占 16 位。最大 65535 字节。超过大小需要拆分。
- 生存时间:每通过就减一,到 0 时会被丢掉。
- 协议:上层协议的名称。
- 首部校验和:只校验首部,不校验数据。是不可靠的。
(2)典型真题:数据报结构
(3)网关
- 网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。
- 网关实质上是一个网络通向其他网络的 IP 地址。比如有网络 A 和网络 B,网络 A 的 IP 地址范围为“192.168.1.1-192. 168.1.254”,子网掩码为 255.255.255.0;网络 B 的 IP 地址范围为“192.168.2.1~192.168.2.254”,子网掩码为 255.255.255.0。
- 在没有路由器的情况下,两个网络之间是不能进行 TCP / IP 通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP / IP 协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络 A 中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络 B 的网关,网络 B 的网关再转发给网络 B 的某个主机。所以说,只有设置好网关的 IP 地址,TCP / IP 协议才能实现不同网络之间的相互通信。那么这个 IP 地址是哪台机器的 IP 地址呢?网关的 IP 地址是具有路由功能的设备的 IP 地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
(4)广播地址(Broadcast Address)
- 广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。
- 在使用 TCP / IP 协议的网络中,主机标识段 host ID 为全 1 的 IP 地址为广播地址,广播的分组传送给 host ID 段所涉及的所有计算机。例如,对于 10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为 2 进制的 11111111 ),当发出一个目的地址为 10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。
6.IPv6
(1)IPv6 地址结构
- IPv6地址:128 位。16 位为一段,共 8 段。
(2)IPv4 / IPv6 过渡技术
(3)IPv6 数据报
- 流量分类:相当于 IPv4 中服务类型字段。
- 跳数限制:相当于 IPv4 中的生存时间。
7.TCP与UDP
(1)TCP 协议
- 数据已发送并受到确认后,窗口会向右移。
(2)TCP 协议报头
- 端口号:标识同一台计算机不同的应用进程。TCP 报头中的源端口号和目的端口号同 IP 数据报中的源 IP 与目的 IP 唯一确定一条 TCP 连接。
- 源端口:源端口和 IP 地址的作用是标识报文的返回地址。
- 目的端口:端口指明接收方计算机上的应用程序接口。
- 序号和确认号:是 TCP 可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在 TCP 传送的流中,每一个字节一个序号。
- 数据偏移/首部长度:4bits。由于首部可能含有可选项内容,因此 TCP 报头的长度是不确定的,报头不包含任何任选字段则长度为 20 字节,4 位首部长度字段所能表示的最大值为 1111,转化为 10 进制为 15,15*32/8 = 60,故报头最大长度为 60 字节。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。
- 保留:为将来定义新的用途保留,现在一般置 0。
- 控制位:URG ACK PSH RST SYN FIN,共 6 个,每一个标志位表示一个控制功能。
- URG:紧急指针标志,为 1 时表示紧急指针有效,为 0 则忽略紧急指针。
- ACK:确认序号标志,为 1 时表示确认号有效,为 0 表示报文中不含确认信息,忽略确认号字段。
- PSH:push 标志,为 1 表示是带有 push 标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。
- RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。
- SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1 和 ACK=0 表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即 SYN=1 和 ACK=1。
- FIN:finish 标志,用于释放连接,为 1 时表示发送方已经没有数据发送了,即关闭本方数据流。
- 窗口:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小时一个 16bit 字段,因而窗口大小最大为 65535。
- 校验和:奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。
- 紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。
- 选项和填充:最常见的可选字段是最长报文大小,又称为 MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置 SYN 标志为 1 的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是 32 位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证 TCP 头是 32 的整数倍。
- 数据部分: TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。
(3)UDP 协议
(4)UDP 协议报头
- 校验和可以为 0。如果校验,只校验头部。
8.网络设计
- 接入层:每个部门接入交换机、路由器。
- 汇聚层:可有可无。看网络有多大。
- 核心层:连着网关。
- 出口层:连着 ISP。
(1)接入层
(2)汇聚层
(3)核心层
(4)典型真题:网络分层设计模型
9.综合布线系统
(1)六个子系统
(2)典型真题:综合布线系统
10.域名和地址
(1)访问 IPv4 与 IPv6 的区别
- 在 IPv4 网络上,可以使用以下格式访问网络资源:http://192.168.1.21/webpage
- IPv6 地址包含一个冒号作为分隔符,因此必须用方括号括起来:http://[2031:0:130F::9C0:6A:130B]:8080/index/html
(2)域名系统
(3)域名服务器
- 主域名服务器:本区域域名解析。
- 辅助域名服务器:备份。
- 缓存域名服务器:减少反复查询。
- 转发域名服务器:本地查不到时负责转发。
(4)域名查询
- 域名解析过程主要有两种方式:递归查询和迭代查询。
递归查询
- 当浏览器需要知道域名所对应的 IP 地址时,那么它会向本地域名服务器进行查询。
- 如果本地主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步的查询。
- 在这种情况下,本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归在其他几个域名服务器之间进行的(也就是根域名以 DNS 客户的身份,向顶级域名服务器继续发出查询请求报文;顶级域名服务以此类推)。
- 然后,本地域名服务器从根域名服务器得到了所需的IP地址,最后本地域名服务器将查询结果告诉主机 m.xyz.com。
迭代查询
- 当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器“你下一步应该向哪一个顶级域名服务器进行查询”。
- 然后让本地域名服务器向这个顶级域名服务器进行后续的查询。同样,顶级域名服务器收到查询报文后,要么给出所要查询的 IP 地址,要么告诉本地域名服务器下一步应该向哪一个权限域名服务器查询。
- 然后让本地域名服务器向这个权限域名服务器进行后续的查询。最后,知道所要解析的域名的 IP 地址后,把这个结果返回给发起查询的主机。
- 本地域名服务器将查询结果保存到本地缓存,同时返回给客户机。
(5)网络互连与常用设备
网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门
https://zhuanlan.zhihu.com/p/37606319
(6)网络存储技术
(7)网络系统建设
(8)典型真题:域名查询