三網:電信網、有線電視網絡和計算機網絡
因特網發展的三個階段:
第一階段是從單個網絡 ARPANET 向互聯網發展的過程
第二階段的特點是建成了三級結構的因特網。
第三階段的特點是逐漸形成了多層次 ISP 結構的因特網
internet和Internet的區別:小寫是泛指互聯網、大寫是專用名詞指全球最大的、開放的、採用tcp/ip的計算機網絡。其前身是arpanet。
數據傳輸層解決的三個基本問題:
1、封裝成幀:就是添加首部和尾部、作用是進行幀定界
2、透明傳輸:還沒到幀尾,但內容中含有與幀尾一樣的串,則會誤認為到結尾了、這是透明傳輸要解決的問題。如何解決呢:字節填充和字符填充
3、差錯控制:一般用CRC技術檢錯,crc只能做到無差錯接受而不是可靠傳輸(有問題留言)
CRC原理:
這個我只説最簡單的一般計算題。。深入就難了。。比如一般都給個信息碼和生成多項式。那怎麼知道接收的碼的正確性呢。。過程如下:生成多項式最高次冪是幾,就給信息碼後添幾個0,除以生成多項式(寫成二進制形式),注意的是:做除法時,減的過程是異或運算,不是一般的借位減。然後所得的餘數就是fcs校驗碼,這下真正發送的是信息碼+fcs碼(好像這個是在接口處加上去的不是發送方自己產生的),在接收方呢,用接收到的碼除以生成多項式為零沒錯,不為零,就有錯了,r個檢錯位能檢出小於等於r位的錯。
ppp協議的透明傳輸問題:
如撥號電話接入因特網就是用這個協議。當ppp異步傳輸時,就是用一種特殊的字符填充法:信息字段出現0X7e變成0x7D, 0x5E要是又出現了0x7D則把0x7D換成0x7D, 0x5D。當ppp用在sonet/sdh鏈路時即是同步傳輸。這時採用零比特填充法:即發送端出現5連1則插入個0,接收端出現5連1就把接下來的那個0刪掉
csma/cd協議:
用於進行半雙工通信的以太網。爭用期就是往返時延。以太網取51.2us為爭用期的長度。則10mb/s的以太網只要是少於64字節的幀都是無效幀。
什麼是二進制指數類型退避算法:
發生碰撞後,等多久再重發呢。。這就要根據這個算法。算法如下:這是第k次重傳則在整數集合[0,1,…, (2的k次方-1)]隨機取個值,即延遲這個隨機值後重發。重傳達到16次則丟棄此幀。
以太網的mac幀格式
在ip數據報的前面加上目的地址、源地址、類型字段。沒完呢 在ip數據報的後面加上fcs。其實在傳輸介質上傳輸的幀 還得在整個上面的最前面加上7個字節的前同步碼還有一個字節的幀開始定界符。。。
網橋和集線器的區別
集線器在轉發幀時,不對傳輸媒體進行檢測。網橋在轉發幀之前必須執行 CSMA/CD 算法。網橋能隔離衝突域,集線器不能。
網橋的自學習和轉發幀
網橋收到幀後,自學習。即在轉發表中找有沒有和幀源地址相配的。沒有的話,增加一個記錄(源地址、進入的接口和時間),有的話更新。轉發幀就是:當轉發表中沒有相配的時候、則對網橋的其他接口全部轉發。。若有。則按表中接口轉發。若接收的接口就是要轉發的接口。則丟棄。。
透明網橋和源路由網橋
透明網橋使用的是生成樹算法。源路由網橋使用的是一句話説不清,就是廣播發送一個幀這個幀不一樣的地方是發送這個幀時首部必須攜帶詳細的路由信息。到目的地後再回來。到時候從多個路由中選出一個最佳的。
多接口網橋:別名就是太網交換機,
虛擬局域網和其幀格式:
幀格式是在以太網的幀格式的源地址後面加了一個標誌符(vlan tag)作用是指明發送該幀的工作站屬於哪個虛擬局域網。靜態vlan是當年大四實習的那個交換機通過配置終端登陸上去添加vlan分配端口就成了。。為什麼呢?因為以太網交換機的原理就是靠地址映射表 所以只要將端口和mac地址的對應關係加入地址映射表就行。。至於動態vlan呢。人家是自動分配端口的,我也不知道。估計與幀格式中的那個vlan tag有關係。。
虛電路與數據包服務的對比
虛電路:有鏈接。每個分組有虛電路號。屬於同一條虛電路的分組按同一路由轉發、總是按順序到達終點。
數據報:可靠的通信由用户主機保證、不需要建立連接。每個分組有終點的完整地址、每個分組獨立選擇路由。到達終點不一定按順序。
三種ip地址的編址方法
1、分類的ip地址:<網絡號、主機號>共32位.又分為a類(網絡號8位0xxxxxxx)、b類(網絡號16位10xxxxx....)、c類(網絡號24位110xxxx...)、d類(1110.......)、e類(1111.....).
2、子網的劃分:<網絡號、子網號、主機號>,ip地址按位與子網掩碼就等於網絡地址(網絡地址不是網絡號).
3、構成超網:<網絡前綴、主機號>..斜線記法:192.128.0.92/20其中20就是網絡前綴的位數也就是掩碼的位數. 全0和全1的主機號不使用..
地址解析協議
將ip轉換為mac地址。當要發送數據時、得知道對方的mac地址吧。首先在arp cache裏查找ip和mac的對應關係填到mac幀上去。要是該主機的arp告訴緩存裏沒有。則廣播發送arp請求分組。。其中的內容是自己的ip和硬件地址加對方的ip地址。。然後呢 不用咱們操心了 會有對方主機響應,回覆給人家自己的mac地址的。。注意啊。。要是目的主機和發送主機不再同一局域網呢?那麼arp 發送內容裏面對方當然ip就是 路由器的ip了。
ip數據報首部格式:
首部由20個固定字節加可變字節構成。算了 這個自己查一下就行。不羅嗦了,,有一點就是那個片偏移字段是以八個字節為偏移單位的。TTL是可通過路由的最大數。
分組轉發算法:
從數據報首部提取目的主機ip後,得出其網絡地址。1、若與路由器直接相連的話則直接交付,2、否則,若路由表中有該網絡地址的特定主機路由,則交付給此路由3、否則,若若路由表中有到達該網絡的路由,則交付給此路由4、否則若路由表中有默認路由則傳給此路由。5、再不行的話,就報告轉發出錯。。
在劃分子網的情況下路由器轉發分組的算法
從數據報首部提取目的主機ip後,先用源主機所在網絡的子網掩碼與ip地址按位與得出其網絡地址。若與該子網掩碼相應的網絡地址相匹配,則直接交付2、否則,若路由表中有該網絡地址的特定主機路由,則交付給此路由3、再否則,對路由表中每一行的子網掩碼和ip按位與,若其結果與該行的目的網絡地址匹配,則,則交付給該行指出的嚇一跳路由器,4、否則,若路由表中有默認路由則傳給此路由。5、再不行的話,就報告轉發出錯。。
CIDR(無分類域間路由選擇)的最長前綴匹配:
使用 CIDR 時,路由表中的每個項目由“網絡前綴”和“下一跳地址”組成。在查找路由表時可能會得到不止一個匹配結果。 應選擇最長網絡前綴的路由:最長前綴匹配,網絡前綴越長,其地址塊就越小,因而路由就越具體。
ICMP報文種類
1, ICMP差錯報告報文又分為 終點不可達/源點抑制/時間超過/參數問題/重定向 五種 ..浮雲,,知道就行
2,ICMP 詢問報文又分為回送請求和回答報文/時間戳請求和回答報文
Icmp的應用最常用有ping命令和traceroute命令 具體怎麼用的很簡單不想寫了.
as自治系統:核心其實一個as其內部使用的是單一的和一致的路由選擇策略
內部網關協議IGP:一個自治系統內部使用的路由選擇協議..包括rip和ospf等
RIP的工作原理:
距離向量算法: 收到相鄰路由器(其地址為 X)的一個 RIP 報文:(1) 先修改RIP 報文中的所有項目:把“下一跳”字段中的地址都改為 X,並把所有的“距離”字段的值加 1。(2)目的網絡不在路由表的直接添加到路由表中,目的網絡在路由表的,這時還要分兩種情況,第一種情況:rip中下一跳地址和路由表中相同的,無條件將路由表的替換了,第二種情況:rip中下一跳地址和路由表中不一樣,則誰的跳數小,路由表中替換成誰。(3) 若3分鐘還沒有收到相鄰路由器的更新路由表,則把此相鄰路由器距離置為16(表示不可達)(4) 返回。
ospf協議與rip的區別:
OSPF(開放式最短路徑優先)鏈路狀態變化時,路由器用洪泛法向本自治系統中所有路由器發送信息。內容是與本路由器相鄰的所有路由器的鏈路狀態,“鏈路狀態”就是説明本路由器都和哪些路由器相鄰,以及該鏈路的“度量”。
rip僅和相鄰路由器交換信息。內容是本路由器自己的路由表。每隔30秒發一次。它能使用的最大距離為15(16 表示不可達)。
外部網關協議EGP:不同的as間傳遞消息的協議.
igmp協議:兩個階段.1/某主機想加入多播組.則他就向多播組的多播地址發送igmp報文/本地的多播路由器收到igmp報文後將組成員關係轉發給因特網上的其他多播路由器.2/本地多播路由器要週期性地探測本局域網的主機是否還是組的成員.
隧道技術/網絡地址轉換NAT
裝有nat軟件的路由器叫做nat路由器,它至少有一個有效的外部全球地址..所有使用本地地址的主機在和外界通信時都要在nat路由器上進行轉換.成全球地址才能和因特網連接.(nat轉換表就是全球ip地址和本地ip地址的對應)
172.16.0.0 — 172.31.255.255 16個連續的B類地址;
192.168.0.0 — 192.168.255.255 256個連續的C類地址。
三類端口:
1. 熟知端口號:0~1023
2. 登記端口號:1024~49151使用這個範圍的端口號必須在iana登記,以防重複…
3. 客户端口號:49152~65535客户進程暫時使用.通信結束後.其他進程就可使用.
Udp的特點:
無連接.不保證可靠交付.也不用擁塞控制.面向報文的.支持一對一.多對多等.首部開銷少,八個字節(源端口2.目的端口2.長度2.檢驗和2)
Tcp的特點:
面向連接(虛連接).只能一對一.可靠交付.全雙工通信.面向字節流/ tcp連接的端點叫做:套接字(socket)=ip+端口號,所以每條tcp連接唯一的被通信兩端的兩個套接字所確定,
可靠傳輸的具體實現:就是tcp連接的兩端一個發送窗口一個接收窗口..然後可靠傳輸機制用字節的序號進行控制.
ARQ、連續ARQ的特點:
Arq其實課本上就講的停止等待協議:發一個分組就要回復一個,收到確認後才重發下一個..心道利用率太低.至於心道利用率是多少太簡單了而且公式不好打就不説了..
連續arq:接收方採用的是累計確認的方式..累計確認就是..只對按序到達的最後一個分組發送確認…然後就是有個窗口,最多一次可以連續發送窗口大小那麼多的分組數…
滑動窗口還可以實現流量控制:為什麼呢..因為當接收窗口調整時.發送窗口會跟着調整…就可以控制發送的量了..
超時重傳時間的選擇:太麻煩不説了..有公式。。
sack選擇確認:事先雙方就得商量好在tcp首部就加上sack選項..用來報告收到的不連續的字節塊的左邊界和右邊界,指名一個邊界用4個字節..和累積確認不一樣了..
幾種擁塞控制方法:
發送端的窗口不能超過擁塞窗口和接收端窗口的最小值,先假定接收窗口足夠大,則發送窗口等於擁塞窗口..
1/慢開始和擁塞避免
滿開始就是擁塞窗口從1開始.每經一個傳輸輪次.擁塞窗口大小指數增長一次,(1,2,4,8,18),然後當擁塞窗口增長到慢開始門限值時,就改為擁塞避免算法.即擁塞窗口線性增長,,當出現超時時..則將滿開始門限值減半,然後擁塞窗口重新設為1.重新開始滿開始算法..
2/快重傳和快恢復
快重傳就是隻要收到失序的報文段..就立刻發送確認..然後還要一直髮..這時發送方.只要收到連續三個重複確認.就立即重傳…這時候的重傳先要把慢開始門限減半..但是接下去不是執行慢開始算法,而是執行擁塞避免算法即擁塞窗口線性增大..1次加1..
tcp連接建立的三次握手
這個怎麼説呢。。假設A要和B通信,第一次:a發送SYN(置1表示連接請求報文段而且要消耗一個序號) 然後設定自己的初始seq=x;ack=0(因為連接還沒建立所以確認字段現在無效)第二次:b收到後向a發送SYN,和ACK;並且將ack=x+1(表示希望a發送序號為x+1的報文段也就是第x個已經收到),然後呢給自己設定一個初始seq=y;第三次:a向b發送ACK(ack不消耗序號),然後給b發送的ack=y+1;seq=x+1;完了。三次握手就完了,再説一點,ack不是不消耗序號嗎?所以建立完成後,a向b再次發數據時自己的seq還是x+1;哈哈,這可是我犯過的錯,當成x+2了。。
域名的解析過程:
主機向本地域名服務器的查詢一般都是採用遞歸查詢。如果主機所詢問的本地域名服務器不知道被查詢域名的 IP 地址,那麼本地域名服務器就以 DNS 客户的身份,向其他根域名服務器繼續發出查詢請求報文。 本地域名服務器向根域名服務器的查詢通常是採用迭代查詢。當根域名服務器收到本地域名服務器的迭代查詢請求報文時,要麼給出所要查詢的 IP 地址,要麼告訴本地域名服務器:“你下一步應當向哪一個域名服務器進行查詢”。然後讓本地域名服務器進行後續的查詢。
pop3和imap的區別:
POP3協議允許電子郵件客户端下載服務器上的郵件,但是在客户端的操作(如移動郵件、標記已讀等),不會反饋到服務器上。比如通過客户端收取了郵箱中的2封郵件並移動到其他文件夾,郵箱服務器上的這些郵件是沒有同時被移動的 。
IMAP提供webmail 與電子郵件客户端之間的雙向通信,客户端的操作都會反饋到服務器上,對郵件進行的操作,服務器上的郵件也會做相應的動作。這個是搜的。其實不理解。