网络基础

此文转载自:https://blog.csdn.net/Loners_fan/article/details/110563609

网络基础

开放式系统互联参考模式—7层模型
应用层——将输入的抽象语言转换为编码。
表示层——将编码转换为二进制语言。
会话层——应用程序设备的会话区分 提供会话层地址,为应用程序设定规则。

上三层为应用程序加工处理数据 –应用程序。

传输层——负责将进入的数据分段(受到MTU的限制),并且提供端口号,UDP/TCP

MTU:最大传输单元;默认1500

网络层 —— Internet互联网协议 ——IP 路由器
数据链路层——LLC逻辑链路控制+MAC介质访问控制层 MAC地址 校验 控制物理层。
物理层——硬件设备

下四层负责数据的传输

在这里插入图片描述

从世界上出现第一台计算机开始,怎么使其联通、发生数据传输、以及进一步的扩大就成了最大的问题!
最初,人们将其分成四层,分别是应用层表示层介质访问控制层以及物理层。一个信息经最初的应用层将抽象语言转换为编码,再由表示层转换为二进制语言,最后由介质访问控制层控制物理层将其转换为电信号传输出去。这就是最早的数据传输。
而这仅仅只是两台乃至数台电脑之间的数据传输,远远满足不了人们的需求,于是,怎么使这个网络变大就成了当前面临的最大问题。
怎么使网络变大呢?
1、距离增大
人们发明了中继器(放大器),利用增压来延长传输距离,但是随着传输距离的增大,导致电信号波形失真,所以中继器并不能无限延长
2、节点增加
为了解决节点问题,集线器HUB)应运而生了,但是随之而来的各种问题又让人们苦恼:
由于集线器连接多台电脑,当有电脑进行数据传输的时候,集线器不能准确获悉传输的目的地,只能往每个端口复制一份,这就是地址问题;复制至各个端口的数据一旦被查看就会造成安全问题;当多台电脑进行数据传输时,其他电脑就会接收到很多垃圾信息,造成网络延时;最严重的就是两台 电脑同时进行数据传输的时候,电信号同时进入集线器,就会冲突碰撞消失。
为了解决这些问题,人们设计出MAC地址——网卡芯片的串号,由48位二进制组成,出厂烧录,全球唯一,为了方便查看,用16进制显示。研发载波监听多路访问技术CSMA/CD来解决冲突问题,也就是排队机制。
在这里插入图片描述
因网络的增大需求,网桥诞生了,但因其高昂的造价,不久后被交换机取代,交换机为二层设备,交换机完全满足网络增大的要求,理论上,交换机是可以无限延长的,当数据帧进入交换机时,交换机先查看数据中源MAC地址,然后将其与对应的接口进行映射记录(MAC地址表);之后查看数据中的目标MAC,再查下本地的MAC地址表,找到对应的接口;若找到记录 —— 仅向该接口转发(单播),若没有记录将洪泛该流量
洪泛—流量从本地的进入接口外,往其他所有接口复制一份。
IPV4地址 —32位二进制构成 点分十进制标识 192.168.1.1。
ARP地址解析协议—通过对端的一个地址来获取对端的另一种地址。
在这里插入图片描述
网络协议
HTTP——超文本传输协议
HTTPS——安全的超文本传输协议
DNS——域名解析服务
FTP——文件传输协议
TFTP——简单的文件传输协议
端口号(0-65535)——其中0—1023为注明端口—静态端口

静态端口–固定分配给常使用的各种服务
例如 : HTTP服务器 — 80

1024—65535为动态端口—高端口

动态端口一般随机分配给终端设备上启动的应用程序

端口号用于区分终端设备上启动的各个程序进程,或区分服务器设备提供的各种服务。

UDP—用户数据报文协议,仅完成传输基础工作的协议—分段、端口号
非面向连接的不可靠传输协议 。在这里插入图片描述
TCP—传输控制协议—除完成传输层基础工作外,还需要保障数据传输可靠性
面向连接的可靠传输协议。
面向连接—进行3次握手来建立端到端的虚链路:
三次握手:
第一次握手—客户端向服务器发出连接请求报文,这个三次握手中的开始。表示客户端想要和服务端建立连接。
第二次握手—TCP服务器收到请求报文后,如果同意连接,则发出确认报文,询问客户端是否准备好。
第三次握手—TCP客户进程收到确认后,还要向服务器给出确认。
可靠传输—4种机制 确认 重传 排序 流控(滑动窗口)
四次断开:
第一次断开—TCP发送一个FIN(结束),用来关闭客户到服务端的连接。客户端进程发出连接释放报文,并且停止发送数据。
第二次断开—服务端收到这个FIN,他发回一个ACK(确认),客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文。
第三次断开—服务端发送一个FIN(结束)到客户端,服务端关闭客户端的连接。
第四次断开—客户端发送ACK(确认)报文确认,并将确认的序号+1,这样关闭完成。
在这里插入图片描述
在这里插入图片描述
名词补充

封装—数据从高层向低层加工的过程,过程中数据将不断变大,加头部
解封装—数据从低层向高层的一个读取过程;数据将不断变小
PDU—协议数据单元 对各层数据的单位
上三层=报文 传输层=段 网络位=包 数据链路层=帧 物理层=比特流
DNS—域名解析服务 通过域名查找对应的ip地址
ARP—地址解析协议
正向ARP—已知对端的IP地址,通过广播查询对端的MAC地址
反向ARP—已知本地或对端MAC地址,通过MAC查询ip地址
无故ARP—在使用ip地址的过程中,向外进行正向ARP,但查询的目标ip地址为本地ip,地址冲突检测;

   

更多内容详见微信公众号:Python测试和开发

Python测试和开发

原文地址:https://www.cnblogs.com/phyger/p/14084532.html