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 如何添加第3方lib库到kernel中
注意:只能将lib库放在kernel编译到的地方,如下: alps/kernel/ alps/mediatek/custom/common/kernel/ alps/mediatek/custom/$ ...
- LIRe 源代码分析 5:提取特征向量[以颜色布局为例]
===================================================== LIRe源代码分析系列文章列表: LIRe 源代码分析 1:整体结构 LIRe 源代码分析 ...
- 阿里云 云服务器 CentOS 5.8 安装 php 5.4
1.安装php http://webtatic.com/packages/php54/ 2.安装mysql http://webtatic.com/packages/mysql55/ 3.修改mysq ...
- OpenCV处理视频序列的类
代码出处,opencv2 cookbook: /*--------------------------------------------------------------------------- ...
- glib-dbus 在ubuntu9.10 和 ubuntu10.04 上安装环境的搭建
dbus-glib 安装环境搭建 安装 dbus apt-get install dbus 安装 d-feet ,用于查看 session bus 和 system bus apt-get insta ...
- MIDle生命周期详解,以及工作原理
当MIDlet被应用程序管理器成功地初始化之后,就开始展开了它的生命周期.MIDlet的生命周期完全由应用程序管理器控制,也就是说,当MIDlet要从一个状态变成另外一个状态时,应用程序管理器会调用对 ...
- AndroidStudio加快Gradle速度的方法-android study之旅(103)
方法1 打开setting,搜索compiler ,按照如图配置,不要问我为什么,宝宝心里苦~ 方法2 到开项目的根目录的gradle.properties ,把下面的注释解除 org.gradle. ...
- Mac Finder 里新建文本
Mac Finder 里新建文本 首先吐槽下 Mac 的文件管理 Finder 真的是太弱了,之前没感觉 Windows 的资源管理器多厉害,但是和 Mac 的比起来真是堪称神器啊,果然牛逼与否还的看 ...
- azkaban报错记录
问题信息:Failed to build job executor for job o2o_get_file_ftp1Job type 'command ' is unrecognized. Coul ...
- Struts2数据传输的背后机制:ValueStack(值栈)
1. 数据传输背后机制:ValueStack(值栈) 在这一切的背后,是因为有了ValueStack(值栈)! ValueStack基础:OGNL 要了解ValueStack,必须先理解OGN ...