1)TCP/IP模型与OSI对应

2)TCP/IP集每层主要协议

3)IP协议

4)IP地址的命名与使用

5)子网与子网掩码


1)TCP/IP模型与OSI对应关系

我们看到,TCP/IP只有四层与OSI的七层相对应。

网络接口层:数据包从一个设备的网络层传输到另外一个设备的网络层。

传输层与网络层分别对应着OSI的传输层与网络层。

应用层:一个主机的网络程序与其他主机程序通信所使用的层


2)TCP/IP集每层主要协议

应用层:HTTP,FTP,DNS,SNTP
传输层:TCP,UDP
网络层:IP,ICMP,IGMP,ARP,RARP,
网络接口层:以太网,wifi

应用层:

  • HTTP超文本传输协议,主要应用于万维网服务
  • FTP文件传输协议,用于文件传输
  • SMTP邮件传输协议,用于邮件传输
  • DNS域名解析等

传输层:

  • TCP:传输控制协议,面向连接可靠的
  • UDP:用户数据报协议,面向连接不可靠的

网络层:

IP:网际协议,有两个版本IPV4,IPV6

ARP:地址解析协议。通过IP映射MAC。

RARP:反地址解析协议.能过MAC映射IP。

ICMP:网络控制消息协议.经常使用的Ping命令就是这个协议里的。


3)IP协议

  不同的网络要实现互联,就要解决统一编址的问题。也就是常说的IP地址,跟MAC地址(我都片面的理解为网卡地址)。要是通过MAC来寻址有点不靠谱,因为太多太多了。所以就采用了IP地址,IP协议是无连接不可靠的传送。所谓的无连接就是,事先不建立起传输线路,而是根据当时的网络情况来决定哪条线路,而且线路还不唯一。这也会带来相应的问题,比如说建立了两条传输线路,就会产生包的到达顺序问题;也可能产生丢包的问题等。但他的好处就是:节省了建立接连的时间,让传输速率提高了。

网络层的数据被称之为IP分组,由IP头+数据 组成。

4)IP地址的命名与使用

IP地址是由32bit,网络号+主机号这种形式组成。为了表示方便,由四个十进数加逗号组成,如:192.168.1.1。在路由中只会用到网络号。

IP地址分为ABCDE五类。D类多播地址,E是留给以后使用,所以我们能申请到的也就只有ABC三类;

  • A类:8bit网络号+24bit主机号且首位必须是0,范围是:.0.01---.255.255.255;最大网络数:127(27-1);最大主机数:16.777.214(224
  • B类:16bit网络号+16bit主机号且首位必须是10,范围是:.0.0.1---.255.255.255;最大网络数:16383(214);最大主机数:65534
  • C类:24bit网络号+8bit主机号且首位必须是110,范围是:.0.0.1---.255.255.255;最大网络数:2097151(221);最大主机数:254

注:有些特殊的地址不能使用

  1. 主机号全1的地址用于指定网络(局域网)的广播地址,如:202.117.1.255;给这个网络中所有主机广播来用。
  2. 主机号全0的网络地址表示网络本身,如:202.117.1.0;
  3. 网络号全为0,表示本网络,如:0.0.0.5
  4. 255.255.255.255,本网广播地址
  5. A类地址127.*.*.*是一个保留地址,用于网络软件测试及本地进程通信,也称为回送地址
  6. 专门为组织机构来用   

a)         A类 10.0.0.0---10.255.255.255

b)         B类:172.16.0.0---172.31.255255

c)         C类:192.168.0.0---192.168.255.255(做网关的时候使用,私有的地址,感觉这个经常见哦)


5)子网与子网掩码

按照网络号+主机号的这种方式来划分,会产生IP地址的浪费及不好管理问题。比如说我们学校有四万多人,去申请了一个B类的网络地址,157.15.0.0。而我们知道,B类的主机数可以有六万多,这样就产生了浪费。而且我们学校四万多人都在这一个B类网络中,发送的消息想当于广播出去了,很不方便。所以在网络号+主机号的基础上又引入了子网号。网络号不动,将原来的主机号拿出几位(位数不定)做子网号:网络号+子网号+新的主机号这种形式。

比如说一个C类的地址:192.10.1.0,写成二进制形式如下:

11000000.00001010.00000001.xxxyyyyy

将x为子网号,y为新的主机号(yyyyy不能为全0与全1)

11000000.00001010.00000001.001*****   ---->      192.10.1.32*

11000000.00001010.00000001.010*****   ---->      192.10.1.64*

11000000.00001010.00000001.011*****   ---->      192.10.1.96*

11000000.00001010.00000001.100*****   ---->      192.10.1.128*

11000000.00001010.00000001.101*****   ---->      192.10.1.160*

11000000.00001010.00000001.110*****   ---->      192.10.1.192*

这样子,每个子网下都可以有30(25-2)个主机,想像下一栋楼有六层,每层有不大于三十台主机,这样划分是不是挺不错滴。

还有一个问题,无论是带子网的还是不带子网的IP地址,在通信过程中,怎么将网络号与主机号从IP地址里面识别出来呢,这就引出了子网掩码。

子网掩码的作用就是从IP地址主得到主机号与网络号。操作的方法就是用IP地址和子网掩码做与运算(与运算的神奇之处在于:一个数与1相与得到这个数本身,与0想于就是0)。比如一个C类地址:192.10.1.10,它的子网掩码是255.255.255.0(前24位全置1,后8位置0,相与后就能得到它的前24位,后面8位全置0);同理将IP地址与0.0.0.255相于,就可得到后8位。

一般缺省的子网掩码是:

A类:255.0.0.0

B类:255.255.0.0

C类:255.255.255.0

那不缺省的子网掩码就要算上子网号所占的位数,比如子网号占三位那么:

11111111,11100000,00000000,00000000

A类:255.224.0.0

11111111,11111111,11100000,00000000

B类:255.255.224.0

11111111,11111111,11111111,11100000;

C类:255.255.255.224


最后一点就是:主机与主机直接通信,它们必须在一个子网内,否则要使用路由器实现互联。直接相接的那个路由也可称之为网关。

最后的最后再贴张图,以前没在意,学过这个之后才知其中道理。

从上面这张图我们得知,我的IP地址是C类地址:192.168.0.30。子网掩码:255.255.255.0是一个缺省的C地址掩码。将IP地址和子网掩码想与得网络号:192.168.0.0主机号:0.0.0.30;

而默认网关可以理解为跟你连接的第一个路由器的地址:192.168.0.1;

DNS这方面的知识还没看到,等学到后再做补充~~

计算机网络自学之路------IP协议(1)的更多相关文章

  1. 计算机网络自学之路-----IP协议(3)

    前面一期说到了IP层的IP协议跟ARP协议,因为IPV4协议自身有些不足的地方,为了弥补这些不足,又引入了一些别的协议.觉得这种弥补方式治标不治本~~ 1)ICMP网络控制报文协议 2)CIDR无类域 ...

  2. 计算机网络自学之路------IP协议(2)

    之前忘记说了,这些内容都是边看视频边写的,视频出自西安交通大学. 本期说的是IP分组转发的内容,里面详细介绍了IP协议跟ARP协议,最后再给出一个例子,说明这两个协议在网络中传输的具体过程. 1)Ip ...

  3. 计算机网络 4.网络层与IP协议

    网络中的每一台主机和路由器都有一个网络层部分.而路由器中也没有网络层以上的层次.网络层是协议栈中最复杂的层次. 转发forwarding:当一个分组到达某路由器的输入链路时.该路由器将分组移动到适当的 ...

  4. 计算机网络知识之TCP/IP协议簇

    OSI参考模型 OSI的来源         OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网 ...

  5. 计算机网络——OSI、TCP/IP协议族详解

    一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...

  6. 计算机网络初探(ip协议)

    粗读了两遍计算机网络(谢希仁),对于计算计算机网络算是有了一个初步的了解,所以打算写一篇文章(希望是教程)进行巩固(主要围绕IP协议). 局域网 因特网的产生和广泛使用极大地改变了我们的生活,但对于不 ...

  7. 计算机网络三:域名、IP地址和TCP/IP协议

    一.域名        域名(Domain Name),简称域名.网域,是由一串用点分隔的字符型标志名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时 ...

  8. Python之路(第三十篇) 网络编程:socket、tcp/ip协议

    一.客户端/服务器架构 1.硬件C/S架构(打印机) 打印机作为一个服务端,电脑连接打印机进行打印 2.软件C/S架构 互联网中处处是C/S架构 如谷歌网站是服务端,你的浏览器是客户端(B/S架构也是 ...

  9. 计算机网络 0.初识Internet与TCP/IP协议

    互联网,即因特网,Internet.互联网是一个世界范围的计算机网络.连接了世界上无数的计算设备,这些计算设备为PC.基于Linux的工作站,serverservers等等. 这些设备依据其作用不同可 ...

随机推荐

  1. Bash shell的内建命令:type

    type指令是用来观察指令时来自于外部指令还是内建在bash中的指令. type  [-tpa]  name 选项与参数: :不加任何选项与参数时,type会显示出name是外部指令还是bash内建指 ...

  2. linux 内核学习之五 system_call过程分析

    一   使用gdb工具跟踪分析一个自添加的系统调用 应用程序的进程通常在用户空间下运行,当它调用一个系统调用时,进程进入内核空间,执行的是kernel内部的代码,从而具有执行特权指令的权限,完成特定的 ...

  3. 在CentOS6.8上面安装Python3.5

    以前每次装Linux,升级Python,都会一堆问题,然后Google,本来想着记录一下,结果问题太多了,也就记不住了,这次特地记了下来. 在CentOS6.8上面安装Python3.5我的系统是Ce ...

  4. 打不开tomcat

    org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 59; schema_reference.4: 无法读取方案文档 'http: ...

  5. python 中x%2 x&1 判断偶数奇数 性能对比

    本文使用非常好用的python交互解释器ipython操作演示, 使用命令pip install ipython安装,输入ipython即可.比python自带的好用. python中有两种方法判断一 ...

  6. Google Authentication 机制原理

    Google Authenticator,谷歌身份认证器,Google公司推出的一款动态口令工具,旨在解决大家Google账户遭到恶意攻击的问题.该工具主要基于TOTP(Time-Based One- ...

  7. 通过JavaScript改变HTML样式

    语法:Object.style.property=new style; 基本属性表如下: 示例: 改变 <p> 元素的样式,将颜色改为红色,字号改为20,背景颜色改为蓝: <p id ...

  8. 使用windows crypt API解析X509证书

    一.版本号 结构体CERT_INFO中的字段dwVersion即为证书版本,可以直接通过下面的代码获得: DWORD dwCertVer = m_pCertContext->pCertInfo- ...

  9. 【Excel】宏之初认识

    出于提高效率的原因,希望excel能够不需要人为干预的完成一些操作,学习excel宏的编写与调试: 第一列输入公式,第二类输出计算结果:(如果自动获取文件的行数,待补充) Sub Calc() a = ...

  10. 本地mysql数据库root密码丢失修改方法

      1,停止数据库 2,cd /etc/mysql 3,利用vim命令打开mysql配置文件my.cnf,在mysqld进程配置文件中添加skip-grant-tables,添加完成后,执行wd保存. ...