通信過程中收、發雙方必須在時間上保持同步,一方面碼元之間要保持同步,另一方面由碼元組成的字符或數據塊之間在起止時間上也要保持同步。實現字符或數據塊之間在起止時間上同步的常用方法有異步傳輸和同步傳輸兩種。
1.異步傳輸
異步傳輸即前面介紹過的群同步傳輸。異步傳輸方式中,一次只傳輸一個字符(由5~F8位數據組成)。每個字符用一位起始位引導、一位停止位結束。起始位為\"。\",占一位時間;停止位為\"1\",占1~2位的持續時間。在沒有數據發送時,發送方可發送連續的停止位(稱空閑位)。接收方根據\"1\"至\"。\"的跳變來判別一個新字符的開始,然后接收字符中的所有位。這種通信方式簡單便宜,但每個字符有2~3位的額外開銷。
2.同步傳輸
同步傳輸時,為使接收方能判定數據塊的開始和結束,還須在每個數據塊的開始處和結束處各加一個幀頭和一個幀尾,加有幀頭、幀尾的數據稱為一幀(Fram)。幀頭和幀尾的特性取決于數據塊是面向字符的還是面向位的。
如果采用面向字符的方案,那么每個數據塊以一個或多個同步字符作為開始。同步字符通常稱為SYN,這一控制字符的位模式與傳輸的任何數據字符都有明顯的差別。幀尾是另一個惟一的控制字符。這樣,接收方判別到SYN字符后,就可接收數據塊,直到發現幀尾字符為止。然后,接收方再判別下一個SW字符。例如IBM公司的二進同步規程mc就是這樣一種面向字符的同步傳輸方案。
面向位的方案是把數據塊作為位流而不是作為字符流來處理。除了幀頭和幀尾的原理有一點差外,其余基本相同。在面向位的方案中,由于數據塊中可以有任意的位模式,因此不能夠保證在數據塊中出現幀頭和幀尾標志,為此把幀頭和幀尾都使用模式01111110(稱為標志),而為了避免在數據塊中出現這種模式,發送方在所發送的數據中每當出現5個1之后就插入一個附加的0。當接收方檢測到5個1的序列時,就檢查后續的一位數據,若該位是0,接收方就刪除掉這個附加的0,這種規程就是所謂的位插入(Bit Stuffing)。在國際標準化組織ISO所規定的高級數據鏈路控制規程HDLC和IBM公司所規定的同步數據鏈路控制規程SDLC中都采用這種技術。