Linux网络简介
Linux的网络简介
1、TCP/IP协议簇 (通俗的解释就是为了网路传输指定的一种标准),它将网络划分为四层:应用层 、传输层、互联层 、网络接口层 。
基础层是网络接口层(说白了就是把帧格式的数据放在网络上,或者在网络上把帧格式的数据取下来)
接下来是互联层(把网络上的数据包封装成Internet数据包,同样的需要遵守四个协议,网络协议【IP】地址解析协议【ARP】网络控制消息协议【ICMP】互联组管理协议【IGMP】)
接下来就是传输层(传输协议就是建立主机之间的通信会话,选择的协议根据数据传输的方式而定 传输控制协议【TCP】适用于一次传输大批量的数据 用户数据包协议【UDP】适用于一次传输小批量的数据)
接下里就是应用层(说白了就是应用程序通过这一层来访问网络 常见的协议 提高远程登录协议【TELNET】 文件传输服务【FTP】 电子邮件【SMTP】 域名解析【DNS】 超文本传输协议【HTTP】)
IP协议和TCP协议
我依据自己的理解给大家简单的介绍一下IP协议,IP协议是最重要的底层网际协议,计算机需要通过所有人都遵守的IP协议加入到Internet中,这样所有加入Internet中的计算机就会被放在同一个局域网络中,这样所有利用IP软件,遵守IP协议的计算机就可以实现通信了。
虽然每一台计算机都可以根据Ip协议进行通信,但是不能保证在通信过程中的数据分组,会导致数据紊乱,那么两个计算机想要通信就必须同时遵守同一个TCP协议,TCP协议为两个用户提供了可靠的通信服务,使他们 能够适应网络中的各种变化,即使网络发生阻塞TCP也能够保证网络的可靠性。
IPV4地址基础
A类IP地址
No.1 网络号字段占1字节,主机号字段占3字节。
No.2 第1字节的前一位固为0。
No.3 网络号为127的IP地址保留作为环回地址。(主机用于向自身发送通信的一个特殊地址,即同一台设备上运行的 TCP/IP应用程序和服务之间相互通信提供了一条捷径。)
综合1.2.3点及特殊地址需求可得A类IP地址范围:
始:0000 0001.0000 0000.0000 0000.0000 0001
终:0111 1111.1111 1111.1111 1111.1111 1110
1.0.0.1 ~ 126.255.255.254
相关计算:
No.1 网络号为8bit,且网络号第1字节的前一位固为0,排除网络号全为0,1的情况,故可分配的网络号为2^7-2。
No.2 主机号为24bit,主机号排除全为0,1的情况,故每个网络可达最大主机数为2^24-2。
B类IP地址
No.1 网络号字段占2字节,主机号占2字节。
No.2 第1字节的前两位固为10。
综合1.2点及特殊地址需求可得B类IP地址范围:
始:1000 0000.0000 0001.0000 0000.0000 0001
终:10111 1111.1111 1111.1111 1111.1111 1110
128.1.0.1 ~ 191.255.255.254
相关计算:
No.1 网络号为16bit,且网络号第1字节的前一位固为10,排除网络号全为0,1的情况,故可分配的网络号为2^14-1。
No.2 主机号为16bit,主机号排除全为0,1的情况,故每个网络可达最大主机数为2^16-2。
C类IP地址
No.1 网络号字段占3字节,主机号占1字节。
No.2 第1字节的前两位固为110。
综合1.2点及特殊地址需求可得B类IP地址范围:
始:1100 0000.0000 0000.0000 0001.0000 0001
终:11011 1111.1111 1111.1111 1111.1111 1110
192.0.1.1 ~ 223.255.255.254
相关计算:
No.1 网络号为24bit,且网络号第1字节的前一位固为110,排除网络号全为0,1的情况,故可分配的网络号为2^24-1。
No.2 主机号为8bit,主机号排除全为0,1的情况,故每个网络可达最大主机数为2^8-2。
关于私有地址
上面提到IP地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为何?Internet管理委员会规定如下地址段为私有地址,私有地址可以自己组网时用,但不能在Internet网上用,Internet网没有这些地址的路由,有这些地址的计算机要上网必须转换成为合法的IP地址,也称为公网地址。
下面是A、B、C类网络中的私有地址段,自己组网时就可以用这些地址了。
A:10.0.0.0 ~ 10.255.255.255
B:172.16.0.0 ~ 172.131.255.255
C:192.168.0.0 ~ 192.168.255.255
关于环回地址
No.1 Ping 127.0.0.1,如果反馈信息失败,说明IP协议有错,必须重新安装TCP/IP协议。如果成功Ping本机IP地址,但反馈信息失败,说明你的网卡不能和IP协议栈进行通信。
No.2 在本机上建立的Sql Server、IIS等,可用127.0.0.1这个地址访问。
子网掩码
每一台主机都需要一个子网屏蔽号用来区分网络号和主机号,子网掩码中所有的对应的网络号都被置为1,对应的主机号都被置为0,在使用的时候当网络没有被划分出子网时,可以使用缺省的子网掩码,反之则需要自定义的子网掩码。
Linux下的ARP管理
MAC是所有网络活动的基础,而网上的所有主机通信都需要IP地址,ARP协议就是IP和MAC地址之间的对应关系,在linux启动之后输入 arp 之后回车 显示的是最近解析的IP和MAC地址的对应记录,其中

Address为 ip地址-----HWtype为网络的主机类型-----HWaddress是MAC地址-----Flags表示的是记录状态-----Iface主机运行arp命令的网卡编号
TCP协议基础
在网络层IP之上的是传输层 ,在传输层常见的是TCP封包


不想敲字了,就扫描了两个图片。
Linux网络简介的更多相关文章
- linux 网络虚拟化: network namespace 简介
linux 网络虚拟化: network namespace 简介 network namespace 是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自的网络栈信息.不管是虚拟机还是 ...
- Linux 网络 I/O 模型简介(图文)(转载)
Linux 网络 I/O 模型简介(图文)(转载) 转载:http://blog.csdn.net/anxpp/article/details/51503329 1.介绍 Linux 的内核将所有外部 ...
- Linux网络编程:原始套接字简介
Linux网络编程:原始套接字编程 一.原始套接字用途 通常情况下程序员接所接触到的套接字(Socket)为两类: 流式套接字(SOCK_STREAM):一种面向连接的Socket,针对于面向连接的T ...
- 【linux草鞋应用编程系列】_5_ Linux网络编程
一.网络通信简介 第一部分内容,暂时没法描述,内容实在太多,待后续专门的系列文章. 二.linux网络通信 在linux中继承了Unix下“一切皆文件”的思想, 在linux中要实现网 ...
- linux 文件系统简介
linux文件系统简介 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基 ...
- linux网络虚拟化
图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN http://smilejay.com/2012/08/qemu-kvm-networking-m ...
- 转:Linux网络IO并行化技术概览
转:http://codinginet.com/articles/view/201605-linux_net_parallel?simple=1&from=timeline&isapp ...
- 深入理解linux网络技术内幕读书笔记(三)--用户空间与内核的接口
Table of Contents 1 概论 1.1 procfs (/proc 文件系统) 1.1.1 编程接口 1.2 sysctl (/proc/sys目录) 1.2.1 编程接口 1.3 sy ...
- Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装
原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...
随机推荐
- android TextView 垂直自动滚动字幕实现
参考网上一些做法然后进行了修改, 首先继承TextView /** * VerticalScrollTextView.java * 版权所有(C) 2013 * 创建者:cuiran 2013-12- ...
- 苹果新的编程语言 Swift 语言进阶(四)--字符串和收集类型
一.字符串( String )和字符类型(Character) 字符串是一种字符的带次序的收集类型(相当于数组),字符是字符串中的元素. 在Swift 语言中,字符串是编码独立的Unicode字符的 ...
- 【15】-java实现二分查找
二分查找在面试中经常被遇到,这个方法十分优雅 介绍 二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么通过不断缩小包含T的范围,最终就可以找到它.一开始,范围覆盖整个数组 ...
- 杭电ACM 1002题
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(S ...
- WebDriver元素等待机制
能否构建健壮和可靠的测试是UI自动化测试能否成功的关键因素之一.但实际情况是当一个测试接着一个测试执行的时候,常会遇到各种不同的状况.比如脚本去定位元素或去验证程序的运行状态时,有时会发现找不到元素, ...
- 遍历输出图片加hover
1. $(".icon a>div").hover(function () { var slls = $(this).attr("class"); sll ...
- search a 2D matrix(在二维数组中搜索一个元素)
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- Flask框架之 --- 我的第一个个人网站(雏形)
现在还是个静态网站 , 而且这里的Flask也只是起到了提供虚拟web服务器的作用 , 下一步是实现数据库的连接 , 实现简单的动态访问.
- vue中get和post请求
import axios from 'axios'; import router from '@/router'; import { setSessionStorage, getSes ...
- python22期第一天(课程总结)
1.Python介绍: python是一门高级编程语言,涉及领域比较广泛,社区活跃,由一个核心开发团队在维护,相对其他语言,易于学习,可移植性强,可扩展性强,易于维护,有大量的标准库可供使用. 2.P ...