Linux学习 --- 网络基础知识
1.1 IP地址
IP地址由两部分组成 网络号和主机号 。网络号为IP地址的高位组成,而主机号是IP地址的低位组成,两个的大小取决于网络的类型。
IP地址根据网络的地址不同分为:A类,B类,C类,D类,E类。
(1)A类IP地址类型
A类IP地址由一个字节的网络号和三个字节的主机号组成。网络地址的最高位必须为“0”,地址范围为:1.0.0.0 到 126.0.0.0。
(2)B类IP地址类型
B类IP地址由两个字节的网络号和两个字节的主机号组成。网络地址的最高位必须为“10”,地址范围为:128.0.0.0 到 191.255.255.255。
(3)C类IP地址类型
C类IP地址由三个字节的网络号和一个字节的主机号组成。网络地址的最高位必须为“110”,地址范围为:192.0.0.0 到 223.255.255.255。
(4)D类地址用于组播
D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,这一类地址被用于组播中,组播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
(5)E类IP地址类型
以“1110”开始,为将来使用保留。
1.2 子网掩码
子网掩码又叫做网络掩码,一般构成方法是网络地址部分全部为“1”,主机地址全为“0”,例如C类IP地址:192.168.1.134 已知C类网络用三个字节表示网络号,一个字节表示主机号。所以其子网掩码为:255.255.255.0(默认子网掩码)。
子网掩码的作用:就是判别主机发送的数据包是向外网发送还是向内网发送。例如主机A向主机B发送数据包,主机先将自己的子网掩码和目标目标主机IP地址做&(与)操作。由于子网掩码的网络地址部分全部是“1”,主机地址全部为“0”,这样与操作结果就是网络地址。
例如:IP地址为192.168.1.115,主机的子网掩码是255.255.255.0,拿IP地址跟子网掩码相与(&)操作得到结果:192.168.1.0。即为IP地址所在的网络地址。
A主机得到网络地址后,就拿得到的IP地址和B所在的网络地址对比,如果两个网络地址相同,即B主机和A主机在同一网络里面,数据包向内网发送。如果不是,则向外网发送,即需要发送到网关。
1.3 网关
网关又称为网间连接器,协议转换器。网关主要用于传输层上以实现网络连接,是最复杂的网络互联设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互联,还可以用于局域网互联。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议,数据格式或者语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。
那么网关到底是什么呢?? 网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为:192.168.1.1~192.168.2.1 ,子网掩码为:255.255.255.0;网络B的IP地址范围:192.168.2.1~192.168.2.254。子网掩码为:255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的。即使两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判断是否两个网络的主机在不同的网络下。而要实现两个网络之间相互通信,则必须要通过网关,如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给自己的网关。再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。
所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的互相通信。那么这个IP地址是哪台机器的IP地址呢??网关的IP地址是具有路由功能的设备IP地址,具有路由功能的设备有路由器,启用了路由协议而服务器(实质上相当于一台路由器),代理服务器(也相当于一台路由器)。
1.4 DNS服务器
DNS服务器是计算机域名系统的缩写,它是由解析器和域名服务器组成的,域名服务器是指保存有该网络中所有主机的域名和对应的IP地址,并且可将域名转换为IP地址功能的服务器。其中,域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程称为“域名解析”。
例如,我们经常输入的“www.baidu.com”,这里的“www.baidu.com”就是域名。如果想自己的计算机能成功进入百度首页,那么必须设置好DNS服务器,主机在和百度服务器进行连接前,必须通过域名服务器的解析,得到百度服务的实际的IP地址。
Linux学习 --- 网络基础知识的更多相关文章
- Linux系统网络基础知识及配置
一:DNS(domain name system)简介 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而 ...
- Linux运维笔记(一)网络基础知识
网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- Linux学习-计算机基础
Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...
- 1)Linux程序设计入门--基础知识
)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...
- 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))
关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...
- iOS网络基础知识
iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
随机推荐
- rust 模块、路径、项目类型等相关内容
rust 模块路径 转载 https://blog.csdn.net/wowotuo/article/details/107591501 rust 项目编译类型 转载 https://blog.51c ...
- 使用GetDIBits()获取Windows位图数据的标准用法,解决内存、堆栈报错问题
获取图标的位图数据 分两次使用GetDIBits(),以便于正确设置缓存的大小 正确设置BITMAPINFO的大小,否则就会报堆栈溢出错误 ICONINFO info = { 0 }; GetIcon ...
- Python实现随机森林RF并对比自变量的重要性
本文介绍在Python环境中,实现随机森林(Random Forest,RF)回归与各自变量重要性分析与排序的过程. 其中,关于基于MATLAB实现同样过程的代码与实战,大家可以点击查看MAT ...
- 解决VS2019 DevExpress工具不显示问题
一.序言 环境:NetFramework4.5,vs2019社区板 ,DevExpress 14.2.3 项目类型:winfrom 二.解决 找到DevExpress安装路径下的Bin\Framewo ...
- honoka和格点三角形
题目: honoka最近在研究三角形计数问题.她认为,满足以下三个条件的三角形是"好三角形".1.三角形的三个顶点均为格点,即横坐标和纵坐标均为整数.2.三角形的面积为 .3.三角 ...
- 用于双目重建中的GPU编程:julia-cuda
作者:京东科技 李大冲 一.Julia是什么 julia是2010年开始面世的语言,作为一个10后,Julia必然有前辈们没有的特点.Julia被期望塑造成原生的有C++的运行速度.python的易交 ...
- 使用express设置静态目录,创建服务,响应get请求
// 1.引入express const express = require('express');//在node应用中载入express // 2.创建应用对象 const app = expres ...
- PostGIS之维数扩展的九交模型
1. 概述 PostGIS 是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在 SQL 中运行空间查询 PostGIS官网:About PostGIS | PostGIS ...
- springboot加入cloud,并注册到nacos
pom.xml下新增 <dependency> <groupId>org.springframework.cloud</groupId> <artifactI ...
- WeNet调试
运行: 参照:markdown 问题: CMake Error: Error: generator : Ninja Ninja:提高构建速度 wenet/runtime/libtorch/fc_bas ...