网络编程——网络基础知识

目录

  • 一、网络历史两个重要名词
    • 1.1 阿帕网
    • 1.2 TCP/IP协议
  • 二、局域网和广域网
  • 三、IP地址
    • 3.1 基本概念
    • 3.2 划分(IPV4)
    • 3.3 特殊IP地址
    • 3.4 子网掩码
    • 3.5 重新组网
  • 四、网络模型
    • 4.1 网络的体系结构:
    • 4.2 OSI与TCP/IP模型
      • 4.2.1 OSI模型
      • 4.2.2 TCP/IP模型
      • 4.2.3 OSI和TCP/IP模型对应关系
      • 4.2.3 常见网络协议
    • 4.3 UDP和TCP
      • 4.3.1 TCP(即传输控制协议)
      • 4.3.2 UDP(用户数据报协议 )

一、网络历史两个重要名词

1.1 阿帕网

阿帕网是什么→🔗阿帕网
阿帕网的特点:

  • 没有纠错功能
  • 不能互联不同类型的计算机和不同类型的操作系统。

1.2 TCP/IP协议

什么是TCP/IP协议→🔗TCP/IP协议

  • 用来检测网络传输中差错的传输控制协议TCP
  • 专门负责对不同网络进行互联的互联网协议IP(网际协议)

二、局域网和广域网

局域网(LAN):本地的网络,只能实现小范围短距离的网络通信
广域网(Wan):外网,长距离的传输

三、IP地址

3.1 基本概念

  • IP地址是Internet中主机的标识
  • Internet中的主机要与别的机器通信必须具有一个IP地址
  • IP地址为32位(IPv4)或者128位(IPv6)
  • 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数。

3.2 划分(IPV4)

二级划分(ip=网络号+主机号)

  • 网络号:表示是否在一个网段内(局域网)
  • 主机号:标识在本网段内的ID,同一局域网不能重复

由这种划分方式可以将ip分成ABCDE五类,分类依据就是网络号的大小以及网络号的前几位👇:
在这里插入图片描述

3.3 特殊IP地址

  • 0.0.0.0
    自动获取IP,指的是本机上的所有的IP地址
  • 127.0.0.1
    回环地址/环路地址,所有发往该类地址的数据包都应该被loop back
  • 网络地址&广播地址
    • 网络地址:每一个网段主机号全为 0 的地址是网络地址
    • 广播地址:每一网段主机号全为1是广播地址
  • 主机号为1 的地址是默认网关(如192.168.1.1)
  • 255.255.255.255
    全网广播地址

3.4 子网掩码

  • 子网掩码:是一个32位的整数,作用是将某一个IP划分成网络地址和主机地址;
  • 子网掩码长度是和IP地址长度完全一样;
  • 网络号全为1,主机号全为0;

ABC类IP的子网掩码:

 A  255.0.0.0B  255.255.0.0C  255.255.255.0

子网掩码的作用:计算网段和主机ID

  • ip & 子网掩码 = 网络号
  • ip &(~子网掩码) = 主机ID

3.5 重新组网

原因:例如想要1000台计算机接入同一局域网,且不能浪费IP。C类ip同一网段的主机号只有256-2=254个可以用,不够,而B类IP的主机号有65536-2=65534个可以分配,又太多。这时需要拿出B类IP的部分主机号作为子网号,只留后面的10位作为主机号。

三级地址组成:ip=网络号+子网号+主机号
网络号+子网号 → 网段(网络地址)

四、网络模型

4.1 网络的体系结构:

  • 网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。
  • 每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务
  • 网络体系结构即指网络的层次结构和每层所使用协议的集合
  • 两类非常重要的体系结构:OSI与TCP/IP

4.2 OSI与TCP/IP模型

4.2.1 OSI模型

  • OSI模型是一个理想化的模型,尚有未完整的实现
  • OSI模型共有七层
  • OSI现阶段只用作教学和理论研究

划分

  1. 物理层:传输的是bit流(0与1一样的数据),物理信号,没有格式
  2. 链路层:格式变为帧(把数据分成包,一帧一帧的数据进行发送)
  3. 网络层:路由器中是有算法的,ip,(主机到主机)(路由的转发)
  4. 传输层:端口号,数据传输到具体那个进程程序(端到端)
  5. 会话层:通信管理,负责建立或者断开通信连接
  6. 表示层:确保一个系统应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据加密,解密;
  7. 应用层:指定特定应用的协议,文件传输,文件管理,电子邮件等。
    在这里插入图片描述

4.2.2 TCP/IP模型

  1. 网络接口和物理层:屏蔽硬件差异(驱动),向上层提供统一的操作接口。
  2. 网络层:提供端对端的传输,可以理解为通过IP寻址机器。
  3. 传输层:决定数据交给机器的哪个任务(进程)去处理,通过端口寻址
  4. 应用层:应用协议和应用程序的集合
    在这里插入图片描述

4.2.3 OSI和TCP/IP模型对应关系

在这里插入图片描述

4.2.3 常见网络协议

层次协议
网络接口和物理层:ppp:拨号协议(老式电话线上网方式);ARP:地址解析协议 IP–>MAC;RARP:反向地址转换协议 MAC–>IP
网络层IP(IPV4/IPV6):网间互连的协议;ICMP:网络控制管理协议,ping命令使用;IGMP:网络分组管理协议,广播和组播使用
传输层TCP:传输控制协议;UDP:用户数据报协议
应用层SSH:加密协议;telnet:远程登录协议;FTP:文件传输协议;HTTP:超文本传输协议;DNS:地址解析协议;SMTP/POP3:邮件传输协议

4.3 UDP和TCP

UDP TCP 协议相同点:都存在于传输层

4.3.1 TCP(即传输控制协议)

是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)
适用情况:
1、适合于对传输质量要求较高,以及传输大量数据的通信。
2、在需要可靠数据传输的场合,通常使用TCP协议
3、MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

4.3.2 UDP(用户数据报协议 )

UDP(User Datagram Protocol)用户数据报协议,是不可靠无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输
适用情况:
1、发送小尺寸数据(如对DNS服务器进行IP地址查询时)
2、在接收到数据,给出应答较困难的网络中使用UDP。
3、适合于广播/组播式通信中。
4、MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议
5、流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

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

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

相关文章

如何使用CSS实现一个响应式轮播图?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现响应式轮播图的示例⭐ HTML 结构⭐ CSS 样式 (styles.css)⭐ JavaScript 代码 (script.js)⭐ 实现说明⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带…

C++入门:内联函数,auto,范围for循环,nullptr

目录 1.内联函数 1.1 概念 1.2 特性 1.3 内联函数与宏的区别 2.auto关键字(C11) 2.1 auto简介 2.2 auto的使用细则 2.3 auto不能推导的场景 3.基于范围的for循环(C11) 3.1 范围for的语法 3.2 范围for的使用方法 4.指针空值nullptr(C11) 4.1 C98中的指针空值 1.内联…

Java学习笔记——继承(包括this,super的使用总结)

继承: 使用情景:当类与类之间,存在相同(共性)的内容,并满足子类是父类的一种,就可以考虑使用继承,来优化代码 Java中提供一个关键字extends,用这个关键字,我…

无涯教程-PHP - 常量数组

现在可以使用 define()函数定义数组常量。在PHP 5.6中&#xff0c;只能使用 const 关键字定义它们。 <?php//define a array using define functiondefine(animals, [dog,cat,bird]);print(animals[1]); ?> 它产生以下浏览器输出- cat PHP - 常量数组 - 无涯教程网无…

leetcode59. 螺旋矩阵 II(java)

螺旋矩阵 题目描述缩进法 上期经典 题目描述 难度 - 中等 原题链接 - 螺旋矩阵 示例1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;[[1]] 提示&#xff1a; 1 < n < 20 缩进法…

【MyBatis】:PageHelper分页插件与特殊字符处理

目录 一、PageHelper介绍 二、PageHelper使用 1. 导入pom依赖 2. Mybatis.cfg.xml 配置拦截器 3. 配置 Mapper.xml 4. 编写测试 三、特殊字符处理 1. 使用转义字符 2. 使用CDATA 区段 一、PageHelper介绍 PageHelper 是 Mybatis 的一个插件&#xff0c;这里就不扯了&a…

1273. 删除树节点;2786. 访问数组中的位置使分数最大;889. 根据前序和后序遍历构造二叉树

1273. 删除树节点 核心思想&#xff1a;递归&#xff0c;从根节点出发&#xff0c;枚举父节点的子节点&#xff0c;如果它们的值加起来为0的话就把父亲的节点删除后剩余的数置为0&#xff0c;默认返回一个节点&#xff0c;del_remain保存的是&#xff0c;del_remain[x]表示完成…

解锁ChatGLM-6B的潜力:优化大语言模型训练,突破任务困难与答案解析难题

解锁ChatGLM-6B的潜力&#xff1a;优化大语言模型训练&#xff0c;突破任务困难与答案解析难题 LLM&#xff08;Large Language Model&#xff09;通常拥有大量的先验知识&#xff0c;使得其在许多自然语言处理任务上都有着不错的性能。 但&#xff0c;想要直接利用 LLM 完成…

LeetCode面试经典150题(day 2)

26. 删除有序数组中的重复项 难度:简单 给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯…

面试题-React(六):React组件和生命周期

一、React组件 React组件简介&#xff1a; React组件是构建用户界面的基本单元。它们将界面拆分成独立、可重用的部分&#xff0c;使得代码更加模块化、可维护性更高。React组件可以是函数组件或类组件&#xff0c;它们接收输入的数据&#xff08;称为props&#xff09;并返回…

Python标准库概览

Python标准库概览 知识点 标准库: turtle库(必选)标准库: random库(必选)、time库(可选&#xff09; 知识导图 1、turtle库概述 turtle&#xff08;海龟&#xff09;是Python重要的标准库之一&#xff0c;它能够进行基本的图形绘制。turtle库绘制图形有一个基本框架&#x…

快速指南:使用Termux SFTP通过远程进行文件传输——”cpolar内网穿透“

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…

微信ipad协议,微信协议,个人号二次开发

微信iPad协议&#xff0c;采用最新的ASE加密&#xff0c;以及最新的算法&#xff0c;iPad协议是一套微信个人号接口&#xff0c;基于web开发&#xff0c;它能实现微信中的百分之八十的功能&#xff0c;并辅助微信执行各种操作&#xff0c;提供了客户与微信个人号对接的能力&…

day4 驱动开发

【ioctl函数的使用】 1.概述 linux有意将对设备的功能选择和设置以及硬件数据的读写分成不同的函数来实现。让read/write函数专注于数据的读写&#xff0c;而硬件功能的设备和选择通过ioctl函数来选择 2.ioctl函数分析 int ioctl(int fd,unsigned long request) 通过&…

windows上ffmpeg如何录制双屏幕中的一个屏幕上的视频

首先&#xff0c;如何在window上安装ffmpeg自己查找scoop安装ffmpeg. 如题&#xff1a; 如果你有两个屏幕&#xff0c;如何让ffmpeg来录制其中的一个屏幕的视频呢。 很简单&#xff0c;首先你要查看另外一个屏幕的分辨率&#xff1a; 第一步&#xff1a;进入系统中 第二步&am…

docker 内apt-get安装软件都不好使

报各种错误 apt-get install --no-install-recommends libboost-all-dev Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed:autoconf automake autotools-dev cpp-8 gc…

安装docker服务 配置镜像

1.安装docker服务&#xff0c;配置镜像加速器 2.下载系统镜像&#xff08;Ubuntu、 centos&#xff09; 3.基于下载的镜像创建两个容器 &#xff08;容器名一个为自己名字全拼&#xff0c;一个为首名字字母&#xff09; 4.容器的启动、 停止及重启操作 操作代码启动docker sta…

合肥先进光源高速数据采集网的规划

合肥先进光源束测后台的初步设计&#xff0c;这里的网络相关的部分摘出来换个名字重新整理一下&#xff1a; 合肥光源中&#xff0c;没有把数据量大的设备比如摄像头、示波器规划进单独的网络&#xff0c;所有的设备都直接接入控制网&#xff0c;运行实践的过程中&#xff0c;有…

CG MAGIC分享如何3d Max新版本如何能在旧版本中打开呢?

三维行业来说&#xff0c;无论是三维软件还是插件&#xff0c;都是在持续更新功能的。 3d Max这款软件&#xff0c;自然也不例外&#xff0c;不断推出新版本以提供更多强大的功能和工具。 随着新版本的发布&#xff0c;旧版本用户可能面临一个问题&#xff1a; 3d Max新版本…

MediaPlayer音频与视频的播放介绍

作者&#xff1a;向阳逐梦 Android多媒体中的——MediaPlayer&#xff0c;我们可以通过这个API来播放音频和视频该类是Androd多媒体框架中的一个重要组件&#xff0c;通过该类&#xff0c;我们可以以最小的步骤来获取&#xff0c;解码和播放音视频。 它支持三种不同的媒体来源…