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 ...
随机推荐
- 【CTO变形记】驱动力的选择
前言:每个人做事,都有着各种动机在里面,有时候看似不可理解的行为或者选择,初一看,可能是'认知',其实深层次实际是内在驱动力使然.例如,当一个人找我们问各种问题的时候,我们往往会先问'你的意图'是什么 ...
- 编写antd的Cascader 级联选择组件市级地区数据
下面是该组件的使用数据的格式 options: [ { value: 'zhejiang', label: 'Zhejiang', children: [ { value: 'hangzhou', l ...
- keypoint数据结构
公有属性 (float)angle:角度,表示关键点的方向,-1为初值. (int)class_id:当要对图片进行分类时,我们可以用class_id对每个特征点进行区分,未设定时为-1,需要靠自己设 ...
- SpringBoot整合Mybatis、SpringBoot整合Spring Data JPA
Springboot Mybatis <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- TCP/IP协议(1): IP 地址和寻址方式 —— IP 协议的基础
TCP/IP协议(1): IP 地址和寻址方式 -- IP 协议的基础 最近在重学计算机网络,给自己立一个 flag,有感而发的时候写关于 TCP/IP 协议栈的系列博客. IP 地址 IP 地址(I ...
- STL中的智能指针(Smart Pointer)及其源码剖析: std::auto_ptr
STL中的智能指针(Smart Pointer)及其源码剖析: std::auto_ptr auto_ptr 是STL中的智能指针家族的成员之一, 它管理由 new expression 获得的对象, ...
- JZOJ 3234. 阴阳
阴阳 题面 分析 个人认为是极好的题,很容易写 如果你学点分治是无奈背板的,那就做做这道题,加深你对点分治的理解 一般的,处理树上大规模统计问题,我们分治的关键是找一棵子树的重心 找到分治中心,即新一 ...
- CentOS7一键安装RPM版LNMP(NGINX+PHP+MySQL)环境
转载:简书 CentOS7一键安装RPM版LNMP(NGINX+PHP+MySQL)环境 - 简书 (jianshu.com) (需要配置nginx.conf文件) 转载:csdn (35条消息) V ...
- Luffy项目:2、项目需求(2),项目库的创建,软件开发目录,Django配置文件介绍
目录 Luffy项目 一.Luffy项目需求(2) 1.后台日志封装 2.全局异常处理.封装 3.封装Response对象 二.Luffy项目数据库创建 1.创建用户数据库 2.使用项目链接数据库 2 ...
- LeetCode-357 统计各位数字都不同的数字个数
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-numbers-with-unique-digits 题目描述 给你一个整数 n ,统 ...