网络基础-网关,DNS,MAC地址,子网掩码,网段

这篇具有很好参考价值的文章主要介绍了网络基础-网关,DNS,MAC地址,子网掩码,网段。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、什么是网关

网关的ip地址

网关是如何实现通信?

什么是默认网关?

二、什么是DNS

三、MAC地址

四、子网掩码

五、网段


一、什么是网关

网关(Gateway)又称网间连接器、协议转换器。仅用于两个高层协议不同的网络互连

大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。

顾名思义:网关就是一个网络/网段 连接到 另一个网络/网段的 关口。

按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。

网关的ip地址

那么网关到底是什么呢?

网关实质上是一个网络通向其他网络的IP地址,网关在网段内的可用ip中选一个,不过,一般用的是第1个和最后一个

例如:

比如有网络A和网络B,

网络A:的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩255.255.255.0;

如果需要与其它网段通信,那么它的网关可以设置为192.168.1.1,当然也可以设置为网段内其它的一个ip地址。

网络B:的IP地址范为“192.168.2.1~192.168.2.254”,子网掩码255.255.255.0。

如果需要与其它网段通信,那么它的网关可以设置为192.168.2.1,当然也可以设置为网段内其它的一个ip地址。

    

默认网关和子网掩码,网络,tcp/ip,网络协议

网关是如何实现通信?

在没有路由器的情况下,不同的两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关

如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络B向网络A转发数据包的过程。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。

什么是默认网关?

  就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。 

二、什么是DNS

DNS是域名解析服务器(Domain Name System),是把网址变成IP地址的服务器

DNS说白了是把域名翻译成IP地址用的,这里面举个例子,大家就很容易清楚了。

例如我们在浏览器里面输入www.baidu.com的时候,机器要跟百度这个网站进行通信,机器要往外面发送数据包,数据包里面要写百度这台服务器的IP地址,我们不知道IP地址是多少,那么就需要主机问DNS服务器,DNS服务器就自动帮我们把www.baidu.com这个域名翻译成了IP地址61.135.169.105。然后写到了数据包的目的IP地址里面就可以进行通信。

三、MAC地址

讲到MAC地址,就不得不提ip地址,这里顺便把ip地址也说下。

IP与MAC

虽然现在已经ipv6了,但我们基本用的大多数还是ipv4协议,所谓ip就是你电脑整个网络的编号。其他电脑想访问电脑就得需要这个编号。但是这个编号很多情况下是一直在变化的。唯一不变的是你的MAC地址物理地址

MAC是网络中用来标识网卡设备的唯一网络地址。由相关硬件制造商统一分配,每台电脑的MAC地址都是唯一

做个比喻,你经常搬家,你没搬一次家都有一个地址,XX小区XX单元XX号,这个就是IP。但是你的名字不变,这个就是MAC,不同的是我们的MAC不允许重名。

默认网关和子网掩码,网络,tcp/ip,网络协议

们的IP分为两个部分:如上图分为网络部分主机部分。网络部分好比就是你在XX省XX市XX镇,这个是国家固定下来了的。但是XX小区XX单元XX号是开发商自己定的。两个编号加起来就是你的ip了。

四、子网掩码

又叫网络掩码、地址掩码、子网络遮罩

子网掩码是为了区分网络位和主机位,上面我们说到过,一个ip地址是由网络部分主机部分。正如一个人的名字由姓与名组成。

那么我们可以把IP地址比作一个人的名字,那么子网掩码就像是一份名单,可以快速的知道那些人同姓,那些人不同姓,把同姓的人分在一组,让他们之前可以互相交流。

举个例子:

有一个网段是192.168.1.0-192.168.1.254,这个网段就像一个村子一样,就称它为安防村,此这网段有个ip地址是192.168.1.1,我们就叫他安防一,另外一个人叫安防二,它的ip地址为192.168.1.2,我们一看他们,就知道他们是同村的。

另外有一个网段,是192.168.0.0——192.168.255.254,我们叫它安村,村里有个同样有两个ip地址192.168.1.1与192.168.1.2,也叫安防一,安防二,那么问题来了?这个时候,如何区分他们是属于那个村的?

这个时候就需要子网掩码了来判断他们是属于那个网段的,需要把安防一、安防二带到村里去认下,就知道他们是属于那个村了,安防村的网段是255.255.255.0,安村的网段是255.255.0.0。

网络中也会出现类似于“同名”“同姓”的ip地址,如何区分他们到底是属于那个网段,就需要依靠子网掩码了。

子网掩码不能单独存在,它必须结合IP地址一起使用。

子网掩码只有一个作用,就是将某个IP地址划分成 网络地址 和 主机地址 两部分。

IP默认分配的子网掩码每段只有 255 或 0

A类的默认子网掩码 255.0.0.0 一个子网最多可以容纳1677万多台电脑
B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万台电脑
C类的默认子网掩码 255.255.255.0 一个子网最多可以容纳254台电

五、网段

要想知道是不是一个网段,首先看子网掩码是不是一样。 一般常用的C类IP地址子网掩码都是255.255.255.0 ,就是说 前3段表示网段.

192.168.0.X 最后一位表示主机号,IP地址前3段一模一样就是一个网段 ,如 192.168.0.1和192.168.0.5是一个网段,最后一位从1到254都可以 都是一个网段 。192.168.2.1和192.168.2.X也是一个网段,但192.168.0.X和192.168.2.X就不是一个网段。

A类子网掩码是255.0.0.0 ,如 10.0.0.5和10.5.2.1是一个网段 ,只要第一段一样就是一个网段了 。

六、跨域

在Web开发中,一个域(协议 + 域名 + 端口)的文档或脚本试图去请求另一个域下的资源时所出现的问题。跨域问题通常是由浏览器的同源策略(Same-Origin Policy)所导致的

简单来说,同源策略要求浏览器只能发送同一域名下的请求,而不能发送跨域请求。

总结:只有当你从一个域名或 IP 地址向另一个域名或 IP 地址发送请求时,才会触发跨域问题

同源是指,域名,协议,端口均相同

ep:       url为         https://www.baidu.com:8655
https: www.baidu.com  8655
协议 域名 端口号

http://www.baidu.com/123.html 调用 http://www.baidu.com/456.php (非跨域)
http/https: 不同协议!

www.baidu.com ——域名三段中,任一个不同就是 不同的域名

8080 / 8081 不同端口

1、一个域下的js脚本不能访问另一个域下面的cookie,localStorage和indexDB

        限制cookie 等信息的跨源网页读取,为了防止恶意网站通过js获取用户其他网站的cookie,是为了保护本地用户信息

2、一个域下的js脚本不能够操作另一个域下的DOM

        恶意网站可以通过iframe打开系统界面,如果可以获取DOM就相当于可以获取整个系统界面的信息

3、ajax不能做跨域请求

         ajax 跨域请求能发出去,服务器端能收到请求并正常返回结果,但是结果被浏览器拦截了,浏览器拒绝
 

6.1前后端分离项目通常会产生跨域问题

原因:浏览器的同源策略导致的 
分析:前端代码运行在http://localhost:8080,而后端代码运行在http://localhost:8000,这就是一个跨域请求。如果前端代码尝试从后端代码的接口获取数据,浏览器就会拒绝该请求,因为它们不具有相同的域名、协议和端口。

6.2解决方法

  1. JSONP(JSON with Padding):在前端代码中使用JSONP技术,通过动态创建<script>标签来加载后端接口数据。JSONP需要后端接口支持JSONP格式返回数据,并且存在一定的安全风险

  2. 跨域资源共享(CORS):后端接口可以设置CORS响应头,来允许特定的跨域访问。后端添加响应头:Access-Control-Allow-Origin: http://localhost:8080

  3. 代理:通过在服务器端设置代理来转发请求和响应,从而解决跨域问题。客户端向服务器发送请求时,请求会先发给代理服务器,代理服务器再转发请求到目标服务器,拿到响应后再返回给客户端。

  4. WebSocket:使用WebSocket协议进行通信,它允许浏览器和服务器之间进行双向通信,从而避免跨域问题

此处2讲解后台的做法:

1.直接后端被访问代码的方法上操作
@RestController
public class MyController {

    @CrossOrigin(origins = "http://example.com")
    @GetMapping("/api/data")
    public String getData() {
        // 处理请求并返回数据
    }
}
//在@CrossOrigin注解中,可以指定允许访问的源(域名),也可以使用通配符*表示允许所有来源。
2.WebMvcConfigurer  配置拦截器
2.1import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new CorsInterceptor());
    }
}
2.2
public class CorsInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
        response.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        // do nothing
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        // do nothing
    }
}
3.直接WebMvcConfigurer   配置
@Configuration
public class CorsConfiguration implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")//所有路径都允许跨域访问
                .allowedOriginPatterns("*")//允许哪些域名进行跨域访问访问
                .allowedMethods("GET","POST","PUT","DELETE","HEAD","OPTIONS")//允许哪些方法访问
                .allowCredentials(true)//是否允许携带cookie
                .maxAge(3600)//设置浏览器询问的有效期3600秒。
                .allowedHeaders("*");//允许所有的请求头部信息
    }
}
4.全局配置
@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(source);
    }

}
//当应用启动时,CorsConfig中的corsFilter方法会被自动调用,创建一个CorsFilter对象,并将其注册到应用中,从而实现全局的跨域请求处理。

补充域名参考

Nginx 解决跨域_nginx 跨域-CSDN博客

Nginx解决跨域问题_nginx 跨域-CSDN博客文章来源地址https://www.toymoban.com/news/detail-754897.html

到了这里,关于网络基础-网关,DNS,MAC地址,子网掩码,网段的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算应用管理----TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍

    一 、云计算的介绍 什么是服务器 •能够为其他计算机提供服务的更高级的电脑 –机架式 –塔式 –机柜式 –刀片式 典型服务模式 •C/S,Client/Server架构 –由服务器提供资源或某种功能 –客户机使用资源或功能 二 、TCP/IP协议及配置 •TCP/IP是最广泛支持的通信协议集合 –包

    2024年01月23日
    浏览(53)
  • 网络:IP地址、子网掩码、网络地址、广播地址、网段、网关

    目录 一、IP地址 二、子网掩码 三、网络地址 四、广播地址 五、网段 六、网关 七、IP地址、子网掩码、网络地址、广指地址、网殷、网关的关系 参考链接  一、IP地址 IP地址是因特网协议(IP)中使用的一种数字标识符,用于唯一地标识网络中的设备。每台连接到因特网的设

    2024年02月09日
    浏览(56)
  • 网络基础(第三篇)子网掩码

    文章目录 一、IP地址 二、 子网掩码 IP地址是什么? 在网络中用来标识设备的具体地址,数据需要通过此进行寻址传输。   IP地址的组成: 网络部分: 用来标识一个网络。代表IP地址所属网络,处于高位; 主机部分: 用来区分一个网络内的不同主机,能唯一标识网段上的某台

    2024年02月04日
    浏览(33)
  • IP地址、网关、网络/主机号、子网掩码关系

    一、IP地址 IP地址组成 IP地址分为两个部分:网络号和主机号 (1)网络号:标识网段,保证相互连接的两个网段具有不同的标识。 (2)主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号。   IP地址规则     同一个局域网中,主机之间的网

    2024年02月10日
    浏览(51)
  • 【网络技术】IP配置与子网掩码基础详解(基础详解)

    👉博__主👈:米码收割机 👉技__能👈:C++/Python语言 👉公众号👈:测试开发自动化 👉荣__誉👈:阿里云博客专家博主、51CTO技术博主 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 作用:IP分配给用户上网使用网际协议设备的数字标签,分为IP

    2024年02月12日
    浏览(42)
  • 【计算机基础知识3】IP 地址和子网掩码、DNS、HTTP

    目录 前言 一、IP地址和子网掩码 1. IP地址的概念 2. IP地址的分类 3. 子网掩码的概念 4. 子网掩码的用途 二、域名系统(DNS) 1. DNS的作用 2. 域名解析过程 3. 如何配置和管理域名解析 三、HTTP(超文本传输协议) 1. HTTP的概念和结构 2. 常见的HTTP请求方法 3. HTTP状态码及其含义

    2024年02月09日
    浏览(79)
  • Ubuntu配置网卡信息(ip、网关、子网掩码、dns)

      本文介绍了Ubuntu系统下配置网卡的信息,包含网卡的ip地址、网关、子网掩码和dns。   网卡的ip地址可以设置成动态(DHCP)或静态的,网关和掩码根据实际需求选择是否设置。dns指域名系统,为什么要设置dns呢?简单理解就是,你的电脑(系统)想要访问互联网(外网

    2024年01月18日
    浏览(48)
  • Linux系统下如何修改配置 IP、网关、子网掩码、DNS 教程

    一、查看网卡信息 首先我们可以使用以下两个命令来查询网卡信息,看一下我们使用的是哪一个网卡 二、找到网卡配置文件 然后我们进入以下目录,找到上面我们用到的那个网卡文件 三、修改网卡信息 接着我们打开配置文件修改 有些新机子可能没有下面那些,我们可以新

    2024年02月12日
    浏览(39)
  • IP地址,子网掩码和网关

    1.什么是ip地址 在网络中用来标识设备的具体地址,数据需要通过IP地址进行寻址传输。 1.1 IP地址 = 网络地址 + 主机地址,又称网络号和主机号构成。 A类:以0开头,第1字节为网络地址+后3个字节主机地址组成,地址范围0.0.0.0~127.255.255.255。可用的A类网络有126个网络,每个网

    2024年02月04日
    浏览(47)
  • 【一文带你看懂什么是VLAN、网关、DNS和子网掩码等 】

    很多小伙伴多次问到什么是VLAN、三层交换机、网关、MAC地址、DNS和子网掩码,它们具体的定位和用途。确实,如今网络技术已经覆盖了非常广阔的工作和生活场景,但很多人在日常的应用当中还是不太懂这些知识,今天我们就尝试用比较通俗的方式来一次性讲解清楚。 一、

    2024年02月05日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包