WEB开发网      婵犵數濮烽弫鍛婄箾閳ь剚绻涙担鍐叉搐绾剧懓鈹戦悩瀹犲闁汇倗鍋撻妵鍕箛閸洘顎嶉梺绋款儑閸犳劙濡甸崟顖氬唨闁靛ě浣插亾閹烘鈷掗柛鏇ㄥ亜椤忣參鏌″畝瀣暠閾伙絽銆掑鐓庣仭缁楁垿姊绘担绛嬪殭婵﹫绠撻、姘愁樄婵犫偓娴g硶鏀介柣妯款嚋瀹搞儱螖閻樺弶鍟炵紒鍌氱Ч瀹曟粏顦寸痪鎯с偢瀵爼宕煎☉妯侯瀳缂備焦顨嗗畝鎼佸蓟閻旈鏆嬮柣妤€鐗嗗▓妤呮⒑鐠団€虫灀闁哄懐濮撮悾鐤亹閹烘繃鏅濋梺闈涚墕濡瑩顢欒箛鏃傜瘈闁汇垽娼ф禒锕傛煕閵娿儳鍩f鐐村姍楠炴﹢顢欓懖鈺嬬幢闂備浇顫夊畷妯肩矓椤旇¥浜归柟鐑樻尭娴滃綊姊虹紒妯虹仸闁挎洍鏅涜灋闁告洦鍨遍埛鎴︽煙閼测晛浠滃┑鈥炽偢閹鈽夐幒鎾寸彇缂備緡鍠栭鍛搭敇閸忕厧绶炴俊顖滅帛濞呭洭姊绘担鐟邦嚋缂佽鍊垮缁樼節閸ャ劍娅囬梺绋挎湰缁嬫捇宕㈤悽鍛婄厽閹兼番鍨婚埊鏇㈡煥濮樿埖鐓熼煫鍥ュ劤缁嬭崵绱掔紒妯肩畺缂佺粯绻堝畷姗€濡歌缁辨繈姊绘担绛嬪殐闁搞劋鍗冲畷顖炲级閹寸姵娈鹃梺缁樻⒒閳峰牓寮崒鐐寸厱闁抽敮鍋撻柡鍛懅濡叉劕螣鐞涒剝鏂€闂佺粯鍔曞Ο濠囧吹閻斿皝鏀芥い鏃囨閸斻倝鎽堕悙鐑樼厱闁哄洢鍔屾晶顖炴煕濞嗗繒绠婚柡灞界Ч瀹曨偊宕熼鈧▍锝囩磽娴f彃浜炬繝銏f硾椤戝洨绮绘ィ鍐╃厵閻庢稒岣跨粻姗€鏌ㄥ☉妯夹fい銊e劦閹瑩顢旈崟顓濈礄闂備浇顕栭崰鏍礊婵犲倻鏆﹂柟顖炲亰濡茶鈹戦埄鍐ㄧ祷妞ゎ厾鍏樺璇测槈閵忕姈鈺呮煏婢跺牆鍔撮柛鏂款槺缁辨挻鎷呯粙搴撳亾閸濄儳鐭撶憸鐗堝笒閺嬩線鏌熼崜褏甯涢柡鍛倐閺屻劑鎮ら崒娑橆伓 ---闂傚倸鍊搁崐鐑芥倿閿旈敮鍋撶粭娑樺幘濞差亜鐓涢柛娑卞幘椤斿棝姊虹捄銊ユ珢闁瑰嚖鎷�
开发学院软件开发C++ 网际幕後的无名英雄----IP 原理实务探密 阅读

网际幕後的无名英雄----IP 原理实务探密

 2008-03-08 12:49:44 来源:WEB开发网 闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鎻掔€梺姹囧灩閻忔艾鐣烽弻銉︾厵闁规鍠栭。濂告煕鎼达紕校闁靛洤瀚伴獮鎺楀箣濠靛啫浜鹃柣銏⑶圭壕濠氭煙閻愵剚鐏辨俊鎻掔墛缁绘盯宕卞Δ鍐冣剝绻涘畝濠佺敖缂佽鲸鎹囧畷鎺戭潩閹典焦鐎搁梻浣烘嚀閸ゆ牠骞忛敓锟�婵犵數濮烽弫鍛婃叏椤撱垹绠柛鎰靛枛瀹告繃銇勯幘瀵哥畼闁硅娲熷缁樼瑹閳ь剙岣胯鐓ら柕鍫濇偪濞差亜惟闁宠桨鑳堕崝锕€顪冮妶鍡楃瑐闁煎啿鐖奸崺濠囧即閵忥紕鍘梺鎼炲劗閺呮稒绂掕缁辨帗娼忛埡浣锋闂佽桨鐒﹂幑鍥极閹剧粯鏅搁柨鐕傛嫹闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷  闂傚倸鍊搁崐鐑芥嚄閼哥數浠氱紓鍌欒兌缁垶銆冮崨鏉戠厺鐎广儱顦崡鎶芥煏韫囨洖校闁诲寒鍓熷铏圭磼濡搫顫嶅銈嗗姉閸樠囧煡婢跺á鐔兼煥鐎n兘鍋撴繝姘拺鐟滅増甯掓禍浼存煕閹惧鈽夐柍缁樻煥椤繈鎳滅喊妯诲闂備礁鎲$粙鎴︺偑閺夋垟鏋旈柡鍐e亾缂佺粯绋撴禒锕傚磼濮橆剦鐎抽梻浣哥-缁垶骞戦崶顒傚祦閻庯綆浜栭弨浠嬫煙闁箑澧い鏂垮€规穱濠囨倷椤忓嫧鍋撻弽褜娼栧┑鐘宠壘閸屻劎鎲歌箛娑樼疅闁圭虎鍠楅弲鎼佹煥閻曞倹瀚�
核心提示:在Internet如此风行的今日,一般人所谈论的几乎是在应用方面的范畴,网际幕後的无名英雄----IP 原理实务探密, 很少人会去注重到Internet网路核心中非常重要的一环— ip(Internet PRotocol) 网际网路协定,因此我们非凡开辟此一专栏, 功 能 越 强 也 越 好 用 , 硬 体 也 越 抽

  在Internet如此风行的今日,一般人所谈论的几乎是在应用方面的范畴, 很少人会去注重到Internet网路核心中非常重要的一环— ip(Internet PRotocol) 网际网路协定。因此我们非凡开辟此一专栏, 期望能让各位读者更进一步、从较技术的角度去了解Internet的世界

IP(Internet Protocol网 际 网 路 协 定 ), 是 在 Internet网 路 核 心 非 常 重 要 的 一 环 , 以 OSI而 言 , 它 是 位 於 网 路 资 料 联 结 层 (Data Link Layer)与 传 输 层 (Transport Layer)之 间 的 网 路 层 的 传 输 协 定 . 简 单 的 说 , 它 必 须 把 来 自 上 层 的 资 料 分 封 出 去 , 并 且 把 来 自 下 层 网 路 的 资 料 分 析 , 汇 总 , 然 後 在 往 上 层 的 传 输 层 丢 去 , 此 外 还 必 须 和 ICMP这 位 难 兄 难 弟 合 作 , 以 期 随 时 自 我 调 整 和 监 控 网 路 。

    IP网 际 网 路 协 定 , 多 麽 酷 的 中 文 翻 译 , 顾 名 思 义 , 在 不 同 的 网 路 上 , 只 要 有 了 IP  这 层 通 讯 协 定 , 把 下 层 的 实 体 网 路 介 面 抽 象 化 , 我 们 就 「 出 运 」 啦 ! 它 到 底 是 怎 麽 一 回 事 呢 ? 下 面 我 们 举 出 它 摘 要 。

它 提 供 以 下 的 服 务 :


    (1) 不 可 靠 , 非 联 结 性 的 传 输 。
    (2) 绕 路 的 选 择 。
    (3) 有 限 的 资 料 长 度 。
    (4) 资 料 封 包 和 解 封 包 。
    (5) 网 路 情 况 调 整 和 服 务 。
    (6) 作 为 实 体 网 路 和 传 输 层 的 一 个 介 面 。


但 它 不 提 供 以 下 的 服 务 :

    (1) 流 量 控 制 (只 提 供 一 简 易 的 做 法 )。
    (2) 次 序 控 制 。
    (3) 资 料 检 查 码 (仅 做 HEADER 的 检 查 码 )。
    (4) 逾 时 重 送 。
    (5) 资 料 重 覆 检 查 。
    (6) 资 料 检 知 。


    到 此 , 我 们 已 经 点 出 IP所 提 供 的 重 要 服 务 . 我 们 将 在 以 下 一 点 一 点 的 说 明 ; 而 它 不 提 供 的 服 务 (如 流 量 控 制 , 次 序 控 制 等 )它 的 上 层 TCP都 有 提 供 。 所 以 有 人 说 它 是 网 路 幕 後 无 名 英 雄 , 一 点 也 不 为 过 。 好 康 A 都 被 上 层 抢 走 了 , 剩 下 来 都 是 一 些 吃 力 不 讨 好 的 工 作 , 谁 叫 它 是 无 名 英 雄 呢 ? 不 过 在 网 路 世 界 就 是 如 此 , 各 层 之 间 相 互 合 作 , 各 司 其 职 , 没 有 谁 重 谁 轻 。

揭开IP的面纱
    现 在 , 让 我 们 列 出 以 太 网 路 (Ethernet)的 框 架 ( 图 一 ) , IP的 封 包 格 式 ( 图 二 ) 和 OSI与 Internet( 图 叁 ) , 让 读 者 一 探 其 庐 山 真 面 目 。 ( 为 了 方 便 讨 论 , 我 们 假 设 IP是 架 在 Ethernet之 上 ) 。
    如 果 我 们 以 Ethernet来 传 资 料 , 图 一 的 Ethernet框 架 资 料 栏 将 会 包 含 图 二 的 IP资 料 封 包 。 而 图 二 的 资 料 栏 位 将 会 包 含 上 层 图 叁 TCP/UDP的 封 包 ; 同 理 上 层 封 包 的 资 料 栏 将 会 包 含 上 上 层 的 整 个 封 包 , 而 网 路 就 是 这 样 一 层 一 层 的 运 作 , 封 包 绕 路 , 直 到 到 达 彼 岸 . 到 达 之 後 , 在 解 封 包 , 把 每 层 的 资 料 萃 取 出 来 , 例 如 IP会 决 定 把 其 资 料 栏 内 的 「 封 包 」 丢 给 TCP、 UDP或 ICMP, 然 後 各 层 在 各 忙 各 的 。 就 这 样 整 个 封 包 就 可 在 网 路 上 互 相 交 换 , 传 递 讯 息 了 。

    在 解 释 完 封 包 之 後 , 让 我 们 回 头 看 看 图 一 、 图 二 各 栏 位 的 意 义 。

● 以 太 框 架 介 绍 :
    前 导 (Preamble): 0与 1交 替 的 64位 元 所 组 成 , 收 方 同 步 用 。
(1)目 地 硬 体 地 址 (destination hardware address):接 收 端 的 实 体 位 址 , 共 48 bits.               所 谓 实 体 位 址 , 就 是 生 产 E t h e r n e t   介 面 的 硬 体 厂 商 向 IEEE所 购 买 的 一 组 连 续 地 址 . 厂 商 在 生 产 时 , 把 此 号 码 烧 入 即 可 . 这 样 一 来 全 世 界 各 家 不 同 的 以 太 网 路 卡 制 造 商 的 网 路 实 体 位 址 就 不 会 冲 突 了 .
(2)来 源 硬 体 地 址 (source hardware address):发 送 端 的 实 体 位 址 , 也 是 48 bits. 这 里 要 注 意 的 是 , 网 路 实 体 位 址 是 和 网 际 位 址 ( IP    A D D R E S S )               是 不 同 的 . 简 单 的 说 , 实 体 位 址 是 给 网 路 卡 用 的 , 网 际 位 址 是 给 IP  用 的 .
(3)框 架 型 态 (frame type): 16位 元 用 来 识 别 资 料 的 型 态 .
(4)框 架 资 料 (frame data): 上 层 传 来 的 资 料 必 须 介 於 368 bits(46 bytes)和 12000 bits(1500 bytes)之 间 . 换 句 话 说 IP  丢 给 e t h e r n e t 驱 动 程 式 的 封 包 不 可 大 於 1500个 byte. 在 这 里 我 们 即 点 出 了 为 什 麽 WINSOCKET的 MTU ( 最 大 传 输 单 位 ) 内 定 值 是 1500位 元 组 . 试 想 一 下 , 我 们 在 每 传 秒 10 mega位 元 的 以 太 网 路 上 我 们 每 次 只 能 丢 小 於 1500个 位 元 组 (12 K位 元 )的 封 包 给 Ethernet, 实 在 蛮 可 怜 的 . 当 然 这 在 高 速 网 路 中 也 是 不 适 用 的 .

(5)循 环 码 (Cyclic Redundancy Check, CRC): 用 以 侦 测 资 料 传 输 过 程 中 , 资 料 是 否 会 发 生 错 误 . 用 软 体 或 硬 体 去 实 作 均 可 .


    简 单 吧 ! 经 由 以 太 网 路 卡 传 出 和 收 到 的 资 料 就 是 如 此 , 看 起 来 笨 笨 的 , 不 过 确 实 如 此 . 现 在 , 让 我 们 再 来 看 看 IP  的 资 料 格 式 .

(1)版 本 (Version): 4个 bit. 目 前 最 新 的 版 本 是 4, 1989年 5月 制 订 .
(2)标 头 长 (Internet Header Length): 4个 bit. 以 32个 位 元 为 单 位 . 如 果 无 IP选 项 的 话 , 它 的 值 为 5( 即 最 小 值 ) . 细 心 的 读 者 自 己 算 算 看 .
(3)服 务 型 态 (Service Type): 8个 bit. 传 给 路 由 器 或 闸 道 器 , 我 们 所 希 望 的 传 输 类 型 . 共 分 叁 种 1. D-低 延 迟 2. T-高 吞 吐 率 3. R-高 可 靠 性
(4)总 长 度 (Total Length): 16个 bit. 所 允 许 的 最 大 长 度 为   2^16-1=65535 (表 头 加 上 资 料 总 长 ).
(5)识 别 字 (Identification): 16个 bit. 资 料 分 割 後 , 当 成 识 别 码 用 .
(6)旗 标 (Flag): 3个 bit. 指 示 是 否 可 分 割 .
(7)分 段 差 距 值 (Fragment): 13个 bit. 资 料 被 分 段 後 , 此 分 段 在 原 资 料 流 的 位 址 .
(8)存 活 时 间 (Time to live): 8个 bit. 以 秒 为 单 位 , 表 示 IP预 测 此 封 包 可 在 网 路 上 的 存 活 时 间 . 闸 道 器 会 把 此 资 料 传 输 的 时 间 减 去 存 活 时 间 , 若 小 於 零 , 则 放 弃 此 封 包 .
(9)协 定 (Protocol): 8个 bit. 表 示 IP上 层 的 协 定 内 容 . 这 里 告 诉 了 IP软 体 , 我 们 的 资 料 应 丢 那 一 层 软 体 去 处 理 . 以 下 在 WINSOCK中 的 Protocol file都 可 找 到 .



ip 0  icmp 1 tcp 6 udp 17


(10)标 头 检 查 码 (Header Checksum): 16个 bit. 表 示 IP表 头 (HEADER)的 检 查 码 .
(11)来 源 IP地 址 (Source Address): 32 bit. 这 里 就 是 所 谓 的 IP ADDRESS

目 前 在 Internet中 , 网 路 共 分 五 级 . 如 下 表 图 四 :

A类 网 路 的 IP ADDRESS是 介 於 0.0.0.1至 128.0.0.0
B类 网 路 的 IP ADDRESS是 介 於 128.0.0.0至 192.0.0.0
C类 网 路 的 IP ADDRESS是 介 於 192.0.0.0至 224.0.0.0
D类 网 路 的 IP ADDRESS是 介 於 224.0.0.0至 240.0.0.0
E类 网 路 的 IP ADDRESS是 介 於 240.0.0.0至 255.255.255.254
#注 意 IP ADDRESS 255.255.255.255为 广 播 位 址 #


举 个 例 子 来 说 : 若 你 的 IP ADDRESS为 140.113.207.141的 话 , 那 在 就 是 B类 网 路 . 而 电 脑 即 以 2进 位 来 表 示 这 个 位 址 ,


因 140=10001100 113=01110001 207=11001111 141=10001101

所以 140.113.207.141 = 10001100011100011100111110001101

就是 IP 和 IP 沟通的实际方式。


目 地 IP地 址 (Destination Address): 32 bits. 理 由 同 上 。
IP选 项 (Option): 可 有 可 无 . 这 里 大 多 是 用 在 资 料 段 的 除 错 或 测 试 。
补 足 长 度 (Padding): 长 度 不 定 . 它 会 填 充 IP表 头 (HEADER)使 得 表 头 能 被 32整 除 , 加 快 电 脑 处 理 。
资 料 (IP Data): 这 里 就 是 由 上 层 的 TCP / UDP资 料 填 充 , 或 同 层 的 ICMP。

IP所提供的服务
    看 样 子 多 了 这 些 栏 位 , IP层 比 较 聪 明 , 事 实 上 在 网 路 的 哲 学 里 的 确 是 这 样 , 越 上 层 的 协 定 , 功 能 越 强 也 越 好 用 , 硬 体 也 越 抽 象 化 , 当 然 对 使 用 者 而 言 也 越 好 用 . 但 聪 明 归 聪 明 , 它 还 是 有 缺 点 的 . 其 中 的 不 可 靠 性 (unre

Tags:网际 幕後 无名英雄

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接