目录

网络通信基础

目录

网络通信基础

一、 OSI模型

OSI七层的功能简介

https://i-blog.csdnimg.cn/blog_migrate/30eb033d7fffaac146f9eb5026389c01.png

应用层:网络服务与最终用户的一个接口

表示层:数据的表现形式,如加密、压缩。

会话层:建立、管理、中止会话,例如断点续传。

传输层:定义传输数据的协议端口号,以及流控和差错校验,实现了程序与程序的互连,可靠与不可靠的传输。

网络层:进行逻辑地址寻址,实现不同网络之间的通信,定义了IP地址,为数据传输选择最佳路径,路由器工作在网络层。

数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能、通过MAC地址实现数据的通信,帧包装、帧传输、帧同步。交换机工作在数据链路层。

物理层:建立、维护、断开物理连接,定义了接口及介质,实现了比特流的传输。

二、 TCP/IP协议族

  1. TCP/IP 模型是实际网络环境中使用的模型

  2. 实际的网络中更多使用TCP/IP 5层模型

    https://i-blog.csdnimg.cn/blog_migrate/23332a317fa5725df168ac8d7785f969.png

    TCP/IP协议族的组成

    TCP/IP是一系列协议的集合,所以严格称呼应是TCP/IP协议族

    在物理层和数据链路层,TCP/IP并未定义任何特定协议

    https://i-blog.csdnimg.cn/blog_migrate/febe0431b2588c48079c2c3919641e87.png

    网络层

    IP协议:互联网协议,定义了网络层地址

    ICMP协议:网络控制消息协议,探测网络连结情况(ping)

    ARP协议:地址解析协议,把IP地址解析为MAC地址

    OSPF协议:开放式最短路径优先协议(路由协议)

传输层

TCP:传输控制协议,面向连接的可靠的协议,传输速度慢

UDP:用户数据报协议,面向非连接的不可靠的协议,传输速度快

应用层

HTTP:超文本传输协议,端口 80

FTP:文件传输协议,端口 20、21

TFTP:简单文件传输协议,端口 69

DHCP:动态主机配置协议,端口 67、68

三、 数据封装与解封装

数据封装过程

https://i-blog.csdnimg.cn/blog_migrate/439954677c949b7bc4c9b3bf5b50d898.png

数据解封装过程

https://i-blog.csdnimg.cn/blog_migrate/4ca0e005b835adbb687b74beb561d681.png

设备与层的对应关系

https://i-blog.csdnimg.cn/blog_migrate/ec9cca6ed28ab0976c67372d04b1d48b.png

各层间通信

https://i-blog.csdnimg.cn/blog_migrate/af2f079971cd59fdf8c4233f68e58ccf.png

各层间通信(续1)

https://i-blog.csdnimg.cn/blog_migrate/7d5c8e631647ae29ac6b9c9a04b55a91.png

四、进制转换

数制概念

计数的方法,指用一组固定的符号和统一的规则来表示数制的方法,也称之为“进制”。

数制类型:

10进制,该类型的数字由 0 ~ 9 的 10个字符组成

2进制,该类型的数字由 0 ~ 1 的 2个字符组成

16进制,该类型的数字由 0 ~ 9 , a ~ f 的 16个字符组成

数制表示

十进制数(Decimal number)

(1010)10 或 1010D 或 1010

二进制数(Binary number)

(1010)2 或 1010B

十六进制数(Hexadecimal number)

(1010)16 或 1010H

数制计算

https://i-blog.csdnimg.cn/blog_migrate/0014c6a6fce6e523b8f11a5e2c209e57.png

二进制转换

除法

125=0111 1101 B

https://i-blog.csdnimg.cn/blog_migrate/fa97331068f71d538065ee16e1e86fac.png

进制转换快速方法

熟记以下排列,从右往左,依次是前一个数的2倍

128 64 32 16 8 4 2 1

例如:计算十进制数48的二进制数

48 = 32 + 16,所以在32 和 16所在的位置为1,其余为0

128 64 32 16 8 4 2 1

0 0 1 1 0 0 0 0

十六进制转换

https://i-blog.csdnimg.cn/blog_migrate/262bfa8a24d583ad25bec3a0106b1536.png

https://i-blog.csdnimg.cn/blog_migrate/7e92c18509c5f1a936435930a750be36.png

https://i-blog.csdnimg.cn/blog_migrate/cbc6843a9480f4b4bbdb4e196294680a.png

子网划分

私有 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

D类:239.0.0.0~239.255.255.255

在企业和家庭内部的网络中,设备使用的都是私有IP地址

例如:家用 TP-Link 路由器的管理IP地址:192.168.1.1/24

物理层解析

物理层是TCP/IP模型的最底层

物理层为数据传输提供可靠环境

数据链路层解析

https://i-blog.csdnimg.cn/blog_migrate/64a57294048ea3db3801ada79ea5d215.png

功能

数据链路的建立、维护与拆除

帧形成、帧传输、帧同步

帧的差错恢复和流量控制

协议

Ethernet(以太网)

PPP、HDLC、Frame-relay、ATM

我们平常使用的网络,通常都是“以太网”

以太网工作在数据链路层

以太网中可以同时连接多个设备

https://i-blog.csdnimg.cn/blog_migrate/b797dbdf254d80a6a7515efc63a9eda4.png

CSMA/CD:带冲突检测的载波监听多路访问机制

以太网采用CSMA/CD避免信号的冲突

工作原理

发送前先监听信道是否空闲

若空闲则立即发送数据

在发送时,边发边继续监听

若监听到冲突,则立即停止发送

等待一段时间以后,随机再次重新尝试

冲突域与广播域

1、冲突域指的是会产生冲突的最小范围,在计算机和计算机通过设备互联时,会建立一条通道,如果这条通道只允许瞬间一个数据报文通过,那么在同时如 果有两个或更多的数据报文想从这里通过时就会出现冲突了。冲突域的大小可以衡量设备的性能,多口hub的冲突域也只有一个,即所有的端口上的数据报文都要 排队等待通过。而交换机就明显的缩小了冲突域的大小,使到每一个端口都是一个冲突域,即一个或多个端口的高速传输不会影响其它端口的传输,因为所有的数据 报文不同都按次序排队通过,而只是到同一端口的数据才要排队。

2、如果一个数据报文的目标地址是这个网段的广播地址或者目标计算机的MAC地址是FF-FF-FF-FF-FF-FF,那么这个数据报文就会被这 个网段的所有计算机接收并响应,这就叫做广播。通常广播用来进行ARP寻址等用途,但是广播域无法控制也会对网络健康带来严重影响,主要是带宽和网络延 迟。这种广播所能覆盖的范围就叫做广播域了,二层的交换机是转发广播的,所以不能分割广播域,而路由器一般不转发广播,所以可以分割或定义广播域。

网络互连设备可以将网络划分为不同的冲突域、广播域。但是,由于不同的网络互连设备可能工作在OSI模型的不同层次上。因此,它们划分冲突域、广播 域的效果也就各不相同。如中继器工作在物理层,网桥和交换机工作在数据链路层,路由器工作在网络层,而网关工作在OSI模型的上三层。而每一层的网络互连 设备要根据不同层次的特点完成各自不同的任务。

解决方案

分割冲突域

将大的冲突域分割成很多小的冲突域

不同的冲突域之间相互隔离,互不影响

每个冲突域的范围变小,设备变少,冲突概率降低

改变端口双工模式

半双工,容易产生冲突

全双工,不会产生冲突

交换机

交换机的每个端口访问另一个端口时,都有一条专有的线路,不会产生冲突

https://i-blog.csdnimg.cn/blog_migrate/a07d529394c5b9478af95e590e3d0528.png

半双工

在同一时刻,数据只能单向传输

https://i-blog.csdnimg.cn/blog_migrate/ba4898aec0f7abb42286bc794340ad01.png

全双工

在同一时刻,数据可以双向传输

https://i-blog.csdnimg.cn/blog_migrate/70293737fd80f39b3323b68dcda16664.png

交换机工作原理

交换机是用来连接局域网的主要设备

交换机能够根据以太网帧中目标地址智能的转发数据,因此交换机工作在数据链路层

交换机分割冲突域,实现全双工通信

交换机的转发原理

初始状态

https://i-blog.csdnimg.cn/blog_migrate/883447561b099e5138073cc6acd4a218.png

交换机的转发原理

初始状态

MAC地址学习

https://i-blog.csdnimg.cn/blog_migrate/18063f406575cf605b65b218be174ebd.png

交换机的转发原理

初始状态

MAC地址学习

广播未知数据帧

https://i-blog.csdnimg.cn/blog_migrate/c2ecadb7020ecad63bcec5ad737e97c6.png

交换机的转发原理

初始状态

MAC地址学习

广播未知数据帧

接收方回应

https://i-blog.csdnimg.cn/blog_migrate/31be55ac1839dc1e7ecf83f203c30a31.png

交换机的转发原理

初始状态

MAC地址学习

广播未知数据帧

接收方回应

交换机实现单播通信

https://i-blog.csdnimg.cn/blog_migrate/0c5a510f8c9599d9f704bd9b019858f1.png

学习

通过学习数据帧的源MAC地址来形成MAC地址表

广播

若目标地址在MAC地址表中没有,交换机就向该数据帧的来源端口外的其他所有端口广播该数据帧

转发

交换机根据MAC地址表和目标MAC地址,单播转发数据帧

更新

交换机MAC地址表中的转发条目的老化时间是300秒

如果发现一个帧的入端口和MAC地址表中该源MAC地址所对应的端口不同,交换机将MAC 地址重新学习到新的端口

交换机基本命令

华为VRP网络操作系统

Versatile Routing Platform,通用路由平台

也用在交换机、防火墙等各种产品上

https://i-blog.csdnimg.cn/blog_migrate/841199a48ad1735cfbc983f56e736af0.png

进入命令行终端时,默认在用户视图

通过 system-view、interface命令进行切换

https://i-blog.csdnimg.cn/blog_migrate/ed0fc642811013d977a7dbd801e606e3.png

视图回退操作

退回到前一个视图:quit命令

快速返回到用户视图:return命令,或快捷键Ctrl+Z

https://i-blog.csdnimg.cn/blog_migrate/797f370e96ec854feef041b85cd91cb9.png

查看交换机地址

https://i-blog.csdnimg.cn/blog_migrate/d67c1998adbd6a8470e4db8548ab9205.png

查看MAC地址表

display mac-address

https://i-blog.csdnimg.cn/blog_migrate/7570be9193130e209a6870236bbecfc9.png

配置命令会被终端界面显示一些“提示信息” 打断

初学者可以暂时取消这些“提示信息”

注:只对当前终端有效,用户重新登录自动取消

https://i-blog.csdnimg.cn/blog_migrate/340900bebca3166aaeee3d5b2021ece6.png

交换机远程管理

设备类型

傻瓜式设备,即插即用,不能人为配置,不可以配置IP地址

智能式设备,功能完善,可人为配置,可以通过网络进行登录、管理

管理类型

带外管理,即只能通过设备专属的控制线缆进行设备管理,如console线也称之为“本地管理”

带内管理,即可以通过互联网进行登录和管理

也称之为“远程管理”

协议类型

telnet,传输的数据没有经过加密,不安全。通常应用于企业内网

ssh , 传输的数据是加密的,非常安全。通常应用于公网或不安全的网络

管理接口

User-interface ,用于远程登录使用的接口,即telnet或者ssh链接请求都通过该“虚拟接口”进入网络设备

Console 口,本地管理时连接 console 线缆所用的 console 物理端口

配置流程

配置设备管理IP地址

配置设备远程认证方式

远程认证方式

密码认证,即远程登录时,仅仅提供正确的密码即可成功登陆

该认证方式,无法更加精确的控制不同的用户的“登录权限”

AAA认证,即远程登录时,要同时提供用户名和密码,才能成功登陆

该认证方式,可以基于用户分配不同的控制权限,权限控制更加灵活

配置管理IP地址

因交换机的接口用来连计算机网卡,默认不能配置IP地址

为方便管理,需要使用虚接口vlanif 1

https://i-blog.csdnimg.cn/blog_migrate/2c754cfcf9dce6e45ca84ab3f8ad2ff4.png

配置远程认证方式

启用AAA认证,添加用户、选择控制方式

https://i-blog.csdnimg.cn/blog_migrate/fc8a699065b11887d5163c051f19a5f7.png

https://i-blog.csdnimg.cn/blog_migrate/b6e37a48c6e49959384c67876bda591d.png

远程登录测试

第三方软件,如 SecureCRT、Putty、Xshell等

路由器/交换机自带 telnet 命令

https://i-blog.csdnimg.cn/blog_migrate/c870b35bb12518cd20765d0f5bf8e043.png

https://i-blog.csdnimg.cn/blog_migrate/5ff60edce942e07c453ed1b38c716d02.png

IP数据包格式

位于 OSI 模型第三层

作用

定义网络设备的逻辑地址,俗称网络层地址。如IP地址

在不同的网段之间选择最佳数据转发路径

协议

IP、IPX、AppleTalk 等协议

网络层的所有功能,都是通过该层的诸多协议实现的

目前网络中,主要的网络层协议是 IP 协议

IP数据报是可变长度的,它由两部分组成:首部和数据

首部由两部分组成:固定部分和可变部分

固定部分20字节,可变部分由一些选项组成,最长40字节

https://i-blog.csdnimg.cn/blog_migrate/6765b3b86b451f78cf1b07c32374b8b7.png

https://i-blog.csdnimg.cn/blog_migrate/a7f6e7ec7bcf71a90269d9bad6bc4e76.png

https://i-blog.csdnimg.cn/blog_migrate/2cbfc10f7251bb6a9fa4746f4df79b84.png

https://i-blog.csdnimg.cn/blog_migrate/4ea59d14dc694d2222d6f7cf4c9c737e.png

https://i-blog.csdnimg.cn/blog_migrate/fa2cfbf08aafb21e80069bbd28b1ea73.png

IP数据包封装流程

IP地址始终不变

MAC地址在变

https://i-blog.csdnimg.cn/blog_migrate/a2c4046f9756b246e3224910ca309959.png

ICMP 协议解析

概述

ICMP(Internet Control Message Protocol ),即 Internet控制消息协议

位于 OSI 模型第三层,即网络层

作用

在IP网络中发送控制消息,提供可能发生在通信环境中的各种问题的反馈

ICMP协议属于网络层协议

传输ICMP信息时,要先封装ICMP头部

然后再封装IP头部

最后再交给数据链路层

https://i-blog.csdnimg.cn/blog_migrate/a50a3440f0fa9eddb1f1edac0ce6eb6f.png

ARP 协议解析

ARP (address resolution protocol):地址解析协议

属于 OSI 模型第二层(数据链路层)

基于IP地址,获得对应的MAC地址,完成数据帧的2层头部封装,从而实现数据的快速转发

ARP报文类型

ARP请求报文,源设备以广播的方式发送,向所有设备请求MAC地址

ARP回应报文,目标设备以单播的方式回应,直接返回给“源设备”

ARP核心工作表

ARP表,包含的是IP地址与MAC地址的对应关系条目

ARP条目分为静态和动态两种类型

动态ARP条目的存活时间是 1200s

任何设备在发送数据包之前,必须检查 ARP 表,查看是否存在去往目标IP地址时所使用的MAC地址

根据IP地址解析MAC地址

主机10.1.1.1要与10.1.1.2通信,首先发送ARP广播

https://i-blog.csdnimg.cn/blog_migrate/eb3ad1b4a71f8b1113d3e537e0b6a211.png

所有主机都接收到10.1.1.1的ARP请求报文,但只有10.1.1.2给它一个单播回复,并将10.1.1.1的MAC地址保存在本地设备上

https://i-blog.csdnimg.cn/blog_migrate/ddab80ce0615fd85e2ecf3a9a6e12a18.png

主机10.1.1.1将10.1.1.2的MAC地址保存到ARP缓存中,然后就可以发送数据

https://i-blog.csdnimg.cn/blog_migrate/8f0ee9734d01abf193cb36b91fbf46b9.png

查看ARP表

https://i-blog.csdnimg.cn/blog_migrate/b14a0f5829ad5df3e655d699167ffa0f.png

路由器介绍

作用

连接不同的网段,以及不同类型的网络

类型

NE系列路由器,面向大型企业、IDC、广域网的新一代智能路由器

AR系列路由器,面向中小型企业网络,部署在网络边缘连接互联网

https://i-blog.csdnimg.cn/blog_migrate/eded9838db88cb7fbb80b841514e1f00.png

将数据包从一个网段发送到另一个网段

需要依靠路由器来完成

路由器只关心网络的状态,决定最佳路径

每个路由器都维护着一张路由表,这是转发数据包的关键

每条路由表记录指明了:到达某个网段或者主机,应从路由器的哪个物理端口发送,通过此端口可到达该路径的下一个路由器的地址(或直接相连网络中的目标主机地址)

https://i-blog.csdnimg.cn/blog_migrate/f45d423a2dacadce3058a71ea2546d34.png

https://i-blog.csdnimg.cn/blog_migrate/f4f4681392f859cb17149238a6844c70.png

https://i-blog.csdnimg.cn/blog_migrate/4b50bc9b6e835664aa9c2d74dd64d968.png

https://i-blog.csdnimg.cn/blog_migrate/f9fc8b6663c1ec3342d5fc96cd6c3ce9.png

https://i-blog.csdnimg.cn/blog_migrate/145293f43104ad61a144f67aeb231a2f.png

https://i-blog.csdnimg.cn/blog_migrate/01dfa592698e4259814a18511d3968a0.png

https://i-blog.csdnimg.cn/blog_migrate/f4926a0c9f4a125a0deaf0e0aa25a279.png

https://i-blog.csdnimg.cn/blog_migrate/e0bc3104cc129b3e692b243424b7dc10.png

Host A向Host B发送数据

https://i-blog.csdnimg.cn/blog_migrate/18810a48742ee20e3cc65bc7ad37c202.png

Host A向Host B发送数据

https://i-blog.csdnimg.cn/blog_migrate/61e08e5388482ee46fe95f4ace315fe2.png

https://i-blog.csdnimg.cn/blog_migrate/8d0852537caf830787da66b4a29bf888.png

路由表

依据来源的不同,路由条目可以分为三类

通过网络层协议发现的路由,称为直连路由

通过网络管理员手动添加的路由,称为静态路由

通过动态路由协议发现的路由,称为动态路由

静态路由

由管理员手工配置,为单向条目

通信双方的路由器都需要配置路由,否则会导致数据包有去无回

使用 ip route-static 命令

指定到达的目的网络

基本格式:

https://i-blog.csdnimg.cn/blog_migrate/69958fe33bb839e255cd8f3a4c90eb10.png

https://i-blog.csdnimg.cn/blog_migrate/4a572f218816f6fd40074cec510b19cd.png

  1. IP层提供点到点的连接

  2. 传输层提供端到端的连接

    进程到进程通信

    https://i-blog.csdnimg.cn/blog_migrate/fff173521ab9d72589c8d8eee654b5c5.png

    TCP协议概述

    TCP(Transmission Control Protocol)

    传输控制协议

    可靠的、面向连接的协议

    传输效率低

    https://i-blog.csdnimg.cn/blog_migrate/f8e4567e97831deb49f950fd307309e3.png

    UDP(User Datagram Protocol)

    用户数据报文协议

    不可靠的、无连接的服务

    传输效率高

    https://i-blog.csdnimg.cn/blog_migrate/7a6a3cfb6469e6f6b1fc2223d0b83adb.png

    TCP的封装格式

    TCP报文段(Segment)

    将若干个字节构成一个分组

    TCP报文段封装在IP数据报中

    https://i-blog.csdnimg.cn/blog_migrate/17ae5daeda19368afc86f483bc475e70.png

    TCP的报文结构

    https://i-blog.csdnimg.cn/blog_migrate/417222e6c0ef5e077a97e8226783cf08.png

    在主机的命令行提示符中,使用 netstat –na 命令,查看TCP连接

TCP 报文分析

  1. 序列号:发送端为每个字节编号,便于接收端正确重组
  2. 确认号:用于确认发送端的信息
  3. 窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的
  4. SYN:同步位,TCP需要建立连接时将该值设为1
  5. ACK:确认位,当该位为1时,用于确认发送方的数据
  6. FIN:当TCP断开连接时将该位置为1

TCP 三次握手

TCP提供全双工服务

——-即数据可在同一时间进行双向传输

理解了全双工,才能理解TCP连接与断开

——TCP连接的建立:三次握手

——TCP连接的断开:四次挥手

TCP的连接:三次握手

https://i-blog.csdnimg.cn/blog_migrate/c05be73300fcb4e219e17be0a57234c1.png

TCP 四次挥手

https://i-blog.csdnimg.cn/blog_migrate/9a309f9aa067a13f35971eeef067e584.png

UDP 协议解析

UDP封装格式

https://i-blog.csdnimg.cn/blog_migrate/99723897a37f054c2a01015db8c58302.png

UDP的应用

https://i-blog.csdnimg.cn/blog_migrate/1ef9d4a8a6f3c0a9e366795afd99634f.png

常见的应用层协议

DNS

FTP

HTTP

TELNET

DNS

Domain Name System,域名系统

用来完成域名与IP地址之间的映射

端口号为TCP或UDP的53

分布式、层次性

域名空间结构

根域

顶级域

二级域名

https://i-blog.csdnimg.cn/blog_migrate/d8a8b4fde7a81dc4deca71de4561b1f2.png

通用域

https://i-blog.csdnimg.cn/blog_migrate/9f79cf9eb99e546c57bf6067976d9e69.png

DNS工作原理

https://i-blog.csdnimg.cn/blog_migrate/2807d08243bdf05b6e9e96f2e18376cd.png

https://i-blog.csdnimg.cn/blog_migrate/6ec6c84de0b0be258a12d1492cdabf98.png

FTP与TFTP

File Transfer Protocol

文件传输协议

使用最为广泛的文件传输应用

端口号为TCP 21和20

Trivial File Transfer Protocol

简单文件传输协议

用来传输一些琐碎的小文件

端口号为UDP 69

FTP的工作原理

控制连接:TCP 21,用于发送FTP命令信息

数据连接:TCP 20,用于上传、下载数据

数据连接的建立类型: 主动模式、被动模式

FTP的工作原理

主动模式:服务器主动发起数据连接

首先由客户端向服务端的21端口建立FTP控制连接

当需要传输数据时,服务器从20端口向客户端的某端口发送请求并建立数据连接

https://i-blog.csdnimg.cn/blog_migrate/b88d30e6a224204976c6cccb1f526955.png

被动模式:服务器被动等待数据连接

如果客户机所在网络的防火墙禁止主动模式连接,通常会使用被动模式

首先由客户端向服务端的21端口建立FTP控制连接

当需要传输数据时,客户端向服务器的某端口发送请求并建立数据连接

https://i-blog.csdnimg.cn/blog_migrate/f6cae6e192ed0e428bb9fc022ebf4a3c.png