基础入门

超能量老青蛙 发表于 2007-09-27 10:27:46

TCP/IP协议是一个四层结构:
1.应用层:主要是各种应用程序和协议,比如http,ftp等
2.传输层:应用程序的数据通过TCP、UDP传输
3.网络层:IP,IGMP,ICMP负责把报文尽快的从源节点传送到目的节点
4.链路层:设备的驱动程序和网卡等

一、IP地址和子网掩码
IP地址是一个32位的二进制数,每个IP地址被分割成两部分,前缀是计算机从属的物理网络,后缀是计算机在网络中的位置。IP地址被分为五类,A,B,C三类是基本类,D类用于广播,E类还没有使用
A类:0******* XXXXXXXX    XXXXXXXX   XXXXXXXX      0.0.0.0-127.255.255.255
B类:10******  ********      XXXXXXXX    XXXXXXXX      128.0.0.0-191.255.255.255
C类:110***** ********       ********        XXXXXXXX      192.0.0.0-223.255.255.255
D类:1110**** XXXXXXXX  XXXXXXXX  XXXXXXXX      224.0.0.0-239.255.255.255
E类:1111**** XXXXXXXX  XXXXXXXX  XXXXXXXX      240.0.0.0-255.255.255.255
(*表示网络号,X表示主机号)
由此可见,我们是属于C类的IP地址,前24位网络号,后8位自己的电脑在网络中的位置,我差一点就排不上了。IP地址中主机地址全为0代表的是网络地址,主机地址全为1代表的是广播地址

子网掩码:当需要在主机号中再区分子网号和主机号时,就需要使用子网掩码来确定分配的主机号中多少位用于子网,多少位用于确定主机号。比如,我们的子网掩码是255.255.255.0代表8位的主机号都用做主机号,不要区分子网。

二、数据包的传递和格式
1.数据的封装
应用程序->TCP->IP->以太网
2.数据的分发
以太网->IP->TCP->应用程序
3.数据的格式
以太网首部(14字节)+IP首部(20字节)+TCP首部(20字节)+传递的数据+以太网尾部(4字节)
4.IP首部
4bit版本号+4bit首部长度+8bit服务类型+16bitIP数据包总长度+16bit标识+3bit标志+13bit片偏移+8bitTTL+8bit协议+16bit首部校验和+32bit源IP+32bit目的IP
IP首部的定义
typedef struct ip_hdr
{
    unsigned char ip_verlen;//前四位为4,表示是IPv4,后四位为5,表示首部字节数为5*4=20个字节
    unsigned char ip_tos;//IP的服务类型,为0,表示一般服务
    unsigned short ip_totallength;//IP数据报的总长度,最大可为65535,实际上不可能达到
    unsigned short ip_id;//标识主机发送的报文数目,每发送一份报文,值就加一
    unsigned short  ip_offset;//前三位为分片标志,后十三位表示分片位置
    #define IP_DF 0x4000 //0x4000 don''t fragment flag
    #define IP_MF 0x2000 //0x2000 more fragment flag
    #define IP_OFFMASK 0x1fff //0x1fff mask for fragmenting bits
    unsigned char ip_ttl; // 生存时间,IP报文每经过一个路由器就减一,如果此字段为0,就丢弃此报文
    unsigned char ip_protocol; // 上层协议1-ICMP,2-IGMP,3-TCP,17-UDP
    unsigned short ip_checksum; // 首部检验和
    unsigned int ip_srcaddr; // 源IP地址
    unsigned int ip_destaddr; // 目的IP地址
} ip,IPV4_HDR, *PIPV4_HDR, FAR * LPIPV4_HDR;

三、端口号
TCP/UDP使用16位的端口号来表示不同的程序,1-255之间的端口已经被占用。
链路层:为IP模块发送和接收IP数据包,为ARP模块发送ARP请求和接收ARP应答,为RARP模块发送RARP请求和接收RARP应答。
以太网IP数据报:目的地址(6字节)+源地址(6字节)+类型(2字节)+数据(46-1500字节,包括IP,ARP,RARP)+CRC(4字节)
最大传输单元:MTU以太网对数据帧的长度限制是1500个字节,如果一个IP报文字节数大于1500,必须进行分片。
四、ARP地址解析协议
ARP提供IP地址到硬件地址的动态映射,过程如下:ARP向以太网上发送一份ARP请求,该请求中包含目的主机的IP地址,请求的意思是“如果这个IP是你的,麻烦你把你的硬件地址回传给我”;当目的主机的ARP层接收到这个请求时,识别出这是在询问它的硬件地址,就会回复一个ARP应答,回送自己的IP和硬件地址
//ARP首部
struct arphdr(
u_short ar_hrd; //硬件类型,以太网为1
u_short ar_pro; //协议类型
u_char ar_hln; //硬件地址长度
u_char ar_pln; //协议地址长度
u_short ar_op; // 请求还是应答

u_char arp_sha[6]; //发送者硬件地址
u_char arp_spa[4]; //发送者IP地址
u_char arp_tha[6]; //目的硬件地址
u_char arp_tpa[4]; //目的IP地址
u_char arp_zero[18]; //填充字段
};


收藏: QQ书签 del.icio.us 订阅: Google 抓虾

跑步的第七天

超能量老青蛙 发表于 2007-09-27 08:17:39

昨天济南市笼罩在一片烟雾中,整个天空都是昏暗的,本来打算出去跑步的,但是他们说这样的天气跑步对肺很不好。所以没有去
又要往后一天了,这样子就要跑到10.21了。昨天我和小宋比仰卧起坐,吓得他胆颤心惊,直接放弃了。我做了7,8个,完胜。哈哈哈
今天下雨了,空气好多了,不过估计晚上的跑步又要泡汤了
关键词(Tag): 下雨 跑步 烟雾
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

跑度的第六天

超能量老青蛙 发表于 2007-09-26 14:32:09

差点忘了,还没有写上昨天跑步的情况。昨天中午倒是读英语了,但是晚上吃完饭回实验室老师又畅谈了一番,当时已经十点半了。所以,结果是昨天没有跑我第一个十天的休息全部泡汤了,得补上英语和跑步。唉!
关键词(Tag): 跑步 没去
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

中秋之夜吃撑了

超能量老青蛙 发表于 2007-09-26 08:13:43

昨天是中秋,老师请吃饭。其实我真的是没有怎么吃,最起码我感觉没有以前吃得多,但是居然一晚上撑得我难受,都没睡着。不知道是不是前几天吃得少胃口就变小了现在还觉得胃里堵得慌,以后不吃这么多了。

还有就是昨天打电话回家我小外甥女发烧了,宝宝要加油啊,一定要靠自己的力量战胜病毒!姨小时候就是这么干的。

最后一件,有人说我的博客最难看,气死我了,我又没有求着他看,所以我在他博客上留言再也不去了。哼,想当初我还帮他宣传呢,居然以怨报德!真是交友不慎!
关键词(Tag): 中秋
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

跑步的第五天

超能量老青蛙 发表于 2007-09-25 09:02:19

昨天的事情了,不知不觉已经跑了五天了。昨天在操场跑的时候,从后面幽幽的昨天“小赖”“小赖”的声音,我勇敢的回头,居然是三头!他们又来吓唬我要套我的圈,虽然表面上不在乎,还是不自觉的加快了脚步,万一我被套圈了,多没面子啊呼哧呼哧的累死我了,尤其是旁边有几个练习跑步的中学生,很有我当年的风范,一会就套了我好几圈不服老是不行了
 

昨天中午去读英语的时候,我的地盘让人给占了,但是,就是在这么艰苦的环境下,我还是坚持读了半小时。你们说我是不是应该得到奖励,十日之休英语也可以休息呢?
关键词(Tag): 英语 跑步
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

跑步的第四天

超能量老青蛙 发表于 2007-09-25 08:54:12

那天真的值得表扬,周末我出去玩,回来的时候都十点了。但是,一个伟大的人物怎么可能就此放弃呢?只见她低头沉思了一会,把拳头一挥,向世界宣布“跑”。当时去操场已经来不及,所以只能围着小花园跑了。但是不清楚小花园到底有多长,决定跑十圈。跑了一会就后悔这个决定了,真是累啊。比在操场上累多了。尤其是还有一个女生和我反方向跑,开始我不明白她为什么要反着跑,多难受啊,后来又来了好几个跑步的,都反着跑不管他们,鸟多了什么林子都有!总之,我还是鼓励自己跑完了十圈,真的是太累了,出了好多汗,不知道瘦了没有
    不过那天没有读英语来着,为自己的这种行为脸红。十天之后的休息,英语没有份了
关键词(Tag): 跑步 反了
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

跑步的第三天

超能量老青蛙 发表于 2007-09-25 08:51:41

前面有粉丝说怎么第二天没有了,冤枉啊。这个破网站死活上不来,没有办法写啊。跑步的第三天还是跑了六圈,波澜不惊的,感觉自己跑起步来还是很有感觉的,事情过去好几天了,记不住。就这样吧
关键词(Tag): 跑步 忘了
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

跑步的第二天

超能量老青蛙 发表于 2007-09-25 08:46:49

今天真郁闷,好不容易拿到了照片,没想到优盘考出来的就是不能用!真是奇了怪了!
不过照片照的倒是还不错:)基本上算是美化了本人
今天中午的英语进行的还比较顺利,晚上吃完饭后去借书了,之后又去取了两次照片,所以跑度的时候跑了六圈,算是勉强达到要求了吧。不过今天只能拿80分,因为没有做基本的器材锻炼。本来想去拉几下单杠的,没想到有人在那,仔细一看,原来是小李。喊了两声,没理我。想想自己也不是很厉害,就不去显摆了,还是自己暗自练习的比较好。不过小李回来,偶还是嘲笑了他:)今天就是这样,明天继续
关键词(Tag): 跑步 相片
收藏: QQ书签 del.icio.us 订阅: Google 抓虾