Tiếp tục series top 10 câu hỏi khi phỏng vấn DevOps Engineer . Sau một thời gian miệt mài research tìm kiếm thì mình xin mạn phép trả lời 5 câu hỏi đầu tiên . Nếu có gì sai sót mong các bạn bổ sung thêm .
1. TCP có bao nhiêu flags ?
TCP tổng cộng có 6 flags bao gồm :
– Cờ SYN : Host A muốn gọi đến Host B thì trước tiên phải có qui tắc bắt tay 3 bước và cờ SYN là cờ đầu tiên cần được gửi đến Host B
– Cờ ACK : Sau khi đã nhận gói cờ SYN từ A gửi đến thì B sẽ gửi lại 1 cờ gọi là ACK xác nhận đã nhận được packet từ A .
– Cờ FIN : Là cờ sau khi kết thúc một kết nối Host A sẽ gửi đến B cờ này , và ngược lại .
– Cờ RST : Dùng để ngắt một kết nối . Nếu Host sender gửi cờ RST thì nghĩa là có gì đó không ổn với kết nối TCP hoặc là kết nối này không được cho phép
– Cờ PUSH : Cờ này được đảm bảo rằng các dữ liệu được ưu tiên xử lý ngay tại nơi gửi hoặc nhận . Thông thường thì dữ liệu gửi đén sẽ được đợi trong bộ nhớ đệm đến khi nhận đủ số lượng mới được xử lý .
– Cờ URG : Cờ URG giúp gửi những dữ liệu được ưu tiên trước . Khi packet được gắn cờ URG thì chúng ta được gửi đi trước dù trước đó có nhiều packet
2. TCP và UDP khác nhau như thế nào ?
TCP
- Đảm bảo rằng dữ liệu đến đúng như khi được gửi.
- Kiểm tra lỗi các luồng dữ liệu.
- Header 20 byte cho phép 40 byte dữ liệu tùy chọn.
- Chậm hơn UDP.
- Tốt nhất cho các ứng dụng yêu cầu độ tin cậy.
UDP
- Không đảm bảo dữ liệu đến.
- Không cung cấp tính năng kiểm tra lỗi.
- Header 8 byte chỉ cho phép dữ liệu bắt buộc.
- Nhanh hơn TCP.
- Tốt nhất cho các ứng dụng yêu cầu tốc độ.