【NetWork】-- 网络原理
2019-07-18 21:00:25 by冲冲
1. 网络拓扑
把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构(Network Topology)。
网络拓扑结构的本质是,用传输介质互连各种设备的物理布局。
(1)术语
① 节点。一个“节点”是指一个网络端口。节点划分为“转节点”和“访问节点”两类。“转节点”的作用是支持网络的连接,它通过通信线路转接和传递信息,如交换机、网关、路由器、防火墙设备的各个网络端口等。“访问节点”是信息交换的源点和目标点,通常是用户计算机上的网卡接口。如我们在设计一个网络系统时,通常所说的共有××个节点,其实就是在网络中有多个要配置IP地址的网络端口。
② 结点。一个“结点”是指一台网络设备。
③ 链路。“链路”是两个节点间的线路。
④ 通路。“通路”从发出信息的节点到接收信息的节点之间的一串节点和链路的组合。“通路”与“链路”的区别在于一条“通路”中可能包括多条“链路”。
(2)分类
类型 | 优点 | 缺点 | 结构 |
总线拓扑 |
易于扩展 线路利用率高 布线简单费用低 |
总线是全网的瓶颈 可靠性不高 维护困难 传输效率低 |
![]() |
环型拓扑 |
令牌控制,没有线路竞争 实时性强 传输控制容易 |
维护困难 可靠性不高 |
![]() |
星型拓扑 |
易于扩展 可靠性高 方便管理 传输效率高 |
线路利用率低 中心节点是全网的瓶颈 |
![]() |
网状拓扑 |
可靠性高 易于扩充 组网灵活 |
费用高 结构复杂 维护困难 |
![]() |
树型拓扑 |
易于扩展 成本低 管理较方便 故障隔离较容易 |
根节点是全网的瓶颈 | ![]() |
蜂窝拓扑 | |||
混合拓扑 |
易于拓展 安装方便 故障诊断和隔离较为方便 |
建设成本比较高 中心节点是全网的瓶颈 |
![]() |
2. OSI七层模型
OSI(Open System Interconnect),开放式系统互联。 通常称为OSI参考模型,它是ISO(国际标准化组织)组织在1985年研究创建的网络互连模型,用于统一网络规范。
类型 | 作用 | 类比 |
---|---|---|
应用层 | 为应用提供网络跟身份验证 | 创建业务文件 |
表示层 | 确保接收可读 | 转译和加密文件 |
会话层 | 建立、管理应用程序之间的对话 | 标注文件的投递地址 |
传输层 | 数据传输,使用TCP、UDP协议 | 投递文件 |
网络层 | 使用IP识别、网关 | 标注投递路线的各个中转站IP |
数据链路层 | 使用MAC地址,交换机、VALN | 拆解文件,以帧单位分组投递 |
物理层 | 定义规范、标准各种网线设备接口 | 投递所使用到的硬件工具 |
OSI通信特点:对等通信。源端OSI模型的每一层,与目的端的对等层进行通信,能确保数据分组从源端传送到目的端。每一层都使用自己本层的协议进行通信。
3. TCP/IP五层模型
类型 | 作用 |
---|---|
应用层 | 为应用提供网络跟身份验证 |
传输层 | 数据传输,使用TCP、UDP协议 |
网络层 | 使用IP识别、网关 |
数据链路层 | 使用MAC地址,交换机、VALN |
物理层 | 定义规范、标准各种网线设备接口 |
注:
1、TCP/IP模型的应用层 相等于是 OSI模型中应用层、表示层、会话层 的三层功能。
2、数据链路层与物理层又合称网络访问层。
3、在每一层都工作着不同的设备。
4、在每一层实现的协议各不同,即每一层的服务不同.。
4. IP地址分类
(1)概念
① MAC地址:物理地址(48位),每台机器出厂时规定的唯一地址。如果根据物理地址来判断某台主机,数据将十分庞大且不利于管理。
② IP地址:逻辑地址 (32位), IP 地址给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。IP地址可以由用户根据规定进行更改和设置。
(2)格式
每一类IP地址都由两个固定长度的字段组成,IP地址通常用点分十进制的方式来表示。
① 网络号 net-id:它标志主机(或路由器)所连接到的网络。
② 主机号 host-id:它标志该主机(或路由器)。
注:
1、网络号的前位是类别位,分别是0、10、110。凭借类别号能判断网络类别。
2、32位的总长度,由于A、B、C 三类网络号的长度不同,导致ABC 类地址的主机号字段的字节数分别为3、2、1(一个字节8位)。
私有IP范围:
类 |
私有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范围:
类 |
公有IP地址范围 |
A |
1.0.0.0~9.255.255.255和11.0.0.0~127.255.255.255 |
B |
128.0.0.0~172.15.255.255和172.32.0.0~191.255.255.255 |
C |
192.0.0.0~192.167.255.255和192.169.0.0~223.255.255.255 |
27.0.0.0~127.255.255.255为环回地址
IP地址的ABC三段,由子网掩码区分
DHCP
DHCP技术:动态分配IP的技术,由DHCP服务器分配。
防范DHCP攻击的方法:设置唯一端口。
具体步骤:
1、客户端向DHCP服务器发送广播请求;
2、DHCP服务器广播回复客户端;
3、客户端向DHCP服务器单独发送请求;
4、DHCP服务器为客户端发送分配的IP。
DNS
DNS为域名解析系统。用户将一个域名发送至DNS服务器,由DNS服务器解析这个域名,得到相应的IP地址,发送到客户端,客户再由IP地址访问网站。
TCP
TCP协议是一种可靠地面向连接的有排序的准确的传输协议。其经过三次握手确定传输,比较可靠。
TCP/IP应用层
应用层协议主要包括如下几个:FTP、TELNET、DNS、SMTP、RIP、NFS、HTTP。
FTP(File Transfer Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。
Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。
DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。
SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转。
RIP (Router Information Protocol)是路由信息协议,用于网络设备之间交换路由信息。
NFS (Network File System)是网络文件系统,用于网络中不同主机间的文件共享。
HTTP(Hypertext Transfer Protocol)是超文本传输协议,用于实现互联网中的WWW服务。###ARP
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的MAC地址。ARP命令用于查询本机ARP缓存中IP地址-->MAC地址的对应关系、添加或删除静态对应关系等。
需要注意的是,通过ARP,向目标主机发送数据包,第一个包因为寻找主机会丢失,后续包会传输成功
主机到主机的通信过程
主机A需要发送一个数据包到主机B,在整个传输流程中,源和目的IP地址是保持不变的(不考虑NAT),源和目的MAC地址是随着具体链路的变化而变化。以下分为两种情况讨论:
1、主机A和主机B不跨交换机
主机A在本机的路由表中查询匹配主机B的IP的网络号,如果能够查询到,说明主机B和主机A在同一网段(通常是在同一局域网内),则下一跳即为主机B。主机A在ARP缓存中查找主机B的MAC地址(如没有则先发送ARP广播),然后将数据包封装成帧发送至通信线路上。该帧的源MAC是主机A的MAC地址,目的MAC是主机B的MAC地址。
如果主机A和主机B是网线直连的,那么主机B直接收到主机A发来的帧。
2、主机A和主机B跨交换机
如果主机A和B是通过交换机相连的,交换机的某个端口收到主机A发来的帧,然后根据帧中的目的MAC地址在MAC地址表中查询对应的转发端口。如果找到了,直接从该端口转发出去;如果没找到,则在除了接收到数据包以外的所有端口进行转发(广播)。
参考:
https://www.cnblogs.com/qishui/p/5428938.html
https://blog.csdn.net/OUOll/article/details/88303448
【NetWork】-- 网络原理的更多相关文章
- linux基础-第十四单元 Linux网络原理及基础设置
第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...
- 【centos6 , 7】 网络原理、网络配置
第一部分:网络原理: 一.网络编址 (主要使用IP编址) 1.ip编址是一个双层编址方案,一个ip地址标识一个主机(或一个网卡接口) 2.现在应用最为广泛的是IPv4编址,已经开始逐渐向IPv6编址转 ...
- kubernetes pod infra container网络原理
刚开始接触kubernetes时,对kubelet的--pod-infra-container-image参数非常不能理解,不理解为什么我的业务应用需要依赖一个第三方的容器: 上文入门级kuberne ...
- vCenter 部件关系简介 & 网络原理
目录 目录 主机和集群 vCenter Datacenter Cluster Host Virtual Machine Folder Resource Pool Template 数据存储 Datas ...
- core java 10~12(多线程 & I/O & Network网络编程)
MODULE 10 Threads 多线程-------------------------------- 进程: 计算机在运行过程中的任务单元,CPU在一个时间点上只能执行一个进程,但在一个时间段上 ...
- 【BZOJ】【1834】【ZJOI2010】Network 网络扩容
网络流/费用流 这题……我一开始sb了. 第一问简单的最大流…… 第二问是要建费用流的图的……但是是在第一问的最大流跑完以后的残量网络上建,而不是重建…… 我们令残量网络上原有的弧的费用全部为0(因为 ...
- bzoj1834: [ZJOI2010]network 网络扩容
努力看了很久样例一直过不了...然后各种输出中间过程啊巴拉巴拉弄了1h,没办法了...然后突然想到啊原来的边可以用啊为什么不用...于是A了...感人肺腑 #include<cstdio> ...
- BZOJ 1834: [ZJOI2010]network 网络扩容(最大流+最小费用最大流)
第一问直接跑最大流.然后将所有边再加一次,费用为扩容费用,容量为k,再从一个超级源点连一条容量为k,费用为0的边到原源点,从原汇点连一条同样的边到超级汇点,然 后跑最小费用最大流就OK了. ---- ...
- ZOJ 1542 POJ 1861 Network 网络 最小生成树,求最长边,Kruskal算法
题目连接:problemId=542" target="_blank">ZOJ 1542 POJ 1861 Network 网络 Network Time Limi ...
- BZOJ_1834_[ZJOI2010]network 网络扩容_费用流
BZOJ_1834_[ZJOI2010]network 网络扩容_费用流 题意: 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用. 求: 1.在不扩容的 ...
随机推荐
- linux启动redis命令
首先进入到/usr/local/bin目录下(因为你redis安装的目录绝大多数都在这里) root@xxxx:/usr/local/bin#:redis-server wangconfig/redi ...
- md5验证文件上传,确保信息传输完整一致
注:因为是公司项目,仅记录方法和思路以及可公开的代码. 最近在公司的项目中,需要实现一个上传升级包到服务器的功能: 在往服务器发送文件的时候,需要确保 文件从开始发送,到存入服务器磁盘的整个传输的过程 ...
- C#开发BIMFACE系列49 Web网页中加载模型与图纸的技术方案
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在BIMFACE二次系列博客中详细介绍了服务器端API的调用方式,如下列表 C#开发BIMFACE系列1 BIMFAC ...
- python中dump与dumps实现序列化
前言 使用中如果我们想把python可识别对象的dict类型的数据通过str类型写入文件或者存入变量中就需要用到dump与dumps 详解 dump 1.新建个dict文件,然后将dict文件存入一个 ...
- Solon 框架如何方便获取每个请求的响应时间?
经常会有同学问 Solon 怎样才能获取每个请求的响应时间?要求是不需要给每个函数加注解.故此,整理了一下. 不给每个函数加注解,主要有两种方式可以获取请求响应时间: 方式1:基于全局过滤器 Solo ...
- 深入浅出Java内存模型
面试官:我记得上一次已经问过了为什么要有Java内存模型 面试官:我记得你的最终答案是:Java为了屏蔽硬件和操作系统访问内存的各种差异,提出了「Java内存模型」的规范,保证了Java程序在各种平台 ...
- 是兄弟就来摸鱼 Scrum Meeting 博客汇总
是兄弟就来摸鱼 Scrum Meeting 博客汇总 一.Alpha阶段 第一次Scrum meeting 第二次Scrum meeting 第三次Scrum meeting 第四次Scrum mee ...
- [no_code][Beta]发布声明报告
$( "#cnblogs_post_body" ).catalog() 软件下载 一个全新的超简易的OCR表单识别工具 轻松拍照,实现手写表格识别 一键打开,支持多种应用打开你的表 ...
- error: unsupported reloc 43
在Ubuntu 16.04.5 LTS编译android 5.1报错 [19:17:13.062]libnativehelper/JniInvocation.cpp:165: error: unsup ...
- cf16C Monitor(额,,,,水数学,,)
题意: 一块镜子长宽是a*b.现在要调整(切割)成x:y的比例. 问调整完的最大面积是多少. 思路: 先将x,y弄成最简比例,然后放大到不超过min(a,b)即可. 代码: ll a,b,x,y; l ...