前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IT全栈-网络01-网络基础知识

IT全栈-网络01-网络基础知识

作者头像
大话IT架构
发布2021-03-09 16:54:51
5460
发布2021-03-09 16:54:51
举报
文章被收录于专栏:大话IT架构大话IT架构

01

PART

开篇点题

网络第一篇文章:IT全栈-网络01-其实网络“很简单”,通过对比现实世界中案例“发快递”和网络世界中案例“文件传输”,为读者建立了基本的“网络体系”。

在网络第一篇文章的基础上,本篇文章进一步介绍网络基础知识,让读者具备“初级网络工程师”相关知识。

02

PART

网络基础知识

A

为什么会有网络

一个人即使满腹才华,如果不能够与团队中其他人良好的沟通协作,那这个人也充其量只能做一个“孤独的智者”,对团队发展贡献有限。良好的沟通协作是推动人类进步,人与人之间有”人际网络“;设备之间也有沟通协作的需求,故产生了”计算机网络“。

备注:日常工作中,良好的沟通和协作是重要的软技能,决定你日后能达到的高度;要避免“独狼式”“野狗式”工作方式---个人能力很强,团队协作很糟。

B

网络核心三要素

网络节点:类似交通路网中的收费站

传输介质:类似交通路网中的各种道路(高速|省道|土路)

网络协议:类似交通路网中的交通规则

C

网络节点概览

上图为:交换机

上图为:路由器

备注:以上两张图片来源于华为官网

本篇文章介绍网络初级知识,故目前只为读者介绍交换机和路由器两种网络节点。简单来说:交换机工作于二层,路由器工作于三层;具体如何区分二层和三层,本文后续篇幅会介绍。

在交换机之前,还有两种网络设备:HUB和网桥;目前HUB和网桥这两种设备都已经淘汰。

D

传输介质概览

  • 同轴电缆
  • 双绞线
  • 光纤
  • 串口线

交通路网中,通过道路把两个收费站连接起来;网络世界中,通过传输介质把两个网络节点连接起来。

备注:同轴电缆基本已经淘汰;目前主流是光纤和双绞线。

E

网络协议概览

协议是什么?其实协议本质上就是一个规范或者规则:定义哪些能做哪些不能做以及如何做,且你要加入这个组织就要遵守规则按规则玩。上面提到过:网络协议类似于交规。

备注:网络里有很多规则,上图只是列举了常用的协议。另外创造了一个2.5层协议(原因:ARP是用来关联2层MAC地址和3层IP地址的协议,故形象称为2.5层协议)。

F

网络通信模式

单 工:只能单向传输

半双工:可以双向传输,但同一时刻只能单向传输

全双工:任意时刻都可以双向传

特别注意:半双工模式下,共享物理介质或者信道的通信双发必须采用CSMA/CD类避免冲突。有点类似大学那会宿舍一个公共电话,好多人都眼巴巴的等着给女朋友打电话,内部必须有一个协商机制;多人共享的东西必须有冲突算法。

G

网络通信类型

单播:一对一,私密性事务

广播:一对全部,全部范围通知性事务

组播:一对多,小范围通知性事务

二层和三层都有单播|广播|组播;以太网二层靠MAC控制,三层IP靠IP和掩码控制。

03

PART

网络分层模型

A

为什么要分层?

网络第一篇文章:IT全栈-网络01-其实网络“很简单”,通过对比现实世界中案例“发快递”和网络世界中案例“文件传输”,为读者介绍了分层理念和分层的好处。

分层(专业的人干专业的事)

自己全部干非最优解---直白一点就是不划算;大家都是做自己最擅长的工作,不擅长的工作交给专业的人来做;站在别人的肩膀上做自己擅长的事。好比汽车厂家造汽车用到机床,直接买就行了没必要自己再造机床。

B

不同层次的作用

  • 物理层协议 定义线缆|接口的物理规范;如双绞线内部几条线,接口是圆的还是方的或者扁的;以达到物理特性的通用性、普适性、兼容性(相当于全国道路和收费站的修建标准要统一,避免每个省的标准不一样)。
  • 链路层 定义信号传输规范;如低电压或无光代表0,高电压或有光代表1;8个1代表开始,8个0代表结束;以达到通信信号的统一(相当于全国交规统一,避免每个省的交规都不一样,让司机无所适从)。
  • 网络层 定义IP地址和路由标准化(相当于高德地图的4级标准编码和地图导航,你要保证地址唯一性和标准化)。
  • 传输层 定义数据传输规则;如数据丢了怎么办?(相当于快递公司服务标准,如丢了管赔或者不管赔)。

以太网环境下,二层用MAC地址,三层是IP。留一个小问题:既然MAC也能寻址转发,IP也能寻址转发,为什么有链路层MAC地址的情况下,还要搞个三层IP地址,直接用MAC转发寻址不就可以了?

以上问题,本章后续内容会有答案,请读者先自己思考。

C

OSI七层模型

D

TCP/IP四层模型

E

OSI和TCP/IP模型对应关系

F

为什么会有2种网络分层模型

OSI和TCP/IP是两个不同的组织。网络发展初期,百家争鸣百花齐放,每家组织都想主导和把控网络的发展。OSI提出了OSI七层模型,TCP/IP提出了TCP/IP四层模型。最终的发展是TCP/IP胜出,但是OSI的七层模型也非常有借鉴和学习意义。后期大家学习ISIS路由协议,对此理解会更加深入。

G

网络层次数据分段名称

04

PART

MAC和IP基础知识

A

MAC基础知识

特别说明:

  1. MAC局限于以太网二层;因为二层网络还有很多种,不止以太网一种;只是在网络发展过程中,二层网络的最终胜利者是以太网并形成了事实上的标准。故导致现在只要谈二层,大家都以为只有以太网一种。
  2. 硬件厂家OUI由IEEE统一分配

B

IP基础知识

特别说明:

  1. 上图为有类IP;有类IP弊端---一个子网内部主机位太多,导致IP利用率不足(如一个部门20个人,给一个C类255个地址)
  2. 为解决有类IP的弊端,又产生了无类IP概念;即在有类IPABC三类IP基础上,把主机位进一步拆分给网络位
  3. 无论是有类还是无类,每个子网内:主机位全位0的IP为本子网的网络号,主机位全为1的IP为本子网的广播地址

05

PART

网络设备3张表

网络三张表:ARP|MAC|路由表,是网络的核心精髓

A

ARP表

ARP表说明:

  1. 三层IP地址与以太网二层MAC地址对应表
  2. 用于网络封包(以太网二层是以MAC来寻址的)
  3. 电脑和路由器上都有此表

B

MAC表

MAC表说明:

  1. 以太网二层MAC地址与设备端口对应表
  2. 用于二层链路数据帧转发(以太网二层是以MAC来寻址的)
  3. 交换机有此表

C

路由表

路由表说明:

  1. 目的地址或网段与接口对应关系
  2. 用于三层IP包转发(三层是以IP来寻址的)
  3. 电脑和路由器上都有此表

06

PART

网络解封包及包头简介

A

网络解封包过程

网络解封包说明:

  1. 发送端封包:逐层加协议头(即加信封)
  2. 接收端解包:逐层去协议头(即剥信封)
  3. 其实真正有效数据是蓝色data部分,各种协议头(即信封)在数据传输中起辅助作用

B

以太网二层数据帧格式

上图为:以太网数据链路层帧格式

  1. 最小长度:64B(头部+校验18B,数据最小46B)
  2. 最大长度:1518(头部+校验18B,数据最大1500B)
  3. TYPE含义:装载的数据是哪个协议的数据(设备收到数据包后通过这个字段判断交给上层哪个协议,如IP或ARP)

备注:以太二层数据帧有两种格式:ETHERNET_II和802.3,大部分主流是ETHERNET_II帧格式;上图是ETHERNET_II帧格式。

C

ARP数据包格式

ARP协议的用途:负责ARP表的生成(即IP和MAC对应表)

ARP运行在数据链路层上,与IP协议平行;同时负责IP和MAC对应关系,也叫2.5层协议。

D

三层IP报文格式

上图为网络层数据包格式

  1. IP包是二层数据帧里的数据
  2. IP包里面又有自己的数据格式:包头和数据
  3. IP包里面的Protocol:用来判断装载的数据是哪个协议的数据(设备收到数据包后通过这个字段判断交给上层哪个协议,如ICMP或TCP或UDP)

E

四层TCP报文格式

上图为传输层TCP数据包格式

  1. TCP是IP包里的数据
  2. TCP又有自己的数据格式
  3. TCP属于可靠传输

F

四层UDP报文格式

上图为传输层UDP数据包格式

  1. UDP是IP包里的数据
  2. UDP又有自己的数据格式
  3. UDP属于不可靠传输

07

PART

网络设备工作原理

A

HUB工作原理

HUB工作原理如下:

  1. HUB物理拓扑为星型
  2. HUB逻辑拓扑为共享总线型
  3. HUB工作方式为半双工
  4. HUB上所有口都属于一个冲突域
  5. HUB工作在物理层(纯傻瓜式,不进行MAC地址学习)
  6. 连接到HUB上的所有设备,同一时刻只能有一台设备发送数据;且HUB收到数据后不加区别的所有端口全部转发(收到数据接口除外)

特别注意:半双工模式下,共享物理介质或者信道的通信双发必须采用CSMA/CD类避免冲突(先听后发,边听边发,冲突停发,随机延迟后重发)。

B

交换机工作原理

交换机工作原理如下:

  1. 交换机物理拓扑为星型
  2. 交换机逻辑拓扑也为星型
  3. 交换机工作方式为全双工
  4. 交换机每个网口都是一个冲突域,有多少个网口就有多少个冲突域
  5. 交换机工作在数据链路层(进行MAC地址学习,即收到数据帧记录MAC地址和端口对应关系)
  6. 连接到交换机上的设备,同一时刻多台设备都可以收发数据(如同一时刻AB相互收发,CD相互收发)
  7. 交换机端口对数据包处理的3种模式:泛洪|转发|丢弃;MAC表中有对应目的MAC即转发,MAC表中无对应目的MAC或者组播|广播包会进行泛洪,不符合规范的包丢弃(需手工配置)

C

路由器工作原理

路由器工作原理如下:

  1. 路由器工作在网络层
  2. 路由器作用:隔离广播域,跨网段数据转发 上图有3个网段 192.168.1.0/24 192.168.2.0/24 192.168.3.0/30 每个网段都是一个二层广播域
  3. 路由器主要依靠路由表来进行跨网段数据转发
  4. 路由器维护:ARP|路由表

D

网络设备的本质

所有电子设备的本质就是一台冯诺依曼计算机,包括网络设备也是(备注:hub除外,hub傻瓜式无操作系统)。

08

PART

二层通信封包讲解

A

网络拓扑

B

通信需求

hostA1与hostA2通信(192.168.1.1---192.168.1.2)

C

判断通信是二层还是三层

  1. hostA1:IP:192.168.1.1/24 GW:192.168.1.254
  2. hostA2:IP:192.168.1.2
  3. hostA1通过自己的IP和掩码判断本网段IP地址为:192.168.1.0-192.168.1.255(0网络地址,255广播地址);hostA2与hostA1 同一网段
  4. 故得出结论:hostA1和hostA2通信走二层
  5. 注意:二层通信不过网关,不需要路由

备注:这一步特别重要,大部分人都会忽略这一步

D

设备初始状态表

上图为初始状态下:hostA1和hostA2的ARP表和路由表,交换机A的MAC表

E

hostA1封包异常

hostA1的ARP表中无hostA2的MAC,故无法完成以下封包;此时需要想办法拿到hostA2的IP与MAC对应关系,故ARP出马了

F

hostA1 ARP找hostA2 MAC过程

G

ARP后hostA1|hostA2|交换机状态表

上图为hostA1 ARP后:hostA1和hostA2的ARP表和路由表,交换机A的MAC表

H

ARP后hostA1正常封包

09

PART

三层通信封包讲解

A

网络拓扑

B

通信需求

hostA1与hostB1通信(192.168.1.1---192.168.2.1)

C

判断通信是二层还是三层

  1. hostA1:IP:192.168.1.1/24 GW:192.168.1.254
  2. hostB1:IP:192.168.2.1
  3. hostA1通过自己的IP和掩码判断本网段IP地址为:192.168.1.0-192.168.1.255(0网络地址,255广播地址);hostB1与hostA1 非同一网段
  4. 故得出结论:hostA1和hostB1通信走三层;查询路由表下一跳为hostA1网关
  5. 注意:三层通信需要查路由表

备注:这一步特别重要,大部分人都会忽略这一步

D

设备初始状态表

上图为初始状态下:hostA1和hostB1的ARP表和路由表,交换机A和交换机B的MAC表

E

hostA1封包异常

hostA1的ARP表中无网关的MAC,故无法完成以下封包;此时需要想办法拿到hostA1网关的IP与MAC对应关系,故ARP出马了

F

hostA1 ARP找hostA1网关MAC过程

G

ARP后设备状态表

上图为hostA1 ARP后:设备状态表

H

ARP后hostA1正常封包

I

ARP后hostA1到hostB1解封包

  1. 跨二层设备,MAC地址不变
  2. 跨三层设备后MAC地址必变
  3. 路由器A收到数据包后判断包的目的IP
  4. 路由器A查询自己的路由表判断发给路由器B
  5. 路由器B收到数据包后判断包的目的IP
  6. 路由器B查询自己的路由表判断为直连,从port1口发给hostB1

备注:上图省略了路由器B ARP找hostB1 MAC的过程

J

路由器B ARP找hostB1 MAC过程

最后西藏美景送给大家,希望读者喜欢。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话IT架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Prowork 团队协同
ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档