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

目录

  • 一、网络历史两个重要名词
    • 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方式进行实时数据传输

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CNN之图像识别

什么是图像识别 • 图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息。随着计算机技术的发展,人类对图像识别技术的认识越来越深刻 • 图像识别技术的定义为利用计算机对图像进行处理、分析和理解&…

Docker(二) Docker容器

在docker中的容器都是由镜像所创建的,一个镜像可以创建多个容器。 一、调试Docker 启动Docker systemctl start docker 查看Docker中有哪些镜像 docker images 下载镜像 docker pull hello-world 运行镜像 docker run hello-world 出现 Hello from Docker! 这…

构建系统自动化-autoreconf

autoreconf简介 autoreconf是一个GNU Autotools工具集中的一个命令,用于自动重新生成构建系统的配置脚本和相关文件。 Autotools是一组用于自动化构建系统的工具,包括Autoconf、Automake和Libtool。它们通常用于跨平台的软件项目,以便在不同…

[C语言]分支与循环

导言: 在人生中我们总会有选择,**如下一顿吃啥?**又或者每天都是在重复,吃饭!!!!,当然在C语言中也有选择和重复那就是分支语句与循环语句 文章目录 分支循环循环中的关键…

手写代码-前端面试

GitHub:手写代码集合

大数据-玩转数据-Flink营销对账

一、说明 在电商网站中,订单的支付作为直接与营销收入挂钩的一环,在业务流程中非常重要。对于订单而言,为了正确控制业务流程,也为了增加用户的支付意愿,网站一般会设置一个支付失效时间,超过一段时间不支…

一云多芯,智能化转型的下一个工程化挑战

进入2023年,产业数字化和智能化转型升级进入了大规模工程化落地阶段。根据中国信通院《中国数字经济发展研究报告(2023)》,数字经济已经占我国GDP比重达到41.5%,相当于第二产业占国民经济的比重。随着产业数字化和智能…

【数据结构】 LinkedList的模拟实现与使用

文章目录 🍀什么是LinkedList🌴LinkedList的模拟实现🚩创建双链表🚩头插法🚩尾插法🚩任意位置插入🚩查找关键字🚩链表长度🚩打印链表🚩删除第一次出现关键字为…

YOLOv5+deepsort实现目标追踪。(附有各种错误解决办法)

一、YOLOv5算法相关配置 🐸这里如果是自己只想跑一跑YOLOV5的话,可以参考本章节。只想跑通YOLOv5+deepsort的看官移步到下一章节。 1.1 yolov5下载 🐸yolov5源码在github下载地址上或者Gitee上面都有。需要注意的是由于yolov5的代码库作者一直在维护,所以下载的时候需…

【Unity小技巧】Unity探究自制对象池和官方内置对象池(ObjectPool)的使用

文章目录 前言不使用对象池使用官方内置对象池应用 自制对象池总结源码参考完结 前言 对象池(Object Pool)是一种软件设计模式,用于管理和重用已创建的对象。在对象池中,一组预先创建的对象被维护在一个池中,并在需要时…

OJ练习第152题——分割回文串 II

分割回文串 II 力扣链接:132. 分割回文串 II 题目描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 Java代码 class Solution {public int minCut(String s) {int n s.leng…

听说你还不知道什么是python?本文将带你发掘python的魅力并让你爱上他

文章目录 前言什么是pythonpython的由来我们为什么要学习python帮助python学习的网站总结 前言 各位朋友们,大家好。龙叔我后台经常收到私信问什么是Python?有必要学习这门语言么?今天,将通过本文告知大家Python是什么&#xff1…

浅谈日常使用的 Docker 底层原理-三大底座

适合的读者,对Docker有过简单了解的朋友,想要进一步了解Docker容器的朋友。 前言 回想我这两年,一直都是在使用 Docker,看过的视频、拜读过的博客,大都是在介绍 Docker 的由来、使用、优点和发展趋势,但对…

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动 0、背景1、基本环境2、开发环境编译Qt MySql数据库驱动2.1 依赖说明2.2 MySQL驱动编译过程 3、交叉编译Qt MySql数据库驱动3.1 依赖说明3.3.1 如何在交叉编译服务器上找到mysql.h及相关头文件3.3.2 如果…

【PHP】基础语法变量常量

文章目录 PHP简介前置知识了解静态网站的特点动态网站特点 PHP基础语法代码标记注释语句分隔(结束)符变量变量的基本概念变量的使用变量命名规则预定义变量可变变量变量传值内存分区 常量基本概念常量定义形式命名规则使用形式系统常量魔术常量 PHP简介 PHP定义:一…

【服务器】Strace显示后台进程输出

今天有小朋友遇到一个问题 她想把2331509和2854637这两个进程调到前台来,以便于在当前shell查看这两个python进程的实时输出 我第一反应是用jobs -l然后fg (参考这里) 但是发现jobs -l根本没有输出: 原因是jobs看的是当前ses…

Oracle Database12c数据库官网下载和安装教程

文章目录 下载安装Oracle自带的客户端工具使用 下载 进入oracle官网 点击下载连接之后右上角会有一个下载 我们只需要数据库本体就够了 运行这个下载器 等待下好之后即可 出现 Complete 之后代表下载成功,然后我们解压即可 安装 双击 双击setup.exe 根据…

NLP | 基于LLMs的文本分类任务

比赛链接:讯飞开放平台 来源:DataWhale AI夏令营3(NLP) Roberta-base(BERT的改进) ①Roberta在预训练的阶段中没有对下一句话进行预测(NSP) ②采用了动态掩码 ③使用字符级和词级…

引领行业高质量发展|云畅科技参编《低代码开发平台创新发展路线图(2023)》

8月8日-9日,中国电子技术标准化研究院于北京顺利召开《低代码开发平台创新发展路线图(2023)》封闭编制会。云畅科技、浪潮、百度、广域铭岛等来自低代码开发平台解决方案供应商、用户方、科研院所等近30家相关单位的40余位专家参与了现场编制…

android studio gradle build running慢 卡住不动 失败 原因与解决方式

快速导航 分析原因解决办法 分析原因 主要原因是 gradle 构建时无法从网络获取需要的包或库。 解决办法 将国外库替换为阿里云镜像库。 例如 google 对应的库是 maven { url ‘https://maven.aliyun.com/repository/google’ }