[Document] Tìm tài liệu Linux Networking Stack |
31/05/2010 13:38:12 (+0700) | #1 | 211975 |
Xcode
Member
|
0 |
|
|
Joined: 22/12/2009 08:59:29
Messages: 15
Offline
|
|
Em đang ngâm cứu đường đi của gói tin trong nhân linux (nhất là việc gửi dữ liệu giữa các tầng trong nhân, ví dụ như gói tin được truyền tầng này cho tầng kia là truyền CON TRỎ hay truyền DỮ LIỆU, các gói tin được đưa vào bộ đệm như thế nào? lấy ra khỏi bộ đệm thì sao?)
Thật ra điều này bắt nguồn từ câu hỏi vì sao có sự khác nhau về tốc độ giữa iptables -J DROP và chuyển vào black hole, trong các bài viết của anh conmale (em đã nghĩ về việc giải quyết khác nhau cho những vùng nhớ được khởi tạo dành cho các gói tin, hoặc là nằm ở cách thức [nào khác] liên quan đến việc [khởi tạo] và [thu hồi] bộ nhớ )
Em đã tìm kiếm một vài nguồn tài liệu với từ khoá "linux networking stack" nhưng không thấy tài liệu nào nói rõ về "bộ nhớ" lưu trữ gói tin được xữ lý như thế nào trong luồng chảy của gói tin tại nhân.
Viết ra ở đây là mong anh em, ai có nguồn tài liệu hữu ích (hoặc đã có kinh nghiệm, kiến thức trong phần này) giúp đở.
cũng mong anh conmale giải thích câu hỏi phía trên hộ
thân
|
|
|
|
|
[Document] Tìm tài liệu Linux Networking Stack |
31/05/2010 14:54:41 (+0700) | #2 | 211988 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Xcode wrote:
Em đang ngâm cứu đường đi của gói tin trong nhân linux (nhất là việc gửi dữ liệu giữa các tầng trong nhân, ví dụ như gói tin được truyền tầng này cho tầng kia là truyền CON TRỎ hay truyền DỮ LIỆU, các gói tin được đưa vào bộ đệm như thế nào? lấy ra khỏi bộ đệm thì sao?)
Thật ra điều này bắt nguồn từ câu hỏi vì sao có sự khác nhau về tốc độ giữa iptables -J DROP và chuyển vào black hole, trong các bài viết của anh conmale (em đã nghĩ về việc giải quyết khác nhau cho những vùng nhớ được khởi tạo dành cho các gói tin, hoặc là nằm ở cách thức [nào khác] liên quan đến việc [khởi tạo] và [thu hồi] bộ nhớ )
Em đã tìm kiếm một vài nguồn tài liệu với từ khoá "linux networking stack" nhưng không thấy tài liệu nào nói rõ về "bộ nhớ" lưu trữ gói tin được xữ lý như thế nào trong luồng chảy của gói tin tại nhân.
Viết ra ở đây là mong anh em, ai có nguồn tài liệu hữu ích (hoặc đã có kinh nghiệm, kiến thức trong phần này) giúp đở.
cũng mong anh conmale giải thích câu hỏi phía trên hộ
thân
Hello Xcode,
Em đang tìm hiểu một khía cạnh cực kỳ khó khăn nhưng lý thú của *nix nói chung. Socket programming căn bản nói chung không rộng nhưng ứng dụng của nó thì rất rộng. Chừng nào em còn thích thú tìm hiểu và khám phá thế giới này, chừng ấy em còn đi xa hơn. Chúc mừng.
Về phần sách, trên "e-book" của HVA trong phần "Programming" có vài cuốn rất quan trọng và có chứa những thông tin cần thiết cho mảng "socket programming", cụ thể trên Linux. Em nên tải về để nghiên cứu.
Về thông tin cụ thể cho ứng dụng của netfilter / iptables thì không may không có nhiều tài liệu chính thức mà nó nằm tảng mạn nhiều chỗ, chủ yếu là trên các mailing list chuyên về netfilter. Bởi vậy, em chịu khó tìm và tích hợp thông tin từ các nguồn này. Một trong những mailing archive mà anh thường dùng là: http://marc.info/?l=netfilter&r=1&w=1 (nó là một trang cho phép search - rất tiện). Thật sự, source code cho netfilter ngay trên nguồn của Linux kernel có đầy đủ, tất nhiên phải có khả năng đọc và hiểu code (vì comments cho codes ở đấy không đủ chi tiết).
Về phần màu đỏ ở trên, em nên tìm hiểu từ khoá này: "sk_buff", nó là nền tảng cho tất cả cho mọi khía cạnh liên quan đến packets (đi và về). Tất nhiên, em không thể thiếu cái này: http://tldp.org/LDP/lkmpg/2.6/html/
Good luck. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Document] Tìm tài liệu Linux Networking Stack |
02/06/2010 21:34:50 (+0700) | #3 | 212193 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
@Xcode: nghiên cứu rất thú vị và cũng rất tốn kém về mặt thời gian và khí lực. Trong Understanding the Linux kernel 2nd có 1 chương nói sơ qua về linux networking nhưng cũng đủ để hình dung ở một mức độ nào đó. Tuy nhiên để hiểu rõ tường tận thì, ngoài việc tham khảo mớ mailing-lists như anh conmale, theo kinh nghiệm của mình thì không còn cách nào hay hơn là debug kernel, ngồi ngắm mớ source code không thì cũng buồn ngủ lắm.
Ngoài ra trước khi tìm hiểu về vấn đề này mình nghĩ bạn nên nắm rõ nguyên lý hoạt động của Linux, những thứ đại loại như memory management, process scheduling, ipc, syscalls, interrupt handlings, timers, các loại modules, streaming, caching, buffering. Những thứ này trong quyển sách kể trên có bàn khá rõ.
Hope that helps. |
|
Mind your thought. |
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|