Tôi có một máy chủ TCP đang nghe trên một máy ("máy chủ") đang chạy Ubuntu 12.04.3 (kernel 3.8.0-31-generic). Nó nhận được kết nối từ 2 máy khách khác nhau. Máy A đang chạy Ubuntu 12.04.4 (3.11.0-17-generic) và máy B đang chạy Ubuntu 11.10 (3.0.0-32-server).
Nếu dấu thời gian TCP được bật trên máy chủ (sysctl net.ipv4.tcp_timestamp = 1) thì đôi khi các gói SYN từ máy A bị "bỏ qua". Sử dụng tcpdump trên máy chủ (ở chế độ không bừa bãi) tôi có thể thấy các SYN đến OK và với tổng kiểm tra chính xác - không có phản hồi - không có SYN / ACK và không RST. Máy A truyền lại SYN một số lần trước khi bỏ cuộc. Phần mềm máy khách đang chạy trên máy A (wget trong trường hợp này) ngay lập tức thử lại với một kết nối mới và thành công, nhận được một SYN / ACK ngay lập tức.
Máy B không có vấn đề gì với cùng một máy chủ và lưu lượng của nó trông bình thường - nó cũng sử dụng các tùy chọn TCP giống như máy A (từ những gì tôi thấy từ các tệp chụp). Vô hiệu hóa dấu thời gian TCP trên máy chủ làm cho mọi thứ hoạt động như bình thường.
Tuy nhiên, dấu thời gian trong các gói SYN bị bỏ qua dường như là hợp lệ đối với tôi vì vậy tôi không chắc tại sao chúng lại gây ra sự cố hoặc nếu chúng là nguyên nhân cơ bản.
Tôi đã đặt một pcap anonyimised ở đây https://www.dropbox.com/s/onimdkbyx9lim70/server-machineA.pcap . Nó được chụp trên máy chủ (10.76.0.74) hiển thị máy A (10.4.0.76) thực hiện thành công HTTP GET (gói 1 đến 10) và sau đó 1 giây sau đó cố gắng tìm lại cùng một URL (gói 11 đến 17) có các SYN của nó bị bỏ qua. Gói 18 đến 27 là một thành công khác.
Tôi nghi ngờ đây là một vấn đề tương tự như được mô tả trong " Tại sao máy chủ không gửi gói SYN / ACK để phản hồi gói SYN " và trong khi vô hiệu hóa dấu thời gian là một cách giải quyết tôi muốn hiểu điều gì đang xảy ra. Đây chỉ là một lỗi?
Không có tường lửa cục bộ đang chạy. Máy chủ xử lý khá nhiều kết nối TCP (khoảng 32K mỗi lần) nhưng có nhiều bộ nhớ / CPU miễn phí. Tại thời điểm kiểm tra được hiển thị trong pcap, không có kết nối TCP nào khác giữa máy A và máy chủ. Không có dấu hiệu nào cho thấy hàng đợi chấp nhận của ứng dụng máy chủ đột nhiên bị lấp đầy (ngoài ra điều đó sẽ ảnh hưởng đến cả hai máy khách mà tôi cho là). Vì các gói tin có vẻ ổn trong một pcap được lấy trên máy chủ, có vẻ như một thiết bị mạng can thiệp đang phá vỡ mọi thứ.
Ban đầu tôi đã đăng bài này trên các diễn đàn ubfox nhưng nhìn chung đây có thể là một địa điểm thích hợp hơn. Hy vọng cho khoản vay của một đầu mối.