2.3.1 byte theo định hướng giao thức (BISYNC, PPP, DDCMP)Một trong những phương pháp tiếp cận lâu đời nhất để khung — nó có nguồn gốc từ kết nốithiết bị đầu cuối cho máy tính lớn — là để xem mỗi khung là một tập hợp các byte(nhân vật) chứ không phải là một tập hợp các bit. Như vậy phương pháp byte theo định hướng mộtexemplified bởi các giao thức cũ như giao thức truyền thông đồng bộ nhị phân (BISYNC) được phát triển bởi IBM trong cuối thập niên 1960, vàcác kỹ thuật số dữ liệu truyền thông thông báo giao thức (DDCMP) được sử dụng trongTổng công ty thiết bị kỹ thuật số của DECNET. Gần đây hơn và rộng rãisử dụng giao thức điểm-điểm (PPP) cung cấp một ví dụ về điều nàycách tiếp cận.Sentinel dựa trên phương pháp tiếp cậnCon số 2,7 minh hoạ giao thức BISYNC khung định dạng. Con số này làviệc đầu tiên của nhiều mà bạn sẽ thấy trong cuốn sách này được sử dụng để minh họakhung hoặc gói định dạng, do đó, một vài lời giải thích nằm trong trật tự. Chúng tôiHiển thị một gói như là một chuỗi các lĩnh vực có nhãn. Trên mỗi lĩnh vực là một số cho thấy chiều dài của lĩnh vực đó trong bit. Lưu ý rằng các gói dữ liệutruyền bắt đầu với các lĩnh vực tận cùng bên trái.BISYNC sử dụng ký tự đặc biệt được gọi là sentinel ký tự để cho biết nơi khung bắt đầu và kết thúc. Sự khởi đầu của một khung là biểu hiện bằnggửi một ký tự đặc biệt SYN (đồng bộ hóa). Phần dữ liệu củakhung sau đó nằm giữa hai ký tự đặc biệt hơn: STX(bắt đầu của văn bản) và ETX (cuối văn bản). Phục vụ các lĩnh vực SOH (bắt đầu của tiêu đề)nhiều mục đích tương tự như trường STX. Vấn đề với sentinelcách tiếp cận, tất nhiên, là nhân vật ETX có thể xuất hiện trong dữ liệuphần của khung. BISYNC vượt qua vấn đề này bởi "thoát" cácETX ký tự do ngay trước nó với một nhân vật DLE (dữ liệu-liên kết-thoát)bất cứ khi nào nó xuất hiện trong cơ thể của một khung; cũng là nhân vật DLEthoát khỏi (bằng ngay trước nó với một DLE phụ) trong cơ thể khung. (C programmers có thể nhận thấy rằng điều này là tương tự như cách một báo giá đánh dấuđã trốn thoát bằng dấu gạch chéo ngược khi nó xảy ra bên trong một chuỗi.) Cách tiếp cận nàythường được gọi là nhân vật nhồi vì phụ ký tự được chèn vào trongphần dữ liệu của khung.Định dạng khung cũng bao gồm một trường có nhãn CRC (dư thừa vòngkiểm tra), mà được sử dụng để phát hiện lỗi truyền; Các thuật toán khác nhau chophát hiện lỗi được trình bày trong phần 2.4. Cuối cùng, khung chứatrường tiêu đề bổ sung sử dụng cho, trong số những thứ khác, kếtthuật toán cấp giao hàng đáng tin cậy. Ví dụ về các thuật toán này được đưa ratrong phần 2,5.Hơn tại điểm giao thức (PPP), mà là thườngđược sử dụng để thực hiện giao thức Internet gói dữ liệu qua các loại khác nhau của điểm đếnđiểm liên kết, là tương tự như BISYNC trong đó nó cũng sử dụng gác và nhân vậtnhồi. Các định dạng cho một khung PPP được đưa ra trong hình 2,8. Đặc biệtbắt đầu văn bản ký tự, biểu hiện như trường cờ hình 2,8, là 01111110.Trường địa chỉ và kiểm soát thường có giá trị mặc định và vì vậy làuninteresting. Lĩnh vực giao thức được sử dụng cho demultiplexing; nó xác địnhgiao thức cao cấp chẳng hạn như IP hoặc IPX (một giống như IP giao thức được phát triển bởiNovell). Kích thước tải trọng khung hình có thể được thương lượng, nhưng nó là 1500 byte bởimặc định. Trường Checksum là 2 (theo mặc định) hoặc 4 byte dài.Định dạng khung PPP là bất thường trong đó một số kích thước lĩnh vực làthương lượng chứ không phải là cố định. Đàm phán này được thực hiện bởi một giao thứcđược gọi là giao thức kiểm soát liên kết (LCP). PPP và LCP hoạt động song song: LCPgửi kiểm soát thư gói gọn trong khung PPP — những thông điệpbiểu hiện bằng một định danh LCP trong lĩnh vực giao thức PPP- và sau đó lần lượtQuanh và thay đổi định dạng khung của PPP dựa trên các thông tin contained trong những kiểm soát thư. LCP cũng tham gia trong việc thiết lập mộtliên kết giữa hai đồng nghiệp khi cả hai bên phát hiện rằng giao tiếp qualiên kết có thể (ví dụ như, khi mỗi nhận quang học phát hiện một đếntín hiệu từ sợi mà nó kết nối).Cách tiếp cận byte-đếmNhư mọi máy tính khoa học 101 học sinh biết, thay thế cho phát hiệning vào cuối của một tập tin với một giá trị sentinel là bao gồm số lượng mụctrong tập đầu của tập tin. Như vậy là đúng trong khung — cácSố byte chứa trong một khung có thể được bao gồm như là một lĩnh vực trong cáckhung tiêu đề. Của DECNET DDCMP sử dụng cách tiếp cận này, như minh họatrong con số 2.9. Trong ví dụ này, lĩnh vực tính xác định bao nhiêu byteđược chứa trong cơ thể của khung.Một trong những nguy hiểm với phương pháp này là rằng một lỗi truyền có thểtham nhũng tính trường, trong đó trường hợp cuối cùng của khung nào khôngđược phát hiện một cách chính xác. (Một vấn đề tương tự tồn tại với sentinel, dựa trêncách tiếp cận nếu lĩnh vực ETX trở thành bị hỏng.) Điều này xảy ra, cácnhận sẽ tích lũy càng nhiều byte như các lĩnh vực xấu tính ngụ ývà sau đó sử dụng các lĩnh vực phát hiện lỗi để xác định rằng khung là xấu.Điều này đôi khi được gọi là một lỗi khung. Sau đó, người nhận sẽ đợi cho đến khinó thấy nhân vật SYN tiếp theo để bắt đầu thu thập các byte tạo nênkhung hình tiếp theo. Nó là do đó có thể là một lỗi khung sẽ gây raBack-to-back khung được nhận không chính xác.2.3.2 bit theo định hướng giao thức (HDLC)Không giống như các byte theo định hướng giao thức, một chút theo định hướng giao thức không phải là concerned với ranh giới byte-nó chỉ đơn giản là xem khung như là một bộ sưu tậpbit. Những bit có thể đến từ một số ký tự, chẳng hạn như ASCII;họ có thể là giá trị điểm ảnh trong một hình ảnh; hoặc họ có thể là hướng dẫn vàoperands từ một tập tin thực thi. Kiểm soát liên kết dữ liệu đồng bộGiao thức (SDLC) phát triển bởi IBM là một ví dụ về một chút theo định hướng protoCol; SDLC sau đó được chuẩn hóa bởi các tiêu chuẩn ISO là liên kết dữ liệu cấp caoGiao thức kiểm soát (HDLC). Trong các cuộc thảo luận sau đây, chúng tôi sử dụng HDLC là mộtVí dụ; dạng khung được đưa ra trong hình 2.10.HDLC là bắt đầu và kết thúc của một khung hình với cácphân biệt chút chuỗi 01111110. Trình tự này cũng được truyềntrong bất kỳ thời gian mà các liên kết là nhàn rỗi để cho người gửi và người nhận có thểtiếp tục của đồng hồ được đồng bộ hóa. Bằng cách này, cả hai giao thức cơ bản sử dụngphương pháp tiếp cận sentinel. Bởi vì thứ tự này có thể xuất hiện bất cứ nơi nàotrong cơ thể của khung-trong thực tế, các bit 01111110 có thể vượt qua byteranh giới-bit theo định hướng giao thức sử dụng tương tự của các nhân vật DLE,một kỹ thuật được gọi là chút nhồi.Chút nhồi nhét trong giao thức HDLC hoạt động như sau. Gửi bên,bất kỳ thời gian năm liên tiếp 1s đã được truyền từ cơ thể của cáctin nhắn (tức là, ngoại trừ khi người gửi cố gắng để truyền tải distintrình tự guished 01111110), người gửi chèn một 0 trước khi truyềncác bit tiếp theo. Ở phía bên nhận được, nên năm liên tiếp 1s đến nơi, cácnhận làm cho quyết định của mình dựa trên bit tiếp theo nó thấy (tức là, bit following khối 1 năm). Nếu biến tiếp theo là một 0, nó phải có được nhồi, và như vậyngười nhận loại bỏ nó. Nếu biến tiếp theo là 1 một, sau đó một trong hai điều là đúng:Đây là điểm đánh dấu cuối cùng của khung hoặc một lỗi đã được giới thiệuvào dòng chút. Bằng cách nhìn vào các bit tiếp theo, người nhận có thể phân biệtgiữa hai trường hợp. Nếu nó thấy một 0 (tức là, các qua 8 bit nó đã tìm hiểulà 01111110), sau đó nó là điểm đánh dấu cuối cùng của khung; Nếu nó thấy một 1 (tức là, cácqua 8 bit nó đã tìm hiểu là 01111111), sau đó có phải có mộtlỗi và khung toàn bộ bị loại bỏ. Trong trường hợp thứ hai, người nhận cóchờ đợi cho 01111110 tiếp theo trước khi nó có thể bắt đầu nhận được một lần nữa, và, như là mộthậu quả, có tiềm năng người nhận sẽ không nhận được hai rấtkhung liên tiếp. Rõ ràng, có vẫn còn những cách mà khung lỗi có thểđi không bị phát hiện, chẳng hạn như khi một mô hình cuối cùng của khung giả mạo toàn bộ làđược tạo ra bởi lỗi, nhưng những thất bại ít có khả năng tương đối. Mạnh mẽ cáchphát hiện lỗi được thảo luận trong phần 2.4.Một đặc tính thú vị chút nhồi, cũng như các nhân vật nhồi, là kích thước của một khung là phụ thuộc vào các dữ liệu được gửitrong tải trọng của khung. Nó là trong thực tế không thể để làm cho tất cả các khungchính xác cùng một kích cỡ, cho rằng các dữ liệu có thể được thực hiện trong bất kỳkhung là tùy ý. (Để thuyết phục bản thân điều này, hãy xem xét những gì sẽ xảy raNếu các byte cuối của một khung cơ thể là nhân vật ETX.) Một hình thức của khung đó đảm bảo rằng tất cả các khung có kích thước tương tự được mô tả trong tiếp theophụ.
đang được dịch, vui lòng đợi..