网络基础

网络基础

欢迎来到七巷猫友的博客,大家好,我是老猫,下面是网络基础的第一章
在学习之前,你需要有一些基本的计算机常识,例如二进制之类的,不懂可以百度

HCIA 第一章:

首先举个例子:电脑好像一个工厂,人类将数据传入这个工厂进行加工,加工需要车间,接下来讲一下计算机的车间

应用程序(软件)对数据加工处理—上三层
应用层: 抽象语言—>编码
#人类的一些语言,肢体动作,例如文字,声音,图像,称为抽象语言,应用层就是将这些抽象语言进行编码,变成代码,例如我们可能接触过的c,c++,Java等

表示层: 编码—>二进制
#这时候,计算机还是不认识这些代码,所以需要将这些代码转为二进制
会话层: 提供会话层地址

下四层为数据传输的层面
传输层 : TCP/UDP 分段(受MTU限制) 端口号
网络层 : IP—internet 协议 --互联网协议 —IP地址
数据链路层 = 逻辑链路控制层LLC+介质访问控制层MAC

#介质访问控制层:控制物理层这些硬件,进行操作,例如表示层传给我一串二进制数字进行计算,那我需要控制硬件去操作然后获得一个二进制值,然后返回给表示层,表示层在返回给应用层变成用户需要的值
逻辑链路控制层LLC:检测数据包是否完整
物理层: 一些硬件–中继器 集线器



这个时候电脑有了最基本的功能,找一根线将两个电脑连接起来,这就变成了一个小的局域网,这个网称为对等网,可以互相传文件,打一些cs,红警

那么接下来,我们需要考虑如何让网络变大
1、节点增加 --同时意味着带宽,数据量,复杂度都在上升

#这时我们可以使用HUB集线器 —
首先集线器和中继器都是插电的,可以去百度它们的外观
集线器可以处理降压和失帧的问题,但是它有缺点:安全、延时、地址、冲突;
集线器和中继器都不能同时让两个或两个以上的用户进行数据传输,因为电流会相互抵消
地址 —唯一、格式相同 每个产品出厂自带的物理地址:MAC地址—48位二进制构成—16进制显示,全球唯一
冲突 —CSMA/CD 载波侦听多路访问/冲突检测 --排队 –增加延时
给自己设置访问间隔时间,和其他用户不在同一时间进行冲突检测,然后进行数据传输

2、距离 — 中继器 (放大器)–不能无限延长
#数据传输不可能一直连着线让它变得无限长,电线通电有电阻,电压,当一个数据通过线路去传输,它会降压,会失帧,导致这个数据在传输过程中发生改变,这个时候出现了中继器,它可以解决降压的问题,但是最大传输500m,因为并没有解决失帧的问题

一般的家用网线:RJ-45双绞线

民用网线速率 约等 (带宽/8)*85%

当这个网络变得比较大后,我们应该让它实现一些更复杂的功能
要求:
1、提供端口密度–增加端口数量
2、无限的传输距离
3、没有冲突—所有节点可以同时发送和接收自己的数据
4、单播—一对一传输数据

为了满足以上的要求,强大的人类发明了网桥,经过发展和加强后,它有了新的名字:交换机
网桥—交换机 — 工作在介质访问控制层
接下来讲一下交换机的工作原理
交换机的工作原理:
1、当数据帧进入交换机后,交换机先查看数据中的源MAC地址,之后将该数据进入的接口与该mac映射记录到本地的MAC表中;再查看数据帧中的目标mac地址,基于目标mac地址查看本地的mac表;若表中存在记录将仅从该记录的接口转发数据;–单播
若没有目标mac地址对应的接口记录,将洪泛该数据—除流量的进入接口外,其他所有接口复制转出;
2.交换机是有内存条的,所以它可以让用户同时传输数据,存储在内存条里,然后通过地址,发给需要的人,一个交换机可以连接二十多个终端,也可以连接另一个交换机,达到无限传输距离和端口密度

路由器:路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由器可以把非TCP/ IP网络连接到因特网上。

一个简单的局域网
网络基础_第1张图片
我这里没有给所有的电脑配置IP地址,这是一个大致模型

IPV4地址:32位二进制构成 存在网络位和主机位的区分;网络位用于标识所在的范围
使用点分十进制标识 192.168.1.1
ARP:地址解析协议 –通过对端的一种地址来获取对端另一地址的方法
广播:在一个洪泛范围内,迫使交换机将一个数据进行洪泛转发;
PC访问其他设备时,先基于目标的ip地址判断是否和本地处于同一广播域;若在同一范围,将先通过ARP广播获取对端的mac地址,再进行单播通讯;若与目标不在同一广播域,将封装目标mac地址为本地的网关接口地址,来将流量转发到路由器处,由路由器代为转发;
DNS:域名解析服务
HTTP服务器—超文本传输
MTU:最大传输单元 默认1500
端口号 :0-65535 1-1023 注明端口 1024-65535 高端口—动态端口
终端设备访问服务器 — 终端设备在动态端口中随机调用一个编号来标识自己的程序
服务器使用注明的端口来标识对应的服务

#当计算机在进行多线程的工作时,例如你在同时听歌,聊QQ,看小说,
你将数据分别发给了三个服务器,但是QQ服务器不知道QQ这个进程的位置,它可能将QQ服务器返回的数据发给了音乐软件,将音乐服务器返回的数据发给了小说,然后经过应用层翻译后,可能出现乱码或者噪音,这时候需要端口号进行区分
UDP 和TCP的区别就像一个普通饭店的服务员和海底捞的服务员直接的区别,但是成本也就不同了
UDP:用户数据报文协议 –非面向连接的不可靠传输协议
仅完成传输的基本工作—分段、端口号
UDP比较直接,它不会检测用户是否在线,它会粗暴的将数据分段,分配端口号,如果途中发生意外,那就会停止
网络基础_第2张图片
TCP—传输控制协议 – 面向连接的可靠传输协议
在完成了传输层的基础工作以外,还需要保障传输的可靠性
面向连接—3次握手 建立端到端的虚链路
可靠性—4种可靠传输机制— 确认、排序、重传、流控(滑动窗口)
网络基础_第3张图片
网络基础_第4张图片
在这里我们需要详细讲一下三次握手,四次断开
为了建立连接TCP连接,通信双方必须从对方了解如下信息:
1、对方报文发送的开始序号。
2、对方发送数据的缓冲区大小。
3、能被接收的最大报文段长度MSS。
4、被支持的TCP选项。

在TCP协议中,通信双方将通过三次TCP报文实现对以上信息的了解,并在此基础上建立一个TCP连接,而通信双方的三次TCP报文段的交换过程,也就是通常所说的TCP连接建立实现的三次握手(Three-Way Handshake)过程。
第一次
第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
网络基础_第5张图片

完成三次握手,客户端与服务器开始传送数据

四次断手(四次挥手):
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4)。
(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A(报文段6)。
(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)
TCP采用四次挥手关闭连接,为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。
网络基础_第6张图片

封装: 设备将数据从高层向底层加工处理的过程— 过程中数据包将越来越大
解封装:设备对数据的识别过程,过程中数据将越来越小;与封装相反;

7层模型—OSI参考模型 TCP/IP协议栈道模型—真实使用的模型
网络基础_第7张图片

PDU:协议数据单元 对不同层封装的数据单位标识
应用层—数据报文
传输层—段
网络层—包
数据链路层—帧
物理层—比特流

ARP:通过对端的一种地址来获取对端的另一种地址
正向ARP – 已知对端的ip地址,通过广播来获取对端的MAC地址
反向ARP—已知对端的mac地址,来获取对端的ip地址
无故ARP—设备的在刚获取ip地址,或使用ip地址的过程中,对外进行正向ARP行为,但被请求的ip地址为本地使用的地址—可以用于地址冲突检测

半双工: 数据流量在一个单点时间内,只能存在一个方向;收、发是分开在不同时间进行
例如对讲机
全双工:数据收发可以同时进行;例如打电话

你可能感兴趣的:(网络)