一、OSI模型(open system interconnect)

        开放系统互联模型,分为7层

        应用层:为网络用户提供各种服务,例如电子邮件、文件传输等;

        表示层:为不同主机间的通信提供统一的数据表示形式。加密解密,压缩;

        会话层:负责信息传输的组织和协调,管理进程会话过程;

        传输层:管理网络通信两端的数据传输,提供可靠或不可靠的传输服务。tcp、udp;

        网路层:负责数据传输的路由选择和网际互联。ip;

        链路层:负责物理相邻(通过网络介质相连)的主机间的数据传输,主要作用包括物理地址寻址、数据帧封装、差错控制等。该层可分为逻辑链路控制子层(LLC)和介质访问子层(MAC);

        物理层:纯硬件,负责把主机中的数据转换成电信号,再通过网络介质(双绞线、光纤、无线信道等)来传输。该层描述了通信设备的机械电气功能等特性。有线传输短距离用网线,长距离用光纤。无线局域网民用2.4G-5G,无线广域网叫蜂窝网络;

二、TCP/IP模型

        网际互联模型,分为4层;

        应用层:应用程序;

        传输层:端口号,tcp,udp;

        网络层:IP地址;

        接口层:网卡驱动;

三、dns域名解析服务

        是一个服务器,记载网站对应的ip

        DHCP动态主机配置协议,分配ip地址;

        Windows:ipconfig;Linux:ifconfig;查看当前ip;

        应用层:HTTP(超文本传输协议) TFTP FTP (文件传输协议)SNMP DNS(域名解析服务) DHCP(动态主机配置协议)

        传输层:TCP(传输控制协议)UDP(用户数据报协议)

        网络层:IP ICMP(互联网控制管理协议ping) RIP(最佳路径) OSPF(最短路径) IGMP(网络组播协议)

        接口层:ARP(地址解析协议,通过ip找MAC) RARP(逆向地址解析协议)

四、网络基础

        ip地址是网络位加主机位;

        ip地址的分类:点分十进制 

                A类地址:超大规模型网络

                                1.0.0.0-126.255.255.255

                                私有:10.0.0.0-10.255.255.255/127.0.0.1

                B类地址:中大规模型网络

                                128.0.0.0-191.255.255.255

                                私有:172.16.0.0-172.31.255.255

                C类地址:中小规模型网络

                                192.0.0.0-223.255.255.255

                                私有:192.168.0.0-192.168.255.255

                                静态路由:

                                192.168.0.0代表网络

                                192.168.0.1网关

                                192.168.0.255广播

                D类地址:广播和组播

                                224.0.0.0-239.255.255.255

                E类地址:实验

                                240.0.0.0-255.255.255.255

五、配置网络设置

        1.ifconfig ensX X.X.X.X/24 up

        ifconfig ens33 192.168.0.13/24 up //24:是从左往右数的1的个数,等价于255.255.255.0

        临时性的,虚拟机重启会恢复

        2.ping 

        3.netstat -anp

六、网络接口

        1.socket :BSD socket 用于网络通信的一组接口函数;

        会得到打开网络设备的文件描述符,叫套接字,socket api application interface;

        2.ip地址+port端口

        ip地址用来找主机;port端口号用来找进程;

       port分为TCP port、UDP port范围都是1-65535

        约定1000以内的端口为系统使用。
3.网络字节序-大端存储

        主机字节序:计算机是小端存储的;

        小端存储:数据的低位放到存储的低地址;

        ip地址和端口号需要大小端转换一下;

七、UDP(用户数据报)

        1.特性:无链接,不可靠,大数据

        2.socket

       #include <sys/types.h>          /* See NOTES */

       #include <sys/socket.h>

       int socket(int domain, int type, int protocol);

        domain:AF_INET,ipv4互联网;

        type:SOCK_DGRAM

        protocol:0

        3.bind

        #include <sys/types.h>          /* See NOTES */

        #include <sys/socket.h>

        int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);

        sockfd标识符;addr地址结构体;addrlen结构体大小;

        做地址和端口的大小端转换:

        htons   //host to net short,端口转换

        in_addr_t inet_addr(const char *cp);     //地址转换

        #include <sys/socket.h>

        #include <netinet/in.h>

        #include <arpa/inet.h>

        4.recvfrom

        接收函数,
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);

        flags:0默认阻塞;MSG_DONTWAIT非阻塞,无数据则停止并设置error;MSG_PEEK窥探数据但不从缓冲区移除;MSG_WAITALL阻塞直到读满;

        成功返回收到的字节;

        5.sendto

        发送函数

        ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,const struct sockaddr *dest_addr, socklen_t addrlen);

        成功返回发出的字节数;

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

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

相关文章

A*(Astar)算法详解与应用

算法背景A*&#xff08;A-Star&#xff09;算法是一种在图形平面上&#xff0c;有多个节点的路径中&#xff0c;求出最低通过成本的算法。其历史可以追溯到早期的图搜索算法&#xff0c;如Dijkstra算法和贪心最佳优先搜索&#xff08;Greedy Best-First Search&#xff09;。是…

word删除指定页面

常规程序因为wps的 .docx 文件是基于段落和节的结构&#xff0c;而不是“物理页”&#xff0c;所以无法直接按“第几页”删除在普通程序里面无法读取到他的页码&#xff0c;但是在宏编程里面他能读取到页码&#xff0c;我们就根据宏编程来这样删除。程序会自动打开选择要删除的…

RK3568平台开发系列讲解:瑞芯微平台4G模块篇移植

更多内容可以加入Linux系统知识库套餐(教程+视频+答疑) 🚀返回专栏总目录 文章目录 一、硬件图片 二、功能宏 三、增加PID/VID 支持 3.1、usb_device_id 结构体 3.2、usb_device_id 的注册 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、硬件图片 目标: 结果…

面试 (一)

目录 1. HashMap是怎么解决冲突的 是用什么数据结构实现的 2. 为什么hashmap的初始长度为16 3. 多线程的核心参数 4. 多线程怎么工作的 5. CISCS是怎么实现的 6. JUC知识 7. C和java的区别 8. JVM底层编译的东西 9. 公平锁和非公平锁 10. 有人恶意攻击你的平台每秒发送…

计算机毕设选题:基于Python+Django的健康饮食管理系统设计【源码+文档+调试】

精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、项目介绍二…

vscode terminal远程连接linux服务器GUI图形界面

看了很多教程&#xff0c;不清楚具体原理&#xff0c;但总之自己是摸索出来了&#xff1a; 1.下载vcxsrv&#xff0c;最后双击exe程序启动&#xff1a; 每一步的配置如下&#xff1a;2.修改配置 vscode中按下“ctrlshiftp”&#xff0c;然后输入“Remote-SSH: Open SSH Configu…

文档外发管理产品哪个品牌强?安全与效率双优产品推荐

在企业间协作日益加深的今天&#xff0c;企业对文档外发管理相关产品的安全性和效率要求越来越高。无论是日常业务协作&#xff0c;还是跨组织数据交换&#xff0c;如何确保文件在传输过程中不被泄露、篡改&#xff0c;同时又能高效流转&#xff0c;成为企业IT管理的重要课题。…

【教程】2025 IDEA 快速创建springboot(maven)项目

第一步&#xff1a;【新建】-【module】&#xff0c;左边选择springboot&#xff0c;右边填写相关信息。第二步&#xff1a;选择相关依赖。第三步&#xff1a;删掉一些无关的文件&#xff0c;保持项目简洁创建springboot项目已经结束了&#xff0c;下面是构建项目的架构以及环境…

【小白笔记】移动硬盘为什么总比电脑更容易满?

我明明只复制了10个G的文件&#xff0c;为什么我的移动硬盘就满了&#xff1f; 大家好&#xff0c;我是个刚入门的小白&#xff0c;最近遇到了一个让我百思不得其解的问题。我把电脑里的一些文件&#xff0c;总共加起来也就10个G左右&#xff0c;心想移动硬盘还有几十个G的空位…

单独一篇云原生介绍

云原生&#xff08;Cloud Native&#xff09;‌不是单一技术&#xff0c;而是一套构建和运行应用程序的完整方法论‌&#xff0c;旨在充分利用云计算的优势&#xff08;弹性、按需资源、分布式环境&#xff09;来构建‌高韧性、可扩展、易于管理的应用‌。它的核心思想是让应用…

Git如何查看提交行数与删除行数:统计代码贡献量的完整指南

Git如何查看提交行数与删除行数&#xff1a;统计代码贡献量的完整指南 在软件开发中&#xff0c;代码行数统计是衡量团队协作效率和项目进度的重要指标。通过Git的命令行工具&#xff0c;开发者可以轻松查看提交的代码行数、删除的代码行数以及净增行数。本文将详细介绍多种方…

DVWA靶场通关笔记-SQL注入(SQL Injection Impossible级别)

目录 一、源码分析 1、index.php 2、impossible.php 二、SQL注入防范分析 1、Anti-CSRF 令牌 2、参数化查询 3、输入验证 本系列为通过《DVWA靶场通关笔记》的SQL Injection 关卡(low&#xff0c;medium&#xff0c;high&#xff0c;impossible共4关&#xff09;渗透集合…

MySQL中事务的作用和定义

在 MySQL 中&#xff0c;​​事务&#xff08;Transaction&#xff09;​​ 是一组数据库操作的逻辑单元&#xff0c;这些操作要么​​全部成功执行​​&#xff0c;要么​​全部失败回滚​​&#xff0c;以确保数据库从一个一致状态转换到另一个一致状态。事务是关系型数据库&…

华为Fit4:腕间助手,守护你的健康,带你开启智慧生活

清晨被闹钟吵醒&#xff0c;想要关掉却怎么也找不到手机&#xff1f;经常睡很久却还是很困&#xff1f;重要的事情常常因为没有被记录和规划清楚最终变得手忙脚乱&#xff1f;人流拥挤的地铁上半天找不到刷码信息&#xff1f;这些问题是不是生活中常常遇到&#xff0c;别担心&a…

【交易系统系列36】揭秘币安(Binance)技术心脏:从公开信息拼凑“MatchBox”撮合引擎架构

一、 核心概览:从白皮书的豪言到监管文件的“实锤” 要理解币安的架构,我们首先要抓住几个关键的、有据可查的事实: 性能目标:在其早期白皮书中,币安宣称其撮合引擎能够达到每秒140万笔订单的处理能力。这串数字,无论是在当时还是现在,都代表着对系统吞吐量和低延迟的极…

SpringBoot08-Spring Boot 多环境配置

方式一&#xff1a;纯 Spring Profile&#xff08;最常用&#xff0c;官方推荐&#xff09;思路&#xff1a;用 application-{profile}.yml 切分配置&#xff0c;运行时指定用哪个 profile。 如何做&#xff1a;src/main/resources/application.ymlapplication-dev.ymlapplicat…

苍穹外卖项目笔记day04--Redis入门

Redis 概念 Redis 是一个开源的、高性能的键值存储系统&#xff0c;常被归类为NoSQL数据库。它支持多种数据结构&#xff0c;如字符串、列表、哈希、集合和有序集合&#xff0c;适用于缓存、消息队列、实时分析等多种场景。Redis是一个基于内存的key-value结构数据库。Redis …

OpenCV 图像处理实战与命令行参数配置:从轮廓检测到模板匹配

在计算机视觉领域&#xff0c;OpenCV 是一款功能强大且应用广泛的开源库&#xff0c;它提供了丰富的 API&#xff0c;支持图像读取、预处理、特征检测等多种操作。本文将结合实际代码案例&#xff0c;详细讲解如何使用 OpenCV 实现轮廓检测、轮廓近似、模板匹配等常用功能&…

深度学习---pytorch卷积神经网络保存和使用最优模型

在深度学习模型训练过程中&#xff0c;如何提升模型性能、精准保存最优模型并实现高效推理&#xff0c;是每个开发者必须攻克的关键环节。本文结合实际项目经验与完整代码示例&#xff0c;详细拆解模型训练优化、最优模型保存与加载、图像预测全流程&#xff0c;帮助大家避开常…

FPGA实现Aurora 64B66B图像视频点对点传输,基于GTY高速收发器,提供2套工程源码和技术支持

目录 1、前言Aurora 64B66B是啥&#xff1f;官方有Example&#xff0c;为何要用你这个&#xff1f;工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案本方案在Aurora 8B10B上的应用 3、工程详细设…