TCP/IP小摘

1.主机号和网络号的区别

网络号表示某个IP段,由IP地址和子网掩码运算获得,主机根据此号判断目的主机是在本网段(内网)还是需要送到网关(路由器)在外网上寻找。每个IP地址都被分为两个部分即网络地址(经路由器接入外网)和主机地址(内网)。网络地址=网络号,主机地址=主机号。

两者换算:将IP和子网掩码都转换为32的二进制,进行与运算,得到的结果就是该IP的网络地址或子网地址。与运算的特点是:有0,便为0,全1才为1。

一个主机的IP地址是202.112.14.137,掩码是255.255.255.224的网络地址是202.112.14.128,子网号是128。主机地址是202.112.14.137

当前使用的IP地址有4个字节(32)组成,即IPV4编码方式。每个IP地址包换两部分:网络号和主机号。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之亦然。   
  IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。 
  A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是O,B类地址的前两位总是10,C类地址的前三位总是110。    
  给出一个IP地址,我们可以通过子网掩码确定这个IP地址的网络号和主机号。   
  子网掩码的作用就是将某个IP地址划分成网络地址和主机地址两部分。 例如 
有一个C类地址为:  192.9.200.13  其缺省的子网掩码为: 255.255.255.0   
则它的网络号和主机号可按如下方法得到:  ① IP地址 192.9.200.13    转换为二进制11000000 00001001 11001000 00001101  ② 子网掩码255.255.255.0   转换为二进制11111111 11111111 11111111 00000000  ③ 将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分 
11000000 00001001 11001000 00001101  AND  11111111 11111111 11111111 00000000 ------------------------------------------------------------- 
11000000 00001001 11001000 00000000 =    192    .      9    .    200    .     0 即网络号为192.9.200.0  
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分 
11000000 00001001 11001000 00001101  AND 00000000 00000000 00000000 11111111 ------------------------------------------------------------ 
00000000 00000000 00000000 00001101  =       0     .     0     .      0    .      13 即主机号为13(或者0.0.0.13)。 

2.基本概念

TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。

3.分层:(发送协议的主机自上而下将数据按照协议封装,接受数据的主机则按照协议从得到的数据包解开,最后获取所需要的数据。)

一:应用层 这里面有Http,ftp等我们熟悉的协议

二:传输层 包含TCP和UDP协议

三:网络层 包含IP,负责对数据加上IP地址和其他的数据已确定传输目标

四:数据链路层 这个层次为待传输的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备

五:硬件层 负责网络的传输,这个层次的定义包括网线制式,网卡定义等。

4.数据链路层

三个作用:① 为ip模块发送和接受ip数据报;②为ARP模块发送ARP请求和接受ARP应答;③为RARP发送RARP请求和接受RARP应答

ARP:地址解析协议,用ip地址换MAC(物理)地址的一种协议

RARP:逆地址解析协议

5.协议(TP、ARP、RARP)【三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。】

一:IP协议

①IP协议头

TTL字段规定该数据包可以穿过多少个路由器之后才会被抛弃掉,这里体现出了IP协议包的不可靠性,他不保证数据被送达。ip数据包 每穿过一个路由器,该数据包的TTL数值就会减少1,当该数据包的TTL成为零,它就会被自动抛弃。这个字段的最大值也就是255,也就是 说一个协议包也就在路由器里面穿行255次就会被抛弃了,根据系统的不同,这个数字也不一样,一般是32或者是64,Tracerouter【跟踪显 示】(它可显示数据包在IP网络经过的路由器的IP地址。)这个工具就是用这个原理工作的,tranceroute的-m选项要求最大值是255,也就 是因为这个TTL在IP协议里面只有8bit。

②IP路由选择

特殊:目的主机和主机直连,那么主机根本不用寻找路由,直接把数据传递过去就可以了。至于是怎么直接传递的,这就要靠ARP协议

一般一点的情况是,主机通过若干个路由器(router)和目的主机连接。那么路由器就要通过ip包的信息来为ip包寻找到一个合适的目标来 进行传递,比如合适的主机,或者合适的路由。

㈠ 如果ip数据包的TTL(生命周期)已到,则该IP数据包就被抛弃。

搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一直的目标主机,则将该包发向目标主机

搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这个需要子网掩码的协助,找到则发向路由器

搜索路由表,如果匹配同子网路由器失败,则匹配同网号路由器,找到后发向路由器

搜索路由表,如果以上都失败了,就搜索默认路由,如果默认路由存在,发包

如果都失败了,把包丢掉。

③子网寻址

IP = 网络号+主机号(子网号+主机号);

例如一个B类地址:210.30.109.134。一般情况下,这个IP地址的红色部分就是网络号,而蓝色部分就是子网号,绿色部分就是主机 号。至于有多少位代表子网号这个问题上,这没有一个硬性的规定,取而代之的则是子网掩码,校园网相信大多数人都用过,在校园 网的设定里面有一个255.255.255.0的东西,这就是子网掩码。子网掩码是由32bit的二进制数字序列,形式为是一连串的1和一连串的0 ,例如:255.255.255.0(二进制就是11111111.11111111.11111111.00000000)对于刚才的那个B类地址,因为210.30是网络号,那 么后面的109.134就是子网号和主机号的组合,又因为子网掩码只有后八bit为0,所以主机号就是IP地址的后八个bit,就是134,而剩 下的就是子网号码--109。

二、ARP协议

ARP(地址解析)协议是一种解析协议,本来主机是完全不知道这个IP对应的是哪个主机的哪个接口,当主机要发送一个IP包的时候会首先 一下自己的ARP高速缓存(一个IP-MAC地址对应表缓存),如果查询的IP-Mac值对不存在,那么主机就向网络发送一个ARP协议广播包,这个广 播包里面就有待查询的IP地址,而直接收到这份广播的包的所有主机都会查询自己的IP地址,如果收到广播包的某一个主机发现自己符合条件, 那么就准备好一个包含自己的MAC地址的ARP包传送给发送ARP广播的主机,而广播主机拿到ARP包后会更新自己的ARP缓存(就是存放IP-MAC 对应表的地方)。发送广播的主机就会用新的ARP缓存数据准备好数据链路层的的数据包发送工作。

三、RARP协议

反向地址转换协议就是将局域网中某个主机物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以 通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛用于获取无盘工作站IP地址

四、ICMP(网络控制豹纹)协议

当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误 的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。ICMP数据包由8bit的错误类型和8bit的代码和16bit的校验和组成。而 前 16bit就组成了ICMP所要传递的信息。

为了防止产生ICMP报文的无限传播,源地址不能为零地址、环回地址、广播地 址或多播地址。

ICMP协议大致分为两类,一种是查询报文(ping查询,子网掩码查询、时间戳查询),一种是差错报文

五、ICMP的应用

Ping:单词源自声纳定位,而这个程序的作用也确实如此,它利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发 请 求,受到请求的主机则用类型码为8的ICMP回应。ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。

Traceroute:它受到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是什么吗?)的UDP数据包 ,而经过的第一个路由器 收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达 的ICMP数据报给主机。 主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据 报。如此 往复直到到达目的 主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值