计算机网络——网络相关(主:通信流程)
一、网络拓扑结构
二、网络传输介质
双绞线(即平常说的网线) |
|
||||
光纤 |
|
三、OSI七层模型
层(自上到下) | 功能 | 协议 | 设备 | |
应用层 |
网关 |
网关(Gateway),网关是连接两个网络的设备。网关实质上是一个网络通向其他网络的IP地址(具有路由功能)。 | ||
表示层 | ||||
会话层 | ||||
传输层 | ||||
网络层 | 路由器 | 靠逻辑地址工作,提供逻辑寻址,解决广播问题。 | ||
数据链路层 | 交换器、网桥 |
网桥(Bridge)也称为桥接器,是连接两个局域网的存储转发设备。 交换机(Switch)是主导网络系统的集线设备。将多个网络设备连接起来组成一个局域网。 |
||
物理层 | 中继器、集线器 |
中继器又叫重发器(Repeater,也叫放大器),是LAN(局域网)环境下用来延长网络距离的互连设备中最简单、最廉价的设备。 集线器(被称为多端口中继器multiport repeater)是中继器的一种形式,也称为盒装总线,所以集线器连接的计算机是共享同一物理带宽的。正是因为这个特点,集线器不适合用来构建大型网络。 |
通信参考链接
私网也称内网,也叫局域网。
1.子网(局域网)内通信
上左图:子网内通信流程 上右图:ARP包 (注意:目标IP地址此时为D的地址)
Eg: A找D通信流程
A:IP 地址为 192.168.1.13 的机器是谁啊,并携带自身IP及MAC信息经ARP协议封装后广播
B、C:收到包,但不符合故不应答。
D:是我,同时把自己的 IP ,mac 地址经ARP封装后回复回去,并将A的信息从ARP包中取出更新到本地。
A:收到回复包后,把D回复的ARP包内信息更新到本地。交换机就是通过 ARP 不断把机器与其所连端口记录更新在表中
2.子网(局域网)间通信——通过网关
映射表中一个端口代表一个广播域。
eg: A 如何与 D 通信
A: A 把 ARP包发到网关,即 192.168.1.1.
注意:目标 Mac 是网关的 mac,但目标 IP 是 D 的 IP ,并不是网关的 IP.
路由器: 收到上面这个 ARP包后会取出它的目标 IP,然后查一下路由表(如上图),然后转
发到相应的端口对应的子网内,然后再对应子网内找到D。
D: 收到ARP,更新本地信息,并添加信息后回传到路由器
路由器:根据ARP更新本地信息。再回传给A。
A: 收到回复包后,把D回复的ARP包内信息更新到本地。
至此,路由器、A、B 都有A B相互的IP及MAC信息。
3.子网(局域网)间通信——通过路由器
映射一个端口代表一个广播域。
A 要与D 通信流程:
我们看第一次记录,有一个下一跳,对应路由器 2 上的端口,那么这里为啥不用端口呢,主要原因是为了避免在路由器 1 产生大量的 ARP 缓存。
-----------------------------------------------------------------------------------------------------------------------
一个端口代表一个广播域,假设现在指定子网为 192.168.2.0 的包从路由器 1 上 mac 地址为 r2 的端口出去,那么包在 r2 端口转发前,需要修改一下包的目标 IP 对应的 mac 地址,此时如果不知道目标 IP 的 mac 地址会怎样呢,发个 ARP 请求获得目标 IP 的 mac 地址,并且保存在路由器的 ARP 缓存,如果目标 IP 的子网有很多台主机,R2 每转发一次都要都要发一次 ARP 请求,并且保存在本地,将会产生大量的 ARP 缓存,而如果用下一跳的 IP,则所有到 192.168.2.0 子网的请求,都只会转发给 192.168.10.6,就意味着只存储这个 IP 的 ARP 缓存,所以一般路由器之间的转发使用下一跳。
-----------------------------------------------------------------------------------------------------------------------
路由器是如何知道这些路由表的呢: 通过静态路由算法和动态路由算法,所谓静态路由是指路由规则是人工配置的,动态路由则是通过路由器学习,分享给相邻路由器自己的路由表信息以让互联网上的路由器逐步完善自己的路由表。
4.公网间通信
NAT(Network Address Translation,网络地址转换):
私网中的主机如果想要访问公网,必须将私网中的 IP 转为公网上的 IP,我们把这个过程称为NAT.
私网 IP 与公网 IP 应该映射关系:
NAT 为了节省 IP 资源,往往采用端口映射的方式。
端口映射(常用):
私网通过公网请求另一个私网IP:
这也是为什么开发API时要把服务映射到公网上,才能被都访问到的原因。
请求除了公网地址变了,端口地址也变了,但请求回来的时候也会把公网的 IP 和端口转成内网的 IP+端口,也就解决了响应包找不到主机的问题
5.总结
IP 起到远程定位子网,减少网络风暴的作用,定位子网后,则广播(ARP 请求)对网络的影响会小的多, ARP 拿到 mac 后在子网内即可找到对应的机器,两者缺一不可。
交换机工作在二层,路由器工作在三层的理解:
四、TCP/IP协议族
TCP/IP协议族 | 协议 | |||||||||||||||||||||||||||
应用层 |
|
|||||||||||||||||||||||||||
网络层 |
|
|||||||||||||||||||||||||||
传输层 |
对于UDP的不可靠性,可定制化为可靠的,如qq的通信协议。 |
五、网络标准与协议
六、IP相关
1. IP地址表示(点分十进制方法)
IPv4 32位二进制 :
IPv6 128位二进制:
IP协议版本 | IPv4 | IPv6 | ||||||||||
表示方法 | 每8位二进制转为十进制,变为4个十进制数,再在每十进制数中间插入.。十进制数取值范围0-255 | |||||||||||
地址表示 |
两个IP,如果网络号一致,那就在一个子网内。
|
|
||||||||||
子网划分 | 32位 = 网络号 + 主机号(子网号+ 主机号) |
七、网络存储技术
概念 | 图示(没有的就没有) | |
八、网络规划和设计
三层次设计模型:
建筑物综合布线系统:
九、网络开发阶段
十、相关网络知识
计算机网络——网络相关(主:通信流程)相关推荐
- 计算机网络 | IP协议相关技术与网络总结 :DNS、ICMP、DHCP、NAT/NAPT、通信流程
IP协议相关技术与网络总结 DNS DNS与域名 域名服务器 域名的解析流程 ICMP ping NAT/NAPT NAT NAPT NAT的缺陷 代理服务 DHCP 通信流程 浏览器中输入url后, ...
- 计算机网络与通信之网络互联及通信
这部分的内容主要围绕网络层来展开: 网络层概述 网际协议IPv4 地址解析协议ARP 网际控制报文协议ICMP 互联网路由协议 1. 网络层概述 网络的互联问题 大规模的计算机网络一般采用分层组网技术 ...
- 网络编程2——CS模型的TCP通信流程总结 及 server、client的实现
一.socket模型创建流程图 二.server的实现 1,报错文件先写好,基本头文件写好,C的.网络的 2,创建socket,定义文件描述符lfd,记得要返回值检查 3,创建bind函数,其中第二个 ...
- 【容器网络】跨主通信网络实现方法之host-gw实现原理
以上是VXLAN在跨主通信的实现原理,本文讲述的是host-gw的实现原理. 目录 Host-gw 基本原理 flannel的host-gw 数据包传输过程 calico的host-gw calico ...
- 计算机网络—网络协议
OSI网络体系结构 网络体系结构的产生 利用"结构化"设计的方法和"分层"的思想对通信系统进行整体设计,为网络硬件.软件.协议.存取控制和拓扑提供标准,如此产生 ...
- 开发中最全网络相关内容
iOS中网络相关内容 声明:部分图片来源于网络,有些内容也来自各个平台老师讲解的视频,部分内容来自<计算机网络>这本书中,除去参考其他博客链接外,其他部分不作出参考链接来源展示,如有相关原 ...
- 网络数据包收发流程(三):e1000网卡和DMA
早就想整理网络数据包收发流程了,一直太懒没动笔.今天下决心写了 一.硬件环境 intel82546:PHY与MAC集成在一起的PCI网卡芯片,很强大 bcm5461: PHY芯片,与之对应的MAC ...
- 计算机网络——网络硬件和网络设备及其工作原理
计算机网络--网络硬件和网络设备及其工作原理 常见的网络硬件有网卡.中继站.集线器.桥连接器.交换机.路由器. 一. 网卡: 网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能 ...
- 计算机网络常用相关术语大全
计算机网络 computer networks 网络结构:物理层.数据链路层.网络层.传输层.(会话层.表示层.)应用层 协议的三要素:Syntax(语法).Semantics(语义).Timing( ...
最新文章
- oracle 求A中不存在于B的记录
- opengl版本发展史及各种概念的厘清
- tensorflow编程入门笔记之一
- PMcaff写给大家的年终碎碎念 PMcaff | 记录
- 天池和Kaggle:Notebook使用对比
- Windows各种计时器
- 构建自己的服务器有什么好处呢?
- Java笔记-使用RabbitMQ的Java接口实现Publish/Subscribe(订阅模式)
- mysql gtid 主键冲突_数据库开启gtid时,需要注意的问题
- Linux软件管理之yum
- OpenShift 4 之 GitOps(6)用ArgoCD部署MongoDB主从集群
- android 7.0 截图,Android,_7.0系统拍照后,使用系统截图功能,截图保存时崩溃如何解决,Android - phpStudy...
- 为什么写网页用php,php能写网页吗
- 把svg图标制作成字体图标_SVG图标FTW
- python解析xps文件_xps文件的基本操作
- ASO优化续:详解appstore的排名规则
- Docker-docker-compose学习笔记(yaml,实战)
- 网格简化技术研究报告
- 【论文阅读】Multi-Modal Sarcasm Detection Based on Contrastive Attention Mechanism
- 【CV】MobileNet:使用深度可分离卷积实现用于嵌入式设备的 CNN 架构