Ethernet: Distributed Packet Switching for Local Computer Networks

About this paperEnglishbeside English

This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.

Hệ thống Máy tính

G. Bell, S. Fuller và D. Siewiorek, Biên tập viên

Ethernet: Chuyển mạch Gói Phân tán cho các Mạng Máy tính Cục bộ

Robert M. Metcalfe và David R. Boggs Trung tâm Nghiên cứu Palo Alto của Xerox

Ethernet là một hệ thống truyền thông quảng bá phân nhánh để mang các gói dữ liệu số giữa các trạm tính toán được phân bố cục bộ. Cơ chế vận chuyển gói tin do Ethernet cung cấp đã được sử dụng để xây dựng các hệ thống có thể được xem như các mạng máy tính cục bộ hoặc các bộ đa xử lý ghép nối lỏng. Cơ sở truyền thông dùng chung của một Ethernet, Ether của nó, là một môi trường quảng bá thụ động không có điều khiển trung tâm. Việc phối hợp quyền truy cập vào Ether để phát quảng bá gói tin được phân tán giữa các trạm truyền đang tranh chấp bằng cách sử dụng phân xử thống kê có kiểm soát. Việc chuyển mạch các gói tin đến đích của chúng trên Ether được phân tán giữa các trạm nhận bằng cách sử dụng nhận dạng địa chỉ gói tin. Các nguyên tắc thiết kế và việc triển khai được mô tả, dựa trên kinh nghiệm với một Ethernet đang hoạt động gồm 100 nút dọc theo một kilômét cáp đồng trục. Một mô hình để ước lượng hiệu năng dưới tải nặng và một giao thức gói tin cho truyền thông có kiểm soát lỗi được đưa vào để hoàn chỉnh.

Từ khóa và Cụm từ: mạng máy tính, chuyển mạch gói, đa xử lý, điều khiển phân tán, tính toán phân tán, truyền thông quảng bá, phân xử thống kê

Phân loại CR: 3.81, 4.32, 6.35

Bản quyền © 1976, Association for Computing Machinery, Inc. Quyền chung cho phép tái bản, nhưng không nhằm mục đích lợi nhuận, toàn bộ hoặc một phần tài liệu này được cấp với điều kiện thông báo bản quyền của ACM được đưa vào và tham chiếu được thực hiện đến ấn phẩm, ngày phát hành của nó, và thực tế rằng các quyền tái bản đã được cấp theo sự cho phép của Association for Computing Machinery.

Địa chỉ hiện tại của các tác giả: R. M. Metcalfe, Transaction Technology, Inc., 10880 Wilshire Boulevard, Los Angeles, CA 94304; D. Boggs, Xerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, CA 94304.

1 Bối cảnh

Có thể đặc trưng hóa tính toán phân tán như một phổ các hoạt động thay đổi theo mức độ phi tập trung của chúng, với một cực là mạng máy tính từ xa và cực kia là xử lý đa nhiệm. Mạng máy tính từ xa là sự kết nối lỏng lẻo của các hệ thống tính toán trước đây bị cô lập, cách xa nhau và tương đối lớn. Xử lý đa nhiệm là việc xây dựng các hệ thống tính toán trước đây nguyên khối và tuần tự từ những phần ngày càng nhiều và nhỏ hơn, thực hiện tính toán song song. Gần giữa phổ này là mạng cục bộ, sự kết nối các máy tính để đạt được khả năng chia sẻ tài nguyên của mạng máy tính và tính song song của xử lý đa nhiệm.

Khoảng cách giữa các máy tính và tốc độ bit liên quan trong việc truyền thông của chúng có thể được dùng để chia phổ tính toán phân tán thành các hoạt động rộng. Tích của khoảng cách và tốc độ bit, hiện khoảng 1 gigabit-meter mỗi giây (1 Gbmps), là một chỉ dấu về giới hạn của công nghệ truyền thông hiện tại và có thể được kỳ vọng sẽ tăng theo thời gian:

Hoạt độngKhoảng cáchTốc độ bit
Mạng từ xa> 10 km< .1 Mbps
Mạng cục bộ10–.1 km.1–10 Mbps
Bộ xử lý đa nhiệm< .1 km> 10 Mbps
1.1 Mạng máy tính từ xa

Mạng máy tính phát triển từ truyền thông terminal-computer trong viễn thông, trong đó mục tiêu là kết nối các terminal từ xa với một cơ sở tính toán trung tâm. Khi nhu cầu kết nối computer-computer tăng lên, chính các máy tính được sử dụng để cung cấp truyền thông [2, 4, 29]. Truyền thông using máy tính làm các bộ chuyển mạch gói tin [15-21, 26] và truyền thông among các máy tính để chia sẻ tài nguyên [10, 32] đều được thúc đẩy bởi sự phát triển của Arpa Computer Network.

Aloha Network tại University of Hawaii ban đầu được phát triển để áp dụng các kỹ thuật radio gói tin cho truyền thông giữa một máy tính trung tâm và các terminal của nó phân tán trên các quần đảo Hawaii [1, 2]. Nhiều terminal hiện nay là các minicomputer truyền thông với nhau bằng cách sử dụng Menehune của Aloha Network như một bộ chuyển mạch gói tin. Menehune và một Arpanet Imp hiện đã được kết nối, cung cấp cho các terminal trên Aloha Network quyền truy cập vào các tài nguyên tính toán trên đất liền Hoa Kỳ.

Cũng như các mạng máy tính đã phát triển xuyên qua các lục địa và đại dương để kết nối các cơ sở tính toán lớn trên toàn thế giới, chúng hiện đang phát triển dọc theo các hành lang và giữa các tòa nhà để kết nối các minicomputer trong văn phòng và phòng thí nghiệm [3, 12, 13, 14, 35].

1.2 Xử lý đa nhiệm

Xử lý đa nhiệm ban đầu có dạng kết nối một bộ điều khiển I/O với một máy tính trung tâm lớn; Asp của IBM là một

Communications of the ACM

Tháng 7 1976 Tập 19 ví dụ kinh điển [29]. Tiếp theo, nhiều bộ xử lý trung tâm được kết nối với một bộ nhớ chung để cung cấp nhiều năng lực hơn cho các ứng dụng bị giới hạn bởi tính toán [33]. Đối với một số ứng dụng này, các kiến trúc bộ xử lý đa nhiệm phức tạp hơn như Illiac IV đã được đưa vào [5].

Gần đây hơn, các minicomputer đã được kết nối trong các cấu hình bộ xử lý đa nhiệm vì tính kinh tế, độ tin cậy và tính mô-đun hệ thống tăng lên [24, 36]. Xu hướng đã hướng tới sự phi tập trung để tăng độ tin cậy; các hệ thống bộ xử lý đa nhiệm ghép lỏng phụ thuộc ít hơn vào bộ nhớ trung tâm dùng chung và nhiều hơn vào thin wires cho truyền thông giữa các tiến trình với sự cô lập thành phần tăng lên [18, 26]. Với việc tiếp tục làm mỏng truyền thông giữa các bộ xử lý vì độ tin cậy và sự phát triển của các ứng dụng có thể phân phối, xử lý đa nhiệm đang dần tiến gần tới một dạng cục bộ của tính toán phân tán.

1.3 Mạng máy tính cục bộ

Ethernet chia sẻ nhiều mục tiêu với các mạng cục bộ khác như Mitre’s Mitrix, Bell Telephone Laboratory’s Spider và U.C. Irvine’s Distributed Computing System (DCS) [12, 13, 14, 35]. Các nguyên mẫu của cả bốn sơ đồ mạng cục bộ này hoạt động ở tốc độ bit từ một đến ba megabit mỗi giây. Mitrix và Spider có một minicomputer trung tâm để chuyển mạch và phân bổ băng thông, trong khi DCS và Ethernet sử dụng điều khiển phân tán. Spider và DCS sử dụng đường truyền thông hình vòng, Mitrix sử dụng công nghệ CATV có sẵn để triển khai hai bus một chiều, và Ethernet thử nghiệm của chúng tôi sử dụng một bus thụ động hai chiều phân nhánh. Sự khác biệt giữa các hệ thống này là do sự khác biệt giữa các ứng dụng dự kiến của chúng, sự khác biệt giữa các ràng buộc chi phí mà trong đó các đánh đổi được thực hiện, và sự khác biệt về quan điểm giữa các nhà nghiên cứu.

Trước khi đi vào mô tả chi tiết về Ethernet, chúng tôi đưa ra tổng quan sau đây (xem Hình 1).

2 Tóm tắt hệ thống

Ethernet là một hệ thống dành cho giao tiếp cục bộ giữa các trạm tính toán. Ethernet thử nghiệm của chúng tôi sử dụng các cáp đồng trục có điểm nối để truyền các gói tin dữ liệu số có độ dài thay đổi giữa, ví dụ, các máy tính mini cá nhân, các cơ sở in ấn, các thiết bị lưu trữ file lớn, các trạm sao lưu băng từ, các máy tính trung tâm lớn hơn và các thiết bị truyền thông đường dài hơn.

Cơ sở giao tiếp dùng chung, một Ether phân nhánh, là thụ động. Giao diện Ethernet của một trạm kết nối theo kiểu bit nối tiếp thông qua một cáp giao diện tới một bộ thu phát, bộ này lần lượt nối vào Ether đang truyền. Một gói tin được phát quảng bá lên Ether, được tất cả các trạm nghe thấy và được các đích sao chép từ Ether bằng cách lựa chọn nó theo các bit địa chỉ đứng đầu của gói tin. Đây là chuyển mạch gói tin quảng bá và cần được phân biệt với chuyển mạch gói tin lưu trữ và chuyển tiếp, trong đó việc định tuyến được thực hiện bởi các phần tử xử lý trung gian. Để đáp ứng các yêu cầu của sự phát triển, một Ethernet có thể được mở rộng bằng cách sử dụng các bộ lặp gói tin để tái tạo tín hiệu, các bộ lọc gói tin để bản địa hóa lưu lượng và các cổng gói tin để mở rộng địa chỉ liên mạng.

Điều khiển được phân tán hoàn toàn giữa các trạm, với việc truyền các gói tin được phối hợp thông qua phân xử thống kê. Các lần truyền do một trạm khởi tạo sẽ trì hoãn trước bất kỳ lần truyền nào có thể đã đang diễn ra. Khi đã bắt đầu, nếu phát hiện sự can thiệp với các gói tin khác, một lần truyền sẽ bị hủy bỏ và được trạm nguồn lập lịch lại. Sau một khoảng thời gian truyền không có can thiệp nhất định, một gói tin được tất cả các trạm nghe thấy và sẽ chạy đến khi hoàn thành mà không bị can thiệp. Các bộ điều khiển Ethernet trong các trạm xảy ra va chạm mỗi bộ tạo ra các khoảng thời gian truyền lại ngẫu nhiên để tránh các va chạm lặp lại. Giá trị trung bình của các khoảng thời gian truyền lại của một gói tin được điều chỉnh như một hàm của lịch sử va chạm để giữ mức sử dụng Ether gần với mức tối ưu khi tải mạng thay đổi.

Ngay cả khi được truyền mà không có can thiệp do nguồn phát hiện, một gói tin vẫn có thể không đến được đích mà không có lỗi; do đó, các gói tin được phân phối chỉ với xác suất cao. Các trạm yêu cầu tỷ lệ lỗi dư thấp hơn mức được cung cấp bởi cơ chế vận chuyển gói tin Ethernet cơ bản phải tuân theo các giao thức gói tin được thỏa thuận lẫn nhau.

3 Nguyên tắc thiết kế

Mục tiêu của chúng tôi là thiết kế một hệ thống truyền thông có thể mở rộng một cách trơn tru để đáp ứng một số tòa nhà đầy các máy tính cá nhân và các phương tiện cần thiết cho việc hỗ trợ chúng.

Giống như các trạm tính toán sẽ được kết nối, hệ thống truyền thông phải có chi phí thấp. Chúng tôi chọn phân tán quyền điều khiển của phương tiện truyền thông giữa các máy tính giao tiếp để loại bỏ các vấn đề về độ tin cậy của một bộ điều khiển trung tâm chủ động, tránh tạo ra nút thắt cổ chai trong một hệ thống giàu tính song song, và giảm các chi phí cố định khiến các hệ thống nhỏ trở nên không kinh tế.

Thiết kế Ethernet bắt đầu từ ý tưởng cơ bản về va chạm gói tin và truyền lại được phát triển trong Aloha Network [1]. Chúng tôi dự đoán rằng, giống như Aloha Network, các Ethernet sẽ mang lưu lượng bùng phát, do đó kỹ thuật ghép kênh phân chia thời gian đồng bộ (STDM) thông thường sẽ không hiệu quả [1, 2, 21, 26]. Chúng tôi nhận thấy triển vọng trong cách tiếp cận Aloha đối với việc điều khiển phân tán của ghép kênh kênh vô tuyến và hy vọng rằng nó có thể được áp dụng hiệu quả với các môi trường phù hợp cho truyền thông máy tính cục bộ. Với một số cải tiến của riêng chúng tôi, triển vọng đó đã trở thành hiện thực.

Ethernet được đặt tên theo luminiferous ether trong lịch sử, môi trường mà các bức xạ điện từ từng được cho là lan truyền qua đó. Giống như một bộ phát vô tuyến Aloha, một bộ phát Ethernet phát quảng bá các chuỗi bit đồng bộ với bộ phát, có địa chỉ đầy đủ, được gọi là các gói tin lên Ether và hy vọng rằng chúng được các bộ nhận dự định nghe thấy. Ether là một môi trường thụ động về mặt logic để lan truyền các tín hiệu số và có thể được xây dựng bằng bất kỳ số lượng môi trường nào bao gồm cáp đồng trục, cặp xoắn và sợi quang.

Fig. 1. Một Ethernet hai đoạn.

3.1 Tôpô

Chúng tôi không thể chịu được các kết nối dư thừa và định tuyến động của chuyển mạch gói lưu trữ-và-chuyển tiếp để đảm bảo truyền thông tin cậy, vì vậy chúng tôi chọn đạt được độ tin cậy thông qua sự đơn giản. Chúng tôi chọn làm cho phương tiện truyền thông dùng chung trở nên thụ động để sự cố của một phần tử chủ động sẽ có xu hướng chỉ ảnh hưởng đến truyền thông của một trạm duy nhất. Bố cục và các nhu cầu thay đổi của các tòa nhà văn phòng và phòng thí nghiệm dẫn chúng tôi đến việc chọn một tôpô mạng có tiềm năng mở rộng tăng dần và cấu hình lại thuận tiện với sự gián đoạn dịch vụ tối thiểu.

Tôpô của Ethernet là một cây không gốc. Nó là một cây để Ether có thể phân nhánh tại lối vào hành lang của một tòa nhà, đồng thời tránh nhiễu đa đường. Chỉ được có một đường đi qua Ether giữa bất kỳ nguồn và đích nào; nếu tồn tại nhiều hơn một đường đi, một truyền dẫn sẽ gây nhiễu với chính nó, liên tục đến đích dự định sau khi đã truyền qua các đường đi có độ dài khác nhau. Ether là không gốc vì nó có thể được mở rộng từ bất kỳ điểm nào của nó theo bất kỳ hướng nào. Bất kỳ trạm nào muốn tham gia Ethernet đều kết nối vào Ether tại điểm thuận tiện gần nhất.

Xét mối quan hệ giữa liên kết và điều khiển, chúng ta thấy rằng Ethernet là đối ngẫu của một mạng sao. Thay vì liên kết phân tán thông qua nhiều liên kết riêng biệt và điều khiển trung tâm trong một nút chuyển mạch, như trong mạng sao, Ethernet có liên kết trung tâm thông qua Ether và điều khiển phân tán giữa các trạm của nó.

Không giống như Aloha Network, vốn là một mạng sao với một kênh phát quảng bá đi ra và một kênh đa truy nhập đi vào, Ethernet hỗ trợ truyền thông nhiều-đến-nhiều với một kênh đa truy nhập phát quảng bá duy nhất.

3.2 Điều khiển

Việc chia sẻ Ether được điều khiển theo cách sao cho không chỉ có thể mà còn có khả năng hai hoặc nhiều trạm sẽ cố gắng truyền một gói tin vào xấp xỉ cùng một thời điểm. Các gói tin chồng lấn theo thời gian trên Ether được gọi là va chạm; chúng gây nhiễu đến mức không thể được bộ nhận nhận dạng. Một trạm phục hồi từ một va chạm đã phát hiện bằng cách từ bỏ lần thử và truyền lại gói tin sau một khoảng thời gian ngẫu nhiên được chọn động. Việc phân xử các yêu cầu truyền dẫn xung đột vừa được phân tán vừa mang tính thống kê.

Khi Ether phần lớn không được sử dụng, một trạm truyền các gói tin của nó tùy ý, các gói tin được nhận không có lỗi, và mọi thứ đều ổn. Khi nhiều trạm bắt đầu truyền, tốc độ nhiễu gói tin tăng lên. Các bộ điều khiển Ethernet trong mỗi trạm được xây dựng để điều chỉnh khoảng thời gian truyền lại trung bình tỷ lệ với tần suất va chạm; việc chia sẻ Ether giữa các truyền dẫn trạm-trạm cạnh tranh nhờ đó được giữ gần mức tối ưu [20, 21].

Cần có một mức độ hợp tác giữa các trạm để chia sẻ Ether một cách công bằng. Trong các ứng dụng yêu cầu cao, một số trạm có thể hữu ích khi nhận ưu tiên truyền dẫn thông qua một số vi phạm có hệ thống đối với các quy tắc công bằng. Một trạm có thể chiếm đoạt Ether bằng cách không điều chỉnh khoảng thời gian truyền lại khi lưu lượng tăng hoặc bằng cách gửi các gói tin rất lớn. Cả hai cách làm này hiện đều bị phần mềm mức thấp trong mỗi trạm cấm.

3.3 Địa chỉ hóa

Mỗi gói tin có một nguồn và một đích, cả hai đều được xác định trong phần đầu của gói tin. Một gói tin được đặt trên Ether cuối cùng sẽ lan truyền đến tất cả các trạm. Bất kỳ trạm nào cũng có thể sao chép một gói tin từ Ether vào bộ nhớ cục bộ của nó, nhưng thông thường chỉ một trạm đích chủ động khớp địa chỉ của nó trong phần đầu của gói tin mới thực hiện điều đó khi gói tin đi qua. Theo quy ước, địa chỉ đích bằng không là một ký tự đại diện và khớp với tất cả các địa chỉ; một gói tin có đích bằng không được gọi là một gói tin phát quảng bá.

3.4 Độ tin cậy

Một Ethernet mang tính xác suất. Các gói tin có thể bị mất do nhiễu với các gói tin khác, nhiễu xung trên

Communications of eth ACM July 1976 Volume 19

Ether, một bộ thu không hoạt động tại đích đến dự kiến của một gói tin, hoặc sự loại bỏ có chủ đích. Các giao thức được sử dụng để giao tiếp thông qua một Ethernet phải giả định rằng các gói tin sẽ được nhận đúng tại các đích đến dự kiến chỉ với xác suất cao.

Một Ethernet cố gắng hết sức để truyền các gói tin thành công, nhưng trách nhiệm của các tiến trình trong các trạm nguồn và trạm đích là thực hiện các biện pháp phòng ngừa cần thiết để bảo đảm giao tiếp đáng tin cậy với chất lượng mà chính chúng mong muốn [18, 21]. Nhận thức được chi phí và nguy cơ của việc hứa hẹn giao tiếp “không lỗi”, chúng tôi không bảo đảm việc phân phối đáng tin cậy của bất kỳ gói tin đơn lẻ nào để đạt được cả tính kinh tế trong truyền dẫn và độ tin cậy cao được tính trung bình trên nhiều gói tin [21]. Việc loại bỏ trách nhiệm về giao tiếp đáng tin cậy khỏi cơ chế vận chuyển gói tin cho phép chúng tôi điều chỉnh độ tin cậy theo ứng dụng và đặt việc khôi phục lỗi vào nơi nó mang lại hiệu quả lớn nhất. Chính sách này trở nên quan trọng hơn khi các Ethernet được kết nối với nhau trong một hệ thống phân cấp các mạng mà qua đó các gói tin phải di chuyển xa hơn và chịu nhiều rủi ro hơn.

3.5 Cơ chế

Một trạm kết nối với Ether bằng một tap và một transceiver. Một tap là một thiết bị dùng để kết nối vật lý với Ether đồng thời làm nhiễu các đặc tính truyền dẫn của nó ít nhất có thể. Việc thiết kế transceiver phải là một bài tập về tính đa nghi. Cần thực hiện các biện pháp phòng ngừa để những sự cố có khả năng xảy ra trong transceiver hoặc trạm không dẫn đến việc làm ô nhiễm Ether. Cụ thể, việc ngắt nguồn khỏi transceiver phải khiến nó ngắt kết nối khỏi Ether.

Năm cơ chế được cung cấp trong Ethernet thử nghiệm của chúng tôi để giảm xác suất và chi phí mất một gói tin. Đó là (1) phát hiện sóng mang, (2) phát hiện nhiễu, (3) phát hiện lỗi gói tin, (4) lọc gói tin bị cắt ngắn, và (5) thực thi sự đồng thuận va chạm.

3.5.1 Phát hiện sóng mang.

Khi các bit của một gói tin được một trạm đặt lên Ether, chúng được mã hóa theo pha (giống như các bit trên băng từ), điều này bảo đảm rằng có ít nhất một chuyển tiếp trên Ether trong mỗi thời gian bit. Do đó, việc một gói tin đi qua Ether có thể được phát hiện bằng cách lắng nghe các chuyển tiếp của nó. Sử dụng phép tương tự với radio, chúng tôi nói về sự hiện diện của carrier khi một gói tin đi qua một transceiver. Vì một trạm có thể cảm nhận sóng mang của một gói tin đang đi qua, nó có thể trì hoãn việc gửi gói tin của chính mình cho đến khi gói tin được phát hiện đi qua an toàn. Aloha Network không có phát hiện sóng mang và do đó chịu tỷ lệ va chạm cao hơn đáng kể. Nếu không có phát hiện sóng mang, việc sử dụng Ether hiệu quả sẽ giảm khi độ dài gói tin tăng. Trong Section 6 dưới đây, chúng tôi chỉ ra rằng với phát hiện sóng mang, hiệu suất Ether tăng khi độ dài gói tin tăng.

Với phát hiện sóng mang, chúng tôi có thể triển khai deference: không trạm nào bắt đầu truyền khi đang nghe thấy sóng mang. Cùng với deference là acquisition: một khi việc truyền một gói tin đã diễn ra trong một thời gian bằng thời gian lan truyền đầu-cuối của Ether, tất cả các trạm đều đang nghe thấy sóng mang và đang trì hoãn; Ether đã được chiếm giữ và việc truyền sẽ hoàn tất mà không có va chạm gây nhiễu.

Với phát hiện sóng mang, các va chạm chỉ nên xảy ra khi hai hoặc nhiều trạm nhận thấy Ether im lặng và bắt đầu truyền đồng thời: trong phạm vi một thời gian lan truyền đầu-cuối của Ether. Điều này hầu như luôn xảy ra ngay sau một lần truyền gói tin trong đó hai hoặc nhiều trạm đã trì hoãn. Vì các trạm hiện không ngẫu nhiên hóa sau khi trì hoãn, khi quá trình truyền kết thúc, các trạm đang chờ cùng đổ vào, va chạm, ngẫu nhiên hóa và truyền lại.

3.5.2 Phát hiện nhiễu.

Mỗi transceiver có một bộ phát hiện nhiễu. Nhiễu được biểu thị khi transceiver nhận thấy sự khác biệt giữa giá trị của bit mà nó đang nhận từ Ether và giá trị của bit mà nó đang cố gắng truyền.

Phát hiện nhiễu có ba ưu điểm. Thứ nhất, một trạm phát hiện va chạm biết rằng gói tin của nó đã bị hỏng. Gói tin có thể được lập lịch để truyền lại ngay lập tức, tránh thời gian chờ xác nhận kéo dài. Thứ hai, các khoảng thời gian nhiễu trên Ether bị giới hạn tối đa bằng một thời gian khứ hồi. Các gói tin va chạm trong Aloha Network chạy đến khi hoàn tất, nhưng các gói tin bị cắt ngắn do va chạm Ethernet chỉ lãng phí một phần nhỏ thời gian của một gói tin trên Ether. Thứ ba, tần suất nhiễu được phát hiện được sử dụng để ước lượng lưu lượng Ether nhằm điều chỉnh các khoảng thời gian truyền lại và tối ưu hóa hiệu suất kênh.

3.5.3 Phát hiện lỗi gói tin.

Khi một gói tin được đặt lên Ether, một checksum được tính toán và nối thêm. Khi gói tin được đọc từ Ether, checksum được tính toán lại. Các gói tin không mang một checksum nhất quán sẽ bị loại bỏ. Theo cách này, các lỗi truyền dẫn, lỗi do nhiễu xung, và các lỗi do nhiễu không được phát hiện đều được bắt tại đích đến của gói tin.

3.5.4 Lọc gói tin bị cắt ngắn.

Phát hiện nhiễu và trì hoãn khiến hầu hết các va chạm dẫn đến các truncated packets chỉ có vài bit; các trạm va chạm phát hiện nhiễu và hủy bỏ việc truyền trong thời gian khứ hồi của Ether. Để giảm tải xử lý mà việc loại bỏ các gói tin rõ ràng đã bị hỏng như vậy gây ra cho phần mềm của các trạm lắng nghe, các gói tin bị cắt ngắn được lọc bỏ trong phần cứng.

3.5.5 Thực thi đồng thuận va chạm.

Khi một trạm xác định rằng việc truyền của nó đang chịu nhiễu, nó tạm thời gây nhiễu Ether để bảo đảm rằng tất cả các bên tham gia khác trong vụ va chạm sẽ phát hiện nhiễu, và do sự nhường quyền, sẽ bị buộc phải hủy bỏ. Nếu không có cơ chế thực thi đồng thuận va chạm này, có khả năng trạm truyền mà trong điều kiện khác sẽ là trạm cuối cùng phát hiện va chạm có thể không phát hiện được điều đó khi các lần truyền gây nhiễu khác lần lượt hủy bỏ và ngừng gây nhiễu. Mặc dù gói tin có thể trông hợp lệ đối với bộ phát cuối cùng đó, các độ dài đường truyền khác nhau

Communications của ACM

Tháng 7 năm 1976 Tập 19 giữa các bộ phát đang va chạm và bộ nhận đích sẽ khiến gói tin đến nơi bị hỏng.

4 Triển khai

Các lựa chọn của chúng tôi về 1 kilometer, 3 megabits per second và 256 trạm cho các tham số của một Ethernet thử nghiệm dựa trên các đặc điểm của môi trường truyền thông máy tính phân tán cục bộ và đánh giá của chúng tôi về những gì có thể đạt được ở mức biên; chắc chắn chúng không phải là những hạn chế cứng thiết yếu đối với khái niệm Ethernet.

Chúng tôi kỳ vọng rằng kích thước tối đa hợp lý của mạng sẽ vào khoảng 1 kilometer cáp. Chúng tôi sử dụng con số làm việc này để lựa chọn giữa các Ether có mức suy hao tín hiệu khác nhau và để thiết kế các bộ thu phát với công suất và độ nhạy thích hợp.

Trạm chiếm ưu thế trên Ethernet thử nghiệm của chúng tôi là một minicomputer, trong đó 3 megabits per second là tốc độ truyền dữ liệu thuận tiện. Bằng cách giữ tốc độ cực đại thấp hơn nhiều so với tốc độ của đường truyền của máy tính tới bộ nhớ chính, chúng tôi giảm nhu cầu về bộ đệm gói tin chuyên dụng đắt tiền trong các giao diện Ethernet của mình. Bằng cách giữ tốc độ cực đại cao nhất trong mức thuận tiện, chúng tôi cung cấp khả năng hỗ trợ số lượng trạm lớn hơn và các ứng dụng truyền thông đa xử lý tham vọng hơn.

Để đẩy nhanh việc xử lý gói tin mức thấp giữa 256 trạm, chúng tôi phân bổ byte 8-bit đầu tiên của gói tin cho trường địa chỉ đích và byte thứ hai cho trường địa chỉ nguồn (xem Hình 2). 256 là một con số đủ nhỏ để cho phép mỗi trạm nhận được phần băng thông khả dụng thích hợp và tiến gần tới giới hạn mà chúng tôi có thể đạt được với các kỹ thuật hiện tại để đấu nối vào cáp. 256 chỉ là một con số thuận tiện cho mức thấp nhất của giao thức; các mức cao hơn có thể hỗ trợ không gian địa chỉ mở rộng với các trường bổ sung bên trong gói tin và phần mềm để diễn giải chúng.

Triển khai Ethernet thử nghiệm của chúng tôi có bốn phần chính: Ether, các bộ thu phát, các giao diện và các bộ điều khiển (xem Hình 1).

4.1 Ether

Chúng tôi chọn triển khai Ether thử nghiệm bằng cách sử dụng cáp đồng trục suy hao thấp với các đầu nối và điểm đấu nối CATV có sẵn trên thị trường. Có thể trộn các Ether trên một Ethernet duy nhất; chúng tôi sử dụng cáp đồng trục đường kính nhỏ hơn để kết nối thuận tiện trong các cụm trạm và cáp đồng trục đường kính lớn hơn cho các đoạn chạy suy hao thấp giữa các cụm. Chi phí của Ether cáp đồng trục là không đáng kể so với chi phí của các hệ thống tính toán phân tán được Ethernet hỗ trợ.

4.2 Bộ thu phát

Các bộ thu phát thử nghiệm của chúng tôi có thể điều khiển một kilometer Ether cáp đồng trục được đấu nối bởi 256 trạm truyền ở tốc độ 3 megabits per second. Các bộ thu phát có thể chịu được (tức là hoạt động sau khi) việc nối tắt trực tiếp kéo dài, kết cuối Ether không đúng và việc điều khiển đồng thời bởi tất cả 256 trạm; chúng có thể chịu đựng (tức là hoạt động trong khi) các sai biệt điện thế đất và nhiễu điện hằng ngày, từ máy đánh chữ hoặc máy khoan điện, gặp phải khi các trạm cách nhau tới một kilometer.

Một bộ thu phát Ethernet gắn trực tiếp vào Ether chạy qua trên trần hoặc dưới sàn. Nó được cấp nguồn và điều khiển thông qua năm cặp dây xoắn trong một cáp giao diện mang dữ liệu truyền, dữ liệu nhận, phát hiện nhiễu và điện áp nguồn. Khi không được cấp nguồn, bộ thu phát tự ngắt kết nối điện khỏi Ether. Đây là nơi cuộc đấu tranh của chúng tôi vì độ tin cậy được quyết định thắng hay thua; một bộ thu phát hỏng có thể, nhưng không nên, làm sập toàn bộ Ethernet. Một mạch bộ định thời watchdog trong mỗi bộ thu phát cố gắng ngăn ngừa việc làm ô nhiễm Ether bằng cách tắt tầng đầu ra nếu nó hoạt động đáng ngờ. Để đơn giản hóa bộ thu phát, chúng tôi sử dụng dải tần cơ sở của Ether, nhưng một Ethernet có thể được xây dựng để sử dụng bất kỳ dải tần có kích thước phù hợp nào của một Ether ghép kênh phân chia theo tần số.

Mặc dù các bộ thu phát thử nghiệm của chúng tôi rất đơn giản và chỉ có thể chịu được suy hao tín hiệu giới hạn, chúng đã chứng tỏ là hoàn toàn đủ và đáng tin cậy. Một thiết kế bộ thu phát tinh vi hơn có thể cho phép phân nhánh thụ động của Ether và khoảng cách giữa các trạm rộng hơn.

4.3 Giao diện

Một giao diện Ethernet tuần tự hóa và giải tuần tự hóa dữ liệu song song được sử dụng bởi trạm của nó. Có một số loại trạm khác nhau trên Ethernet của chúng tôi; một giao diện phải được xây dựng cho từng loại.

Mỗi giao diện được trang bị phần cứng cần thiết để tính toán một tổng kiểm tra dư vòng 16-bit (CRC) trên dữ liệu nối tiếp khi nó được truyền và nhận. Tổng kiểm tra này chỉ bảo vệ chống lại các lỗi trong Ether và cụ thể không phải chống lại các lỗi trong các phần song song của phần cứng giao diện hoặc trạm. Các tổng kiểm tra bằng phần mềm mức cao hơn được khuyến nghị cho các ứng dụng yêu cầu mức độ tin cậy cao hơn.

Một giao diện truyền sử dụng địa chỉ bộ đệm gói tin và số lượng từ để tuần tự hóa và mã hóa pha một số lượng thay đổi các từ 16-bit được lấy từ bộ nhớ của trạm và truyền tới bộ thu phát, với một bit bắt đầu (gọi là SYNC trong Hình 2) đứng trước và CRC đứng sau. Một giao diện nhận sử dụng sự xuất hiện của sóng mang để phát hiện sự bắt đầu của gói tin và sử dụng bit SYNC để thu nhận pha bit. Khi sóng mang còn bật, giao diện giải mã và giải tuần tự hóa luồng bit đến, đặt các từ 16-bit vào một bộ đệm gói tin trong bộ nhớ chính của trạm. Khi sóng mang biến mất, giao diện kiểm tra rằng một số nguyên các từ 16-bit đã được nhận và CRC là đúng. Từ cuối cùng được nhận được giả định là CRC và không được sao chép vào bộ đệm gói tin.

Các giao diện này thông thường bao gồm phần cứng chỉ chấp nhận những gói tin có địa chỉ thích hợp trong phần đầu của chúng. Bộ lọc địa chỉ bằng phần cứng giúp một trạm tránh việc xử lý gói tin bằng phần mềm nặng nề khi

Communications of the ACM July 1976 Volume 19 Ether rất bận rộn với việc mang lưu lượng dành cho các trạm khác.

Fig. 2. Bố cục gói tin Ethernet.

4.4 Bộ điều khiển

Bộ điều khiển Ethernet là phần sụn hoặc phần mềm mức thấp dành riêng cho trạm để đưa các gói tin vào và ra khỏi Ether. Khi xảy ra va chạm được phát hiện tại nguồn, trách nhiệm của bộ điều khiển nguồn là tạo ra một khoảng thời gian truyền lại ngẫu nhiên mới dựa trên số lần va chạm đã được cập nhật. Chúng tôi đã nghiên cứu một số thuật toán để điều khiển tốc độ truyền lại trong các trạm nhằm duy trì hiệu suất Ether [20, 22]. Các thuật toán thực tế nhất trong số này ước lượng tải lưu lượng bằng cách sử dụng lịch sử va chạm gần đây.

Các khoảng thời gian truyền lại là bội số của một slot, thời gian tối đa giữa lúc bắt đầu một lần truyền và lúc phát hiện một va chạm, tức một độ trễ khứ hồi đầu cuối đến đầu cuối. Một bộ điều khiển Ethernet bắt đầu truyền mỗi gói tin mới với khoảng thời gian truyền lại trung bình bằng một slot. Mỗi lần một nỗ lực truyền kết thúc bằng va chạm, bộ điều khiển trì hoãn trong một khoảng thời gian có độ dài ngẫu nhiên với giá trị trung bình gấp đôi khoảng thời gian trước đó, nhường cho bất kỳ gói tin nào đang đi qua, rồi thử truyền lại. Heuristic này xấp xỉ một thuật toán mà chúng tôi gọi là Binary Exponential Backoff (xem Hình 3) [22].

Khi mạng không có tải và các va chạm hiếm khi xảy ra, giá trị trung bình hiếm khi rời khỏi một và việc truyền lại diễn ra nhanh chóng. Khi tải lưu lượng tăng lên, nhiều va chạm hơn xảy ra, một lượng lớn gói tin chờ tích tụ tại các trạm, các khoảng thời gian truyền lại tăng lên, và lưu lượng truyền lại giảm tốc để duy trì hiệu suất kênh.

5 Tăng trưởng

5.1 Phạm vi tín hiệu

Có thể mở rộng một Ethernet đến một mức nhất định bằng cách thêm các bộ thu phát và Ether. Tại một thời điểm nào đó, các bộ thu phát và Ether sẽ không thể mang các tín hiệu cần thiết. Phạm vi tín hiệu có thể được mở rộng bằng một bộ lặp gói tin đơn giản không có bộ đệm. Trong Ethernet thử nghiệm của chúng tôi, nơi do sự đơn giản của bộ thu phát mà Ether không thể được phân nhánh một cách thụ động, một bộ lặp đơn giản có thể nối bất kỳ số lượng phân đoạn Ether nào để làm phong phú cấu trúc liên kết trong khi mở rộng phạm vi tín hiệu.

Chúng tôi vận hành một bộ lặp gói tin hai phân đoạn thử nghiệm, nhưng hy vọng tránh phụ thuộc vào chúng. Trong việc phân nhánh Ether và mở rộng phạm vi tín hiệu của nó, có sự đánh đổi giữa việc sử dụng các bộ thu phát tinh vi và sử dụng các bộ lặp. Với công suất và độ nhạy tăng lên, các bộ thu phát trở nên đắt hơn và kém tin cậy hơn. Việc đưa các bộ lặp vào một Ethernet làm cho Ether kết nối trung tâm trở nên chủ động. Sự cố của một bộ thu phát sẽ cắt đứt các liên lạc của chủ sở hữu nó; sự cố của một bộ lặp sẽ phân vùng Ether, cắt đứt nhiều liên lạc.

5.2 Phạm vi lưu lượng

Có thể mở rộng một Ethernet đến một mức nhất định bằng cách thêm Ether và các bộ lặp gói tin. Tại một thời điểm nào đó, Ether sẽ bận đến mức các trạm bổ sung chỉ còn chia nhỏ hơn nữa băng thông vốn đã không đủ. Phạm vi lưu lượng có thể được mở rộng bằng một bộ lặp lọc lưu lượng không có bộ đệm hoặc bộ lọc gói tin, bộ này chỉ chuyển các gói tin từ một phân đoạn Ether sang phân đoạn Ether khác nếu trạm đích nằm trên phân đoạn mới. Một bộ lọc gói tin cũng mở rộng phạm vi tín hiệu.

5.3 Phạm vi địa chỉ

Có thể mở rộng một Ethernet đến một mức nhất định bằng cách thêm Ether, các bộ lặp và các bộ lọc lưu lượng. Tại một thời điểm nào đó sẽ có quá nhiều trạm để được định địa chỉ bằng các địa chỉ 8-bit của Ethernet. Phạm vi địa chỉ có thể được mở rộng bằng các cổng gói tin và các quy ước định địa chỉ phần mềm mà chúng triển khai [7]. Địa chỉ có thể được mở rộng theo hai hướng: xuống vào trong trạm bằng cách thêm các trường để xác định các cổng đích hoặc các tiến trình bên trong một trạm, và lên vào trong liên mạng bằng cách thêm các trường để xác định các trạm đích trên các mạng từ xa. Một cổng cũng mở rộng các phạm vi lưu lượng và tín hiệu.

Chỉ có thể có một bộ lặp hoặc bộ lọc gói tin kết nối hai phân đoạn Ether; một gói tin được lặp lại vào một phân đoạn bởi nhiều bộ lặp sẽ gây nhiễu với chính nó. Tuy nhiên, không có giới hạn về số lượng cổng kết nối hai phân đoạn; một cổng chỉ lặp lại các gói tin được định địa chỉ cho chính nó như một trung gian. Sự cố của bộ lặp duy nhất kết nối hai phân đoạn sẽ phân vùng mạng; sự cố của một cổng không nhất thiết phải phân vùng mạng nếu có các đường đi qua các cổng khác giữa các phân đoạn.

6 Hiệu năng

Chúng tôi trình bày ở đây một tập hợp công thức đơn giản để đặc trưng cho hiệu năng được mong đợi của một Ethernet khi chịu tải lớn. Các phân tích phức tạp hơn và một số mô phỏng chi tiết đã được thực hiện, nhưng mô hình đơn giản sau đây đã chứng tỏ rất hữu ích trong việc tìm hiểu sơ đồ tranh chấp phân tán của Ethernet, ngay cả khi nó được tải vượt quá mức dự kiến [1, 20, 21, 22, 23, 27].

Chúng tôi xây dựng một mô hình đơn giản về hiệu năng của một Ethernet đang chịu tải bằng cách xem xét các khoảng thời gian Ether xen kẽ. Khoảng đầu tiên, được gọi là một khoảng truyền, là khoảng

Truyền thông của ACM

Tháng 7 năm 1976 Tập 19 trong đó Ether đã được chiếm dụng để truyền thành công một gói tin. Khoảng thứ hai, được gọi là một khoảng tranh chấp, là khoảng được tạo thành từ các khe truyền lại của Section 4.4, trong đó các trạm cố gắng giành quyền điều khiển Ether. Vì các Ethernet trong mô hình chịu tải và vì các trạm trì hoãn trước các gói tin đang đi qua trước khi bắt đầu truyền, các khe được đồng bộ hóa bởi phần cuối của khoảng giành quyền trước đó. Một khe sẽ trống khi không có trạm nào chọn thử truyền trong đó và nó sẽ chứa một va chạm nếu có nhiều hơn một trạm cố gắng truyền. Khi một khe chỉ chứa một lần thử truyền duy nhất, Ether đã được chiếm dụng trong thời gian của một gói tin, khoảng tranh chấp kết thúc và một khoảng truyền bắt đầu.

Gọi PP là số bit trong một gói tin Ethernet. Gọi CC là dung lượng cực đại tính bằng bit trên giây, được mang trên Ether. Gọi TT là thời gian tính bằng giây của một khe, là số giây cần thiết để phát hiện một va chạm sau khi bắt đầu một lần truyền. Giả sử rằng có QQ trạm liên tục xếp hàng để truyền một gói tin; hoặc trạm giành quyền có một gói tin mới ngay sau khi giành quyền thành công hoặc một trạm khác trở nên sẵn sàng. Lưu ý rằng QQ cũng đồng thời cho tải được cung cấp tổng cộng trên mạng, trong phân tích này luôn là 1 hoặc lớn hơn. Chúng tôi giả sử rằng một trạm đang xếp hàng thử truyền trong khe hiện tại với xác suất 1/Q1/Q, hoặc trì hoãn với xác suất 1−(1/Q)1-(1/Q); điều này được biết đến

Figure 3
Thuật toán điều khiển va chạm.
6.1 Xác suất giành quyền

Bây giờ chúng tôi tính AA, xác suất chính xác một trạm thử truyền trong một khe và do đó giành quyền trên Ether. AA là Q∗(1/Q)∗((1−(1/Q))∗∗(Q−1))Q*(1/Q)*((1-(1/Q))**(Q-1)); có QQ cách để một trạm chọn truyền (với xác suất (1/Q)(1/Q)) trong khi Q−1Q-1 trạm chọn chờ (với xác suất 1−(1/Q)1-(1/Q)). Rút gọn,

A=(1−(1/Q))(Q−1).A=(1-(1/Q))^{(Q-1)}.
6.2 Thời gian chờ

Bây giờ chúng tôi tính WW, số khe chờ trung bình trong một khoảng tranh chấp trước khi một lần truyền của một trạm giành quyền trên Ether thành công. Xác suất không chờ chút thời gian nào chính là AA, xác suất một và chỉ một trạm chọn truyền trong khe đầu tiên sau một lần truyền. Xác suất chờ 1 khe là A∗(1−A)A*(1-A); xác suất chờ ii khe là A∗((1−A)∗∗i)A*((1-A)**i). Giá trị trung bình của phân phối hình học này là

W=(1−A)/A.W=(1-A)/A.
6.3 Hiệu suất

Bây giờ chúng tôi tính EE, phần thời gian mà Ether đang mang các gói tin hữu ích, tức hiệu suất. Thời gian của Ether được chia giữa các khoảng truyền và các khoảng tranh chấp. Một lần truyền gói tin mất P/CP/C giây. Thời gian trung bình để giành quyền là W∗TW*T. Do đó, theo mô hình đơn giản của chúng tôi,

E=(P/C)/((P/C)+(W∗T)).E=(P/C)/((P/C)+(W*T)).

Bảng I trình bày các số liệu hiệu năng tiêu biểu (tức là EE) cho Ethernet thử nghiệm của chúng tôi với các kích thước gói tin và số lượng trạm xếp hàng liên tục được chỉ ra. Các số liệu hiệu suất được đưa ra không tính đến các suy giảm không thể tránh khỏi do các phần đầu và các gói điều khiển cũng như các mất mát do việc điều khiển không chính xác tham số truyền lại 1/Q1/Q; phần trước phụ thuộc trực tiếp vào giao thức và phần sau cần phân tích vượt quá phạm vi của bài báo này. Một lần nữa, chúng tôi cho rằng tất cả các Ethernet trong bảng đều bị quá tải; các Ethernet chịu tải bình thường thường sẽ có QQ nhỏ hơn nhiều so với 1 và thể hiện hành vi không được mô hình này bao quát.

Trong các phép tính của chúng tôi, chúng tôi sử dụng CC bằng 3 megabit trên giây và TT bằng 16 microgiây. Thời lượng khe TT phải đủ dài để cho phép phát hiện một va chạm hoặc ít nhất bằng hai lần thời gian khứ hồi của Ether. Chúng tôi giới hạn bằng phần mềm độ dài tối đa của các gói tin của mình gần 4000 bit để giữ độ trễ của truy cập mạng thấp và cho phép sử dụng hiệu quả bộ lưu trữ bộ đệm gói tin của trạm.

Đối với các gói tin có kích thước lớn hơn 4000 bit, hiệu suất của Ethernet thử nghiệm của chúng tôi vẫn cao hơn nhiều so với 95

Truyền thông của ACM

Tháng 7 năm 1976 Tập 19 phần trăm. Đối với các gói tin có kích thước xấp xỉ kích thước của một khe, hiệu suất Ethernet tiến gần đến 1/e1/e, hiệu suất tiệm cận của một mạng Aloha phân khe [27].

7 Giao thức

Có nhiều điều hơn trong việc xây dựng một hệ thống truyền thông gói tin khả dụng so với việc chỉ cung cấp các cơ chế vận chuyển gói tin. Các phương pháp sửa lỗi, điều khiển luồng, đặt tên tiến trình, bảo mật và kế toán cũng phải được cung cấp thông qua các giao thức cấp cao hơn được triển khai trên giao thức điều khiển Ether được mô tả trong Các mục 3 và 4 ở trên. [7], [10], [12], [21], [28], [34]. Điều khiển Ether bao gồm đóng khung gói tin, phát hiện lỗi, định địa chỉ và điều khiển đa truy cập; giống như các thủ tục điều khiển đường truyền khác, Ethernet được sử dụng để hỗ trợ nhiều kiến trúc mạng và đa bộ xử lý [30, 31].

Sau đây là mô tả ngắn gọn về một giao thức gói tin điều khiển lỗi đơn giản. EFTP (Ethernet File Transfer Protocol) đáng quan tâm vừa vì nó tương đối dễ hiểu và triển khai đúng, vừa vì nó đã tận tâm truyền nhiều file có giá trị trong quá trình phát triển các giao thức tổng quát hơn và hiệu quả hơn.

7.1. Thuật ngữ chung

Khi thảo luận về các giao thức gói tin, chúng tôi sử dụng các thuật ngữ hữu ích chung sau đây. Một gói tin được nói là có một nguồn và một đích. Một luồng dữ liệu được nói là có một bên gửi và một bên nhận, nhận thấy rằng để hỗ trợ một luồng dữ liệu, một số gói tin (thường là các xác nhận) sẽ có nguồn tại bên nhận và đích đến là bên gửi. Một kết nối được nói là có một bộ lắng nghe và một bên khởi tạo, còn một dịch vụ được nói là có một server và một người dùng. Việc xem chúng như các bộ mô tả trực giao của những bên tham gia trong một giao tiếp là rất hữu ích. Tất nhiên, một server thường là một bộ lắng nghe và nguồn của các gói tin mang dữ liệu thường là bên gửi.

7.2 EFTP

16 bit đầu tiên của tất cả các gói tin Ethernet chứa các địa chỉ trạm đích và nguồn có thể được giao diện diễn giải, mỗi địa chỉ một byte, theo thứ tự đó (xem Hình 2). Theo quy ước phần mềm, 16 bit thứ hai của tất cả các gói tin Ethernet chứa kiểu gói tin. Các giao thức khác nhau sử dụng các tập kiểu gói tin rời nhau. EFTP sử dụng 5 kiểu gói tin: data, ack, abort, end, và endreply. Theo sau từ kiểu 16 bit của một gói tin EFTP là số thứ tự 16 bit, độ dài 16 bit, tùy chọn một số từ dữ liệu 16 bit, và cuối cùng là một từ kiểm tra tổng phần mềm 16 bit (xem Hình 4). Tổng kiểm tra phần cứng của Ethernet chỉ hiện diện trên Ether và không được tính ở mức giao thức này.

Rõ ràng là đã không dành nhiều sự quan tâm để nhồi một số trường nhất định vào đúng số lượng bit cần thiết. Trọng tâm ở đây là tính đơn giản và sự dễ dàng trong lập trình. Mặc dù có lời miễn trừ này, chúng tôi vẫn cho rằng nên sai theo hướng sử dụng các trường rộng rãi hơn; dù cố gắng đến đâu, một trường nào đó cuối cùng sẽ luôn trở nên quá nhỏ.

Từ kiểm tra tổng phần mềm được sử dụng để làm giảm xác suất xảy ra lỗi không được phát hiện. Nó không chỉ đóng vai trò dự phòng cho tổng kiểm tra dư thừa tuần hoàn phần cứng nối tiếp 16 bit của Ethernet thử nghiệm (trong Hình 2), mà còn bảo vệ chống lại các sự cố trong các đường dẫn dữ liệu song song bên trong các trạm không được CRC kiểm tra. Tổng kiểm tra được EFTP sử dụng là phép cộng bù 1 và xoay vòng trên toàn bộ gói tin, bao gồm phần đầu và dữ liệu nội dung. Tổng kiểm tra có thể bị người dùng bỏ qua với rủi ro của chính họ ở một trong hai đầu; bên gửi có thể đặt tất cả các bit 1 (một giá trị không thể xảy ra) vào từ tổng kiểm tra để chỉ ra cho bên nhận rằng không có tổng kiểm tra nào được tính.

7.2.1 Truyền dữ liệu.

Các từ 16 bit của một file được mang từ trạm gửi đến trạm nhận trong các gói tin dữ liệu được đánh số liên tiếp bắt đầu từ 0. Mỗi gói tin dữ liệu được bên gửi truyền lại định kỳ cho đến khi một gói tin ack có số thứ tự tương ứng được trả về từ bên nhận. Bên nhận bỏ qua tất cả các gói tin bị hỏng, các gói tin từ một trạm khác với bên gửi, và các gói tin có số thứ tự không khớp với số được mong đợi hoặc số đứng trước nó. Khi một gói tin có số thứ tự mong đợi, gói tin đó được xác nhận, dữ liệu của nó được chấp nhận như một phần của file, và số thứ tự được tăng lên. Khi một gói tin đến với số thứ tự nhỏ hơn số được mong đợi một đơn vị, nó được xác nhận và loại bỏ; giả định là ack của nó đã bị mất và cần được truyền lại [21].

7.2.2 Kết thúc.

Khi tất cả dữ liệu đã được truyền, một gói tin end được gửi với số thứ tự liên tiếp tiếp theo và sau đó bên gửi chờ một end-reply tương ứng. Sau khi chấp nhận một gói tin end theo đúng thứ tự, bên nhận dữ liệu trả lời bằng một endreply tương ứng và sau đó chờ trong một khoảng thời gian hợp lý dài (10 giây). Khi nhận được endreply, trạm gửi truyền một endreply lặp lại và được tự do kết thúc với sự đảm bảo rằng file đã được truyền thành công. Bên nhận đang chờ sau đó nhận được end-reply được lặp lại và nó cũng kết thúc với sự đảm bảo tương tự.

Bảng I. Hiệu suất Ethernet.

QQP=4096P = 4096P=1024P = 1024P=512P = 512P=48P = 48
11.00001.00001.00001.0000
20.98840.95520.91430.5000
30.98570.94470.89510.4444
40.98420.93960.88620.4219
50.98340.93670.88100.4096
100.98180.93100.87090.3874
320.98070.92720.86420.3737
640.98050.92630.86270.3708
1280.98040.92590.86200.3693
2560.98030.92570.86160.3686

Communications of the ACM

Tháng 7 1976 Tập 19

Hình 4. Bố cục gói tin EFTP.

Trình tự end-dally tương đối phức tạp được thiết kế nhằm làm cho chắc chắn trên thực tế rằng bên gửi và bên nhận của một file sẽ thống nhất về việc file đã được truyền chính xác hay chưa. Nếu gói tin kết thúc bị mất, bên gửi dữ liệu chỉ đơn giản truyền lại nó giống như bất kỳ gói tin nào có xác nhận quá hạn. Nếu endreply từ bên nhận dữ liệu bị mất, bên gửi dữ liệu sẽ hết thời gian chờ theo cùng cách và truyền lại gói tin kết thúc, gói tin này đến lượt nó sẽ được xác nhận bởi bên nhận đang dally. Nếu endreply được phản hồi bị mất, bên nhận đang dally sẽ gặp bất tiện vì phải chờ nó, nhưng khi đã hết thời gian chờ, bên nhận vẫn có thể chắc chắn về việc truyền file thành công vì gói tin kết thúc đã được nhận.

Vào bất kỳ thời điểm nào trong suốt quá trình này, một trong hai phía đều có quyền quyết định rằng giao tiếp đã thất bại và chỉ từ bỏ; việc gửi một gói tin hủy để kết thúc giao tiếp kịp thời trong trường hợp, chẳng hạn, một thao tác hủy do người dùng khởi tạo hoặc một lỗi hệ thống file được xem là lịch sự.

7.2.3 Các thiếu sót của EFTP.

EFTP đã rất hữu ích, nhưng các thiếu sót của nó rất nhiều. Thứ nhất, giao thức chỉ cung cấp việc truyền file từ trạm này sang trạm khác trong một mạng duy nhất và cụ thể không cung cấp việc truyền từ tiến trình này sang tiến trình khác bên trong các trạm, dù trên cùng mạng hay thông qua một gateway. Thứ hai, việc rendezvous của tiến trình bị suy biến vì không có các cơ chế để tìm tiến trình theo tên hoặc để xử lý thuận tiện nhiều người dùng bởi một server duy nhất. Thứ ba, không có điều khiển luồng thực sự. Nếu dữ liệu đến một bên nhận không thể chấp nhận nó vào các bộ đệm của mình, dữ liệu có thể đơn giản bị loại bỏ với sự chắc chắn hoàn toàn rằng cuối cùng nó sẽ được truyền lại. Không có cách nào để bên nhận làm giảm luồng các lần truyền lãng phí như vậy hoặc thúc đẩy việc truyền lại. Thứ tư, dữ liệu được truyền theo các số nguyên từ 16-bit thuộc về các file không có tên và do đó EFTP hoặc là quá hạn chế hoặc đòi hỏi một số định dạng truyền file lồng nhau bên trong các từ dữ liệu của nó. Và thứ năm, tính tổng quát về chức năng bị mất vì bên nhận cũng là bộ lắng nghe và server.

8 Kết luận

Kinh nghiệm của chúng tôi với một Ethernet đang vận hành dẫn chúng tôi đến kết luận rằng việc nhấn mạnh vào điều khiển phân tán của chúng tôi là đúng đắn. Bằng cách giữ các thành phần dùng chung của hệ thống truyền thông ở mức tối thiểu và thụ động, chúng tôi đã đạt được mức độ tin cậy rất cao. Việc cài đặt và bảo trì Ethernet thử nghiệm của chúng tôi đã vượt quá mức thỏa đáng. Tính linh hoạt trong việc liên kết các trạm do chuyển mạch gói tin quảng bá cung cấp đã khuyến khích sự phát triển của nhiều ứng dụng mạng máy tính và xử lý đa nhiệm.

Lời cảm ơn. Các đồng nghiệp của chúng tôi tại Xerox Palo Alto Research Center, đặc biệt là Tat C. Lam, Butler W. Lampson, John F. Shoch và Charles P. Thacker, đã đóng góp theo nhiều cách vào sự phát triển của các ý tưởng Ethernet và vào việc xây dựng hệ thống thử nghiệm, nếu không có hệ thống này thì những ý tưởng như vậy chỉ là những suy đoán suông.

Nhận tháng 5 năm 1975; sửa đổi tháng 12 năm 1975

References

  1. Abramson, N. The Aloha system. AFIPS Conf. Proc., Vol. 37, 1970 FJCC, AFIPS Press, Montvale, N.J., 1970, pp. 281–285.
  2. Abramson, N. and Kuo, F.F. Computer-Communication Networks. Prentice-Hall, Englewood Cliffs, N.J., 1975.
  3. Ashenhurst, R.L., and Vonderohe, R.H. A hierarchical network. Datamation 21, 2 (Feb. 1975), 40–44.
  4. Baran, P. On distributed communications. Rand Corp. Memo RM-3420-PR, Aug. 1964.
  5. Barnes, G.H., Brown, R.M., Kato, M., Kuck, D.J., Slotnick, D.L., and Stokes, R.A. The Illiac IV Computer. IEEE Trans. Computers C-17, 8 (Aug. 1968), 758–770.
  6. Binder, R., Abramson, N., Kuo, F., Okinaka, A., and Wax, D. Aloha packet broadcasting—a retrospect. AFIPS Conf. Proc., Vol. 44, 1975 NCC, AFIPS Press, Montvale, N.J., 1975.
  7. Cerf, V.G., and Kahn, R.E. A protocol for packet network intercommunication. IEEE Trans. Comm. COMM-22, 5 (May 1974), 637–648. Read it here
  8. The shrinking world: computer networks and communications. Computer 7, 2 (Feb. 1974).
  9. Distributed-function computer architectures. Computer 7, 3 (March 1974).
  10. Crocker, S.D., Heafner, J.F., Metcalfe, R.M., and Postel, J.B. Function-oriented protocols for the Arpa computer network. AFIPS Conf. Proc., Vol. 40, 1972 SJCC, AFIPS Press, Montvale, N.J., 1972, pp. 271–279.
  11. Crowther, W.R., Heart, F.E., McKenzie, A.A., McQuillan, J.M., and Walden, D.C. Issues in packet-switching network design. AFIPS Conf. Proc., Vol. 44, 1975 NCC, AFIPS Press, Montvale, N.J., 1975, pp. 161–175.
  12. Farber, D.J., et al. The distributed computing system. Proc. 7th Ann. IEEE Computer Soc. International Conf., Feb. 1973, pp. 31–34.
  13. Farber, D.J., A ring network. Datamation 21, 2 (Feb. 1975), 44–46.
  14. Fraser, A.G. A virtual channel network. Datamation 21, 2 (Feb. 1975), 51–53.
  15. Heart, F.E., Kahn, R.E., Ornstein, S.M., Crowther, W.R., and Walden, D.C. The interface message processor for the Arpa computer network, AFIPS Conf. Proc., Vol. 36, 1970 SJCC, AFIPS Press, Montvale, N.J., 1970, pp. 551–567.
  16. Heart, F.E., Ornstein, S.M., Crowther, W.R., and Barker, W.B. A new minicomputer-multiprocessor for the Arpa network. AFIPS Conf. Proc., Vol. 42, 1972 SJCC, AFIPS Press, Montvale, N.J., 1972, pp. 529–537.
  17. Kahn, R.R. The organization of computer resources into a packet ratio network. AFIPS Conf. Proc., Vol. 44, 1975 NCC, AFIPS Press, Montvale, N.J., 1975, pp. 177–186.
  18. Metcalfe, R.M. Strategies for interprocess communication in a distributed computing system. Proc. Symp. on Computer Commun. Networks and Teletraffic. Polytechnic Press, New York, 1972.
  19. Metcalfe, R.M. Strategies for Operating Systems in Computer Networks, Proc. ACM National Conf., August 1972, pp. 278–281.
  20. Metcalfe, R.M. Steady-state analysis of a slotted and controlled aloha system with blocking. Proc. 6th Hawaii Conf. on System Sci. Jan. 1973, pp. 375–380.
  21. Metcalfe, R.M. Packet communication. Harvard Ph.D. Th., Project Mac TR-114, Dec. 1973.
  22. Metcalfe, R.M. Distributed algorithms for a broadcast queue. Talk given at Stanford University in November 1974 and at the University of California at Berkeley in February 1975, paper in preparation.
  23. Murthy, P. Analysis of a carrier-sense random-access system with random packet length. Aloha System Tech. Rep. B75-17, U. of Hawaii, May 1975.
  24. Ornstein, S.M., Crowther, W.R., Kraley, M.F., Bressler, R.D., Michel, A., and Heart, F.E. Pluribus—a reliable multiprocessor. AFIPS Conf. Proc., Vol. 44, 1975 NCC, AFIPS Press, Montvale, N.J., 1970, pp. 551–559.
  25. Retz, D.L. Operating system design considerations for the packet switching environment. AFIPS Conf. Proc., Vol. 44, 1975 NCC, AFIPS Press, Montvale, N.J., 1970, pp. 155–160.
  26. Roberts, L., and Wessler, B. Computer network development to achieve resource sharing. AFIPS Conf. Proc., Vol. 36, 1970 SJCC, AFIPS Press, Montvale, N.J., 1970, pp. 543–549.
  27. Roberts, L. Capture effects on Aloha channels. Proc. 6th Hawaii Conf. on System Sci., Jan. 1973.
  28. Rowe, L.A. The distributed computing operating system. Tech. Rep. 66, Dep. of Information and Computer Sci., U. of California, Irvine, June 1975.
  29. Rustin, R. (Ed.) Computer Networks (Proc. Courant Computer Sci. Symp. 3, December 1970), Prentice-Hall, Englewood Cliffs, N.J., 1970.
  30. IBM synchronous data link control—general information. IBM Systems Development Div., Pub. Center, Research Triangle Park, N.C., 1974.
  31. IBM system network architecture—general information. IBM Systems Development Div., Pub. Center, Research Triangle Park, N.C., 1975.
  32. Thomas, R.H. A resource sharing executive for the Arpanet. AFIPS Conf. Proc., Vol. 42, 1973 NCC, AFIPS Press, Montvale, N.J., 1973, pp. 155–163.
  33. Thornton, J.E. Design of a Computer: the Control Data 6600. Scott Foresman and Co., Glenview, Ill. 1970.
  34. Walden, D.C. A system for interprocess communication in a resource sharing computer network. Comm. ACM, 15, 4 (April 1972), 221–230.
  35. Willard, D.G. Mitrix: A sophisticated digital cable communications system Proc. National Telecommunications Conf., Nov. 1973.
  36. Wulf, W., and Levin, R. C.mmp—a multi-mini-processor, AFIPS Conf. Proc., Vol. 41, 1972 FJCC, AFIPS Press, Montvale, N.J., 1972. Management Applications H. Morgan Editor Synthesis of Decision Rules Cheng-Wen Cheng and Jonas Rabin Western Electric Decision tables can be used as an effective tool during an interview to record the logic of processes to be automated. The result of such an interview is not a structure of complete decision tables but rather sets of decision rules. The purpose of this paper is to provide a procedure for synthesizing the decision rules and thus provide an aid in developing a structure of complete decision tables. Key Words and Phrases: decision rules, decision tables, logical tables, logical design, system design, specification language CR Categories: 3.50, 4.33 1. Introduction One of the most important stages in the systems development process is fact finding. Fact finding is an investigation and recording of current procedures and future requirements. The most effective method of fact finding is interviewing. Decision tables are an effective tool for recording the logic during the interview process, as discussed by London [1]. The primary objective of the interview is

Read off the page by a vision model reading the page images using gpt-5. Translated into Tiếng Việt by gpt-5, against glossary version 7. Translated from the English.