ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:53.19KB ,
资源ID:2768260      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2768260.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(tcp和ip总结.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

tcp和ip总结.docx

1、tcp和ip总结水木社区 - Blog - XCHBINsHomexchbin 的Blog - XCHBINsHome 所见所想所得TCP/IP学习笔记(全)作者:xchbin发表时间:2004-04-27 09:22:37更新时间:2004-04-27 09:22:37浏览:259次主题:其他类别评论:0篇地址:202.194.20.* :栏目: 好文共享program视频编码网络相关一、TCP/IP结构:TCP/IP是一个四层协议,结构如下:1、应用层:各种应用程序和协议,如Http、FTP等。2、传输层:TCP和UDPTCP提供一种可靠的运输层服务,但UDP是不可靠的,不能保证数据报到正

2、确到达目的地。3、网络层:IP、IGMP、ICMPIP提供的是一种不可靠的服务,也就是尽可能块地把分组从源节点送到目的节点,但并不提供任何可靠性保证。ICMP是IP的附属协议,主要用来交换错误报文,IGMP是组管理协议,用来将UDP数据报多播到多个主机。4、链路层:设备驱动程序和网卡等二、IP地址和子网掩码要学习TCP/IP协议,首先要提到的是IP地址。每台主机的IP地址是一个32位的二进制数。每个IP地址被分割位两部分:前缀和后缀。前缀用来确定计算机从属的物理网络,后缀用来确定网络上单独的计算机。互联网上每一个物理网络都有一个唯一的值作为网络号,该网络号必须全球一致。1、IP地址分类:IP地

3、址分位五类:A类、B类、C类、D类、E类,其中A类、B类和C类为基本类,D类用于多播,E类属于保留类,现在不用。它们的格式如下(其中*代表网络号):A类:0*XXXXXXXXXXXXXXXXXXXXXXXXB类:10*XXXXXXXXXXXXXXXXC类:110*XXXXXXXXD类:1110*XXXXXXXXXXXXXXXXXXXXXXXXE类:1111*XXXXXXXXXXXXXXXXXXXXXXXX这样,A类地址的范围为:0.0.0.0-127.255.255.255B类地址的范围为:128.0.0.0-191.255.255.255C类地址的范围为:192.0.0.0-223.255.

4、255.255D类地址的范围为:224.0.0.0-239.255.255.255E类地址的范围为:240.0.0.0-247.255.255.266几个特殊IP地址网络地址:IP地址中主机地址全为0的地址,如128.211.0.0。广播地址:IP地址中主机地址全为1的地址,如128.211.255.255。环回地址:127.0.0.1,主要用于测试。2、子网掩码:现在的主机都要求支持子网掩码,不再把IP地址看成为由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。例如一个B类地址(140.252),在剩下的16位中,8位用于子网号,8位用于主机号,这样就允许254个

5、子网,每个子网就可以有254台主机。为了确定多少位用于子网号,多少位用于主机号,这就要用到子网掩码了。其中值为1的位留给网络号和子网号,为0的位留给主机号。三、数据包的封装和分用1、封装:应用程序TCP/UDPIP以太网2、分用:以太网IPTCP/UDP应用程序以太网首部(14)IP首部(20)TCP首部(20)应用数据以太网尾部(4)四、IP首部:IP协议是TCP/IP协议族中最核心的协议,所有的TCP、UDP、ICMP和IGMP数据都以IP数据报格式传输。IP传输的两个特点:不可靠和无连接。IP协议并不保证数据报能成功地到达目的地,也不维护后续数据报的状态信息。必须由上层协议处理。4位版本

6、4位首部长度8位服务类型16位总长度(字节数)16位标识3位标志13位片偏移8位TTL8位协议16位首部检验和32位源IP地址32位目的IP地址IP首部定义:typedefstructip_hdrunsignedcharip_verlen;/4-bit版本号/4-bit首部长度(in32-bitwords)unsignedcharip_tos;/IP服务类型unsignedshortip_totallength;/总长度(字节数)/第一个32位unsignedshortip_id;/标识unsignedshortip_offset;/3位标志,13位分片偏移,#defineIP_DF0x400

7、0/0x4000dontfragmentflag#defineIP_MF0x2000/0x2000morefragmentflag#defineIP_OFFMASK0x1fff/0x1fffmaskforfragmentingbits/第二个32位unsignedcharip_ttl;/生存时间unsignedcharip_protocol;/上层协议unsignedshortip_checksum;/首部检验和/第三个32位unsignedintip_srcaddr;/源IP地址/第四个32位unsignedintip_destaddr;/目的IP地址/第五个32位ip,IPV4_HDR,*

8、PIPV4_HDR,FAR*LPIPV4_HDR;说明:ip_verlen前4位目前为4,表示为IPv4,后4位为5,表示首部长度为5X4=20个字节。ip_tos为服务类型(typeofservice),aaabbbbc,aaa为优先权子字段,现在已被忽略,bbbb为TOS子字段,代表:最小时延、最大吞吐量、最高可靠性和最小费用,c未使用必须为0。如果bbbb均为0,则表示为一般服务。目前大多数TCP/IP实现都不支持TOS特性。ip_totallength为IP数据报的总长度,以字节为单位,因此理论最大值为65535,但实际是不可能的。ip_id为唯一标识主机发送的每一个数据报,通常每发一

9、份它的值就会加1。ip_off前3位标志abc,a为保留,必须为0,b为不分片标志,c为更多分片标志。ip_off后13位为分片位置,以8字节为单位计算。因此,除最后一个分片外,其他每个分片都希望是一个8字节倍数的数据,从而使后面的分片从8字节边界开始。ip_ttl为IP报的生存周期,每经过一个路由器就减1,如果该字段为0,则该数据报被丢弃。ip_protocol:1=ICMP,2=IGMP,3=TCP,17=UDPip_checksum为数据报的首部检验和。计算方法如下:USHORTchecksum(ip*ip,intsize)unsignedlongcksum=0;while(size1)

10、cksum+=*(USHORT*)ip)+;size-=sizeof(USHORT);if(size)cksum+=(USHORT)*(UCHAR*)ip;cksum=(cksum16)+(cksum&0xffff);cksum+=(cksum16);return(USHORT)(cksum);ICMP、IGMP、TCP和UDP协议也采用相同的检验和算法。五、端口号:TCP/UDP都使用一个16bit地端口号来表示不同地程序。1、知名端口:一般介于1255之间,例如:FTP的TCP端口号是21。2、临时端口,由于客户端对端口号一般并不关心,只需保证唯一就可以了,所以系统一般分配临时端口号。六、

11、链路层:(以以太网为例,地址为48bit)1、链路层的功能:为IP模块发送和接收IP数据报为ARP模块发送ARP请求和接收ARP应答为RARP模块发送RARP请求和接收RARP应答2、以太网的封装,以太网IP数据报的封装在RFC894中定义的:目的地址(6)源地址(6)类型(2)数据(46-1500),包括IP、ARP、RARPCRC(4)对于ARP和RARP请求/应答数据报大小只有28字节,为了达到46字节的最小长度,必须在后面添加18字节的填充字节。七、环回地址:一般把127.0.0.1分配给这个接口,并命名为localhost,一个发给环回接口的IP数据报不能在任何网络上出现。1、传给环

12、回地址的任何数据均作为IP输入。2、传给广播地址和多播地址的数据报复制一份传给环回接口,然后送到以太网上。3、任何传给该主机IP地址的数据均送到环回接口。八、最大传输单元MTU:以太网对数据帧的长度都有限制,其最大值为1500。链路层的这个特性叫做最大传输单元MTU。如果一个IP数据报比MTU大,那IP层就必须进行分片,把数据报分为若干片。如果两台主机间的通信要通过多个网络时,那么每个网络的链路层可能有不同的MTU。重要的不是两台主机所在网络的MTU,重要的是两台主机路径中的最小MTU,它被成为路径MTU。九、IP路由选择如果目的主机与源主机直接相连或都在一个共享网络上,那么IP数据报就直接送

13、到目的主机上。否则主机就会把数据报发送到一个默认的路由器上,由该路由器来转发该数据报。IP层在内存中有一个路由表,当收到一份数据报并进行发送时,它都要对该表搜索一次。当数据报来自某个网络接口时,IP首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址。如果是这样,数据报就被送到由IP首部协议字段所指定的协议模块进行处理,否则如果IP层被设置为路由器的功能,那么就对数据报进行转发,否则丢弃数据报。我们来看看路由表是什么:C:WINNTsystem32routePRINT=InterfaceList0x1.MSTCPLoopbackinterface0x1000003.000802ca2d

14、11.Intel8255x-basedIntegratedFastEthernet=ActiveRoutes:NetworkDestinationNetmaskGatewayInterfaceMetric目的地掩码网关主机0.0.0.00.0.0.0192.1.8.26192.1.8.841127.0.0.0255.0.0.0127.0.0.1127.0.0.11192.1.8.0255.255.255.0192.1.8.84192.1.8.841192.1.8.84255.255.255.255127.0.0.1127.0.0.11192.1.8.255255.255.255.255192.

15、1.8.84192.1.8.841224.0.0.0224.0.0.0192.1.8.84192.1.8.841255.255.255.255255.255.255.255192.1.8.84192.1.8.841DefaultGateway:192.1.8.26=IP路由的主要功能:1、搜索路由表,寻找与目的IP地址完全匹配的表目,如果找到,则将数据报发给该表目指定的下一站路由器或直接连接的网络接口。2、搜索路由表,寻找能与目的网络号相匹配的表目,如果找到,则将数据报发给该表目指定的下一站路由器或直接连接的网络接口。一、ARP:地址解析协议先看:C:document.andSettingsx

16、iaojarp-aInterface:192.1.8.84onInterface0x1000003InternetAddressPhysicalAddressType192.1.8.1200-0b-cd-03-c4-27dynamic192.1.8.1500-0d-9d-93-09-f5dynamic192.1.8.1800-e0-18-c1-86-3ddynamic192.1.8.2600-80-2d-78-4f-81dynamic192.1.8.3300-0b-cd-0f-a4-c5dynamic192.1.8.3800-30-6e-36-5f-99dynamic192.1.8.8600-

17、0b-cd-b8-0c-aedynamic192.1.8.24700-50-ba-e5-20-afdynamic192.1.8.24800-0d-56-19-ba-56dynamic第一列显示的是主机的IP地址,第二列就是主机的网卡MAC地址。ARP协议就是提供IP地址到对应的硬件地址提供动态映射。这个过程一般是系统自动完成的。ARP发送一份ARP请求给以太网上的主机,该请求中包含目的主机的IP地址,其意思是“如果你是这个IP的拥有者,请回答你的硬件地址”。当目的主机的ARP层收到这份广播报文时,识别出这是发送端在询问它的IP地址,于是就会发送一个ARP应答,这个ARP应答包括IP地址及对应的

18、硬件地址。二、ARP分组格式以太网目的地址6以太网源地址6帧类型2硬件类型2协议类型2硬件地址长度1协议地址长度1请求应答1发送者硬件地址6发送者IP地址4目的硬件地址6目的IP地址4先看定义:/ARP首部structarphdr(u_shortar_hrd;/硬件类型u_shortar_pro;/协议类型u_charar_hln;/硬件地址长度u_charar_pln;/协议地址长度u_shortar_op;/请求还是应答u_chararp_sha6;/发送者硬件地址u_chararp_spa4;/发送者IP地址u_chararp_tha6;/目的硬件地址u_chararp_tpa4;/目的

19、IP地址u_chararp_zero18;/填充字段;说明:以太网目的地址全为1的特殊地址为广播地址。以太网帧类型ARP对应的值为0x0806。硬件类型表示硬件地址的类型,以太网为1。协议类型字段表示要映射的协议地址类型,IP地址对应的值为0x0800。硬件地址长度:以太网为6。协议地址长度:以太网为4,即IP地址长度。操作字段:ARP请求1,ARP应答2,RARP请求3,RARP应答4。当系统收到一份目的端为本机的ARP请求报文时,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送出去。三、ARP代理:如果ARP请求是从一个网络的主机发往另一个

20、网络的主机,那么连接这两个网络的路由器可以回答该请求,这个过程称为ARP代理,这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机。四、免费ARP指主机启动时发送ARP查找自己的IP地址,主要作用:1、查找网络上有没有相同的IP地址。2、更新ARP缓存。五、RARP协议:逆地址解析协议,这里就不详细介绍了。RARP协议一般用于无盘工作站,根据硬件地址查找IP地址。RARP分组格式与ARP分组格式相同。六、ICMP协议:Internet控制报文协议:ICMP经常被认为是IP层的一个组成部分,它传递差错报文以及其他需要注意的事项。ICMP报文通常被IP层或更高层协议(TCP或UDP)使

21、用。ICMP报文是在IP数据报内部被传输的。ICMP报文包差错报文和查询报文。报文格式如下:8位类型8位代码16位检验和不同类型和代码有不同的内容类型字段可以有15个不同的值(0、35、818)。某些报文还使用代码字段来进一步描述不同的条件。检验和字段覆盖整个ICMP报文,与IP首部检验和算法是一样的。以下情况不会产生ICMP差错报文:ICMP差错报文目的地址为广播地址或者多播地址作为链路层的数据报不是IP分片的第一片源地址不是单个主机的数据报,也即源地址不能为0地址、环回地址、广播地址或多播地址七、ICMP地址掩码请求与应答:ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码,系

22、统广播它的ICMP请求报文。ICMP地址掩码请求和应答报文格式如下:类型(17或18)代码(0)检验和标识符序列号32位子网掩码ICMP报文中的标识符和序列号由发送端任意选择设定,这些值在应答中将被返回。structicmp_maskunsignedcharicmp_type;/类型unsignedcharicmp_code;/代码unsignedshorticmp_checksum;/检验和unsignedshorticmp_id;/标识符unsignedshorticmp_sequence;/序列号unsignedlongicmp_mask;/32位子网掩码;说明:RFC规定,除非是地址掩

23、码的授权代理,否则不能发送地址掩码应答。向本机IP地址和环回地址发送地址掩码请求结果是一样的。八、ICMP时间戳请求与应答:ICMP时间戳请求允许系统向另一个系统查询当前时间,返回的是自午夜开始记算的毫秒数。调用者必须通过其他方法获取当前时间。ICMP时间戳请求与应答报文格式如下:类型(13或14)代码(0)检验和标识符序列号发起时间戳接收时间戳传送时间戳请求端填写发起时间戳,然后发送报文。应答系统收到报文填写接收时间戳,发送应答时填写发送时间戳。实际上,大多数实现将后两个字段一般设置为一样的。structicmp_timeunsignedcharicmp_type;/类型unsignedch

24、aricmp_code;/代码unsignedshorticmp_checksum;/检验和unsignedshorticmp_id;/标识符unsignedshorticmp_sequence;/序列号unsignedlongicmp_request_time;/发起时间戳unsignedlongicmp_receive_time;/接收时间戳unsignedlongicmp_send_time;/传送时间戳;九、ICMP端口不可达差错主机如果收到一份UDP数据报而目的端口与某个正在使用的进程,那么UDP返回一个ICMP不可达报文。报文格式如下:类型3代码(015)检验和保留(必须为0)IP

25、首部原始IP数据报中数据的前8个字节当代码为4时,路径MTU发现机制允许路由器把外出接口的MTU填在这个32bit的低16bit中。structicmp_unreachunsignedcharicmp_type;/类型unsignedcharicmp_code;/代码unsignedshorticmp_checksum;/检验和unsignedlongicmp_zero;/保留unsignedcharicmp_ip28;/IP首部原始IP数据报中前8个字节,也就是地址信息一、Ping程序:先看:/pingC:WINNTsystem32pingsvr00804Pinging192.1.8.12with32bytesofdata:Replyfrom192.1.8.12:b

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2