计算机网络基础--认识协议

news2024/11/18 9:36:47

目录

前言

一、IP地址与端口

二、网络协议

1.网络体系结构框架

2.网络字节序


前言

提示:这里可以添加本文要记录的大概内容:

        计算机网络涉及非常广泛,这篇文章主要对计算机网络有个认识


提示:以下是本篇文章正文内容,下面案例可供参考

一、IP地址与端口

IP地址

        设备的标识符,在网络中是主机的唯一标识,是互联网通信的基础。

IP地址分为IPv4和IPv6

        IPv4:uint32_t类型的数据,代表一个无符号32位整形数据,可以存储0~2^32-1个整数

        IPv6:unit8_t ip[16]表示一个IPv6地址,并且不向前兼容。

IPv6是为了防止IPv4使用完而创建出的,但是为了防止使用完创建了DHCP与NAT技术

        DHCP:动态地址分配技术--谁上网给谁分配IP地址

        NAT:网络地址转换技术--组建私网,私网中的大量主机可以使用同一个IP地址

分类:目的IP地址和源端IP地址

        目的IP地址:接收者的地址

        源端IP地址:发送者的地址 

        为了能够进行网络通信,网络中的每条数据中都包含了源端IP地址与目的IP地址,描述数据从哪里来,到哪里去

端口:PORT--在一台主机上 用于发送和接收数据。

作用

        由于一台主机可以运行多个网络服务,它的作用用于区分不同的网络请求。

        客户端与服务器中的某个服务建立连接,需要指定服务器的IP地址和端口号

        端口号帮助网络层将数据包正确地传递给目标主机是的相应进程

本质:uint16_t--无符号16位整数范围 0~65535。一个网卡能发起网络通信的范围

端口分类:源端端口和对端端口

        源端端口:发送端端口信息

        对端端口:接收端端口信息

二、网络协议

1.网络体系结构框架

OSI模型:由国际标准化组织提出的,是一个理论框架。现在主流的是TCP/IP模型

OSI分为七个层次:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

 TCP/IP模型--传输控制协议/互联网协议模型

        应用层:负责应用程序之间的数据沟通。如:FTP、SSH、HTTP。

        传输层:负责端与端之间的数据传输。如:TCP、UDP。

        网络层:负责IP地址的管理与路由选择。如:IP协议、ICMP。

        链路层:负责相邻设备之间的数据传输。如:ETH、交换机。

TCP/IP模型一般为四层,也可以为五层,第五层是物理层。

        物理层:负责物理广电信号的传输。

数据封装:初始数据进行网络传输,从应用层开始,到物理层,层层进行封装,通过光电信

                  号发送到指定主机中。

数据分用:主机接收到的光电信号从物理层开始到应用层层层解封,得到原始数据。

 

2.网络字节序

字节序

        CPU对内存中的数据进行存取的顺序

存储:在计算机中,数据的表示一般使用二进制。如 int a = 0x01020304

分类

        大端字节序:低地址存高位。 0x01 0x02 0x03 0x04

        小端字节序:低地址存低位。 0x04 0x03 0x02 0x01

        主机字节序取决于CPU的架构:x86-小端 MIPS-大端

在网络通信中,如果两个主机之间的字节序,一个是大端,一个是小端,会导致数据错误。为了处理不同字节序之间的转换问题,制定了网络字节序标准--大端字节序

        发送方无需关注对方字节序,发送的数据,先转化成网络字节序发送出去,接收方也无需理会对方的字节序,接收数据,总是以网络字节序转换为自己对应的主机字节序进行处理

影响

        对于单元存储大于一个字节的数据类型有影响。

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

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

相关文章

SNMP和Syslog有啥区别

在网络管理的世界中,SNMP(简单网络管理协议)和 Syslog(系统日志)是两种关键技术,它们分别在监控和管理网络设备方面发挥着重要作用。选择合适的工具对于确保网络的高效运行、优化性能和增强安全性至关重要。…

【易上手快捷开发新框架技术】nicegui组件button用法庖丁解牛深度解读源代码IDE运行和调试通过截图为证

传奇开心果微博文系列 前言一、button 组件基本用法1. 最基本用法示例2. 创建带图标按钮 二、button按钮组件样式定制1. 按钮的尺寸调整2. 改变颜色示例3. 按钮的自定义字体大小4. 圆角形状示例5. 自定义边框6. 添加阴影7. 复合按钮8. 浮动按钮9. 可扩展浮动操作按钮QFAB10. 按…

OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 视频写入器类。 该类提供了用于写入视频文件或图像序列的 C API。 cv::VideoWriter 类是 OpenCV 库中用于创建和写入视频文件的一个类。它提供了…

echarts实现3D柱状图(视觉层面)根据博主改编

https://blog.csdn.net/weixin_57798646/article/details/131067725 这是原贴 在这个基础上我需要实现 一根柱子 代码如下 <!DOCTYPE html> <html lang"en" style"height: 100%"><head><meta charset"utf8"> </hea…

【中间件学习】Nginx快速入门(为了配置一个项目)

-----------------------------本文章借鉴遇见狂神说--------------------------- 一、一个产品出现瓶颈&#xff1f;&#xff1f; 在一个产品刚刚上线的时候&#xff0c;并发量小&#xff0c;用户使用的少&#xff0c;所以在低并发的情况下&#xff0c;一个jar包启动应该就够…

Anaconda虚拟环境默认路径在C盘怎么更改

笔者已经新建好了虚拟环境并且安装了对应库&#xff0c;输入conda env list查询发现虚拟环境竟然安装到了C盘(&#xff61;•́︿•̀&#xff61;)&#xff0c;为避免下一次创建虚拟环境出错&#xff0c;笔者现在修改默认路径置D盘&#xff08;软件安装盘&#xff09; 参考两…

SSH连接Vscode

1.安装扩展包ssh 2-1.获取ssh登录命令 输入连接命令 2-2.获取虚拟机秘钥给vscode 查看远程主机的信息 打开工作目录 打开远程终端 3.RSA免密登录 打开power shell输入命令,获取秘钥 添加公钥到虚拟机 名字会自动更新&#xff0c;下一次进入虚拟机就不需要输入密码了

使用apipost工具导入通过swag生成的golang接口文档步骤

1.通过swag init 生成docs接口文档 见使用swag init --parseDependency生成api文档报错解决办法 2.导入操作 ok,操作完成

数据结构双链表和循环链表

目录 一、循环链表二、双向链表三、循环双向链表 一、循环链表 循环链表就是首尾相接的的链表&#xff0c;就是尾节点的指针域指向头节点使整个链表形成一个循环&#xff0c;这就弥补了以前单链表无法在后面某个节点找到前面的节点&#xff0c;可以从任意一个节点找到目标节点…

Windows11安装Docker Desktop教程

目录 一.安装前置步骤 ▐ 开启虚拟化 ▐ 安装WSL2 ▐ 安装Linux环境 二.Windows上安装Docker 一.安装前置步骤 ▐ 开启虚拟化 首先确保虚拟化的开启&#xff0c;打开任务管理器后查看&#xff1a; 确保图中的虚拟化是已启用&#xff0c;没有开启的需要通过BIOS进行开启&…

vmware 操作系统安装

下面选择你要装入的iso镜像 下面选择要装入的磁盘&#xff0c;建议别装c盘. 之后等待安装即可。

k8s架构,从clusterIP到光电半导体,再从clusterIP到企业管理

clusterIP作为k8s中的服务&#xff0c; 也是其他三个服务的基础 ~]$ kubectl create service clusterip externalname loadbalancer nodeport 客户端的流量到service service分发给pod&#xff0c;pod由控制器自动部署&#xff0c;自动维护 那么问题是service的可用…

MySQL-MySQL访问

文章目录 前言一、使用步骤1.MYSQL *mysql_init(MYSQL *mysql);2.MYSQL *mysql_real_connectint mysql_query(MYSQL *mysql, const char *q);MYSQL_RES *mysql_store_result(MYSQL *mysql);my_ulonglong mysql_num_rows(MYSQL_RES *res);unsigned int mysql_num_fields(MYSQL_R…

秋招内推2025--招联金融

【投递方式】 直接扫下方二维码&#xff0c;或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus&#xff0c;使用内推码 igcefb 投递&#xff09; 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

CRC循环校验的功能

CRC (Cyclic Redundancy Check&#xff0c;循环冗余校验) 是一种常用的错误检测码&#xff0c;用于检测数据传输或存储过程中发生的错误。它通过在数据末尾添加一个校验码&#xff08;CRC码&#xff09;来实现。接收方通过同样的算法计算接收数据的CRC码&#xff0c;并将结果与…

DC00022基于ssm高校社团管理系统web社团管理系统java web+MySQL项目web程序设计

1、项目功能演示 DC00022基于ssm高校社团管理系统web社团管理系统java web项目MySQL 2、项目功能描述 社团管理系统分为普通用户、管理员 2.1 普通用户功能 01 系统登录、系统注册 02 系统首页、新闻公告、规章制度、社团活动、互动交流 03 修改密码 04 个人信息修改 05 我的…

Tair简介

概述 Tair是淘宝团队开源的高可用分布式KV存储引擎&#xff0c;采用服务端自动负载均衡方式&#xff0c;使客户端逻辑简单。Tair&#xff0c;即TaoBao Pair缩写&#xff0c;Pair表示一对、一双等意思&#xff0c;即Key-Value数据对。 Tair分为持久化和非持久化两种方式。非持…

C++ 发布包问题汇总

C 发布包问题汇总 1、64位系统 拷贝 C:\Windows\SysWOW64 文件夹下面的DLL 2、32位系统 拷贝C:\Windows\System32文件夹下面的DLL 3、 程序所需dll问题 使用vs调试&#xff0c;在调试界面会打印出加载的dll 4、拷贝dll问题 64位拷贝了32位的dll就会出现加载失败的问题&a…

Java语言之数据类型与变量

Java的数据类型主要分为两类 基本数据类型&#xff1a;整形&#xff08;包括&#xff1a;字节型&#xff1a;byte、1个字节,短整型&#xff1a;short、两个字节&#xff0c;整形&#xff1a;int、4个字节&#xff0c;长整型&#xff1a;long、8个字节&#xff09;&#xff0c;…

swagger v2默认访问地址

SpringBoot项目启动默认访问地址&#xff1a;swagger-ui.html 2024-09-27 08:40:59.744 INFO 248900 --- [ main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-9090"] 2024-09-27 08:40:59.756 INFO 248900 --- […