TCP/IP详解读书笔记一 IP/ARP/RARP/ICMP

自己已经做过两个网络通讯的软件了,但是一直也没有静下心来,把TCP/IP完整地看完,总是缺什么看什么,这回一定要保证看完,同时我要记录下来。

由于是自己的心得,所以也不见得正确和系统,主要还是留着自己以后看的。

一、IP路由选择和掩码,比较容易理解,IP包想要发出去,得知道出的包在哪个子网上。

      掩码可以完成识别子网这个功能,掩码位置上为1的为网络号和子网号,为0的,就是主机号。大家使用的最多的是255.255.255.0这种掩码,其实掩码还是ffffff00来表示好理解得多,    平常用的24位掩码,有时候也需要使用变长掩码25位、28位的,所以使用255.255.X.X来表示看着还是挺难理解的。

     你的包还得发给你的路由器,如果是 自己机器所在的子网,当然直接可以传过去啦,如果不是,那么依赖路由器的路由表和转发呗。这个比较好理解,你的目的地址路由认为可以转发。

   我在此处有个问题留在这儿,我们家中的网络,有两三台电脑,都连在一台路由器上,路由器可以把我的包通过N层转发发送给门户网站,门户网站最后能够把包回复给我的路由器,这个比较好理解,但是我的路由器怎么知道这个包是我的台式电脑发的,而还是我的笔记本发的? 我的想像是我的包在经过家中路由器转发时,肯定源地址会被换成路由器上的外网IP地址,但是IP包从公网回来后,依靠的是端口和IP包标记的映射?还是其它什么机制?找到我们电脑?

希望我在这边书读完后能够找到答案。

 

二、ARP和RARP 简单地说,就是IP包是走在以上网上的,所以发送IP包的时候必须要知道以太网的地址,这里就需要使用ARP去广播询问IP 192.168.0.X在哪个以太网地址上,告诉这个询问的机器。

      这里比较特殊的是,有个免费ARP,就是询问自己的IP在哪台机器上,如果有收到回复,那么就是我们经常在操作系统上看到的提示,你的IP和其它的机器冲突啦;

      免费ARP还有个作用,就是自己如果换了张网卡,这样可以广播给大家,IP没有变,以太网地址变了。

 

三、ICMP

最初一直以为ping就是icmp的实现,发现好像ping只是icmp的一部分功能。

   3.1:  ICMP可以请求各个机器的掩码。

   3.2: ICMP可以请求机器的时间,发送方填写发送时间戳(时间是以UTC时间为标准),接送方回复接收时间时间戳和传送时间戳。以毫秒为单位,

    大部分实现直接将接受时间和传送时间戳。

    3.3: ICMP可以表示端口不可达,我的理解,进程收到一份相关的报文,即可回复ICMP的端口不可达报文。

    3.4: ICMP的请求回显报文,通过此报文可以查看是否丢包,以及网络是否延时,ping程序发送的就是ICMP的请求回显报文。

    3.5: ping上也支持选项显示报文转发过程中出口IP或者时间戳,不过好像windowsXp上默认的ping都并不支持这个功能。

    3.6:ICMP还可以给主机回得重定向的ICMP报文,使主机的路由表能够学习到路由。

     3.7:ICMP可以让主机请求路由,同时路由器可以回复通知响应路由器的地址和优先级,用以让主机更新自己的默认路由项


其实TCP/IP看完了都没有找到我之前留给自己的问题:)

问题在这本书中找不到答案中,这个问题是由NAT去实现的。

NAT的介绍。

http://baike.baidu.com/link?url=qy3GgQof07ux5EiEKQJaCRFsskOBdrqscvZxe6dYyH27H_SN2rD1io3pttTq-6m2


家中的电脑传出的包 会在NAT处(在家中就是家用路由器啦)。如 

内部ip8(port5)  会被NAT转换成 外部ip1(port1)

内部ip10(port3)  会被NAT转换成 外部ip1(port2)

内部ip1(port12)  会被NAT转换成 外部ip1(port3)

有这了这样的映射,PC和笔记本、手机等等各自上网,互不影响:)

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值