【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.在不扩容的 ...
随机推荐
- 15-ThreadLocalRandom类剖析
ThraedLocalRandom类是JDK7在JUC包下新增的随机数生成器,它弥补了Random类在多线程下的缺陷. Random类及其缺陷 下面看一下java.util.Random的使用方法. ...
- FastAPI 学习之路(二)
之前的文章已经介绍了如何安装,以及简单的使用,这篇文章呢,我们就不去分享如何安装对应的包了. 我们如何去编写呢,其实很简单,按照下面的步骤,一个简单的基于fastapi的接口就编写完毕. 首先:创建一 ...
- UltraSoft - Beta - Scrum Meeting 4
Date: May 20th, 2020. Scrum 情况汇报 进度情况 组员 负责 今日进度 q2l PM.后端 完成了课程中心对课程提醒的爬虫 Liuzh 前端 修改DDL列表中起始时间为课程名 ...
- “妈妈再也不用担心我忘交作业了!”——记2020BUAA软工团队项目选择
写在前面 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 团队项目选择 项目简介 项目名称:北航学生资源整合和作业提醒平台 项目内容: 设计实现一 ...
- 2020年OO助教工作总结
随着这学期课程的落幕,我一学期的OO助教工作也宣告结束.这学期我的工作主要在系统组,和OO后台的数据库打交道. 作业查重 我几乎每周都会做的例行工作,是对每周的homework进行查重管理.由于使用了 ...
- GT考试
比较神仙的$dp+KMP+Matrix$综合题目,比较值得一写 $0x00$:首先我打了一个爆搜 不过对正解并无任何启发...(逗比发言请忽略) $0x01$:基础$dp$ 状态还是比较好设的, 考虑 ...
- 六个好习惯让你的PCB设计更优
PCB layout工程师每天对着板子成千上万条走线,各种各样的封装,重复着拉线的工作,也许很多人会觉得是很枯燥无聊的工作内容.看似软件操作搬运工,其实设计人员在过程中要在各种设计规则之间做取舍,兼顾 ...
- vcs(UST)Undefined System Task Call
转载:VCS求助啊 - 微波EDA网 (mweda.com) Error-[UST] Undefined System Task Call../../path/bench/path.v, 51Unde ...
- HttpContext.Current.Request.Url 地址:获取域名
假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli 协议名----http://域名 ---- www.test.com站 ...
- 关于linux的fork的一点学习总结
最近操作系统的实验要用到fork,于是去搜索了一下资料,很幸运地在博客中找到一篇深度好文: http://blog.csdn.net/jason314/article/details/5640969 ...