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

news2024/10/3 4:33:51

目录

  • 一、网络历史两个重要名词
    • 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.0
 B  255.255.0.0
 C  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.coloradmin.cn/o/918890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++,类的特殊函数练习

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream> using namespace std;cla…

OpenAI的Superalignment策略:计算为王

卷友们好&#xff0c;我是rumor。 对于怎么实现AGI这个玄学的目标&#xff0c;感觉大家都是差不多的状态&#xff1a;咱也不知道怎么做&#xff0c;但就是觉得现在的LLM技术还远远不够。 所以之前看到OpenAI说要用模型去做对齐研究[1]&#xff0c;以及最近发话要4年内做出Super…

创建R包-2.1:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)

目录 0-前言 1-在RStudio中创建R包项目 2-创建R包 2.1通过R函数创建新包 2.2在RStudio通过菜单来创建一个新包 2.3关于R包创建的说明 3-添加R自定义函数 4-添加C函数 0-前言 目标&#xff1a;在RStudio中创建一个R包&#xff0c;这个R包中包含C函数&#xff0c;接口是Rc…

牛客复盘] 2023河南萌新联赛第(七)场:信息工程大学 B\I 20230823

牛客复盘] 2023河南萌新联赛第&#xff08;七&#xff09;场&#xff1a;信息工程大学 B\I 20230823 总结B 七夕1. 题目描述2. 思路分析3. 代码实现 I 细胞分裂1. 题目描述2. 思路分析3. 代码实现 六、参考链接 总结 场外OB做了B和I题&#xff0c;只能说这场有点离谱。B 并查…

律师事务所微信小程序开发方案:实现智能化服务与用户体验的完美结合

随着移动互联网的快速发展&#xff0c;微信成为了人们日常生活中不可或缺的社交工具。为了满足用户对便捷、高效法律服务的需求&#xff0c;律师事务所微信小程序应运而生。本文将探讨律师事务所微信小程序的开发方案&#xff0c;旨在为读者提供一个专业、思考深度和逻辑性的指…

黑客自学笔记

谈起黑客&#xff0c;可能各位都会想到&#xff1a;盗号&#xff0c;其实不尽然&#xff1b;黑客是一群喜爱研究技术的群体&#xff0c;在黑客圈中&#xff0c;一般分为三大圈&#xff1a;娱乐圈 技术圈 职业圈。 娱乐圈&#xff1a;主要是初中生和高中生较多&#xff0c;玩网恋…

【RHEL】硬盘分区与格式化

fdisk命令 在linux中&#xff0c;fdisk是基于菜单的命令。对硬盘分区时&#xff0c;可以在fdisk命令后面直接加上要分区的硬盘作为参数(分区工具) 利用如下所示命令&#xff0c;打开fdisk操作菜单。 输入p,查看当前分区表。从命令执行结果可以到&#xff0c;/dev/mapper/rhel…

网络拓扑结构

目录 1.网络拓扑结构 1.星型拓扑结构 2.网型拓扑结构 3. 数制介绍 3.1 数制的基本概念 1.网络拓扑结构 网络拓扑结构是指用传输媒体互连各种设备的物理布局&#xff0c;也就是用什么方式连接网络中的计算机、网络设备&#xff0c;它的结构有星型拓扑&#xff0c;总线型拓扑…

JVM 之 垃圾收集算法详解

文章目录 一、标记清楚算法二、标记复制算法三、标记整理算法四、不同垃圾收集算法优缺点总结1. 标记-清除算法&#xff1a;2. 标记-复制算法&#xff1a;3. 标记-整理算法&#xff1a; 一、标记清楚算法 标记清除是一种简单而直接的垃圾回收算法。它的执行流程如下&#xff1…

【Rust】Rust学习 第十九章高级特征

现在我们已经学习了 Rust 编程语言中最常用的部分。在第二十章开始另一个新项目之前&#xff0c;让我们聊聊一些总有一天你会遇上的部分内容。你可以将本章作为不经意间遇到未知的内容时的参考。本章将要学习的功能在一些非常特定的场景下很有用处。虽然很少会碰到它们&#xf…

SpringBoot案例-文件上传

目录 简介 文件上传前端页面三要素 服务端接收文件 小结 本地储存 实现 代码优化 小结 阿里云OSS 阿里云 阿里云OSS 使用第三方服务--通用思路 准备工作 参照官方SDK代码&#xff0c;编写入门程序 集成使用 阿里云OSS-使用步骤 阿里云OSS使用步骤 参照SDK编写入…

【QT5-自我学习-线程qThread练习-两种使用方式-2:通过继承Qobject类-自己实现功能函数方式-基础样例】

【QT5-自我学习-线程qThread练习-两种使用方式-2&#xff1a;通过继承Qobject类-自己实现功能函数方式-基础样例】 1、前言2、实验环境3-1、学习链接-参考文章3-2、先前了解-自我总结&#xff08;1&#xff09;线程处理逻辑事件&#xff0c;不能带有主窗口的事件&#xff08;2&…

攻防世界-base÷4

原题 解题思路 base644&#xff0c;莫不是base16&#xff0c;base16解码网站&#xff1a; 千千秀字

k8s 安装istio (一)

前置条件 已经完成 K8S安装过程十&#xff1a;Kubernetes CNI插件与CoreDNS服务部署 部署 istio 服务网格与 Ingress 服务用到了 helm 与 kubectl 这两个命令行工具&#xff0c;这个命令行工具依赖 ~/.kube/config 这个配置文件&#xff0c;目前只在 kubernetes master 节点中…

postgres数据常用SQL语句

-- 系统信息函数 select version(),user,current_user; -- 创建表 CREATE TABLE biao(id INT primary key,name VARCHAR(25) not null,sex VARCHAR(25) unique,salary FLOAT default 9000 ); -- 更换表名 ALTER TABLE biaoRename to biao1; -- 更换字段类型 ALTER TABLE biao1 …

Tushare入门小册

Tushare入门小册 一、Tushare平台介绍 Pro版数据更稳定质量更好了&#xff0c;我们提供的不再是直接从互联网抓取&#xff0c;而是通过社区的采集和整理存入数据库经过质量控制后再提供给用户。但Pro依然是个开放的&#xff0c;免费的平台&#xff0c;不带任何商业性质和目的…

红黑树的调整图解

讲的很好 的红黑树原理 上面的视频讲解的红黑树很好。尤其是关于红黑树的调整。画图做了下总结&#xff0c;谢谢。

AVL——平衡搜索树

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——AVL树☂️<3>开发环境&#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;AVL树是对二叉搜索树的严格高度控制&#xff0c;所以AVL树的搜索效率很高…

微服务中间件--统一网关Gateway

统一网关Gateway 8.统一网关Gatewaya.搭建网关服务b.路由断言工厂c.路由过滤器GatewayFilterd.全局过滤器GlobalFiltere.过滤器的执行顺序f.网关的cors跨域配置 8.统一网关Gateway 网关功能&#xff1a; 身份认证和权限校验服务路由、负载均衡请求限流 网关的技术实现 在Spr…

基于大数据+django+mysql的银行信用卡用户的数仓系统

系统阐述的是银行信用卡用户的数仓系统的设计与实现&#xff0c;对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计&#xff0c;描述&#xff0c;实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构…