| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 131 人关注过本帖, 1 人收藏
标题:【菜鸟学网络三】网络学习笔记
只看楼主 加入收藏
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
结帖率:73.33%
收藏(1)
 问题点数:0 回复次数:3 
【菜鸟学网络三】网络学习笔记
发帖先看看情况。。。。。。好了,没问题,不再有坑了。鸟哥今天很开心,那么就IOI吧。
这一次学什么呢,当然就是TCP/IP协议的第一层,IP协议。

    IP,I指的是网络,P指的是协议,所以叫IP就行了,IP协议是个错误的说法。网络层哦,记得哦。
IP协议是邮局在网络中的再现,与现实邮局不同的是,IP数据是不定时收发,而且会将包裹拆分的。
    IP里边主要分为两部分,一个是IP地址的规定,一个是对IP封包的定义。

    我们平常所说的IP地址,本质上是一个32位整数,这32位0或者1被分为三部分:网址类别标志,网络ID,主机ID。
    网络ID相同的网址表示处于同一网络,使用相同的网关路由。

    A类网址:第0位为0        1~7位为网络ID       8~31位为主机ID
    B类网址:前2位为10       2~15位为网络ID      16~31位为主机ID
    C类网址:前3位为110      3~23位为网络ID      24~31位为主机ID
    D类网址:前4位为1110     4~31位为广播地址
    E类网址:前5位为11110    5~31位为保留位   
    所以正常情况下,我们的IP地址属于前三类。
    对于IPV4,IP地址都是32位的整数,再根据上边的分类,实际可用的独立IP地址有2^32-2^31-2^30-2^29=536870912个。
    但是这其中还有一部分独特的IP地址作为本地保留使用,与127.x.x.x的代表本机回环地址。10.x.x.x,172.?.?.?,192.168.x.x这些都做为内部网络来使用,所以实际使用的IP地址对全球人类来说非常有些,所以这也是IPV6出现的原因。
    为了解决这些问题,人们又提出了子网技术与超网技术。
    子网技术利用主机ID位,对本类型网络内继续划分网络,这就是子网掩码技术。
    超网技术利用网络ID与子网ID位,可以划分出主机个数不同的网络,比如C类网址的主机个数最多表示254个主机(256-2,一个0表示整个网络,一个255表示网内广播,比如C类IP地址192.168.0.0与192.168.0.255的主机是不存在的,一个用于表示整个网络,一个代表广播),如果你的本地网络恰好是255个,这个时候如果选用B类IP则会造成对资源的极大浪费,而使用子网技术也无法对主机数量进行扩展,这个时候如果设定超网掩码为255.255.254.0的话,就能将C类网络扩展为能够分配510个主机的网络。


    好累啊,好了,第二部分,IP数据包格式,就是如何打包你的数据包裹。
    我们包裹内的数据当然是字节了,网络字节顺序其实就是大端字节顺序,什么是大端顺序?就是比如一个双子整数,表示高位的在内存中的低位。小端模式则反之,我们用的INTEL内核的机器基本上都是小端模式存放数据的。
    IP数据包分为两部分:IP头,IP数据,关键部分是IP数据。
    对于IP头:其分为20字节的固定头+IP选项非固定数据。
    20字节分别由以下内容构成:
1到4字节:
    0~3位:版本,表示IP协议的版本,当前版本为4
    4~8位:头部长度,单位为32位整数。所以最大能表示15*4=60字节的头部长度。也就是说,IP选项最大长度是60-20=40个字节。
    8~15位:服务类型,控制位,表示路由器对该IP包的处理方式。
    16~31位:包头+包数据的总长,单位为字节。
5~8字节:
    0~15位:标识,类似于邮件的邮戳等特殊标志。
    16~18位:标志,晕了吧,但这个是用来表示邮件是否为拆分,结合头偏移可以判定IP分包是否接受完毕,以及数据包的重组。
    19~31位:头偏移,表示拆分后数据相对于原始数据头的位置。所以最大的头偏移只能为2^13-1=8191个字节,所以一次发送的IP整包大小不得超过8191+20=8211个片偏移块,单位为8字节
    MTU表示物理层传输最大传输单元,一般的以太网的最大传输单元为1500字节。如果IP包大小(头+数据)超过这个大小则会被拆分,拆分是由路由器或者源主机的IP协议实现,而合并则只由目的主机的IP协议实现。
9~12字节:
    0~7位:TTL,用来表示该IP包在网络中的存在时间,最大255,每经过一个路由器则减去一个数字,最小减去1,所以一个IP包正常情况下只能通过255个路由,但这并不保证路由对某些封包做特殊处理。
    8~15位:协议,用来表示该IP包在接收后用什么协议继续处理。
    16~32位:头部校验和。(所有头部数据分为16位块并取反求和)
13~20字节:源IP,目的IP。
20~之后可能有IP选项,可能就直接为数据了,其中IP选项最一般的用途是来记录IP包的发送途径的。


好了,IP基本协议大致如此,好累,睡觉去了。

[ 本帖最后由 我是菜鸟哦 于 2013-4-5 06:52 编辑 ]
搜索更多相关主题的帖子: IP协议 IP地址 而且 IP协议 IP地址 而且 
2013-04-04 15:04
wsf854347546
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-1-11
收藏
得分:0 
2013-04-15 21:26
计科1102
Rank: 1
等 级:新手上路
帖 子:56
专家分:9
注 册:2013-4-26
收藏
得分:0 
顶起!
2013-05-07 18:04
问你的心
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-7-11
收藏
得分:0 
2014-07-11 17:10
快速回复:【菜鸟学网络三】网络学习笔记
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024865 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved