01_网络概述

news2025/1/17 6:13:20

知识点1【分组交换】

知识点2【交换方式】存储-转发

知识点3【网络分层结构】(重要)

知识点4【协议的介绍】

1、IP协议 网际协议(网络层)

2、TCP协议 传输控制协议 (传输层)(重要)

3、UDP协议 用户数据报协议 (传输层)

知识点5【地址介绍】(了解)

1、mac地址(链路层) 设备和设备的通信

2、IP地址IPv4 (网络层) 主机 和 主机 32位

3、IP地址分类(更加合理的利用IP地址)

4、IP地址分类(可直接连接Internet)

5、回环地址

6、子网掩码

知识点6【端口】

1、端口号:

2、端口的分类

知识点7【数据在各层的组包、解包】(了解) 

 mac头:

知识点8【开发流程】(了解)

TCP—面向连接:

UDP—面向无连接:

知识点9【字节序的概念】(重要)


知识点1【分组交换】

每一小块必须包含一个首部

首部:

1、该数据在原始数据中的位置(方便数据重组)

2、目的主机的地址信息(方便数据传输)

知识点2【交换方式】存储-转发

节点收到分组,先暂时存储下来,再检查其首部,按

照首部中的目的地址,找到合适的节点转发出去

特点:

1、以分组作为传输单位

2、独立的选择转发路由

3、逐段占用,动态分配传输带宽

想一想:节点收到的分组有序吗?无序的,重组发生在目的主机上

知识点3【网络分层结构】(重要

七层模型:OSI/RM开放互联模型(理论上的标准,实现的)

应用层:应用层的协议APP

表示层:将计算机能识别的二进制 转换成 人能识别的数据

会话层:分析数据的通信状态

传输层:进程和进程间的通信(端口信息)

网络层:主机与主机之间的通行(IP地址)

数据链路层:收发的完整的帧数据(在网络上独立传输)mac地址(设备地址)

物理层:不是物理设备,而是物理设备上的接口类型、电流强弱

四层协议:TCP/IP协议层

应用层:应用层的协议 FTP、Telnet、HTTP

传输层(运输层):进程和进程间的通信(端口信息)TCP、UDP

网络层:主机与主机之间的通行(IP地址)IP、ICMP

链路层:收发的完整的帧数据(在网络上独立传输)mac地址(设备地址)ARP RARP

知识点4【协议的介绍】

1、IP协议 网际协议(网络层)

在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议

尽量将数据从源地址 发送 目的地

特点:

不可靠:它不能保证IP数据包能成功地到达它的目的地,仅提供尽力而为的传输服务

无连接:IP并不维护任何关于后续数据包的状态信息。每个数据包的处理是相互独立的。IP数据包可以不按发送顺序接收

IP数据包中含有发送它主机的IP地址(源地址)和接收它主机的IP地址(目的地址)

2、TCP协议 传输控制协议 (传输层)(重要)

TCP是一种面向连接的,可靠的传输层通信协议

功能:

提供不同主机上的进程间通信

特点

1、建立链接->使用链接->释放链接(虚电路)

2、TCP数据包中包含序号和确认序号

3、对包进行排序并检错,而损坏的包可以被重传

服务对象

需要高度可靠性且面向连接的服务

如HTTP、FTP、SMTP等

总结:TCP 面向链接 可靠 排序 检错 失败重传 不支持广播

3、UDP协议 用户数据报协议 (传输层)

UDP是一种面向无连接的传输层通信协议

功能:

提供不同主机上的进程间通信

特点

1、发送数据之前不需要建立链接

2、不对数据包的顺序进行检查

3、没有错误检测和重传机制

服务对象

主要用于“查询—应答”的服务

如:NFS、NTP、DNS等

总结:UDP 无连接 不排序 不检错 不重传 快 支持广播

知识点5【地址介绍】(了解)

1、mac地址(链路层) 设备和设备的通信

MAC地址,用于标识网络设备,类似于身份证号,且理论上全球唯一。

组成以太网内的MAC地址是一个48bit的值

2、IP地址IPv4 (网络层) 主机 和 主机 32位

ip地址组成:使用32bit,由{网络ID,主机ID}两部分组成

子网ID:IP地址中由子网掩码中1覆盖的连续位

主机ID:IP地址中由子网掩码中0覆盖的连续位

IP和子网掩码一起使用: 

案例:192.168.0.111/255.255.255.0 子网ID192.168.0 主机ID 111

案例:192.168.0.111/255.255.0.0 子网ID 192.168 主机ID0.111

案例:192.168.0.111/255.0.0.0 子网ID 192 主机ID168.0.111

子网ID:标记网络网段 192.168.0.111/255.255.255.0 192.168.0.112/255.255.255.0

主机ID:标记同一网段下的主机号

总结:子网ID标记的是属于哪个网段, 主机ID标识的是网段下具体的主机号

192.168.0.111/255.255.255.0 == 192.168.0.111/24

192.168.0.111/255.255.0.0 == 192.168.0.111/16

192.168.0.111/255.0.0.0 == 192.168.0.111/8

案例:192.168.0.111/24 子网ID192.168.0 主机ID 111

案例:192.168.0.111/16 子网ID 192.168 主机ID0.111

案例:192.168.0.111/8 子网ID 192 主机ID168.0.111

ip地址特点:不同网段 不能直接通信

子网ID不同的网络不能直接通信,如果要通信则需要路由器转发

主机ID全为0的IP地址 表示 网段地址

主机ID全为1的IP地址 表示该 网段的广播地址

案例:192.168.0.111/255.255.255.0 问当前IP所处网段地址__192.168.0.0__ 以及 广播地址___192.168.0.255_____

192.168.000.111

255.555.555.0

注意:任何一个网段中的网段地址和广播地址 都不能分配主机

192.168.0.1~192.168.0.254 == 可用的IP数量 只有254个

案例:192.168.0.111/255.255.0.0 问当前IP所处网段地址_192.168.0.0___ 以及 广播地址___192.168.255.255_____可用的主机数1~65534 == 可用的IP数量 只有65534个

3、IP地址分类(更加合理的利用IP地址)

A类地址:默认8bit子网ID,第一位为0 广域网(国家-国家,大城市-大城市)

0xxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx/255.0.0.0

B类地址:默认16bit子网ID,前两位为10 城域网(城市-城市)

10xx xxxx xxxx xxxx xxxx xxxx xxxx xxxx/255.255.0.0

C类地址:默认24bit子网ID,前三位为110

110x xxxx xxxx xxxx xxxx xxxx xxxx xxxx/255.255.255.0 局域网

D类地址:前四位为1110,多播地址

E类地址: 前五位为11110,保留为今后使用

A,B,C三类地址是最常用的

4、IP地址分类(可直接连接Internet)

公有IP(可直接连接Internet)

经由InterNIC所统一规划的IP

私有IP(不可直接连接Internet )

主要用于局域网络内的主机联机规划

5、回环地址

功能

主要是测试本机的网络配置,能ping通127.0.0.1说

明本机的网卡和IP协议安装都没有问题

注意

127.0.0.1~127.255.255.254中的任何地址都将回环到本地主机中

不属于任何一个有类别地址类,它代表设备的本地虚拟接口

设置LinuxIP sudo ifconfig eth0 192.168.0.222 netmask 255.255.255.0

6、子网掩码

子网掩码(subnet mask)又叫网络掩码、地址掩码是一个32bit由1和0组成的数值,并且1和0分别连续。

特点

必须结合IP地址一起使用,不能单独存在

IP地址中由子网掩码中1覆盖的连续位为子网ID,其余为主机ID

子网掩码的表现形式

192.168.220.0/255.255.255.0 ==> 11111111.11111111.11111111.00000000

192.168.220.0/24

手动进行配置如下(linux)

案例:一下合法的子网掩码有哪些?ABD

A:255.255.0.0 B:255.0.0.0 C:255.0.255.0 D:255.255.255.128

知识点6【端口】

TCP/IP协议采用端口标识通信的进程

用于区分一个系统里的多个进程

特点

1、对于同一个端口,在不同系统中对应着不同的进程

2、对于同一个系统,一个端口只能被一个进程拥有

3、一个进程拥有一个端口后,传输层送到该端口的数据全部被该进程接收,同样,进程送交传输层的数据也通过该端口被送出

1、端口号:

类似pid标识一个进程;在网络程序中,用端口号(port)来标识一个运行的网络程序

 

特点

1、端口号是无符号短整型的类型

2、每个端口都拥有一个端口号

3、TCP、UDP维护各自独立的端口号

4、网络应用程序,至少要占用一个端口号,也可以占有多个端口号

2、端口的分类

知名端口(1~1023)

由互联网数字分配机构(IANA)根据用户需要进行统一分配

例如:FTP—21,HTTP—80等

服务器通常使用的范围;若强制使用,须加root特权

动态端口(1024~65535)

应用程序通常使用的范围

注意

端口号类似于进程号,同一时刻只能标志一个进程

可以重复使用

知识点7【数据在各层的组包、解包】(了解) 

 mac头:

IP、TCP、UDP头: 

知识点8【开发流程】(了解)

通信流程:决定了写代码的流程

通信原理:协议 决定了 每一步 组啥样的报文

TCP—面向连接:

电话系统服务模式的抽象

每一次完整的数据传输都要经过建立连接、使用连接、终止连接的过程

本质上,连接是一个管道,收发数据不但顺序一致,而且内容相同

保证数据传输的可靠性

UDP—面向无连接:

邮件系统服务模式的抽

每个分组都携带完整的目的地址

不能保证分组的先后顺序

不进行分组出错的恢复和重传

不保证数据传输的可靠性

你了解网络通信架构:C/S(客户端/服务器) B/S(浏览器/服务器)

server工作过程

打开一通信通道并告知本地主机,它愿意在一特定端口(如80)上接收客户请求

等待客户请求到达该端口

接收客户请求,并发送应答信号,激活一新的线程处理这个客户请求

服务完成后,关闭新线程与客户的通信链路

client工作过程

打开一通信通道并连接到服务器特定端口

向服务器发出服务请求,等待并接收应答

根据需要继续提出请求

请求结束后关闭通信通道并终止

知识点9【字节序的概念】(重要)

字节序概念

是指多字节数据的存储顺序(多个字节看成一个整体处理)

分类

小端格式:将低位字节数据存储在低地址

大端格式:将高位字节数据存储在低地址

注意

LSB:低地址

MSB:高地址

注意:大小端 是系统自动确定

问题:如何确定当前系统是大端存储 还是 小端存储?

/* ************************************************************************
 *       Filename:  00_test.c
 *    Description:  
 *        Version:  1.0
 *        Created:  12/05/20 16:48:16
 *       Revision:  none
 *       Compiler:  gcc
 *         Author:  YOUR NAME (), 
 *        Company:  
 * ************************************************************************/


#include <stdio.h>
typedef union
{
	//共用体 成员公用一个空间
	unsigned short data;
	unsigned char buf[2];
}DATA;
int main(int argc, char *argv[])
{
	printf("%d\n",sizeof(DATA));
	DATA ob;
	ob.data = 0x0102;
	//如果buf[0]=0x01大  buf[0]=0x02 
	if(ob.buf[0]==0x01 && ob.buf[1]==0x02)
	{
		printf("大端格式\n");
	}
	else if(ob.buf[0]==0x02 && ob.buf[1]== 0x01)
	{
		printf("小端格式\n");
	}

	return 0;
}

 运行结果:

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

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

相关文章

工程建设行业智能供应链系统:优化产业链运作效率,实现全链路数字化建设

工程建设行业是对建筑工程、线路管道和设备安装工程、建筑装饰装修工程等工程项目进行新建、扩建和改建的行业&#xff0c;对促进国民经济发展和改善人民生活提供了重要的物质技术基础。近年来&#xff0c;我国城镇化的迅速推进为工程建设行业带来了广阔的市场发展空间&#xf…

低压MOS管AONS36344、AONS36348 MOSFET N-CH DFN

特点 沟槽功率MOSFET技术30V 低RDS(ON) 门票费低 高电流能力 符合RoHS和无卤标准 应用 DC/DC转换器在计算、服务器和POL中的应用 电信和工业中的隔离DC/DC转换器 产品参数 1、型号&#xff1a;AONS36344 低压MOS管 类型&#xff1a;单 - N型MOS管 VDS (V)漏极电压&#xff1a;…

阿里P8架构师强推java程序员人手一套116页JVM吊打面试官专属秘籍

说在前面的话 只要是java程序员&#xff0c;肯定对于JVM来说并不陌生&#xff0c;甚至是从熟悉到陌生&#xff0c;为什么这样说呢&#xff1f; 因为你看似熟悉的东西&#xff0c;其实对于源码层级了解得少之又少&#xff0c;到头来只有一种陌生的感觉&#xff0c;使用了吗&…

基于matlab的强化学习QLearning路径规划性能仿真

目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 假设我们的行为准则已经学习好了, 现在我们处于状态s1, 我在写作业, 我有两个行为 a1, a2, 分别是看电视和写作业, 根据我的经验, 在这种 s1 状态下, a2 写作业 带来的潜在奖励要比 a1 看…

LeetCode | 一探环形链表的奥秘【快慢双指针妙解BAT等大厂经典算法题】

前言 本文总结了力扣141.环形链表|以及142.环形链表||这两道有关环形链表的求解方案&#xff0c;去求证链表是否带环已经如何找出入环口的结点。 有关环形链表&#xff0c;在BAT等大厂面试中均有出现&#xff0c;一般是属于中等难度的题&#xff0c;需掌握 环形链表| &&…

教你vue-router命令视图应该怎么玩

引言 在VUE实战项目开发中&#xff0c;为了减少代码冗余&#xff0c;便于后期维护&#xff0c;我们经常会把相同布局的代码封装为公共组件&#xff0c;例如移动开发中NavBar导航栏、Tabbar标签栏等公共组件&#xff0c;需要使用时导入、注册、调用即可&#xff0c;但是相对NavB…

JSRPC的三种实现方式

RPC 为远程过程调用&#xff0c;本文通过在浏览器端&#xff08;服务端&#xff09;开启一个WebSocket服务&#xff0c;接收命令&#xff0c;执行浏览器网页的加密代码&#xff0c;得到密文。 CMD端&#xff08;客户端&#xff09;也开启一个WebSocket服务与浏览器端交互&#…

【Spring Boot】Day03

文章目录一、Value和ConfigurationProperties的区别二、PropertySource一、Value和ConfigurationProperties的区别 区别&#xff1a; 数据校验&#xff1a;判断数据是否合法 Value: 不支持数据校验ConfigurationProperties&#xff1a;支持数据校验 开启数据校验功能&#xf…

软考证书可积分落户、评职称、抵扣个税等,快来考一个吧!

很多人想要在工作的城市落户、买房、生活、小孩上学&#xff0c;但由于对于城市落户政策不了解&#xff0c;担心自己条件不够!今天给大家介绍一本软考证书帮你解决落户等问题。 软考&#xff0c;是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试&#xff1b;既…

[附源码]java毕业设计价格公示系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

C. Bouncing Ball(从后往前的前缀和)

Problem - 1415C - Codeforces 你正在为某个手机游戏创建一个游戏关卡。这个关卡应该包含一些从左到右排列的单元格&#xff0c;并以从1开始的连续整数编号&#xff0c;在每个单元格中&#xff0c;你可以放一个平台&#xff0c;也可以让它空着。 为了通过一个关卡&#xff0c;…

牛客网-《刷C语言百题》第四期

✅作者简介&#xff1a;嵌入式入坑者&#xff0c;与大家一起加油&#xff0c;希望文章能够帮助各位&#xff01;&#xff01;&#xff01;&#xff01; &#x1f4c3;个人主页&#xff1a;rivencode的个人主页 &#x1f525;系列专栏&#xff1a;《C语言入门必刷百题》 &#x…

QStyleFactor和QPalette

Qt中的分格都继承自QStyle&#xff0c;QStyle类是一个抽象基类&#xff0c;封装了一个GUI的外观。 QStyle常见的子类有&#xff1a; QStyleFactory类QPalette类QStyleFactor类 函数为&#xff1a; create()创建并返回与给定键匹配的QStyle对象keys()返回有效键的列表 获取有…

面试灵活拷问:对于数据库的索引,你是怎么理解的?

文章目录一、索引的概念及作用概念作用二、索引的应用场景三、索引的相关语法1.查询索引2.创建索引3.删除索引注意四、索引背后的数据结构什么是B树B树有什么特点采用B树结构能为索引带来什么好处五、索引的分类1.唯一索引&#xff08;unique键对应的字段&#xff09;2.主键索引…

Selenium基础 — 拓展:使用浏览器加载项配置实现用户免登陆

1、什么是加载项配置 在很多情况下&#xff0c;我们在登录网站的时候&#xff0c;浏览器都会弹出一个是否保存登录账号的信息。如果我们选择保存&#xff0c;那么我们在下次登录时就不用再次输入账号&#xff0c;直接免登录了。 在我们实际的测试过程中&#xff0c;测试注册登…

系统运维利器,百万服务器运维实战总结!一文了解最新版SysAK|龙蜥技术

在刚刚结束的龙蜥峰会 eBPF & Linux 稳定性专场上&#xff0c;龙蜥系统运维 SIG Maintainer 张毅做了《SysAK 系统运维工具集》的主题演讲&#xff0c;以下为演讲实录。 大家好&#xff0c;在去年的云栖大会&#xff0c;我们在龙蜥社区开源了系统运维工具集 SysAK&#xff…

new Vue的时候到底做了什么

Vue加载流程 1.初始化的第一阶段是Vue实例也就是vm对象创建前后&#xff1a;首先Vue进行生命周期&#xff0c;事件初始化发生在beforeCreate生命周期函数前&#xff0c;然后进行数据监测和数据代理的初始化&#xff0c;也就是创建vm对象的过程&#xff0c;当vm对象创建完成就可…

【Linux】gcc的使用

文章目录一、前言二、gcc的基本使用1. 预处理2. 编译3. 汇编4. 链接三、函数库四、gcc常用选项总结一、前言 在学习本文前&#xff0c;我们先简单回顾一下源代码被转换为可执行的机器指令的每个过程&#xff1a; 预处理&#xff08;进行宏替换)编译&#xff08;生成汇编)汇编…

windows什么录屏软件好用,windows屏幕录制软件

大部分人的电脑都是windows电脑&#xff0c;所以很多人都在找适合windows系统的录屏工具&#xff0c;windows什么录屏软件好用&#xff1f;我们到底该选择哪个录屏工具呢&#xff1f;今天我们就来给大家介绍windows版本的录屏工具。 一、易我录屏助手 这个工具很多人都比较熟悉…

艾美捷人重组MEGACD40L蛋白(可溶性)实例展示

艾美捷人重组MEGACD40L蛋白&#xff08;可溶性&#xff09;是一种高活性蛋白质&#xff0c;其中两个三聚体CD40配体分子通过脂联素/ACRP30/AdipoQ的胶原结构域人工连接。这种蛋白质非常有效地模拟体内CD40L的自然膜辅助聚集。 艾美捷人重组MEGACD40L蛋白&#xff08;可溶性&…