新聞中心
linux是一種比較流行的操作系統(tǒng),以其豐富的功能被廣泛應(yīng)用,其中路由實現(xiàn)是很重要一部分,一種能夠使Linux操作系統(tǒng)與外部網(wǎng)絡(luò)進行連接的有效方式,以便能夠更好的與外部網(wǎng)絡(luò)通信,在此分析Linux路由實現(xiàn)的源碼,探究其原理實現(xiàn)的精髓,以及應(yīng)用的細(xì)節(jié)。

創(chuàng)新互聯(lián)建站于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元咸陽做網(wǎng)站,已為上家服務(wù),為咸陽各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
Linux路由實現(xiàn)的原理大致分為網(wǎng)卡轉(zhuǎn)發(fā)和路由表決定兩個步驟,首先是網(wǎng)卡轉(zhuǎn)發(fā),Linux內(nèi)核會從收到的數(shù)據(jù)報文中解析出其目標(biāo)IP地址,然后查找路由表中是否有一條規(guī)則能夠匹配,如果有,就根據(jù)該規(guī)則發(fā)送出口。其次就是路由表來決定,首先檢查路由表的網(wǎng)絡(luò)規(guī)則,如果查找到一條對應(yīng)的網(wǎng)絡(luò)規(guī)則,就使用這條路由規(guī)則,否則檢查路由表的主機規(guī)則,如果查找到一條對應(yīng)的主機規(guī)則,就使用這條規(guī)則,如果都沒有找到,就直接存儲到默認(rèn)網(wǎng)關(guān)發(fā)出。
Linux內(nèi)核是內(nèi)核路由實現(xiàn)的核心,內(nèi)核收到IPv4 協(xié)議數(shù)據(jù)報分析后,內(nèi)核會去查找相應(yīng)的路由表,這是起到轉(zhuǎn)發(fā)作用的核心函數(shù),Linux內(nèi)核中網(wǎng)絡(luò)協(xié)議棧路由部分的主要流程如下:
“`c
static struct ip_rt_info *ip_route_input(struct sk_buff *skb, __be32 daddr,
__be32 saddr, u8 tos,
struct net_device *dev)
{
struct rtable *rt;
struct iphdr *iph;
iph = ip_hdr(skb);
rt = __ip_route_input(iph->daddr, iph->saddr, tos, dev, 0);
if (IS_ERR(rt))
return ERR_PTR(PTR_ERR(rt));
return rt;
}
從上述流程可以知道,Linux通過調(diào)用ip_route_input函數(shù)來實現(xiàn)路由,它負(fù)責(zé)解析報文中的源IP和目的IP,并根據(jù)路由表上的信息決定發(fā)送給哪一個網(wǎng)卡,實現(xiàn)了路由的功能。
從上文的源碼分析可以得出,在Linux中,路由實現(xiàn)分為網(wǎng)卡轉(zhuǎn)發(fā)和路由表決定兩個步驟,在網(wǎng)卡轉(zhuǎn)發(fā)步驟中,Linux會根據(jù)收到的報文中的源IP和目的IP來查找路由表中的網(wǎng)絡(luò)和主機規(guī)則,然后根據(jù)這些規(guī)則判斷出數(shù)據(jù)報文應(yīng)該發(fā)送到哪個網(wǎng)卡,從而實現(xiàn)路由的功能,從而實現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā),使終端能夠與外部網(wǎng)絡(luò)交換信息。
成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設(shè)計,網(wǎng)站、軟件、微信、小程序開發(fā)于一體。
文章名稱:分析深入Linux路由實現(xiàn):源碼分析探究(linux路由源碼)
網(wǎng)頁路徑:http://www.dlmjj.cn/article/dpdoscc.html


咨詢
建站咨詢
