网络原理初识(基础)
Posted ohana!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络原理初识(基础)相关的知识,希望对你有一定的参考价值。
目录
一,网络的划分
1.局域网(LAN)
概念
- 局域网,即 Local Area Network,简称LAN
- Local 即标识了局域网是本地,局部组建的一种私有网络
- 局域网内的主机之间能方便的进行网络通信,又称为内网
- 局域网和局域网之间在没有连接的情况下,是无法通信的
局域网的组建(连接方式)
1)基于网线直连
2)基于集线器组建
3)基于交换机组建
4)基于交换机和路由器组建
2.广域网(WAN)
概念
- 广域网,即 Wide Area Network,简称WAN
- 通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网
- 广域网内部的局域网都属于其子网
二,网络通信基础
1.IP地址
概念
- IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址
格式
- IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)
- 或者称为四位0-255的十进制数
组成
IP地址分为两个部分,网络号和主机号
- 网络号:标识网段,保证相互连接的两个网段具有不同的标识;
- 主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。
分类
分 类 | 范围 | 适用网络 | 网络数量 | 主机最大连接数 |
A类 | 0.0.0.0 ~ 127.255.255.255 | 大型网络 | 126 | 16777214( -2) |
B类 | 128.0.0.0 ~ 191.255.255.255 | 中等规模网 络 | 约16000 个 | 65534( -2) |
C类 | 192.0.0.0 ~ 223.255.255.255 | 小型网络 | - | 254( -2) |
D 类 | 224.0.0.0 ~ 239.255.255.255 | |||
E类 | 240.0.0.0 ~ 247.255.255.255 |
备注:主机最大连接数减去2,是扣除主机号为全0和全1的特殊IP地址
特殊IP
- 将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网;
- 将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包;
- 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1
- 本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),
- 对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。
2.端口号(port)
概念
- 在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程
- 简单说:端口号用于定位主机中的进程
格式
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据
注意
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号
3.五元组
在TCP/IP协议中,用五元组来标识一个网络通信:
- 源IP:标识源主机
- 源端口号:标识源主机中该次通信发送数据的进程
- 目的IP:标识目的主机
- 目的端口号:标识目的主机中该次通信接收数据的进程
- 协议号:标识发送进程和接收进程双方约定的数据格式
4.子网掩码
格式
- 子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。
- 子网掩码也可以使用二进制所有高位1相加的数值来表示,如以上子网掩码也可以表示为24。
作用
(1)划分A,B,C三类 IP 地址子网
(2)网络通信时,子网掩码结合IP地址,可以计算获得网络号(划分子网后的网络号)及主机号(划分子网后的主机号)。一般用于判断目的IP与本IP是否为同一个网段
计算方式
- 将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得到的结果就是网络号。
- 将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号
十进制 | 二进制 | |
IP地址 | 180.210.242.131 | 10110100.11010010.11110010.10000011 |
子网掩码 | 255.255.248.0 | 11111111.11111111.11111000.00000000 |
网络号 | 180.210.240.0 | 10110100.11010010.11110000.00000000 |
主机号 | 0.0.2.131 | 00000000.00000000.00000010.10000011 |
5.MAC地址
概念
MAC地址,即 Media Access Control Address,用于标识网络设备的硬件物理地址
作用
- 主机具有一个或多个网卡,路由器具有两个或两个以上网卡;其中每个网卡都有唯一的一个MAC地址。
- 网络通信,即网络数据传输,本质上是网络硬件设备,将数据发送到网卡上,或从网卡接收数据。
- 硬件层面,只能基于MAC地址识别网络设备的网络物理地址
特殊的MAC地址
- 广播数据报:发送一个广播数据报,表示对同网段所有主机发送数据报
- 广播数据报的MAC地址为:FF:FF:FF:FF:FF:FF
6.一跳一跳的网络传输
解释
总的来说,虽然我们在网络传输时输入了IP地址,但实际上网络传输并不是一次性就走到的,时通过MAC地址,从一个设备到另一个设备最终到达了目的设备
总结IP地址和MAC地址
-
IP地址描述的是路途总体的起点和终点;是给人使用的网络逻辑地址
-
MAC地址描述的是路途上的每一个区间的起点和终点,即每一跳的起点和终点;是给网络硬件设备使用的网络物理地址
三,协议
1.认识协议
概念
- 协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则
- 如怎么样建立连接、怎么样互相识别等,只有遵守这个约定,计算机之间才能相互通信交流
- 通常要遵守三要素:语法,语义,时序
三要素
- 语法:即数据与控制信息的结构或格式
- 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应
- 时序,即事件实现顺序的详细说明
体现形式
协议(protocol)最终体现为在网络上传输的数据包的格式
2.协议分层
分层的作用
- 分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。
- 在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类(使用方,使用服务)
- 对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可
- 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可
3.OSI七层模型
概念
OSI:即Open System Interconnection,开放系统互连
- OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了7层。
- OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;
- 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯
七层模型
注:会话层和表示层并未落地
4.TCP/IP五层(四层)模型
概念
- TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
- TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求
五层模型
- 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
- 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
- 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
- 数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
- 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层
5.网络设备所在分层
- 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四层;
- 对于一台路由器,它实现了从网络层到物理层,也即是TCP/IP五层模型的下三层;
- 对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;
- 对于集线器,它只实现了物理层
四,封装和分用
前言
- 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)
- 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息
1.封装
概念
- 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)
- 通俗点说,就是在经过每层模型时,都需要使用本层的协议格式封装之后发送到下一层
封装过程
2.分用
概念
- 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理
- 通俗点说,就是经过每层协议时,使用相同的协议进行解析,然后在交给上一层
过程
以上是关于网络原理初识(基础)的主要内容,如果未能解决你的问题,请参考以下文章