{"id":768,"date":"2008-05-05T11:38:00","date_gmt":"2008-05-05T03:38:00","guid":{"rendered":"http:\/\/note.systw.net\/note\/?p=768"},"modified":"2023-11-05T11:55:03","modified_gmt":"2023-11-05T03:55:03","slug":"ipv4","status":"publish","type":"post","link":"https:\/\/systw.net\/note\/archives\/768","title":{"rendered":"IPv4"},"content":{"rendered":"\n<p>ipv4(Internet Protocol v4,\u7db2\u969b\u7db2\u8def\u5354\u5b9a\u7b2c4\u7248)<br>\u65bc1981\u5e74\u5b9a\u7fa9\u5728RFC791<br>\u7db2\u969b\u7db2\u8def\u4e2d\u8b58\u5225\u96fb\u8166\u7528<br>IP\u4f4d\u5740\u70ba32bit,\u75314\u500b8bit\u7d44\u6210<\/p>\n\n\n\n<p id=\"t_8t\">IP\u7279\u8272<br><strong>Connectionless packet Delivery Service<\/strong><br>\u3000\u6839\u64da\u4fe1\u606f\u5167\u4f4d\u5740\u50b3\u9001\u8cc7\u6599\ufe50\u4e0d\u78ba\u4fdd\u6bcf\u500b\u8def\u7531\u7684\u5c01\u5305\u662f\u53ef\u9760\u548c\u4f9d\u5e8f\u7684\u9001\u9054\u76ee\u7684\u5730<br>\u3000\u5c01\u5305\u6392\u5e8f\uff1a\u7121\u9806\u5e8f\u8cc7\u6599\u5148\u5b58\u5728\u7de9\u885d\u5668\u4e2d\uff0c\u76f4\u5230\u6309\u9806\u5e8f\u6536\u9f4a\u624d\u5f9e\u7de9\u885d\u5668\u9001\u51fa<br><strong>Network Technology Independent<\/strong><br>\u3000\u6709\u4e00\u5957\u8cc7\u6599\u5305\u898f\u5247\u548c\u5b9a\u7fa9,\u7368\u7acb\u8207\u786c\u9ad4\u4e4b\u4e0a,\u61c9\u7528\u5728\u4e0d\u540c\u7684\u7db2\u8def<br><strong>Universal Interconnection<\/strong><br>\u3000\u9023\u63a5\u7db2\u8def\u5c07\u7372\u5f97\u7368\u4e00\u7121\u4e8c\u7684\u8b58\u5225\u4f4d\u5740<br><strong>unreliable protocol<br><\/strong>\u3000\u4e26\u4e0d\u57f7\u884c\u932f\u8aa4\u6aa2\u67e5\u8207\u66f4\u6b63,\u56e0\u70ba\u9019\u662f\u7531\u4e0a\u5c64\u5354\u5b9a\u5b8c\u6210<\/p>\n\n\n\n<p id=\"wk43\">\u4f9d\u7528\u9014\u5206\u70ba:<br><strong>public ip<\/strong>(\u516c\u958b\u4f4d\u5740)<br>\u7368\u4e00\u7121\u4e8c\u7684,\u5728\u516c\u958b\u7db2\u8def\u4e0a\u4e0d\u53ef\u80fd\u6709\u76f8\u540c\u7684pubic ip<br>\u9700\u5f9eisp\u6216\u4ed8\u8cbb\u767b\u9304\u53d6\u5f97<br><strong>private ip<\/strong>(\u79c1\u6709\u4f4d\u5740)<br>\u4f9dRFC 1918\u5c07class a,b,c\u4e2d\u90e8\u4efdip\u4fdd\u7559\u7d66\u5167\u90e8\u79c1\u7528<br>\u53ea\u9650\u65bc\u5167\u90e8\u7db2\u8def\u4f7f\u7528<br>\u7121\u6cd5\u8def\u7531\u5728internet,\u5916\u7db2router\u9047\u5230\u6b64\u985eip\u6703\u7acb\u5373\u5ffd\u7565<br>ps:\u5c07private ip\u8f49\u63db\u6210public ip\u53ef\u4f7f\u7528nat(\u7db2\u8def\u4f4d\u5740\u8f49\u63db)<\/p>\n\n\n\n<p id=\"h50m\">ipv4\u67093\u7a2e\u683c\u5f0f<br>unicast(\u55ae\u64ad):\u4e00\u5c0d\u4e00\u7684\u901a\u8a0a,\u50c5\u6307\u5411\u7db2\u8def\u4e0a\u7684\u4e00\u53f0\u4e3b\u6a5f,\u53ea\u6709\u4e00\u4efd\u8907\u88fd\u7684\u5c01\u5305\u6703\u9001\u9054\u6b64\u4f4d\u5740\u6240\u5c0d\u61c9\u7684\u96fb\u8166<br>ex:\u4f86\u6e90\u50b3\u9001\u7d6610\u500b\u76ee\u5730\u4e14\u8cc7\u6599\u76f8\u540c\u6642,\u8981\u50b310\u500b\u76f8\u540c\u7684packet<br>broadcast(\u5ee3\u64ad):\u4e5f\u7a31\u7b2c\u4e09\u5c64\u5ee3\u64ad,\u9001\u51fa\u4e00\u500b\u5c01\u5305\u8b93\u7db2\u8def\u4e0a\u7684\u96fb\u8166\u90fd\u6536\u53ef\u6536\u5230\u4e00\u4efd,(\u7121\u6548\u7387,\u56e0\u8981\u4ea4\u7531\u7cfb\u7d71\u6c7a\u5b9a\u662f\u5426\u4fdd\u7559)<br>multicast(\u591a\u64ad):\u548c\u5ee3\u64ad\u5f88\u50cf,\u4f46\u7db2\u5361\u4e0d\u6703\u5c07\u8a0a\u6846\u4ea4\u7531cpu(\u7db2\u5361\u53ea\u6536\u7b26\u5408\u8a2d\u5b9a\u7684\u8a0a\u6846),\u4f46\u9808\u6307\u591a\u91cd\u50b3\u64ad\u4f4d\u5740\u7d66\u6307\u5b9a\u96fb\u8166\u7528<br>\u3000multicast ip\u65bc\u7db2\u8def\u4e0a\u662f\u552f\u4e00\u7684,\u53ef\u5c07\u5c01\u5305\u5c0e\u5411\u7d66\u4e8b\u5148\u5b9a\u7fa9\u7684\u4e00\u7fa4ip\u4f4d\u5740\u4e2d,\u56e0\u6b64\u55ae\u4e00\u5de5\u4f5c\u7ad9\u53ef\u540c\u6642\u5c07\u55ae\u4e00\u7684\u8cc7\u6599\u4e32\u6d41\u50b3\u7d66\u591a\u63a5\u6536\u8005<br>\u3000multicast ip\u53ea\u80fd\u4f7f\u7528class d\u7db2\u6bb5\uff0c\u4e00\u500bmulticast ip\u53ef\u4ee5\u5305\u542b\u591a\u500b\u7bc0\u9ede\uff0c\u4e00\u500b\u7bc0\u9ede\u53ef\u4ee5\u52a0\u5165\u591a\u500b\u4e0d\u540c\u7684multicast ip<br>ps:ether multicast\u70ba\u7db2\u8def\u5361\u591a\u9ede\u50b3\u64ad\u4f4d\u5740,\u8868\u793a\u683c\u5f0f\u70ba\u6700\u9ad8\u4f4d\u5143\u7d44\u7684\u6700\u4f4e\u4f4d\u5143\u70ba1 ex:0100:0000:0000&nbsp;<br>ps:multicast ip\u7684low-order 23bit\u6703\u5c0d\u6620\u5230ethernet address\u7684low-order 23bit ,ex:224.0.0.2 &gt; 0100:5e00:0002<br>ps:\u7576\u4e00\u7fa4\u4e3b\u6a5f\u8981\u9032\u884c\u901a\u8a0a\u6642,\u4e3b\u6a5f\u6703\u9078\u5b9a\u67d0\u4e00\u7fa4\u64ad\u4f4d\u5740,\u800c\u7528\u4e00\u7fa4\u7d44\u5167\u7684\u6240\u6709\u4e3b\u6a5f\u7684\u7db2\u8def\u5361\u7d93\u8a3b\u518a\u8a2d\u5b9a\u5f8c,\u5404\u4e3b\u6a5f\u5c07\u6703\u6536\u5230\u4e00\u4efd\u50b3\u9001\u7d93\u6b64\u7fa4\u64ad\u4f4d\u5740\u7684\u5c01\u5305\u8907\u672c<br>ps:igmp<br>\u7528\u4f86\u6c7a\u5b9a\u90a3\u4e9b\u4e3b\u6a5f\u8981\u52a0\u5165multicast group,\u4ee5\u53ca\u548cmutlicast group\u5167\u4e3b\u6a5f\u901a\u8a0a&nbsp;<br>\u7576\u4e3b\u6a5f\u52a0\u5165multicast group\u6642,\u6703\u50b3\u9001igmp\u8a0a\u606f\u5230group multicast address\u8072\u660e\u4ed6\u7684\u7fa4\u7d44&nbsp;<br><\/p>\n\n\n\n<p id=\"h50m\">ps:\u8a2d\u5099\u9700\u652f\u63f4\u624d\u53ef\u4f7f\u7528multicast<br>ex:\u4f86\u6e90\u50b3\u9001\u7d6610\u500b\u76ee\u5730\u76ee\u8cc7\u6599\u76f8\u540c\u6642\u53ea\u8981\u50b31\u500bpacket,\u7136\u5f8c\u8a2d\u5099\u6703\u8655\u7406\u50b3\u9001\u523010\u500b\u76ee\u5730\u7684\u5de5\u4f5c<\/p>\n\n\n\n<p id=\"su8b\">&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<\/p>\n\n\n\n<p id=\"pb9l\">IP \u5c01\u5305\u8868\u982d\u683c\u5f0f<br>\u53ef\u53c3\u8003RFC-791,RFC-1122,RFC-815,RFC-1700<br>header+data\u6700\u592765536bytes<br>ps:ethernet frame\u53ea\u67091492byte\u7684\u7a7a\u9593\u53ef\u653eip pakcet<br><br>header\u662f20byte,\u82e5\u542boption\u8207padding\u6700\u5927\u53ef\u523060byte,\u5982\u4e0b:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Version<\/td><td>IHL<\/td><td colspan=\"2\">Type of Service<\/td><td colspan=\"4\">Total Length<\/td><\/tr><tr><td colspan=\"4\">Identification<\/td><td>Flags<\/td><td colspan=\"3\">Fragmentation Offset<\/td><\/tr><tr><td colspan=\"2\">Time To Live<\/td><td colspan=\"2\">Protocol<\/td><td colspan=\"4\">Header Checksum<\/td><\/tr><tr><td colspan=\"8\">Source Address<\/td><\/tr><tr><td colspan=\"8\">Destination Address<\/td><\/tr><tr><td colspan=\"5\">Options<\/td><td colspan=\"3\">Padding<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>ps:\u4e0a\u8868\u6bcf\u884c\u70ba4byte<br>ps:identification,flags,fragmentation offset\u901a\u5e38\u4e0d\u6703\u7528\u5230<\/p>\n\n\n\n<p id=\"pb9l\">\u5404\u6b04\u4f4d\u8aaa\u660e\u5982\u4e0b:<br>Version(\u898f\u683c\u7248\u672c) 4bit,ver4\u88680x4<br>IHL(Internet Header Length,\u6a19\u982d\u9577\u5ea6) 4bit&nbsp;\u503c\u70ba5\u4ee3\u88685*4byte\u886820byte<br>TOS(Type of Service\u670d\u52d9\u985e\u578b):\u5206\u70ba\u4ee5\u4e0b\u5b50\u6b04\u4f4d<br>\u3000precedence(3bit):\u503c\u8d8a\u5927\u8d8a\u91cd\u8981<br>\u3000TOS(4bits):\u7d44\u5408\u5982\u4e0b<br>\u3000\u30001000\u4ee3\u8868minimize delay(\u6700\u5c0f\u5ef6\u9072)<br>\u3000\u30000100\u4ee3\u8868maximize throughput(\u6700\u5927\u6d41\u91cf)<br>\u3000\u30000010\u4ee3\u8868maximize reliability(\u6700\u9ad8\u53ef\u9760\u5ea6)<br>\u3000\u30000001\u4ee3\u8868minimize monetary cost(\u6700\u5c0f\u6210\u672c)<br>\u3000\u30000000\u4ee3\u8868normal service<br>\u3000MBZ(1bit)<br>TL(Total Length,\u5c01\u5305\u7e3d\u9577)16bit,\u6a19\u982d\u548c\u6578\u64da\u7684\u7e3d\u548c,\u6700\u5927\u9577\u5ea665536byte(0-65535)<br>ID(Identification,\u8b58\u5225\u78bc)16bit,\u7684\u552f\u4e00\u8b58\u5225\u78bc,\u5c01\u5305\u91cd\u7d44\u4f9d\u64da,\u540c\u5c01\u5305\u88ab\u5207\u7684\u788e\u7247,id\u7686\u76f8\u540c<br>FL(Flag,\u65d7\u6a19)3bit,\u5728\u50b3\u8f38\u4e2d\u9032\u884c\u6700\u4f73\u7d44\u5408\u6642\u7528\u7684,\u5206\u70ba\u4ee5\u4e0b\u5b50\u6b04\u4f4d:<br>\u3000\u4fdd\u7559,1bit<br>\u3000\u4e0d\u5206\u6bb5,1bit,1\u8868\u4e0d\u53ef\u5206\u5272DF(do not fragment)\u5e38\u7528\u65bc\u6e2c\u8a66,0\u8868\u53ef\u5206\u5272<br>\u3000\u66f4\u591a\u6bb5\u4f4d,1bit,1\u8868\u9084\u6709\u66f4\u591a\u5206\u5272\u5c01\u5305MF(more fragment),0\u8868\u793a\u70ba\u6700\u5f8c\u4e00\u500b\u788e\u7247<br>FO(Fragment Offset,\u5206\u5272\u5b9a\u4f4d)13bit,\u82e5\u5c01\u5305\u672a\u5207\u5272\u5247\u503c\u70ba0<br>\u3000\u5c01\u5305\u6bd4mtu\u5927\u6642,\u8981\u5207\u6210fragment(\u788e\u7247)\u4e26\u8a18\u9304,\u6700\u591a\u7247\u6bb5\u65788192*8=\u6700\u5927\u8cc7\u6599\u9577\u5ea665536byte<br>TTL(Time To Live,\u5b58\u6d3b\u6642\u9593)8bit,IP\u4ee5hop\u70ba\u55ae\u4f4d<br>\u3000\u6700\u5927\u5b58\u6d3b\u671f\u70ba255,\u6bcf\u8df3\u4e00\u7ad9\u5c31\u6e1b1,\u7528\u4f86\u907f\u514d\u7121\u6b62\u5883\u7684\u50b3\u9001,\u4f46Win2000\u662f128<br>PROT(Protocol,\u5354\u5b9a)8bit,\u8a72\u5c01\u5305\u6240\u4f7f\u7528\u7684\u7db2\u8def\u5c64\u5354\u5b9a\u985e\u578b<br>\u3000\u5e38\u898b\u7684\u70ba:icmp=1,tcp=6,igrp=9,udp=17,ipv6=41,gre=47,eigrp=88,ospf=89,ipx in ip=111,l2tp=115<br>HC(Header Checksum,\u6a19\u982d\u6aa2\u9a57\u503c)16bit,\u63a5\u6536\u7aef\u6aa2\u932f\u7528,OK\u5247\u9001\u78ba\u8a8d\u4fe1\u606f\u8868\u6b63\u5e38<br>\u3000\u53ea\u6aa2\u67e5header\u3000<br>\u3000\u6bcf\u8df3\u4e00\u7ad9\u90fd\u6703\u91cd\u65b0\u8a08\u7b97hc,\u6703\u589e\u52a0\u8a2d\u5099\u8ca0\u64d4<br>\u3000\u65e9\u671f\u6709\u9700\u8981,\u4f46\u56e0\u73fe\u5728\u7db2\u8def\u54c1\u8cea\u826f\u597d\u6b64\u6b04\u4f4d\u53ef\u7701\u7565<br>SA(Source IP Address,\u4f86\u6e90\u4f4d\u5740)32bit<br>DA(Destination IP Address,\u76ee\u7684\u5730\u4f4d\u5740)32bit<br>Options(\u9078\u9805) \u8b8a\u52d540byte,\u67d0\u4e9b\u7279\u6b8a\u7684\u5c01\u5305\u9700\u8981\u7279\u5b9a\u7684\u63a7\u5236<br>security(\u5b89\u5168):\u63cf\u8ff0\u8cc7\u6599\u4fdd\u5bc6\u7a0b\u5ea6<br>\u3000strict source routing(\u56b4\u683c\u4f86\u6e90\u8def\u7531):\u53ea\u53ef\u8d70\u6307\u5b9a\u7684\u8def\u5f91,\u56e0\u767c\u751f\u91cd\u5927\u8cc7\u5b89\u4e8b\u4ef6\u73fe\u5df2\u8f03\u5c11\u5728\u7528\u3000<br>\u3000loose source routing(\u5bec\u9b06\u4f86\u6e90\u8def\u7531):\u9700\u7d93\u904e\u6307\u5b9a\u7684\u8def\u5f91<br>\u3000record route(\u8a18\u9304\u8def\u5f91):\u628a\u7d93\u904e\u7684\u8def\u7531\u5668ip\u8a18\u9304\u4e0b\u4f86<br>\u3000timestamp(\u6642\u9593\u6233\u8a18):\u628a\u7d93\u904e\u7684\u8def\u7531\u5668\u7684\u6642\u9593\u8a18\u9304\u4e0b\u4f86<br>padding(\u88dc\u4f4d):\u6b64\u6b04\u4f4d\u6703\u52a0\u5165\u984d\u5916\u76840,\u4fdd\u8b49ip\u8868\u982d\u70ba32bit\u9577\u5ea6\u4e4b\u500d\u6578<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ipv4(Internet Protocol v4,\u7db2\u969b\u7db2\u8def &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[25],"tags":[],"class_list":["post-768","post","type-post","status-publish","format-standard","hentry","category-osi-layer3"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/comments?post=768"}],"version-history":[{"count":0,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/768\/revisions"}],"wp:attachment":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/media?parent=768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/categories?post=768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/tags?post=768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}