Điều gì xảy ra với các kết nối TCP khi tôi tháo cáp ethernet?


42

Đối với kết nối TCP, khi tôi tháo cáp và kết nối lại sau 30-40 giây, không có vấn đề mất gói. Nhưng khi thời gian kết nối lại hơn một vài phút thì tất cả các gói bị mất. Tôi biết nó hoạt động với bộ đếm thời gian truyền lại nhưng tôi muốn biết chính xác những gì sẽ xảy ra khi rút cáp mạng.


9
"những gì chính xác đi về" sẽ rất khó để trả lời. Ngày nay, HĐH có thể làm những việc 'thông minh', như phát hiện ra rằng cáp đã được gỡ bỏ. Thả các tuyến đến mạng đó từ bảng định tuyến. Kích hoạt các tuyến mới qua mạng không dây, .... Tất cả điều này được thực hiện theo cách giải thích phổ quát đơn giản.
Hennes

5
Bạn đã tìm trong thùng bit cho các gói bị thiếu của bạn?
Daniel R Hicks

4
Một điều có thể xảy ra chắc chắn là các liên lạc hiện tại của bạn bị gián đoạn ở giữa như
vào

Nó phụ thuộc vào hệ điều hành và cấu hình của nó. Đối với MS Windows hãy thử google windows mediasense.
Zaboj Campula

Câu trả lời:


60

Theo định nghĩa trên một mô hình lớp là OSI hoặc TCP / IP, mỗi lớp hoạt động độc lập và không nhận thức được các lớp thấp hơn.

Khi bạn tháo cáp, đó là sự gián đoạn vật lý ( lớp 1 ), do đó, ethernet gần như vô hiệu hóa ( lớp 2 ) sẽ phát hiện mất tín hiệu (nếu bạn đang ở trên Windows, bạn sẽ thấy mạng thông báo bật lên rất đáng sợ bị ngắt kết nối )

IP ( lớp 3 ) và TCP ( lớp 4 ) sẽ không chú ý đến nó, vì vậy họ sẽ cố gắng tiếp tục làm việc.

TCP sẽ không phá vỡ kết nối TCP được thiết lập trong một khoảng thời gian vì khi TCP gửi dữ liệu, nó sẽ trả lời ACK và nếu nó không đến trong một khoảng thời gian, nó sẽ truyền lại dữ liệu.

TCP sẽ truyền lại dữ liệu, chuyển nó sang IP, người sẽ chuyển nó sang Ethernet, người không thể gửi nó và chỉ cần loại bỏ nó.

TCP sẽ đợi một lần nữa và lặp lại quá trình này cho đến khi thời gian chờ xảy ra cho phép nó tuyên bố rằng kết nối đã kết thúc. TCP đặt lại số thứ tự phân đoạn, loại bỏ thông tin đang cố gửi và giải phóng bộ đệm và tài nguyên bộ nhớ được phân bổ cho kết nối đó.

Cắm cáp trước khi nó xảy ra và mọi thứ sẽ tiếp tục. Đây là điều làm cho TCP đáng tin cậy và đồng thời dễ bị tấn công DDos.

Nếu HĐH có nhiều giao diện (ví dụ: ethernet và wi-fi), có thể khi ethernet ngừng hoạt động, nó sẽ thử qua wifi. Nó phụ thuộc vào cách định tuyến được định cấu hình, nhưng nói chung, " TCP sẽ không nhận ra điều đó ".

Cấu trúc cơ bản của các cuộc tấn công DDoS là: hàng ngàn khách hàng mở mỗi người một kết nối TCP cứ sau vài giây đến một máy chủ và sau đó từ bỏ kết nối. Mỗi kết nối TCP luôn mở trên máy chủ trong một thời gian dài (lãng phí tài sản có giá trị như cổng TCP, bộ nhớ được phân bổ, băng thông, v.v.) làm tắc nghẽn tài nguyên máy chủ để tham dự người dùng hợp pháp.


7
Đó là những gì mô hình nói nhưng tôi tin rằng các hệ điều hành thực sự phát hiện ra một số lỗi và giết kết nối ngay lập tức. Đó chỉ là một điều hữu ích để làm.
usr

8
@usr Tại sao sẽ hữu ích khi hủy mọi kết nối chỉ vì ai đó cấp nguồn cho bộ chuyển mạch Ethernet mà PC của tôi được kết nối?
một CVn

9
@usr Vô hiệu hóa card mạng thông qua các giao diện quản trị của HĐH là một hoạt động hoàn toàn khác so với rút cáp vật lý hoặc phá vỡ liên kết lớp vật lý. Xin đừng nhầm lẫn hai.
một CVn

7
Ngoài ra, nếu bạn không thực sự gửi bất kỳ dữ liệu TCP nào trong khi cáp bị ngắt kết nối, nó sẽ không bao giờ nhận thấy. Đó là lý do tại sao bạn cần tiếp tục gửi tin nhắn duy trì - những ứng dụng chỉ nghe sẽ không bao giờ biết nếu kết nối "chết". Về mặt tích cực, điều đó cũng có nghĩa là nếu không bên nào cố gắng gửi bất cứ thứ gì trong khi rút cáp, kết nối sẽ hoạt động tốt sau khi cắm lại cáp. TCP được sử dụng rất khác so với cách thiết kế :) thử nghiệm TCP-over-Pigeon-mail :))
Luaan

11
@usr Đó là một lựa chọn thực hiện tồi để không tuân theo các tiêu chuẩn. Kết nối TCP có thể tồn tại khi mất mạng tạm thời. Nó được thiết kế để làm như vậy. Trên thực tế, trước đây bạn thậm chí có thể khởi động lại máy tính của mình và vẫn có kết nối TCP nhưng điều này không phải lúc nào cũng thực tế. Giả định của bạn rằng mọi người đều muốn ngắt kết nối khi cáp bị giật là sai và không phải là cách các hệ thống được thiết kế.
Brad
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.