网络编程——基础知识

全文目录

  • 网络发展
  • 协议
    • OSI七层模型
    • TCP/IP五层(或四层)模型
  • 网络传输
  • 网络地址
    • IP地址
    • MAC地址
  • 网络通信的本质

网络发展

网络没有出来之前计算机都是相互独立的:

在这里插入图片描述

网络就是将独立的计算机连接在一起,局域网和广域网的区别只是范围上的大小:

局域网LAN: 计算机数量更多了,通过交换机和路由器连接在一起:

在这里插入图片描述

广域网:将远隔千里的计算机都连在一起

在这里插入图片描述

协议

就如同人想要进行有效沟通,我们首先要知道对方的语言规则,才能知道对方在说什么。计算机进行交流则是需要规定协议来进行交互的。

就像打电话:在上层,我们是直接沟通,但是在底层确实两台通信设备在通信协议下互相发送信号,并将接收到的信号转换为我们的语言。

在这里插入图片描述

在网络中,通信将会变得更加复杂。通常将复杂问题简单化,处理问题就会变得更简单。所以网络分为多层次,分层的好处就是便于封装

OSI七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;

在这里插入图片描述

在这里插入图片描述

  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯

OSI七层模型只是一种设计方法,但是它既复杂又不实用,一般来说都是应用TCP/IP 四层模型。

TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

  • 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.

  • 数据链路层: 负责设备之间的数据帧的传送和识别.例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作.有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.

  • 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.

  • 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.

  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 我们的网络编程主要就是针对应用层.

在这里插入图片描述

物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型.

对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;
对于一台路由器, 它实现了从网络层到物理层;
对于一台交换机,它实现了从数据链路层到物理层;

参考资料: TCP/IP四层模型和OSI七层模型的概念

网络传输

网络传输流程:

在这里插入图片描述

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).

  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header)也叫报头,称为封装(Encapsulation)。

  • 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.

  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理.

数据封装的过程:

在这里插入图片描述

数据封装的过程:

在这里插入图片描述

网络地址

IP地址

IP地址是在IP协议中用来标识网络中不同主机的地址,有IPV4和IPV6两个版本。

对于IPv4来说, IP地址是一个4字节, 32位的整数,通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

MAC地址

MAC地址用来识别数据链路层中相连的节点。

  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

  • mac地址在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).

网络通信的本质

网络通信实际上是两个应用程序在进行通信,也就是说网络通信只是进程通信的一个手段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/112481.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕设 LSTM的预测算法 - 股票预测 天气预测 房价预测

文章目录 0 简介1 基于 Keras 用 LSTM 网络做时间序列预测2 长短记忆网络3 LSTM 网络结构和原理3.1 LSTM核心思想3.2 遗忘门3.3 输入门3.4 输出门 4 基于LSTM的天气预测4.1 数据集4.2 预测示例 5 基于LSTM的股票价格预测5.1 数据集5.2 实现代码 6 lstm 预测航空旅客数目数据集预…

标准防雷接地网和简易地网的制作方法

防雷接地网是整套防雷系统不可缺少的部分,一般是由埋在地下一定深度的多个金属接地极和由导体将这些接地极相互连接组成一网状结构的接地体的总称。它广泛应用在电力、建筑、计算机,工矿企业、通讯等众多行业之中,起着安全防护、屏蔽等作用。…

固定资产管理系统的作用有哪些

固定资产管理系统的功效原因很多。  它帮助企业更好地管理其固定资金,包括设备的采购、维护、更新和损坏。根据系统管理计划,企业可以更有效地节约成本,提高效率,降低风险。  资产管理系统可以实现企业资产共享与合作应用。在…

STM32 USB CDC 虚拟串口

// 用虚拟串口(USB CDC VCP)感觉有些不稳定,尤其是下位机掉电后再上电,上位机虚拟的那个串口根本不能用,还有就是 // 必须等虚拟串口出来后且知道串口号上位机才可以执行打开操作// 上面是实际情况,但并不是STM32的USB不行&#x…

今年嵌入式行情怎么样?

今年嵌入式行情怎么样? 嵌入式技术今年可以说是IT领域中最炙手可热的之一。随着中年危机和内卷问题的出现,越来越多的互联网从业者将目光投向了嵌入式领域。国内的嵌入式市场一直受终端需求变化的影响而波动,但随着国内产业自主化的发展趋势…

利用Pycharm将python程序打包为exe文件(亲测可用)

最近做了一个关于py的小项目,对利用Pycharm将python文件打包为exe文件不是很熟悉,故学习记录之。 目录 一、下载pyinstaller库 二、打开Pycharm进行打包(不更改图标) 三、打开Pycharm进行打包(更改图标&#xff09…

python 第一次作业

1.使用turtle换一个五环 2.设计这样一个程序:输入一个数字 判断它是不是一个质数 使用turtle换一个五环: >>> import turtle #导入模块 >>> turtle.width(10) #设置圆圈宽度 >>> turtle.color("blue&qu…

02、Servlet核心技术(下)

目录 1 ServletJDBC应用(重点) 2 重定向和转发(重点) 2.1 重定向的概述 2.2 转发的概述 3 Servlet线程安全(重点) 4 状态管理(重点 ) 5 Cookie技术(重点&#xf…

jvm中对象创建、内存布局以及访问定位

对象创建 Java语言层面,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字即可,而在虚拟机中,对象(限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过…

练习敲代码速度

2023年9月18日,周一晚上 今晚不想学习,但又不想玩游戏,于是找了一些练习敲代码的网站来玩玩,顺便练习一下敲代码的速度 目录 参考资料个人推荐第一个 第二个第三个 参考资料 电脑打字慢,有哪些比较好的练打字软件&a…

时间序列论文-聚类和异常检测(一)

这篇文章摘自,知乎:https://www.zhihu.com/question/29507442/answer/1212624591?utm_id0 写的很好,就记录一下。 两篇关于时间序列的论文 原文链接:两篇关于时间序列的论文 这次整理的就是清华大学裴丹教授所著的两篇与时间序…

深眸科技迭代深度学习算法,以AI机器视觉技术扩围工业应用场景

智能制造是制造业数智化转型升级的发展方向,在当前以高端装备制造为核心的工业4.0时代背景下,越来越多的制造企业意识到机器视觉对于提高效率、降低成本,从而提升企业效益的意义。 目前,机器视觉已成为制造业迈向智能制造过程中极…