网络编程day03(网络体系结构、调试命令、TCP/IP对比)

news2024/9/24 9:26:29

目录

1》网络的体系结构

1> OSI模型

 2> TCP/IP模型

3> 常见网络协议

4> DNS域名解析协议

2》 网络调试命令

1> ping:测试网络连通性(ICMP)

2> netstat 

 3》Dos (拒绝式服务)攻击?

 4》 TCP/IP协议对比


1》网络的体系结构

网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。

每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务。

网络体系结构即网络的层次结构和每层所使用协议的集合

两类非常重要的体系结构:OSI和TCP/IP

1> OSI模型

OSI模型是最理想的模型,只是在理想中的状态,并无法在现实中实现

应用层:指定特定应用的协议,文件传输,文件管理,电子邮件等。

表示层:确保一个系统应用层发送的信息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据加密,解密。

会话层:通信管理,负责建立或者断开通信连接。

传输层:端口号,数据传输到具体那个进程程序(端到端)

网络层:路由器中是有算法的,ip,(主机到主机)(路由的发送)。

链路层:格式变为帧(把数据分成包,一帧一帧的数据发送)。

物理层:传输的时bit流(0与1 一样的数据),物理信号,没有格式。

 2> TCP/IP模型

应用层:应用协议和应用程序的集合

传输层:决定数据交给机器的那个任务(进程)去处理,通过端口寻址;进程一定有进程号,不一定有端口号,端口号只有在进行网络通信才有

网络层:提供设备到设备的传输,可以理解为通过IP寻址机器

网络接口和物理层:屏蔽硬件差异(驱动),向上层提供统一的操作接口。

OSI和TCP/IP模型对应关系图

3> 常见网络协议

网络接口和物理层:

<1> ppp:拨号协议(老式电话线上网方式)

<2> ARP:地址解析协议 IP-->MAC

<3> RARP:反向地址转换协议 MAC-->IP

网络层:

<1> IP(IPV4/IPV6):网间互连的协议

IP(Internet Protocol,网际协议)是网间层的主要协议,任务是在源地址和和目的地址之间传输数据。IP 协议只是尽最大努力来传输数据包,并不保证所有的包都可以传输到目的地,也不保证数据包的顺序和唯一。

<2> ICMP:网络控制管理协议,ping命令使用

ICMP(Internet Control Message Protocol,网络控制消息协议)是 TCP/IP 的核心协议之一,用于在 IP 网络中发送控制消息,提供通信过程中的各种问题反馈。ICMP 直接使用 IP 数据包传输,但 ICMP 并不被视为 IP 协议的子协议。常见的联网状态诊断工具依赖于 ICMP 协议。

<3> IGMP:网络分组管理协议,广播和组播使用

传输层:

<1> TCP:传输控制协议

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的,可靠的,基于字节流传输的通信协议。TCP 具有端口号的概念,用来标识同一个地址上的不同应用。

<2> UDP:用户数据报协议

UDP(User Datagram Protocol,用户数据报协议)是一个面向数据报的传输层协议。UDP 的传输是不可靠的,简单的说就是发了不管,发送者不会知道目标地址的数据通路是否发生拥塞,也不知道数据是否到达,是否完整以及是否还是原来的次序。它同 TCP 一样有用来标识本地应用的端口号。所以应用 UDP 的应用,都能够容忍一定数量的错误和丢包,但是对传输性能敏感,比如流媒体、DNS 等。

应用层:

<1> SSH:加密协议

SSH(Secure Shell,安全Shell),因为传统的网络服务程序比如TELNET本质上都极不安全,明文传输数据和用户信息包括密码。SSH 被开发出来避免这些问题,它其实是一个协议框架,有大量的扩展冗余能力,并且提供了加密压缩的通道可以为其他协议使用。

telnet:远程登录协议

<2> FTP:文件传输协议

FTP(File Transfer Protocol,文件传输协议)是用来进行文件传输的标准协议。FTP 基于 TCP,使用端口号 20 来传输数据,21 来传输控制信息。

<3> HTTP:超文本传输协议

HTTP(Hyper Text Transfer Protocol,超文本传输协议)是现在广为流行的 WEB 网络的基础,HTTPS 是 HTTP 的加密安全版本。协议通过 TCP 传输,HTTP 默认使用端口 80,HTTPS 使用 443。

<4> DNS:域名解析协议

DNS(Domain Name System,域名系统)是互联网的一项服务,可以简单的将用“.”分隔的一般会有意义的域名转换成不易记忆的 IP 地址。一般使用 UDP 协议传输,也可以使用 TCP,默认服务端口号为53。

<5> SMTP/POP3:邮件传输协议

SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是现在在互联网上发送电子邮件的事实标准。使用 TCP 协议传输,端口号为 25。

POP(Post Office Protocol,邮局协议)是支持通过客户端访问电子邮件的服务,现在版本是 POP3,也有加密的版本 POP3S。协议使用 TCP,端口为 110。

4> DNS域名解析协议

概念:

由于使用IP地址来指定计算机不方便人们记忆,且输入时候容易出错,用字符标识网络中计算机名称方法。

这种命名方法就像每个人的名字,这就是域名(Domian Name )

域名服务器(Domain Name server):用来处理IP地址和域名之间的转换。

域名系统(Domain Name System,DNS):域名翻译成IP地址的软件DNS


域名结构:

例如域名 www.baidu.com.cn 从右向左看

cn为高级域名,也叫一级域名,它通常分配给主干节点,取值为国家名,cn代表中国

com为网络名,属于二级域名,它通常表示组织或部门

中国互联网二级域名共40个,edu表示教育部门,com表示商业部门,gov表示政府,军队mil等等

baidu为机构名,在此为三级域名,表示百度

www:万维网world wide web,也叫环球信息网,是一种特殊的信息结构框架。

DNS工作过程

 

DNS黑客技术

2》 网络调试命令

1> ping:测试网络连通性(ICMP)

作为平时网络连通检测使用最多的命令,它的作用主要是:

1> 用来检测网络的连通情况和分析网络速度;

2> 根据域名得到服务器IP

3> 根据ping 返回的TTL 值来判断对方所使用的操作系统及数据包经过路由器数量

字节:数据包大小,也就是字节

时间:响应时间(我发送数据包到该地址到该地址回应数据包到我这),这个时间越小,说明链接这个地址的速度越快

TTL:Time To Live,从源到目的,每经过一个路由器,TTL减1,当TTL=0时,包丢掉

2> netstat 

netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,他可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat 用于显示与IP、TCP、UDP相关的统计数据,一般用于检验本机端口的网络连接情况。

作用:测试网络状态

netstat -a      //查看所有网络状态
netstat -at     //查看tcp所有网络状态
netstat -au     //查看udp所有网络状态
netstat -l      //查看处于监听状态的链接
netstat -lt     //查看处于监听状态的链接tcp
netstat -lu     //查看处于监听状态的链接udp
netstat -lx     //查看处于监听状态的链接unix

 3》Dos (拒绝式服务)攻击?

DOS:即Denial Of Service,拒绝服务的缩写,拒绝服务,DOS攻击即攻击者想办法让目标机器停止提供服务或资源访问,这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。

要对服务器实施拒绝服务攻击,主要有以下两种方法:

①迫使服务器的缓冲区满,不接收新的请求;

②使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接,这也是DoS攻击实施的基本思想。

为便于理解,以下介绍一个简单的DoS攻击基本过程:攻击者先向受害者发送大量带有虚假地址的请求,受害者发送回复信息后等待回传信息。由于是伪造地址,所以受害者一直等不到回传信息,分配给这次请求的资源就始终不被释放。当受害者等待一定时间后,连接会因超时被切断,此时攻击者会再度传送一批伪地址的新请求,这样反复进行直至受害者资源被耗尽,最终导致受害者系统瘫痪。

 4》 TCP/IP协议对比

UDP、TCP协议的相同点:都存在于传输层,全双工通信

不同点:

TCP:全双工通信、面向连接、可靠

TCP(即传输控制协议):是一种面向连接的传输层协议,他能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)

高可靠原因:

1.三次握手、四次挥手

2.序列号和应答机制

3.超时、错误重传机制

4.拥塞控制、流量控制


适用场景:

适合用于对传输质量要求较高的通信

在需要可靠数据传输的场合,通常使用TCP协议

MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议


UDP:全双工通信、面向无连接、不可靠

UDP(用户数据包协议):是一种不可靠的无连接协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。

适用场景:

发送小尺寸数据(如对DNS服务器进行IP地址查询时)

适合于广播/组播式通信中。

MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议


今天的分享就到这里结束啦,如果有哪里写的不好的地方,请指正。
如果觉得不错并且对你有帮助的话点个关注支持一下吧!

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

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

相关文章

怎么在mathtype中打空格 MathType空格键不能用

MathType是一款数学公式编辑器&#xff0c;可以帮助用户创建复杂的数学公式和方程式。它提供了一个用户友好的界面&#xff0c;使得编辑和排版数学公式变得更加容易和高效。用户可以直接在其界面中输入公式&#xff0c;也可以将已有的公式从其他文档中复制粘贴过来进行编辑。在…

【2024数模国赛赛题思路公开】国赛B题第二套思路丨附可运行代码丨无偿自提

2024年数模国赛B题解题思路 B 题 生产过程中的决策问题 一、问题1解析 问题1的任务是为企业设计一个合理的抽样检测方案&#xff0c;基于少量样本推断整批零配件的次品率&#xff0c;帮助企业决定是否接收供应商提供的这批零配件。具体来说&#xff0c;企业需要依据两个不同…

秋燥拜拜,中秋润起来,酒茶香中秋有“礼”

话说这初秋啊&#xff0c;真是个让人又爱又恨的季节&#xff01; 爱它的秋高气爽&#xff0c;恨它的天干物燥。就像是我们刚刚结束了一个炎热的夏天&#xff0c;身体还没来得及适应&#xff0c;就被秋天的干燥给来了个“突然袭击”。鼻子干、嘴唇干、喉咙干&#xff0c;感觉整个…

hcip什么时候考试?一文带您了解hcip考试报名与预约流程

其他考试一般都会有固定的时间&#xff0c;但hcip不一样&#xff0c;它的考试时间并不固定&#xff0c;这就让考生很是疑惑&#xff1a;hcip什么时候考试呢?除了知道考试时间之外&#xff0c;还要了解hcip的报名条件、报名流程等相关内容。关于这些问题的答案&#xff0c;小编…

blender图像如何分层导出?blender动画云渲染

在blender渲染时产品会被其他物体影响&#xff0c;这时候就可以用到blender中的阻隔&#xff1b;分层导出图像到PS中进行校色等后期处理。 在分层前&#xff0c;我们需要先打开渲染属性-胶片-透明&#xff0c;这样导出的图像才是透明背景的&#xff0c;反之会变成黑色底。 第一…

使用GPU加速及配置

配置CUDA 英伟达 https://developer.nvidia.com/cuda-downloadsPython python要求3.8.x版本以上 python下载 https://www.python.org/getit/使用pytorch 查询地址&#xff1a; https://pytorch.org/index.html给出建议&#xff1a; 可以直接 pip3 install torch torchv…

如何实现思维导图简单漂亮?其实并不难

如何实现思维导图简单漂亮&#xff1f;思维导图是一种非常有效的思考和组织工具&#xff0c;它通过图形化的方式帮助我们梳理信息、激发创意。一个简单又漂亮的思维导图不仅能提高工作效率&#xff0c;还能让人赏心悦目。为了帮助你在学习和工作中更加得心应手&#xff0c;下面…

win10任务栏颜色怎么调?分享几个简单操作,附上详细图文教程

win10任务栏颜色怎么调&#xff1f;相信在大家的日常生活中&#xff0c;电脑是不可或缺的一部分。我们平时上班都需要使用到电脑&#xff0c;最近有个小伙伴问&#xff1a;Win10系统的任务栏颜色可以调整吗&#xff1f;答案当然是可以的。任务栏颜色调整可以帮助我们提高桌面美…

828华为云征文|部署电影收藏管理器 Radarr

828华为云征文&#xff5c;部署电影收藏管理器 Radarr 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 性能模式 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Radarr3.1 Radarr 介绍3.2 Docker 环境搭建3.3 Radarr 部署3.4 R…

C++11: 智能指针(unique_ptr,shared_ptr和weak_ptr的使用及简单实现)

目录 1. 为何需要智能指针&#xff1f; 1.1 抛异常场景 1.2 什么是内存泄漏 2. 智能指针的原理 2.1 RAII技术 2.2 补充实现 3. auto_ptr 4. unique_ptr 4.1 使用及原理 4.2 定制删除器 5. shared_ptr 5.1 shared_ptr简介及使用 5.2 shared_ptr简单实现 5.2.1 基本…

CentOS7 部署 Zabbix 监控平台———监控网络设备,Linux 主机、Windows 主机

Node 有自己的配置文件和数据库&#xff0c;其要做的是将配置信息和监控数据向 Master 同步。 当 Master 发生故障或损坏&#xff0c; Node 可以保证架构的完整性。 3&#xff09;Server-Prxoy-Client 架构 Proxy 是 Server、Client 之间沟通的桥梁&#xff0c;Proxy 本身没…

Cortex-M3架构学习:存储器系统

存储系统功能 CM3 的存储器系统与从传统 ARM 架构的相比&#xff0c;进行如下改革&#xff1a; 它的存储器映射是预定义的&#xff0c;并且还规定好了哪个位置使用哪条总线。 CM3 的存储器系统支持所谓的“位带”&#xff08;bit-band&#xff09;操作。通过它&#xff0c;实…

超详细!!!electron-vite-vue开发桌面应用之创建新窗口以及主进程和子进程的通信监听(十二)

云风网 云风笔记 云风知识库 一、新建打开窗口 1、在electron/main.ts中加入主进程打开窗口逻辑代码 import { ipcMain } from "electron"; ipcMain.handle("open-win", (_, arg) > {const childWindow new BrowserWindow({webPreferences: {preloa…

代码执行漏洞-Log4j2漏洞

1.执行以下命令启动靶场环境并在浏览器访问 cd log4j/CVE-2021-44228docker-compose up -ddocker ps 2.先在自己搭建的DNSLOG平台上获取⼀个域名来监控我们注⼊的效果 3.可以发现 /solr/admin/cores?action 这⾥有个参数可以传&#xff0c;可以按照上⾯的原理 先构造⼀个请求…

TomCat环境配置(实验报告)

实验 Tomcat 实验环境配置 一、实验目的 1、掌握Tomcat的安装和启动 2、掌握在IntelliJ IDEA中配置Tomcat的方法 二、实验环境 1、硬件&#xff1a;PC电脑一台&#xff0c;网络正常&#xff1b; 2、配置&#xff1a;Windows10系统&#xff0c;内存8G及以上&#xff0c;硬盘…

LAN变压器的DCR

在变压器技术中&#xff0c;DCR代表直流电阻&#xff08;DC Resistance&#xff09;。它是变压器线圈在直流条件下测得的电阻值&#xff0c;通常用来评估变压器的质量和效率。直流电阻是线圈材料和尺寸的一个函数&#xff0c;它与变压器线圈的发热量和功率损耗直接相关。在变压…

在平板电脑上使用Chrome观看视频的最佳技巧

随着移动设备的普及&#xff0c;越来越多的人选择在平板电脑上观看视频。谷歌浏览器&#xff08;Chrome&#xff09;作为一款功能强大的网页浏览器&#xff0c;提供了许多方便的功能来优化你的视频观看体验。以下是一些在平板电脑上使用Chrome观看视频时的最佳技巧。 &#xf…

个人旅游网(2)——功能详解——用户登录注册功能

文章目录 一、用户登录1.1、接口详解1.1.1、isLogged (判断用户是否登录)1.1.2、find-by-telephone&#xff08;输入手机号时校验手机号是否注册&#xff09;1.1.3、send-message&#xff08;发送验证码&#xff09;1.1.4、login-by-telephone&#xff08;登录按钮&#xff09;…

给力!Python配置文件,这一篇就够了!

在开发过程中&#xff0c;我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分&#xff0c;往往会将其写到一个固定文件中&#xff0c;避免在不同的模块代码中重复出现从而保持核心代码整洁。 这里插播一条粉丝福利&#xff0c;如果你在学习Python或者有计划…

修改设置内以及手机桌面的软件icon和名称

// 设置 - 应用和元服务内修改软件icon和名称等相关信息 // 位置&#xff1a; 设置 - 应用和元服务 // AppScore/app.json5// 这里不是在桌面看, 是在设置 - 应用和元服务内看的 // 模拟器内: 版本号改了之后要卸载后重新安装才能看 {"app": {"bundleName"…