2013-03-18 28 views
6

Tôi đang lập trình trình điều khiển thiết bị linux qua một giao diện rất chậm, có thời gian ping vòng có thể dài tới vài phút. Khi tôi cố gắng sử dụng TCP để thiết lập kết nối giữa hai nút, kết nối luôn luôn hết thời gian chờ.Thay đổi thời gian chờ TCP cho một thiết bị mạng linux

Có phương pháp nào để đặt thời gian chờ truyền hoặc bắt tay TCP lâu hơn trong trình điều khiển hay không hoặc có bất kỳ lệnh nào để đặt? Cảm ơn

Trả lời

4

Bạn đã thử tìm kiếm câu trả lời cho câu hỏi này chưa? Một tìm kiếm nhanh chóng của Google đã cho tôi this, dường như trực tiếp giải quyết vấn đề này. Tóm tắt là cài đặt của net.ipv4.tcp_syn_retries xác định thời gian chờ tối đa có sẵn cho các kết nối TCP.

Nếu tài liệu đó không trả lời câu hỏi của bạn, bạn nên chỉ ra những gì bạn đã thử và cách hành vi khác với những gì bạn mong đợi.

+0

+1 - chỉ đơn giản gọn gàng :) – linski

+0

Cảm ơn. Câu trả lời của bạn thực sự hữu ích. Nhưng tôi có thể đặt thời gian chờ khác nhau cho các giao diện khác nhau không? –

2

Liên kết sau có trả lời câu hỏi của bạn không?

increasing or decreasing socket timeouts

+0

Cảm ơn, nhưng điều này thực sự giữ thời gian sống, nhưng không phải thời gian truyền lại –

0
/proc/sys/net/ipv4/tcp_retries1 
/proc/sys/net/ipv4/tcp_retries2 

.

tcp_retries1 - INTEGER 


This value influences the time, after which TCP decides, that 
    something is wrong due to unacknowledged RTO retransmissions, 
    and reports this suspicion to the network layer. 
    See tcp_retries2 for more details. 

    RFC 1122 recommends at least 3 retransmissions, which is the 
    default. 


tcp_retries2 - INTEGER 

This value influences the timeout of an alive TCP connection, 
when RTO retransmissions remain unacknowledged. 
Given a value of N, a hypothetical TCP connection following 
exponential backoff with an initial RTO of TCP_RTO_MIN would 
retransmit N times before killing the connection at the (N+1)th RTO. 

The default value of 15 yields a hypothetical timeout of 924.6 
seconds and is a lower bound for the effective timeout. 
TCP will effectively time out at the first RTO which exceeds the 
hypothetical timeout. 

RFC 1122 recommends at least 100 seconds for the timeout, 
which corresponds to a value of at least 8. 
Các vấn đề liên quan