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. PostgreSQL两种分页方法查询时间比较

    数据库中存了3000W条数据,两种分页查询测试时间 第一种 SELECT * FROM test_table WHERE i_id> limit 100; Time: 0.016s 第二种 SE ...

  2. DiskLruCache硬盘缓存技术详解

    上次讲了使用内存缓存LruCache去加载很多图片而不造成OOM,而这种缓存的特点是在应用程序运行时管理内存中的资源(图片)的存储和释放,如果LruCache中有一张图片被释放了,再次加载该图片时需要 ...

  3. Socket层实现系列 — bind()的实现(二)

    本文主要内容:bind()的TCP层实现.端口的冲突处理,以及不同内核版本的实现差异. 内核版本:3.6 Author:zhangskd @ csdn blog TCP层实现 SOCK_STREAM套 ...

  4. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  5. 是我out了,c11标准出炉鸟

    gcc -std=c11 -Wall -O3 -g0 -s -o x.c x 或者 clang -std=c11 -Wall -O3 -g0 -s -o x.c x 来吧! 我是有多无聊啊 测试代码: ...

  6. linux设备驱动程序--类class的实现

    #include <linux/module.h> #include <linux/fs.h> #include <linux/sched.h> #include ...

  7. android Material Design详解

    原文地址:http://blog.csdn.net/jdsjlzx/article/details/41441083/ 前言 我们都知道Marterial Design是Google推出的全新UI设计 ...

  8. 网站系统压力测试Jmeter+Badboy

    最近项目需要压力测试,因此搜了几款试用,首选的是LoadRunner这款大名鼎鼎的测试软件: LoadRunner11 下载请猛戳这里 传送门LoadRunner破解文件 下载请猛戳这里 传送门Loa ...

  9. redis删除所有key

    flushdb 删除当前数据库的所有keyflushall  删除所有数据库的所有keydbsize   返回当前数据库的key的数量

  10. remove Nth Node from linked list从链表中删除倒数第n个元素

    Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...