计算机网络基础知识

网络:节点 + 链路(有线、无线)

因特网服务提供商 ISP (中国电信 移动 联通)

三种交换方式:电路交换、分组交换、报文交换

图片

计算机网络分层:MAC+IP+TCP + 应用数据

  • 应用层:应用协议、应用进程

  • 传输层:进程之间基于网络通信

  • 网络层:路由分组、多个网络

  • 数据链路层:路由分组多个网络

  • 物理层:电信号、何种信号传输

图片

Http 请求数据包封装过程

应用层:HTTP

运输层:HTTP+TCP

网络层:HTTP+TCP+IP

数据链路层:HTTP+TCP+IP+MAC

物理层:比特流

图片

物理层#

传输媒体#

图片

物理层传输的数据单位:比特

传输方式#

并行传输、串行传输

图片

同步传输:数据块以稳定的比特流的形式传输,字节之间没有间隔

异步传输:以字节为独立的传输单位

图片

图片

通信方式:单工(广播)、半双工(对讲机)、全双工(电话)

图片

编码与调制#

码元:基本波形

图片

基带信号:数字基带信号、模拟基带信号

图片

常用编码:不归零编码(存在同步问题)、归零编码(效率低)、曼彻斯特编码、差分曼彻斯特编码

图片

混合调制(多元制)调幅、调频、调相(基本调制、二元制)

图片

信道的极限容量#

信号失真

图片

奈氏准则、香农公式

图片

物理层协议的主要任务:机械特性、电气特性、功能特性、过程特性

图片

数据传输速率 = 码元传输速率 x 每个码元可携带的比特数量

数据链路层#

路由器包括层:物理层(电信号)链路层(帧)网络层(ip)

图片

数据链路层主要提供功能:封装成帧、透明传输、差错检测(检错码、检错算法)

封装成帧#

帧头 + 上层数据单元 + 帧尾 帧定界

图片

透明传输:表示无论发送什么样的数据,这些数据都能够按照原样没有差错地通过数据链路层。

图片

转义字符(帧定界):零比特填充法

图片

差错检测#

误码率:错误接收的比特数与发送的总比特数之比

检测方式有奇偶校验、循环冗余校验;确保数据是正确的

奇偶校验:奇偶校验只可以简单判断数据的正确性,从原理上可看出当一位出错,可以准确判断,如同时两个 1 变成两个 0 就校验不出来了

图片

循环冗余校验

图片

可靠传输#

传输差错:比特差错、分组丢失、分组失序、分组重复

图片

可靠传输实现机制#

实现机制:停止 - 等待协议、回退 N 帧协议、选择重传协议

停止 - 等待协议:发送、等待、确认(超时重传);实现简单,但信道利用率低

图片

回退 N 帧协议:发送窗口、滑动窗口协议

图片

选择重传协议:接收窗口尺寸

图片

点对点协议 PPP:一套网络控制协议 NCPS、封装成帧、链路控制协议 LCP

图片

透明传输:字节填充法(填充转义字符)、比特填充法(填充比特,连续 5 个 1,填充 1 个 0)

字节填充法(填充转义字符)

图片

比特填充法(填充比特,连续 5 个 1,填充 1 个 0)

图片

实现差错检验:循环冗余检验

媒体接入控制(信号碰撞):静态划分信道、动态接入控制

信道复用:频分、时分、波分、码分

MAC 地址#

主机唯一标识 MAC:mac media access controll

出厂时设置硬件地址:48 位 6 个字节

图片

IP 地址#

分类 IP 地址、无分类 IP 地址

网络号、主机号

网络号、子网号、主机号

ARP 协议#

ARP 协议:地址解析协议

ARP 高速缓存表:维持 IP 与 MAC 的关系映射

集线器与交换机:集线器属于第一层物理层设备,而交换机属于第二层数据链路层设备。这意味着集线器只是对数据的传输起到同步、放大和整形的作用,而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等,从而保证数据传输的完整性和正确性。

交换机(帧交换表学习):以太网交换机自学习和转发帧、自行维护、帧交换表(有效期)

以太网交换机生成树协议 STP:解决冗余链路、网络环路、广播风暴问题

虚拟局域网(VLAN) 实现机制

  • 交换机实现(打标签)设置端口 VLAN

  • Acess 连接计算机 单 VLAN

  • Trunk 交换机、路由器、多 VLAN

网络层#

网络互连、数据包传输、TCP 协议提供可靠传输、UDP 协议提供不可靠传输、网络层寻址问题、路由选择问题

两种服务#

面向连接的虚电路服务:虚电路 VC

无连接的数据包服务:可靠通信由主机保证

图片

IPV4#

32 比特标识符、转换为十进制表示

图片

划分子网 ipv4#

子网掩码、用于标记子网号

网络号 + 子网号 + 主机号

图片

默认子网掩码、未借用主机号、未划分子网

  • A 类地址:255.0.0.0

  • B 类地址:255.255.0.0

  • C 类地址:255.255.255.0

图片

ip 地址的应用规划:定长的子网掩码 FLSM、变长的子网掩码 VLSM

IP 数据报发送和转发#

主机发送 IP 数据报、路由器转发 IP 数据包

同一网络:直接交付,不同网络:间接交付

同一网络:IP AND 子网掩码,计算值一致则为同一网络

图片

默认网关(路由器)

静态路由配置:路由环路问题

路由选择协议#

静态路由需要网络管理员手动进行配置,每条路由都需要手动指定。动态路由则是由路由器通过网络协议自动学习和维护路由信息。

静态路由、适合小规模、动态路由、使用大规模

图片

运输层#

图片

TCP 与 UDP 协议

图片

运输层端口号划分:端口号为 2 的 16 次方 65535 个、01023 熟知端口号、102449151 登记端口号、49152~65535 为短暂端口号

图片

复用与分用:发送方复用、接受收分用

图片

TCP 与 UDP 对比#

UDP :面向应用报文、UDP 不可靠传输(电话应用)、支持单播、多播、广播、首部小

TCP :面向字节流、全双工通信、TCP 可靠传输(文件传输)、单播、首部大

图片

图片

TCP 流量控制#

滑动窗口机制、确认应答机制:seq 序号 ack 响应

图片

应用层#

BS 方式:浏览器 / 服务器模式(Browser/Server)

CS 方式:客户端 / 服务器模式(Client/Server)

P2P 方式:文件共享、即时通信

动态主机配置 DHCP:ip 地址、子网掩码、默认网关、dns 服务器

DHCP 服务器:端口 67

文件传送协议 FTP:Server:端口 21、Client:临时端口号即可

图片

域名系统 DNS:提供域名与 ip 映射、层次树状结构的域名结构

图片

http 基本概念#

http:超文本传输协议

五类 http 状态码

图片

http 常见字段

图片

由于 http 是无状态,所以需要借助 cookie(存储在客户端)来维持会话状态

图片

由于 http 是明码传输,存在不安全问题,于是就引入了加密传输的 https 协议

图片

http 端口 80、https 端口 443(需要证书)

http1.1 特性

  1. 长连接 持久连接 仅需一次 3 次握手

  2. 管道网络传输

  3. 同时发送多个请求

  4. 响应还是顺序的

  5. 队头阻塞

图片

一个数据包在网络中的心路历程#

http 请求

  • dns 服务:获取域名对应 ip

  • 协议栈:tcp/ip

  • 送别者:交换机

  • 出境大门:路由器

图片

路由器基于 ip 设计:三层网络设备

交换机基于以太网:二层网络设备

网络包传输过程中,源 ip 与目的 ip 始终不变,变化的是 mac 地址

提供可靠传输 TCP(不提供可靠传输协议 UDP)

  • tcp 报文格式、失败重传(确认送达)、窗口滑动(流量控制)

  • tcp 三次握手的目的:确保双方都具有发送和接收的能力

  • 查看 tcp 连接状态:netstat -napt

网络包封装:http+tpc+ip+mac

远程定位 ip:源地址 ip、目的地址 ip

两点传输 mac:mac 包头 + ip 头部 + tcp 头部 + http 报文

图片

出口网卡:网络、网卡驱动程序、数字信号转换为电信号

ping 的工作原理#

ip 协议助手、icmp 协议:互联网控制报文协议

icmp 类型:查询报文类型、差错报文类型

图片

ping 查询报文类型使用:mac 头 + ip 头 + icmp 请求报文

图片

tracerate 差错报文类型使用:构造不可达信息,返回网络节点信息

ip 基础知识#

IP 地址表示:32 比特标识符

数据链路层(mac 层)网络层(ip 头)

ip 地址的分类:ABCDE,根据 网络号 + 主机号拆分

图片

广播地址:主机号全为 1

本地广播:在本网络内广播

直接广播:在不同网络之间的广播

无分类地址 CIDR:网络号 + 主机号

示例:10.100.122.2/24,表示 24 位作为网络号、8 位作为主机号

可用地址数为 2 的 8 次方减 2:256-2,其中的 2 个,指的是主机号全为 1(表示广播地址),或全为 0 的地址(表示指向本网)。

子网掩码 255.255.255.0(子网掩码:掩盖掉主机号,用于划分子网)

网络号 10.100.122.0(网络号 = 子网掩码 AND ip 地址)

第一个可用地址:10.100.122.1

最后一个可用地址:10.100.122.254

广播地址:10.100.122.255

未作子网划分 ip 地址:网络地址 + 主机地址

按子网划分 ip 地址:网络地址 +(子网网络 + 子网主机)

默认子网掩码

  • A 类地址的默认子网掩码是 255.0.0.0。

  • B 类地址的默认子网掩码是 255.255.0.0。

  • C 类地址的默认子网掩码是 255.255.255.0。

私有 ip 地址 (固定划分)

  • 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

公有 ip 地址:ICANN 组织管理

ip 地址与路由控制

环回地址不会流入网络:127.0.0.1

ip 分片与重组:MTU(最大传出单元) 1500 字节

IP 协议相关技术

  • DNS 域名解析

  • ARP 与 RARP 协议

  • DHCP 动态获取 ip 地址

  • NAT 网络地址转换

  • ICMP 互联网控制报文协议

网络协议分层

  • 应用层:http ftp

  • 传输层:tcp udp

  • 网络层:ip

  • 数据链路层:mac 地址

  • 物理层:数据包转化为电信号

图片

常用的网络命令

  • ping:用来检测网络通不通

  • ifconfig:用于显示或配置网络设备

  • traceroute:命令利用 ICMP 协议定位您的计算机和目标计算机之间的所有路由器

  • netstat:用于显示各种网络相关信息

  • telnet:远程登录服务的标准协议和主要方式

SSH 网络协议:SSH 是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用 SSH 协议登录另一台远程计算机

FTP 文件传输协议:是用于在网络上进行文件传输的一套标准协议
原文链接:深入浅出计算机网络

本作品采用《CC 协议》,转载必须注明作者和本文链接
写的不好,就当是整理下思绪吧。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。