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网络简介的更多相关文章

  1. linux 网络虚拟化: network namespace 简介

    linux 网络虚拟化: network namespace 简介 network namespace 是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自的网络栈信息.不管是虚拟机还是 ...

  2. Linux 网络 I/O 模型简介(图文)(转载)

    Linux 网络 I/O 模型简介(图文)(转载) 转载:http://blog.csdn.net/anxpp/article/details/51503329 1.介绍 Linux 的内核将所有外部 ...

  3. Linux网络编程:原始套接字简介

    Linux网络编程:原始套接字编程 一.原始套接字用途 通常情况下程序员接所接触到的套接字(Socket)为两类: 流式套接字(SOCK_STREAM):一种面向连接的Socket,针对于面向连接的T ...

  4. 【linux草鞋应用编程系列】_5_ Linux网络编程

    一.网络通信简介   第一部分内容,暂时没法描述,内容实在太多,待后续专门的系列文章.   二.linux网络通信     在linux中继承了Unix下“一切皆文件”的思想, 在linux中要实现网 ...

  5. linux 文件系统简介

    linux文件系统简介   文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基 ...

  6. linux网络虚拟化

    图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN http://smilejay.com/2012/08/qemu-kvm-networking-m ...

  7. 转:Linux网络IO并行化技术概览

    转:http://codinginet.com/articles/view/201605-linux_net_parallel?simple=1&from=timeline&isapp ...

  8. 深入理解linux网络技术内幕读书笔记(三)--用户空间与内核的接口

    Table of Contents 1 概论 1.1 procfs (/proc 文件系统) 1.1.1 编程接口 1.2 sysctl (/proc/sys目录) 1.2.1 编程接口 1.3 sy ...

  9. Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装

    原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...

随机推荐

  1. Gradle 1.12用户指南翻译——第二十九章. Checkstyle 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  2. Android性能优化典例(一)

    在Android开发过程中,很多时候往往因为代码的不规范.api使用不恰当.控件的使用场景考虑不全面和用户不恰当的操作等都能引发一系列性能问题的,下面就是我目前整理的一些Android开发过程中需要注 ...

  3. OAF更改动态头行

    选择头信息,动态刷新行信息.本文将详细介绍该种需求的做法. 本例沿用<OAF-头行结构>的am与vo,所以在进行本例之前,请先完成<OAF-头行结构> 一.创建页面 在test ...

  4. thrift实现HDFS文件操作

    thrift 文件如下 namespace java com.pera.file.transform struct  File{     1:string path ,     2:string co ...

  5. SharePoint 门户网站的图片轮播-页面定制

    这个想法是自己突然的一个想法,想想我们经常用SharePoint做门户网站,不知道你们多数项目都是怎么完成的,我们客户要求的效果都还是很严格的,所有展现起来,还是很漂亮的,但是很多时候的效果,还是难以 ...

  6. 查询oracle数据库的数据库名、实例名、ORACLE_SID

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

  7. Java Socket:Java-NIO-Selector

    Selector 的出现,大大改善了多个 Java Socket的效率.在没有NIO的时候,轮询多个socket是通过read阻塞来完成,即使是非阻塞模式,我们在轮询socket是否就绪的时候依然需要 ...

  8. React Native入门 认识Flexbox布局

    Flexbox布局是由W3C在09年提出的在Web端取代CSS盒子模型的一种布局方式. ReactNative实现了Flexbox布局的大部分功能. Flexbox布局所使用的属性,基本可以分为两大类 ...

  9. IndexedDB,FileSystem- 前端数据库,文件管理系统

    "我们不再需要下载并且安装软件.一个简单的web浏览器和一个可供使用的互联网就足以让我们在任何时间, 任何地点, 还有任何平台上使用任何web应用程序." web应用很酷, 但是相 ...

  10. iBATIS 深入分析

    深入分析 iBATIS 框架之系统架构与映射原理 分类: IBATIS2010-11-24 03:32 547人阅读 评论(1) 收藏 举报 ibatis框架sql数据库jdbcjava 本文转至ht ...