IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 网络总结上 -> 正文阅读

[系统运维]网络总结上

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.网络

1.1局域网LAN

局域网,即 Local Area Network,简称LAN。Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的
基于交换机和路由器组建
局域网除了上图所示基于交换机和路由器组建方式外,还可以通过交换机、集线器、及网线直连的方式组建

1.2广域网WAN

广域网,即Wide Area Network,简称WAN。通过路器将多个局域网连接起来,在物理上组成很大范围的网络就形成了广域网。广域网内部的局域网都属于其子网。

在这里插入图片描述所谓"局域网"和"广域网"只是一个相对的概念。比如,我们国家的广域网,也可以看做一个比较大的局域网。


2.网络通信基础

2.1 IP地址

2.1.1 概念

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。(IP地址用于定位主机的网络地址。)
比如发送快递,需要知道对方的收货地址,快递员才能将包裹送到目的地。

2.1.2 格式

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)如:100.4.5.6。

2.1.3 特殊IP

127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1,本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。

IP地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进
程来接收这个数据呢?这就需要端口号来标识。

2.2 端口号

2.2.1 概念

在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简
单说:端口号用于定位主机中的进程。
比如发送快递时,不光需要指定收货地址(IP地址),还需要指定收货人(端口号)。

2.2.2 格式

端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。

2.2.3 注意事项

两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

一个进程启动后,系统会随机分配一个端口(启动端口)程序代码中,进行网络编程时,需要绑定端口号(收发数据的端口)来发送、接收数据。进程绑定一个端口号后,fork一个子进程,可以实现多个进程绑定一个端口号,但不同的进程不能绑定同一个端口号。线程与进程可以了解一下这个

有了IP地址和端口号,可以定位到网络中唯一的一个进程,但是网络通信是基于二进制数据来传输,基于网络数据传输,需要使用协议来规定双方的数据格式。

2.3 协议

2.3.1 概念

网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:

  • 语法:

数据与控制信息的结构或格式;
类似打电话时,双方要使用同样的语言:普通话

  • 语义:

需要发出何种控制信息、完成何种动作以及做出何种响应;
语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。

  • 时序:

即事件实现顺序的详细说明。时序定义了何时进行信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是异步传输。

2.3.2 知名协议默认端口

系统端口号范围为 0 ~ 65535,其中:0 ~ 1023 为知名端口号,这些端口预留给服务端程序绑定广泛使用的应用层协议,如:

22端口:预留给SSH服务器绑定SSH协议
80端口:预留给HTTP服务器绑定HTTP协议
443端口:预留给HTTPS服务器绑定HTTPS协议


3 网络分层管理

3.1 分层的作用

类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类(使用方,使用服务):

  • 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可
  • 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。

3.2 网络协议模型

网络协议模型

3.2.1 TCP/IP五层(或四层)模型及各层作用

  • 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。网络编程主要就是针对应用层。
  • 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP 、UDP),能够确保数据可靠的从源主机发送到目标主机。
  • 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
  • 数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
  • 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

在这里插入图片描述网络通信协议图


4. 网络编程

4.1 概念

通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。所以即便是同一个主机,只要是不同进程,基于网络来传输数据,也属于网络编程。

4.1.1 客户端和服务端

  • 服务端:在常见的网络数据传输场景下,把提供服务的一方进程,称为服务端,可以提供对外服务。
  • 客户端:获取服务的一方进程,称为客户端。
    对于服务来说,一般是提供:
    1.客户端获取服务资源:客户端获取服务资源
    2.客户保存资源在服务端
    客户保存资源在服务端

4.1.2 常见的客户端服务端模型

最常见的场景,客户端是指给用户使用的程序,服务端是提供用户服务的程序:

  1. 客户端先发送请求到服务端
  2. 服务端根据请求数据,执行相应的业务处理
  3. 服务端返回响应:发送业务处理结果
  4. 客户端根据响应数据,展示处理结果(展示获取的资源,或提示保存资源的处理结果)在这里插入图片描述

4.2 网络编程具体操作这部分还没写完,等我慢慢写


5. TCP/IP协议(重点理论)

5.1 IP地址

5.1.1 概念

互联网协议地址,IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。(IP地址用于定位主机的网络地址。)

5.1.2 作用

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

5.1.3 组成

IP地址分为两个部分,网络号和主机号

  • 网络号:标识网段,保证相互连接的两个网段具有不同的标识;
  • 主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
    通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。通过划分网络来确定

5.1.4 网络分类

ABCD网络划分
网络划分
主机最大连接数减去2,是扣除主机号为全0和全1的特殊IP地址。

5.1.5 特殊的IP地址

将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网;
将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有
主机发送数据包;
127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1;
本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。

5.2 子网掩码

5.2.1 格式

子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度; 右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。子网掩码也可以使用二进制所有高位1相加的数值来表示。

5.2.2 作用

将某个IP地址划分成网络地址和主机地址两部分

  • 划分A,B,C三类 IP 地址子网:

如一个B类IP地址:191.100.0.0,按A ~ E类分类来说,网络号二进制数为16位网络号+16位主机号。假设使用子网掩码 255.255.128.0(即17) 来划分子网,意味着划分子网后,高17位都是网络位/网络号,也就是将原来16位主机号,划分为1位子网号+15位主机号。此时,IP地址组成为:网络号+子网号+主机号,网络号和子网号统一为网络标识(划分子网后的网络号/网段)子网划分

5.3 MAC地址

5.3.1 概念

用于标识网络设备的 硬件物理地址 。

5.3.2 IP地址与MAC地址

  1. 回顾一下IP地址(Internet Protocol Address)是工作在网络层的,是一个设备与当前网络(主机号和网络号)配置出来的唯一逻辑地址,那么MAC地址是什么,我们上一个点提到,他是 Media Access Control Address的全称叫做媒体访问控制地址,也称作局域网地址,以太网地址或者物理地址。对没错物理地址,他是烧录在网卡上面的,每一个物理设备都有对应的唯一的MAC地址。
  2. IP地址共32位,可划分为网络号和主机号;MAC地址共48位(6个字节)。前24位由IEEE(电气和电子工程师协会)决定如何分配,后24位由实际生产该网络设备的厂商自行制定。例广播地址:FF:FF:FF:FF:FF:FF
  3. IP地址描述的是路途总体的起点和终点;是给人使用的网络逻辑地址;MAC地址描述的是路途上的每一个区间的起点和终点,即每一跳的起点和终点;是给网络硬件设备
    使用的网络物理地址。
    想再了解可以看下这个知乎老哥的帖子还8错

5.4 TCP协议

TCP,即Transmission Control Protocol,传输控制协议。人如其名,要对数据的传输进行一个详细的控制。

5.4.1 TCP协议段格式

TCP段落格式图

  • 源/目的端口号:表示数据是从哪个进程来,到哪个进程去;
  • 32位序号/32位确认号:目的主机返回确认号,使源主机知道某个或几个报文段已被接收。
  • 4位TCP报头长度:表示该TCP头部有多少个32位bit(有多少个4字节);所以TCP头部最大长度是15 * 4 = 60
  • 6位标志位:

URG:紧急指针是否有效
ACK:确认号是否有效
PSH:提示接收端应用程序立刻从TCP缓冲区把数据读走
RST:对方要求重新建立连接;我们把携带RST标识的称为复位报文段
SYN:请求建立连接;我们把携带SYN标识的称为同步报文段
FIN:通知对方,本端要关闭了,我们称携带FIN标识的为结束报文段

  • 16位窗口大小:进行流量控制,这个值是本机期望一次接收的字节数,即发送数据的窗口大小。告诉对方在不等待确认的情况下,可以发来多大的数据。这里表示的最大长度是2^16 - 1 = 65535,如需要使用更大的窗口大小,需要使用选项中的窗口扩大因子选项。

指发送本报文段的一方的接收窗口(而不是自己的发送窗口)。

  • 16位校验和:发送端填充,CRC校验。接收端校验不通过,则认为数据有问题。此处的检验和不光包含TCP首部,也包含TCP数据部分。
  • 16位紧急指针:标识哪部分数据是紧急数据;
  • 字节头部选项:可能包括“窗口扩大因子”、“时间戳”等选项。长度可变,最长可达 40 字节,当没有使用选项时,TCP 首部长度是 20 字节。填充用于保证任选项为 32bit 的整数倍。

先讲到这里,下篇再进行完善吧,这个实在是鸽太久了

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 01:04:54  更:2022-09-21 01:08:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:18:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码