LAN hoạt động như thế nào trong các trò chơi video nếu chỉ có một trạm được phép truyền?


7

Tôi đã đọc trong mạng LAN, dữ liệu được truyền trong các gói để chỉ cho phép một trạm phát tại một thời điểm nhất định, vậy làm thế nào điều này có thể được áp dụng trong các trò chơi video Các bên LAN nếu chỉ có một thiết bị sẽ truyền tại một thiết bị nhất định thời gian ?

Dữ liệu thường được truyền trong các gói. Bởi vì phương tiện được chia sẻ, chỉ một trạm tại một thời điểm có thể truyền gói.

Ngừng, truyền dữ liệu và máy tính , ed.Pearson


6
Điều đáng chú ý là tiền đề là không chính xác đối với hầu hết các mạng có dây hiện đại; "Bởi vì phương tiện được chia sẻ, chỉ một trạm tại một thời điểm có thể truyền một gói." giữ đúng cho 10BASE2 và một phần cho 10BASE-T với các trung tâm lặp lại. Nhưng Ethernet hiện đại luôn được sử dụng làm thiết bị chuyển mạch lưu trữ và chuyển tiếp và nhiều trạm có thể truyền bất cứ lúc nào.
marcelm 18/03/18

3
(1) Wm. Tên của Stallings có một 's' ở cuối. (2) Trong một tin khác, phim / rạp chiếu phim và truyền hình / video bao gồm một loạt các vẫn hình ảnh. Làm thế nào có thể hình ảnh tĩnh có thể nhìn vào con người như họ đang di chuyển? Hãy suy nghĩ về nó.
dave_thndry_085

LAN Doom hoạt động khá tốt ngay cả hai mươi năm trước trên các mạng đồng trục 10base2, mặc dù các phiên bản đầu đã gửi một gói cho mỗi viên đạn chaingun gây ra sự cố.
pjc50

@marcelm, Wi-Fi hiện là Vua của mạng LAN (nhiều thiết bị giao hàng với giao diện Wi-Fi hơn so với giao diện ethernet) và nó sử dụng phương tiện chia sẻ song công.
Ron Maupin

Câu trả lời:


20

Chỉ có một thiết bị được phép truyền tại bất kỳ thời điểm nào. Tại bất kỳ thời điểm nào khác, một thiết bị khác được phép truyền.

Làm thế nào bạn có thể có một cuộc trò chuyện tại bàn ăn tối nếu chỉ có một người có thể nói bất cứ lúc nào?


3
Có, hoặc bạn chờ (và đối với các giao thức thời gian thực, bạn thường đảm bảo rằng các khung rất nhỏ, để bạn không phải chờ lâu) hoặc bạn không sử dụng phương tiện được chia sẻ, thì vấn đề này không xảy ra ' t tồn tại Thành thật mà nói, lần cuối cùng tôi tham gia một bữa tiệc LAN thực sự sử dụng phương tiện chia sẻ là vào năm 1995. Kể từ đó, chúng tôi luôn sử dụng các công tắc.
Jörg W Mittag

2
Để mở rộng sự tương tự bàn ăn, vâng, nếu có một tá người ở bàn, hoàn toàn có khả năng bạn sẽ không thể nói những gì bạn muốn nói. Đó là lý do tại sao các mạng LAN doanh nghiệp phải sử dụng các bộ chuyển mạch - phương tiện chia sẻ CSMA là không khởi động trong các mạng LAN ethernet lớn. Trước khi các thiết bị chuyển mạch ethernet có giá phải chăng, đã có các tiêu chuẩn khác (như Token Ring và 100VG) thay thế lược đồ CSMA / CD bằng sơ đồ mã thông báo, có nghĩa là mọi người nói đều có một khe thời gian (mã thông báo) trong đó họ có cơ hội dân chủ để nói bất cứ điều gì họ muốn nói.
mere3ortal 18/03/18

9
@ eis3nheim có. Nhưng độ trễ ít hơn bạn có thể nhận thấy. Một gói nhỏ trên mạng nhanh mất vài giây để truyền.
hobbs 18/03/18

1
@ eis3nheim: Ví dụ: đối với Gigabit Ethernet, thời gian khe tối thiểu (khung nhỏ nhất mà thiết bị được phép gửi) là ~ 4 tựa (512 byte). Nói về thuật ngữ chơi game, đó là độ trễ khoảng nửa khung hình ở 120fps. Và về mặt kỹ thuật, GigE thậm chí không cần thời gian tối thiểu, vì chưa có thiết bị GigE trung bình nào được chế tạo. 10G trở lên thậm chí không chỉ định phương tiện được chia sẻ nữa và do đó không có thời gian tối thiểu. Vì vậy, điều này có nghĩa là, trên GigE, nếu trò chơi của bạn chỉ gửi các datagram nhỏ nhất có thể, thì độ trễ sẽ là khoảng 1 khung hình ở 120fps để nhận được câu trả lời.
Jörg W Mittag

1
?? Một nửa khung hình video là 4 ms (4 000 lượt)
Qsigma 18/03/18

18

Một số giao thức LAN, trên một số phương tiện, là một nửa song công. Điều đó có nghĩa là chỉ một máy chủ lưu trữ trên mạng LAN có thể gửi khung tại bất kỳ thời điểm nào. Ví dụ kinh điển về điều này là ethernet ban đầu, nhưng ví dụ hiện đại là Wi-Fi.

Ethernet ban đầu chạy trên dỗ, và nó đã sử dụng CSMA / CD (Carrier Sense Nhiều quyền truy cập với Phát hiện va chạm) để phát hiện va chạm trong đó hai máy chủ gửi cùng một lúc và sau đó nó sẽ gửi tín hiệu gây nhiễu vì dữ liệu bị hỏng. Mỗi máy chủ sẽ lùi lại một thời gian ngẫu nhiên và cố gắng gửi lại, nhưng trước tiên các máy chủ lắng nghe phương tiện để xem có máy chủ nào khác đang gửi không.

Ngày nay, Wi-Fi sử dụng một phương tiện được chia sẻ: sóng. Chỉ có một máy chủ tại một thời điểm có thể gửi. Wi-Fi sử dụng CSMA / CA (Carrier Sense Nhiều quyền truy cập với Tránh va chạm) để cố gắng tránh va chạm.

Về mặt con người, mỗi khung hình được sử dụng trên phương tiện khá nhỏ và nó không tồn tại trên phương tiện rất lâu, do đó, bằng cách thay phiên và chia sẻ phương tiện, các vật chủ xuất hiện, để chúng ta làm chậm con người, đồng thời sử dụng phương tiện.


"Half duplex" áp dụng cho một liên kết, không phải toàn bộ mạng ...
rackandboneman 18/03/18

@rackandboneman, tôi không hiểu lý do bình luận của bạn. Tôi đã không đề cập, cũng không ngụ ý, bất cứ điều gì về toàn bộ mạng. Tôi đã nói về phương tiện được sử dụng, trong đó ngụ ý liên kết.
Ron Maupin

rackandboneman cái mà chúng ta gọi là một liên kết hiện được sử dụng để được gọi là một mạng. @RonMaupin bạn đã nói LAN, LAN = Mạng cục bộ
user253751

2
@immibis, thuật ngữ LAN được sử dụng trong các ngữ cảnh khác nhau. Nó có thể có nghĩa là miền va chạm (liên kết), miền quảng bá, nhà máy dây trong một trang web (bao gồm một số mạng lớp 3), mạng trường, v.v. Trong bối cảnh của câu hỏi này, tôi đã sử dụng mạng LAN để tham khảo miền va chạm.
Ron Maupin

Tất nhiên, đối với trò chơi máy khách-máy chủ (hầu hết các trò chơi hiện nay), "sự cố" đã quay trở lại - độ trễ tối thiểu được xác định bởi số lượng dữ liệu mà máy chủ cần xử lý, cũng như cơ sở hạ tầng mạng giữa máy khách và máy chủ. Full-duplex có thể giúp đỡ, hoặc hoàn toàn không. Và vâng, máy chủ có thể có một liên kết tốt hơn so với các máy khách. Nhưng trong mọi trường hợp, chúng tôi vẫn nói về độ trễ không ở gần độ dài của một bản cập nhật trò chơi (trên mạng LAN) và hầu hết các trò chơi mạng đều mong muốn tin nhắn sẽ được xử lý trong một số cập nhật trong tương lai, cho phép giữ tất cả các máy trong đồng bộ mặc dù độ trễ.
Luaan

5

Câu trả lời (ngây thơ) là, hay đúng hơn là đơn giản: Nó thanh toán cho mỗi người gửi phải chờ một phần nhỏ của một giây. Không có cách nào khác vì đây là cách mạng hoạt động ở mức vật lý, nhưng nó cũng không phải là vấn đề lớn vì chúng ta đang nói về một vài micro giây (micro, không phải milli).

Câu trả lời có phần ít ngây thơ hơn là trừ khi LAN cũng bao gồm mạng WLAN, trích dẫn của bạn đã lỗi thời (sai). Trên mạng WLAN, bạn vẫn không có nhiều tùy chọn. Trong khi một trạm đang gửi, không có trạm nào khác có thể gửi (trừ khi họ sử dụng kênh không chồng lấp hoàn toàn khác nhau, nhưng đó thực sự là hai mạng chứ không phải một, vì vậy một trạm sẽ gian lận).

Các máy tính trong mạng LAN "chơi game" hiện đại thường sẽ được kết nối qua ít nhất 100BASE-TX, nhiều khả năng là 1000BASE-T, cả hai đều hỗ trợ hoạt động song công hoàn toàn bắt đầu. Điều này có nghĩa là bạn có thể gửi và nhận trên cùng một cáp vật lý (tốt, một dây khác trong cáp, nhưng vẫn) cùng một lúc. Do đó, khái niệm phải chờ trong khi dây cáp bận rộn vì thế không còn bị cắt sạch nữa, vì việc gửi không thực sự gây trở ngại cho việc nhận thêm nữa. Chỉ có lưu lượng truy cập đến từ nhiều người gửi khác can thiệp độc lập.

Hơn nữa, các dây cáp ngày nay hầu như không có ngoại lệ được cắm vào một công tắc (chứ không phải là một trung tâm), theo nguyên tắc (tùy thuộc vào chất lượng của phần cứng), có thể gửi và nhận độc lập trên mọi cổng cùng một lúc và theo nguyên tắc (một lần nữa, tùy thuộc vào chất lượng của phần cứng) có đủ băng thông bên trong để xử lý N lần thông lượng lý thuyết tối đa cho các cổng N. Số dặm của bạn có thể thay đổi một chút vì chất lượng chuyển đổi khác nhau. Một số thiết bị chuyển mạch rất rẻ sẽ có N cổng nhưng chỉ đủ băng thông tương ứng với một nửa dữ liệu có thể được đẩy qua N cổng cùng một lúc. Thông thường, thậm chí đó là (đáng ngạc nhiên) hoàn toàn đủ tốt.

Do đó, bạn vẫn sẽ có một số sự chậm trễ không thể tránh khỏi do các gói phải được xếp hàng khi hai máy tính trong mạng gửi gần như cùng một lúc đến cùng một đích (chuyển đổi sau đó đưa ra quyết định đó, không phải thẻ mạng của máy tính của bạn) , nhưng đối với hầu hết các phần, nó sẽ "chỉ hoạt động". Lưu ý rằng ngay cả khi nó không "chỉ hoạt động", dù sao nó cũng hoạt động , chỉ mất một hoặc hai giây để dữ liệu được nhận.


2

Cuốn sách đó có một chút ngày, kiểm tra một số thông tin về cách Ethernet phát triển và sự khác biệt giữa bán song công và song công hoàn toàn:

https://en.wikipedia.org/wiki/Ethernet#Evolution


1
Ngày nay, Wi-Fi vẫn là một nửa song công và nhiều thiết bị được vận chuyển với giao diện Wi-Fi hơn các thiết bị có giao diện ethernet, do đó, một nửa song công vẫn còn sống và tốt.
Ron Maupin

Điều đó chắc chắn công bằng. Suy nghĩ về một bữa tiệc LAN mặc dù tôi nghĩ các kết nối có dây.
boomi

@RonMaupin Với những tiến bộ trong công nghệ MIMO, giới hạn của một trạm phát bất cứ lúc nào cũng mờ dần đối với Wi-Fi;)
marcelm 18/03/18

1
@marcelm, đó là một nửa song công vì một trạm không thể gửi và nhận cùng một lúc.
Ron Maupin

Hơn một chút ngày, tôi nói. Sách giáo khoa của người hỏi có ít nhất 5 phiên bản phía sau.
Kevin Krumwiede

2

Điều này đúng với việc triển khai ethernet cũ (10base2, 10base5 và cộng sự ... cũng như 10baseT và 100baseT NẾU sử dụng một trung tâm không chuyển đổi) thực sự sử dụng phương tiện chia sẻ vật lý hoặc logic (nhà máy cáp) để kết nối nhiều hơn hai truyền dẫn cổng có khả năng. Nếu hai trạm vô tình truyền cùng lúc, tín hiệu trên phương tiện được chia sẻ đó bị cắt xén - các cổng mạng được thiết kế để phát hiện các tín hiệu bị cắt xén đó và gửi một tín hiệu khác đến phương tiện, vẫn có thể đọc chính xác dữ liệu bị cắt xén và báo hiệu cho mọi người rằng tất cả các truyền của họ là không hợp lệ và sẽ phải được lặp lại sau một thời gian chờ. Vấn đề với các thiết lập này là nếu bất cứ thứ gì tải mạng đến giới hạn của nó với các gói nhỏ, băng thông có thể đạt được đã kết thúc dưới mức tối đa lý thuyết,

Trong Ethernet được chuyển đổi hoàn toàn (như bạn sẽ nhận được khi xây dựng nó với bất kỳ bộ phận nào thường có sẵn trong cửa hàng sau khoảng năm 2004. "Chuyển đổi hoàn toàn" vì các dạng lai tồn tại (ed) trong đó đa phương tiện chia sẻ (có hơn 2 cổng) cách nhau bởi các công tắc), luôn có hai cổng (một cổng trên công tắc, cổng còn lại trên máy tính hoặc thiết bị được kết nối khác) chia sẻ phương tiện. Bất kỳ ethernet loại "T" nào cũng có các cặp dây riêng biệt cho mỗi hướng, do đó, giữa hai cổng sẽ luôn có khả năng cho cả hai chúng truyền và nhận cùng một lúc. Một switch sẽ luôn sắp xếp các gói từ nhiều người gửi thành một chuỗi hợp lệ và truyền nó bất cứ nơi nào nó quyết định cần gửi chúng, trừ khi nó thực sự bị quá tải (điều này khó xảy ra trong tình huống mạng gia đình).

Để hoàn thiện, một số hệ thống LAN không dây Ethernet khác (hiện nay hiếm khi được sử dụng) (ví dụ Token Ring, FDDI) đã sử dụng các phương pháp khác nhau để kỷ luật truy cập trung bình, trong một số trường hợp, đàm phán tích cực đặc quyền để gửi trước khi bất kỳ ai phải truyền tải trọng.

WIFI cũng phải đối phó với một vấn đề trung bình được chia sẻ, và thực tế là hai máy phát xung đột có thể có khả năng hiển thị khác nhau đối với các máy thu khác nhau. Một thuật toán gọi là CSMA / CA được sử dụng để giải quyết vấn đề này.


1

Trên mạng 10Mb / s, gói có kích thước đầy đủ mất khoảng 1ms để truyền. Hầu hết các gói trò chơi nhỏ hơn nhiều, vì vậy bạn không nhận thấy độ trễ này và có thể nhận được hàng trăm cập nhật mỗi giây khá dễ dàng. Độ trễ lớn đến từ khoảng cách ít nhất 18ms trên 1000 mi. Đây là tốc độ của ánh sáng và không thể tránh được. Các gói khác trên dây có thể thêm vào độ trễ đó - đó gọi là jitter.


1
" Các gói khác trên dây có thể thêm vào độ trễ đó - đó gọi là jitter. " Thật ra, jitter là độ trễ thay đổi. Tôi nghĩ bạn có nghĩa là tắc nghẽn, đó là một trong những nguyên nhân của jitter. Các giao thức thời gian thực, ví dụ VoIP, thường có thể hoạt động tốt với độ trễ khá lớn, nhưng độ trễ thay đổi liên tục (jitter) sẽ gây ra vấn đề nghiêm trọng.
Ron Maupin

Không bao giờ giả định băng thông và độ trễ cần phải liên quan. Một chiếc xe tải đầy ổ cứng có băng thông rất lớn, nhưng độ trễ cũng lớn. Độ trễ là khi bit đầu tiên đến, băng thông là khoảng tốc độ của các bit tiếp theo sau tốc độ đầu tiên.
allo

1

Trong mọi trò chơi video luôn có độ trễ giữa thời gian người chơi đưa ra đầu vào (nhấn nút, di chuyển cần điều khiển, v.v.) và phản ứng với điều đó. Thậm chí có một độ trễ có thể nhận thấy giữa máy tính cảm nhận sự thay đổi điều khiển và sự thay đổi đó xuất hiện trong khung tiếp theo trên màn hình *, đó là lý do tại sao một số game thủ sẽ giảm cài đặt đồ họa (làm cho trò chơi bớt đẹp hơn) để duy trì 60 FPS.

Mạng cũng sẽ giới thiệu độ trễ này, vì nhiều lý do, một trong số đó là do người chơi không thể nhận được hai tin nhắn cùng một lúc. Nếu hai máy tính khác cố gắng gửi tin nhắn cùng một lúc thì một máy sẽ tắt và để máy kia đi trước (trên phương tiện truyền dẫn chung, chẳng hạn như WiFi) hoặc một công tắc sẽ nhận cả hai cùng một lúc nhưng gửi một tin nhắn trước khác đến đích (Ethernet có dây hiện đại).

Tuy nhiên, độ trễ trên mạng LAN là nhỏ và bị giảm bớt bởi độ trễ (hàng chục hoặc thậm chí hàng trăm lần) được tạo ra bằng cách phát qua Internet.

Vì vậy, làm thế nào mà có thể làm việc? Thông thường, các trò chơi sẽ mô hình hóa người chơi khác, dự đoán chuyển động trong tương lai dựa trên chuyển động hiện tại, để bạn thấy anh ta di chuyển trơn tru theo một hướng nhất định ngay cả khi máy tính của bạn không phải lúc nào cũng nhận được cập nhật ngay lập tức về nơi anh ta thực sự. (Các mã mà thực hiện điều này thường được gọi là netcode .) Đây là lý do tại sao người chơi sẽ đôi khi bất ngờ nhảy từ nơi này sang nơi khác; dự đoán không đồng bộ với những gì thực sự đang xảy ra, thường là do sự chậm trễ của mạng.


* Điều này thường không được coi là "Tôi thấy sự chậm trễ" nhưng "các điều khiển cảm thấy chậm chạp" hoặc tương tự.


1
Chưa kể đến độ trễ giữa "một cái gì đó thay đổi trên màn hình", "bạn nhận thấy có gì đó thay đổi trên màn hình", "bạn lên kế hoạch cho một hành động phản hồi" và "bạn thực sự di chuyển bàn tay / ngón tay của bạn". Tất cả các động vật lớn cần mạch bù độ trễ khá tốt để thậm chí có cơ hội làm bất cứ điều gì trong thế giới thực. Độ trễ ẩn là một điều ở động vật nhiều như nó là trong trò chơi netcode - và tế bào thần kinh truyền nhiều chậm hơn so với các loại cáp đồng; tế bào thần kinh khỏe mạnh nhanh nhất truyền với tốc độ khoảng 120 m / s. Ngay cả với các dây cáp dài hơn nhiều, độ trễ đó cao hơn nhiều so với mạng LAN thông thường.
Luaan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.