LỜI MỞ ĐẦUVới những kiến thức đã được học, tìm hiểu về TCP/IP nhóm chúng em quyết định tìm hiểu rõ hơn về TCP/IP với, dùng các tool phân tích gói tin để thấy rõ sự vận chuyển, lưu thông
Trang 1BÁO CÁO MÔN UD TT VÀ AN NINH THÔNG TIN
LỚP: MMT03 Giáo viên: Ths Tô Nguyễn Nhật Quang.
Trang 3LỜI MỞ ĐẦU
Với những kiến thức đã được học, tìm hiểu về TCP/IP nhóm chúng em quyết định tìm hiểu rõ hơn về TCP/IP với, dùng các tool phân tích gói tin để thấy rõ sự vận chuyển, lưu thông của các gói tin trên mạng
Chúng em xin chân thành cảm ơn sự giúp đỡ của thầy Tô Nguyễn Nhật Quang – Giảng viên trực tiếp hướng dẫn đã giúp đỡ nhóm em hoàn thành đồ án này.
Trong quá trình tìm hiểu và viết báo cáo không tránh khỏi sai sót, rất mong nhận được sự góp ý của các thầy cô.
Chúng em xin chân thành cảm ơn.
TpHCM, ngày 1 tháng 03 năm 2012 Lớp MMT03 – Nhóm thực hiện
Trang 4March 1, 2012 [ADVANCE TCP/IP]
MỤC LỤC
1 TCP/IP
1.1 Khái niệm TCP/IP
Để thiết kế cho hai máy truyền thông với nhau, bạn cần phải thống nhất một phương phức truyền thông duy nhất cho cả hai máy Giao thức mà tất cả các máy trên Internet thống nhất là TCP/IP (Transmission Control Protocol/Internet Protocol)
1.2 Mô hình TCP/IP
Khi dữ liệu được truyền từ máy này đến máy kia thì ta có một vài phương pháp sau:
- Các tập tin được gửi hoàn toàn từ máy này đến máy kia
- Các tập tin có thể được chia đôi và gửi đi, gửi và nhận cả hai mảnh
- Các tập tin có thể được chia thành nhiều phần, được gửi và nhận theo một trình tự nhất định
Trang 5TCP sử dụng phương pháp cuối cùng Ví dụ, để gửi một yêu cầu web cho Web server thì yêu cầu được chia thành nhiều phần và được gửi đi theo trình tự đến Web server
Hình : Sự di chuyển của một web request trên mô hình TCP/IP
Mô hình TCP/IP có 4 tầng gồm:
- Application Layer là tầng cao nhất trong mô hình, và giao tiếp với các phần mềm
đòi hỏi có mạng Trong ví dụ trên, applycation software là trình duyệt web (firefox,
IE …)
- Transport Layer là nơi xử lý độ tin cậy của thông tin, có hai giao thức làm việc ở
lớp này là TCP và UDP TCP là giao thức tin cậy còn UDP thì không
- Internet Layer (or Network Layer) cung cấp cơ chế cần thiết để địa chỉ hóa và di
chuyển gói tin từ host này đến host khác Giao thức chính bạn sẽ học là IP
- Network Access Layer (or Link Layer) là nơi dữ liệu tương tác với môi trường vật lý
của mạng Dữ liệu thức sự được gửi và nhận tại tầng này
1.3 Mô hình OSI
Thực tế còn rất nhiều mô hình khác ngoài TCP/IP và có một tiêu chuẩn giao thức chung cho tất cả được phát triển bởi ISO được gọi là mô hình OSI
Mô hình Open Systems Interconnect (OSI) có 7 lớp được so sánh với 4 lớp của TCP/IP:
Trang 6March 1, 2012 [ADVANCE TCP/IP]
- Network Layer chịu trách nhiệm cung cấp địa chỉ logic, định tuyến và chuyển tiếp
gói tin IP làm việc ở tầng này
- Data Link Layer chịu trách nhiệm đóng gói các khung dữ liệu để truyền trong các
thiết bị vật lý Cơ chế kiểm soát lỗi được thêm vào tầng này, như CRC Tầng này được chia thành LLC và MAC Lớp con MAC có liên quan đến địa chỉ vật lý của thiết bị mạng và tầng con LLC liên kế giữa địa chỉ vật lý (48 bít địa chỉ MAC nếu dùng Ethernet) và địa chỉ Logic (32 bit địa chỉ IP nếu dùng IP) trong tầng Network
- Physical Layer chịu trách nhiệm truyền tải và nhận dòng dữ liệu bit từ các thiết bị
vật lý
Hình: So sánh TCP/IP với OSI
Khi dữ liệu xuống dần các lớp, dữ liệu sẽ được đóng gói bằng các header (Tùy thuộc vào mỗi tầng) như hình sau:
Hình: Tiêu đề và quá trình đóng gói dữ liệu từ trên xuống
Trang 7Khi host thứ 2 nhận dữ liêu, dữ liệu được gửi ngược lên, mỗi header sẽ giúp host biết cách sử lý dữ liệu vào Sau khi các header bị xóa bỏ, host nhận được data như cũ.
1.4 RFCs
Trong kỹ nghệ liên mạng và mạng máy tính, các tài liệu RFC (tiếng Anh: Request for
Comments - Đề nghị duyệt thảo và bình luận) là một chuỗi các bản ghi nhớ chứa đựng những
nghiên cứu mới, những đổi mới, và những phương pháp luận ứng dụng cho công nghệ Internet
Thông qua Đoàn thể Internet (Internet Society), các kỹ sư và các nhà khoa học máy tính
có thể công bố luận văn dưới hình thức là một bản ghi nhớ RFC, hoặc là để cho những người
đồng nghiệp phê bình (peer review), hoặc chỉ đơn thuần thông báo những quan điểm mới, tin
tức, hoặc (thỉnh thoảng) hài hước về kỹ thuật Tổ chức Lực lượng chuyên trách về kỹ thuật
liê mạng (Internet Engineering Task Force - IETF) chấp nhận một số những lý thuyết thông
tin đã ứng dụng được công bố trong các bản RFC như những tiêu chuẩn về liên mạng
(Internet standards)
(Theo wikipedia)
Ví dụ:
- Internet Protocol (IP): RFC 791
- Internet Control Messaging Protocol (ICMP): RFC 792
- Transmission Control Protocol (TCP): RFC 793
- User Datagram Protocol (UDP): RFC 768
Một số trang wiki, document về các RFC:
- http://www.faqs.org/rfcs/
- http://www.ietf.org/rfc.html
- http://www.imc.org/rfcs.html
1.5 Chức năng của IP
Định danh một máy chủ hiện hành và dựa vào địa chỉ để gửi gói tin đến host khác Gói tin sẽ chứa địa chỉ IP của máy gửi và địa chỉ IP là có thể thay đổi được
Các gói tin này sau đó được hướng dân, định tuyến, di chuyển trên mạng bằng cách sử dụng những destination address cho đến khi chúng đến được đích cuối cùng Host nhận có thể đọc địa chỉ IP của người gửi và gửi phản hồi, nếu được yêu cầu
1.6 Các lớp trong địa chỉ IP
Địa chỉ IP có 5 lớp bào gồm:
Trang 8March 1, 2012 [ADVANCE TCP/IP]
- C: Từ 192-223, ba bít đầu có dạng 110…
- Classes A, B & C được dùng cho địa chỉ cá nhân
- D: Từ 224-239, bốn bít đầu có dạng 1110…dùng làm địa chỉ quảng bá
- E: Từ 240-247, năm bít đầu có dạng 11110…
- Lớp E là thử nghiệm Xem thêm thông tin lớp E tại chuẩn RFC 1365
1.7 Địa chỉ IP dành riêng và chức năng đặc biệt của địa chỉ IP
Có một vùng địa chỉ IP không được sử dụng trên Internet Những địa chỉ này được gọi là địa chỉ IP dành riêng, private IP Định nghĩa trong RFC 1918, bất cứ host nào cũng sử dụng
IP này, nhưng chúng không được dùng trong Internet Bằng cách sử dụng những địa chỉ IP dành riêng, các tổ chức sẽ không gặp sự xung đột địa chỉ Địa chỉ dành riêng của các lớp IP là:
- Lớp A: 10 0.0.0 – 10.255.255.255
- Lớp B: 172 16.0.0 – 172 31.255.255
- Lớp C: 192.168.0.0 – 192.168.255.255
Ngoài các địa chỉ trên, còn hai dải địa chỉ đặc biệt không được sử dụng trên Internet
- Địa chỉ 169.254.0.0 – 169.254.255.255 được Microsoft dùng cho APIPA (Automatic Private IP Addressing)
- Ngoài ra địa chỉ 127.0.0.0 – 127.255.255.255 được dùng cho chẩn đoán
1.8 Subnet Mask
Cùng với một địa chỉ IP, mỗi máy chủ có sử dụng giao thức TCP / IP có một subnet
subnet mask được sử dụng trong một quá trình được gọi là ANDing để xác định mạng
mà host thuộc về Mask là số lượng các bit được sử dụng cho phần net id Mask được định danh với giá trị nhị phân là 1
Mặc định của các lớp:
1.9 Ví dụ về Subnetting
Trong trường hợp bạn cần phải tác các mạng thành nhiều vùng khác nhau, ví dụ như bạn có nhiều toàn nhà khác nhau hoặc tầng khác nhau, bạn cần chia mạng con cho mạng Ví dụ dưới đây là các bước chia mạng con và hình thành subnet mask cần thiết để hỗ trợ cho các mạng con
Bạn đã được giao cho mạng 10.0.0.0 với subnet mask 255.0.0.0 và cần phải chia thành 12 vùng mạng để sử dụng, ví dụ, doanh nghiệp của bạn có 12 phòng ban Đây là những gì bạn nên làm:
Xác định bao nhiêu bit, theo nhị phân, là số mạng con bạn cần để tạo ra Trong nhị
Trang 9Lấy 4 bit từ subnet mask của host, AND chúng vào vùng network, việc này làm mặt nạ mạng con thay đổi từ 255.0.0.0 thành 255.240.0.0
- Mặt nạ mạng con cho bạn biết nơi mà các đường phân chiagiữa các bit mạng và máy chủ Bạn bắt đầu với một ID mạng10.0.0.0 và subnet mask của 255.0.0.0, trong hệ nhị phân như thế này:
00001010.00000000.00000000.00000000 (IP address for network)
11111111.00000000.00000000.00000000 (subnet mask)
- Đường chia của bạn nằm ở cuối octet đầu tiên (8 bit bắt đầu từ bên trái) Bạn có một mạng lớn với ID là 10.0.0.0 một vùng mạng có thể sử dụng là: 10.0.0.1 đến 10.255.255.255.254 và địa chỉ Broadcast là 10.255.255.255
- Tiếp theo chia mạng giống như thế này:
00001010.0000 0000.00000000.00000000 (IP address for network)
11111111.1111 0000.00000000.00000000 (subnet mask)
- Chú ý rằng bây giờ dòng phân chia host và mạng bây giờ ở giữa hai octet Tất cả địa chỉ nhị phân đều có dạng như sau: 00001010.xxxx yyyy.yyyyyyyy.yyyyyyyy, trong đó x là các subnet còn y là các host
Bây giờ mạng con của bạn như sau:
Trang 10March 1, 2012 [ADVANCE TCP/IP]
2 Phân tích quá trình bắt tay 3 bước
Transport Layer có hai giao thức là TCP và UDP Sau đây là bảng so sánh hai giao thức
TCP cung cấp một loại hình truyền thông tin cậy trong khi đó UDP cung cấp truyền thông không tin cậy TCP có khả năng xử lý lỗi và phục hồi trong quá trình truyền, đảm bảo gói tin toàn vẹn khi đến đích UDP gửi một gói tin mà không cần biết nó có đến đích hay không?UDP thì nhanh hơn bởi vì Host 1 chỉ đơn giản gửi một gói tin đến địa chỉ của Host 2 Không có bất cứ sự thiệt lập nào cho UDP để host 1 có thể kiểm tra host 2 đã nhận gói tin hay không, hoặc cho host 2 gửi tin ngược lại host 1
TCP tin cậy hơn bằng cách sử dụng phương thức bắt tay 3 bước Một phần quan trọng của TCP là sử dụng Control Flag Có 6 Control flag trong một TCP header, mỗi cái có một ý nghĩa riêng
2.1 TCP Flag:
URGENT (Urg)—Dữ liệu ưu tiên
ACK (Ack)—Xác nhận đã nhận được dữ liệu từ máy gửi Flag này được gửi, trong phần thứ 2 của thiết lập kết nối, để trả lời yêu cầu SYN của máy gửi
PUSH (P)—Được sử dụng khi các host gửi yêu cầu dữ liệu được đẩy trực tiếp lên ứng dụng nhận, mà không thông qua bộ đệm
RESET (R)—Đại diện cho ý định của người gửi: thiết lập lại các thông tin liên lạc
SYN (S)—Phần đầu tiên của thiết lập kết nối Việc đồng bộ hóa thông tin nói chung sẽ nằm trong gói tin đầu tiên
FIN (F)—Ý định của người gửi: Chấm dứt việc gửi các gói tin
Sequence và Acknowledgement Numbers: ngoài TCP flag, một phần quan trọng khác của TCP là những số: seq Number và ack Number Sequence numnber được tìm thấy trong TCP header của mỗi gói tin TCP và là một giá trị 32 bit Sequence Number đảm bảo các gói tin được nhân đúng trình tự như khi được gửi
Acknowledgement Number: Acknowledgement Number được tìm thấy trong TCP header
của mỗi gói tin TCP và cũng có giá trị 32 bit ACK cho phép hai host tiến hành nhận dữ liệu Một ACK number trong header của gói tin phản hồi cho một sequence number trong gói tin gửi đi Trong trường hợp host gửi không nhận được ACK của một gói tin trong một khoảng thời gian xác định, máy gửi sẽ truyền lại gói tin Nếu một gói tin bị mất, máy gửi sẽ gửi lại nó Vì thế TCP được xem là tin cậy
Trang 112.2 Kết nối
Tất cả việc truyền thông trong TCP/IP được làm với việc kết nối giữa hai host Mỗi khi kết nối được mở (hoặc thành lập), dữ liệu được gửi đi và kết nối đóng (Hoặc bị phá bỏ) Những kết nối này có những điều luật rất riêng chúng phải tuân theo Có hai trạng thái khác biệt của việc mở phần tiến trình này: Passive Open và Active Open
Passive Open là khi một ứng dụng gọi TCP mà đã sẵn sàng nhận yêu cầu thông qua TCP Ứng dụng được giả định yêu cầu gửi đi, và sẵn sàng để phục vụ những yêu cầu này Điều này cũng được biết đến như là trạng thái lắng nghe, khi ứng dụng lắng nghe yêu cầu từ bên ngoài.Active Open là khi ứng dụng gọi TCP để bắt đầu phiên truyền thông với một host điều khiến (Host này ở trạng thái Passive Open) Có thể cho cả hai host ở trạng thái Active Open để bắt đầu truyền thông Host điều khiển thông thường được đặt ở trạng thái Passive Open
2.3 Thiết lập kết nối
Seq và ACK number có chức năng thiết lập một phiên làm việc giữa hai host Kế nói được thiết lập được gọi là bắt tay 3 bước Bắt tay 3 bước gồm 3 bước riêng biệt, chi tiết như sau (Tham khảo thêm trên hình 2.5):
Host A gửi một segment cho host C như sau:
- SYN = 1 (Phiên đang được đồng bộ)
- ACK = 0 (Không có giá trị nào trong vùng ACK, nên flag này là 0)
- Sequence Number = x , trong đó x là một biến (x là ISN của host A)
- Ack number= 0;
Host C nhận segment của host A và phản hồi lại cho host A như sau:
- SYN = 1 (Phiên đang được đồng bộ)
- ACK = 1 (Flag ACK đã được xây dựng để phản hồi SYN từ segment trước)
- Seq Number = y (y là ISN của Host C)
- Ack Number= x+1 (seq của host A + 1)
Host A nhận segment của host C và phản hồi lại cho Host C như sau:
- SYN = 0 (Phiên đã được đồng bộ; không cần tiếp tục yêu cầu)
- ACK = 1(Flag ACK được xây dựng để phản hồi SYN từ segment trước)
- Seq Number = x + 1 (Seq tiếp theo so với segment trước)
- Ack Number= y +1 (Seq của host C +1)
Trang 12March 1, 2012 [ADVANCE TCP/IP]
Hình: quá trình bắt tay 3 bước
2.4 Hủy kết nối
Ngoài những bước cụ thể cần thiết để thiết lập kêt nối của một phiên giữa hai host, có những bước cụ thể khác để hủy bỏ một phiên Có hai phương pháp để kết thúc một phiên sử dụng TCP Một cái là graceful và cái kìa là non-graceful
Graceful xảy ra khi một host gửi một thông điệp (Sử dụng cờ FIN) đến host kia, gửi đi thời gian kết thúc một phiên; một ack khác; và chúng kết thúc phiên Non – Graceful xảy ra khi một host đơn giản gửi một thông điệp (Sử dụng cờ Reset) đến máy kia, chỉ ra thông điệp đã nhừng, và không có ACK và không có thông điệp gửi sau đó Trong phần này, chúng ta sẽ nghiên cứu chi tiết chuẩn kết thúc Graceful;
Như bạn đã thấy trước đó, nó cần 3 segment để thiết lập một phiên TCP giữa hai máy Nhưng để kết thúc theo kiểu Graceful bạn cần 4 segment 4 Segment này là cần thiết bởi vì TCP là một giao thức truyền thông song công
Tương tự ta cũng có Active Close và Passive Close Host mà bắt đầu trình tự kết thức sẽ gửi FIN đầu tiên là host đóng vai trò Active Close Host nhận Fin đầu tiên sẽ là Passive Close Chi tiết được mô tả như sau:
Host A bắt đầu kết thúc phiên với host C như sau:
- FIN =1 (Phiên đang được kết thúc)
- ACK =1 (Dựa trên thông tin liên lạc hiện tại)
- Seq Number= s (s là giá trị dựa trên thông tin liên lạc hiện tại)
- Ack Number= p (s là giá trị dựa trên thông tin liên lạc hiện tại)
Host C nhận segment của host A và trả lời như sau:
- FIN = 0 (segment này không đề nghị đóng phiên)
- ACK = 1 (Segment này chứa 1 ACK)
- Seq Number = Not Present (Không có FIN)
- Ack Number = s +1 (Phản ứng cho FIN của host A)
Host C bắt đầu chấm dứt phiên họp theo hướng ngược lại như sau:
- FIN =1 (Muốn chấm dứt phiên)
- ACK = 1
- Seq Number = p
- Ack Number = s+1
Host A nhận segment từ Host C và trả lời như sau:
- FIN = 0 (Segment này không phản hồi một kết thúc)
- ACK = 1
- Seq Number = Not Present
- Ack number = p+1
Trang 13Hình: Kết thúc một kết nối
2.5 Công cụ bắt và phân tích gói tin
2.5.1 Network monitor:
2.5.1.1 Giới thiệu.
Network Monitor là một bộ phân tích giao thức và một công cụ capture các khung dữ liệu giúp người dùng nhằm phát hiện và kiểm tra các kiểu giao thức phức tạp này, nó thực sự là một công cụ quan trọng trong toolbox của các quản trị viên và nhân viên bản mật mạng.Nếu quan tâm đến việc truyền tải các dữ liệu nhạy cảm hoặc tải trọng được đóng gói, bạn
sẽ biết được nhiều hơn về mạng của mình Các công cụ giống như IPS, IDS và các tường lửa cũng rất hiệu quả nhưng chúng không mô tả chi tiết gói dữ liệu ở mức mà bạn cần biết Có rất nhiều công cụ phát hiện gói dữ liệu thu phí hoặc miễn phí, network monitor có phiên bản miễn phí đáp ứng các nhu cầu trên
2.5.1.2 Cài đặt, sử dụng.
Link down: Có thể down trên trang web của Microsoft: http://www.microsoft.com/download/en/details.aspx?id=4865
Giao diện:
Trang 14March 1, 2012 [ADVANCE TCP/IP]
Sử dụng:
Chọn card để bắt gói tin:
Trang 15Chọn new capture để tạo cửa sổ bắt gói tin Sau đó click Start để bắt đầu.
Để ngừng việc bắt gói tin, nhấn nút stop trên thanh công cụ
Sử dụng package filter để hiện những gói tin theo protocol, port hay address…mong muốn, có thể gõ lệnh hoặc sử dụng Load Filter để chọn các filter
Trang 16March 1, 2012 [ADVANCE TCP/IP]
2.5.2 Wireshark
2.5.2.1 Giới thiệu
WireShark có một bề dầy lịch sử Gerald Combs là người đầu tiên phát triển phần mềm này Phiên bản đầu tiên được gọi là Ethereal được phát hành năm 1998 Tám năm sau kể từ khi phiên bản đầu tiên ra đời, Combs từ bỏ công việc hiện tại để theo đuổi một cơ hội nghề nghiệp khác Thật không may, tại thời điểm đó, ông không thể đạt được thoả thuận với công
ty đã thuê ông về việc bản quyền của thương hiệu Ethereal Thay vào đó, Combs và phần còn
Trang 172006, dự án tên là WireShark.WireShark đã phát triển mạnh mẽ và đến nay, nhóm phát triển cho đến nay đã lên tới 500 cộng tác viên Sản phẩm đã tồn tại dưới cái tên Ethereal không được phát triển thêm.Lợi ích Wireshark đem lại đã giúp cho nó trở nên phổ biến như hiện nay Nó có thể đáp ứng nhu cầu của cả các nhà phân tích chuyên nghiệp và nghiệp dư và nó đưa ra nhiều tính năng
để thu hút mỗi đối tượng khác nhau Là phần mềm mã nguồn mỡ, vì giúp wireshark được sử dụng và phát triển rất nhanh chóng
Wireshark tương thích trên nhiều hệ điều hành: windows, Mac, Linux, Unix
2.5.2.2 Cài đặt, sử dụng
Link down: Là phần mềm phân capture và analzy gói tin miễn phí, có thể down trực tiếp
từ trang chủ của wireshark: http://www.wireshark.org/download.html
Giao diện:
Trang 18March 1, 2012 [ADVANCE TCP/IP]
Sử dụng:
Phần tùy chỉnh capture option:
Trang 19Việc bắt gói tin trên mạng se thu được rất nhiều gói tin với nhiều protocol, nhiều source,
vì vậy cần 1 công cụ để lọc và tìm ra gói tin như mong muốn, ví dụ chỉ coi gói tin có protocol là http, hoặc gói tin tin gửi dữ liệu lên server bằng phường thức GET hoặc POST, gói tin có cổng 25, 21, 80…Việc sử dụng tốt các filter sẽ mang lại hiệu quả trong quá trình đọc và phân tích:
Trang 20March 1, 2012 [ADVANCE TCP/IP]
Một số filter thông dụng:
Trang 22March 1, 2012 [ADVANCE TCP/IP]
Vào trang: http://www.wireshark.org/docs/dfref/ để tham khảo đầy đủ các filter.
Trang 232.6 Phân tích quá trình bắt tay ba bước, quá trình kết thúc kết nối
2.6.1 Quá trình kết nối(bắt tay 3 bước):
Bước 1: Chạy chương trình wireshark thực hiện bắt gói tin trên card local, mở command
line, thực hiện telnet đến server(đã dựng sắn telnet server)
Bước 2: Ta tiến hành phân tích, ta thấy 3 frame TCP tương ứng với 3 bước:
Trang 24March 1, 2012 [ADVANCE TCP/IP]
Frame 1: relative sequence number là 0, relative acknowlegment number chưa được set Client gửi seq = 1 để yêu cầu kết nối và mong muốn server gửi ack = 1
Trang 25Frame 2: relative sequence number là 0, relative acknowlegment number chưa được set Telnet server gửi cho client ack là 1 và seq là 0(yêu cầu client gửi ack = 1).
Trang 26March 1, 2012 [ADVANCE TCP/IP]
Frame 3: client gửi seq = 1, ack = 1, kết nối thành công
Trang 272.6.2 Quá trình ngắt kết nối.
Ta sẽ xem xét 4 frame TCP cuối cùng:
Trang 28March 1, 2012 [ADVANCE TCP/IP]
Frame 150: Fin đã được set, báo hiệu đã xong giao dịch, tiến hành ngắt kết nối
Trang 29Frame 151:
Trang 30March 1, 2012 [ADVANCE TCP/IP]
Frame 152:
Trang 31Frame 153:
Trang 32March 1, 2012 [ADVANCE TCP/IP]
Trang 333 Bắt và phân tích gói dữ liệu IP (RFC 791)
3.1 Cấu trúc gói IP:
Trang 34March 1, 2012 [ADVANCE TCP/IP]
năng dành 1 lượng băng thông để cho để cho 1 dịch vụ nào đó hoạt động ví dụ như dịch vụ truyền thoại , video
Total length:
- Kích thước: 16 bit
- Chức năng: chỉ ra chiều dài của toàn bộ gói (IP datagram) tính theo byte, bao gồm
dữ liệu và header Bởi vì trường này 16 bit nên kích thước lớn nhất cua ip datagram là 65535 byte Tuy vậy, một gói dữ liệu IP rất hiếm khi lớn hơn 1500 byte
Identification:
- Kích thước: 16 bit
- Chức năng: chỉ mã số của 1 IP datagram , giúp bên nhận có thể ghép các mảnh của 1IP datagram lại với nhau vì IP datagram phân thành các đoạn và các đoạn thuộc cùng 1 IP datagram sẽ có cùng Identification
Flags:
- Kích thước: 3 bit
- Chức năng: thông báo về sự phân mảnh của gói dữ liệu
- Bit 0 : không dùng
- Bit 1 : cho biết gói có phân mảnh hay không
- Bit 2 : Nếu gói IP datagram bị phân mảnh thì mảnh này cho biết mảnh này có phải
Protocol:
- Kích thước: 8bit
- Chức năng: chỉ ra giao thức nào của tầng trên (tầng Transport) sẽ nhận phần data sau khi công đoạn xử lí IP datagram ở tầng Network hoàn tất hoặc chỉ ra giao thức nào của tầng trên gởi segment xuống cho tầng Network đóng gói thành IP Datagram , mỗi giao thức có 1 mã Bảng mã 1 số giao thức:
Trang 35- Chức năng: chứa các thông tin tùy chọn như:
• Time stamp : thời điểm đã đi qua router
• Security : cho phép router nhận gói dữ liệu không , nếu không thì gói sẽ bị hủy
• Record router: lưu danh sách địa chỉ IP của router mà gói phải đi qua,
• Source route: bắt buộc đi qua router nào đó Lúc này sẽ không cần dùng bảng định tuyến ở mỗi Router nữa
- Kích thước: chiều dài thay đổi đến 64Kb
- Chức năng: chứa thông tin lớp trên, là TCP hay UDP Segment của tầng Transport gửi xuống cho tần Network , tầng Network sẽ thêm header vào gói dữ liệu IP
3.3 Bắt các gói tin FTP có chứa IP header bằng Network monitor