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】-- 网络原理的更多相关文章

  1. linux基础-第十四单元 Linux网络原理及基础设置

    第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...

  2. 【centos6 , 7】 网络原理、网络配置

    第一部分:网络原理: 一.网络编址 (主要使用IP编址) 1.ip编址是一个双层编址方案,一个ip地址标识一个主机(或一个网卡接口) 2.现在应用最为广泛的是IPv4编址,已经开始逐渐向IPv6编址转 ...

  3. kubernetes pod infra container网络原理

    刚开始接触kubernetes时,对kubelet的--pod-infra-container-image参数非常不能理解,不理解为什么我的业务应用需要依赖一个第三方的容器: 上文入门级kuberne ...

  4. vCenter 部件关系简介 & 网络原理

    目录 目录 主机和集群 vCenter Datacenter Cluster Host Virtual Machine Folder Resource Pool Template 数据存储 Datas ...

  5. core java 10~12(多线程 & I/O & Network网络编程)

    MODULE 10 Threads 多线程-------------------------------- 进程: 计算机在运行过程中的任务单元,CPU在一个时间点上只能执行一个进程,但在一个时间段上 ...

  6. 【BZOJ】【1834】【ZJOI2010】Network 网络扩容

    网络流/费用流 这题……我一开始sb了. 第一问简单的最大流…… 第二问是要建费用流的图的……但是是在第一问的最大流跑完以后的残量网络上建,而不是重建…… 我们令残量网络上原有的弧的费用全部为0(因为 ...

  7. bzoj1834: [ZJOI2010]network 网络扩容

    努力看了很久样例一直过不了...然后各种输出中间过程啊巴拉巴拉弄了1h,没办法了...然后突然想到啊原来的边可以用啊为什么不用...于是A了...感人肺腑 #include<cstdio> ...

  8. BZOJ 1834: [ZJOI2010]network 网络扩容(最大流+最小费用最大流)

    第一问直接跑最大流.然后将所有边再加一次,费用为扩容费用,容量为k,再从一个超级源点连一条容量为k,费用为0的边到原源点,从原汇点连一条同样的边到超级汇点,然  后跑最小费用最大流就OK了. ---- ...

  9. ZOJ 1542 POJ 1861 Network 网络 最小生成树,求最长边,Kruskal算法

    题目连接:problemId=542" target="_blank">ZOJ 1542 POJ 1861 Network 网络 Network Time Limi ...

  10. BZOJ_1834_[ZJOI2010]network 网络扩容_费用流

    BZOJ_1834_[ZJOI2010]network 网络扩容_费用流 题意: 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用. 求:  1.在不扩容的 ...

随机推荐

  1. RabbitMQ的消息可靠性(五)

    一.可靠性问题分析 消息的可靠性投递是使用消息中间件不可避免的问题,不管是使用哪种MQ都存在这种问题,接下来要说的就是在RabbitMQ中如何解决可靠性问题:在前面 在前面说过消息的传递过程中有三个对 ...

  2. Miller Rabin 详解 && 小清新数学题题解

    在做这道题之前,我们首先来尝试签到题. 签到题 我们定义一个函数:\(qiandao(x)\) 为小于等于 x 的数中与 x 不互质的数的个数.要求 \(\sum\limits _{i=l}^r qi ...

  3. 用C++实现的数独解题程序 SudokuSolver 2.1 及实例分析

    SudokuSolver 2.1 程序实现 在 2.0 版的基础上,2.1 版在输出信息上做了一些改进,并增加了 runtil <steps> 命令,方便做实例分析. CQuizDeale ...

  4. oo第三单元学习总结

    OO第三单元小结 一.JML语言理论基础及工具链梳理 在本单元我们学习了JML语言的一些基础知识,能够让我们看懂简单的JML规格并写出对应代码, 主要用到的知识点有:   1.requires 该子句 ...

  5. mysql分表之后怎么平滑上线?

    分表的目的 项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询数据变慢,而且由于表的锁机制导致应用操作也受到严重影响,出现了数据库性能瓶颈. 当出现这种情况时,我们可以考虑 ...

  6. 色彩滤镜矩阵(Color Filter Array)

    数码相机上的每个象素都带有一个光感应器,用以测量光线的明亮程度.由于光电二极管是只支持单颜色的装置,它不能区别不同波长的光线.因此,数码相机工程师在相机感应器的上部装上了一套镶嵌式的颜色滤镜,一个颜色 ...

  7. 我的一些JAVA基础见解

    这个学期学习JAVA基础课,虽说之前都自学过,但在学习时仍可以思考一些模糊不清的问题,可以更深一步的思考.在这里写下一些需要深入的知识点,对小白们也很友好~ 一.Java数据类型 1.基本数据类型 这 ...

  8. Python课程笔记(九)

    本次课程主要学习了Excel和JSON格式的一些读写操作.课程代码 一.Excel数据读写操作 1.安装模块 pip install xlrd pip install xlwt 网不好可以采用三方库: ...

  9. ShardingSphere-初见

    目录 概述 认识shardingjdbc shardingjdbc功能架构图 认识Sharding-Proxy 三个组件的比较 ShardingJdbc混合架构 ShardingShpere的功能清单 ...

  10. 外网访问vm虚拟机

    目录 一.准备 二.外网访问主机电脑 三.外网访问VM虚拟机 一.准备 外网ip:39.189.8.5 访问https://www.ip138.com 可以查询外网ip 内网主机ip:192.168. ...