IP Header Checksum CalculationIP checksum is a 16-bit field in IP head dịch - IP Header Checksum CalculationIP checksum is a 16-bit field in IP head Việt làm thế nào để nói

IP Header Checksum CalculationIP ch

IP Header Checksum Calculation

IP checksum is a 16-bit field in IP header used for error detection for IP header. It equals to the one’s complement of the one’s complement sum of all 16 bit words in the IP header. The checksum field is initialized to all zeros at computation.

One’s complement sum is calculated by summing all numbers and adding the carry (or carries) to the result. And one’s complement is defined by inverting all 0s and 1s in the number’s bit representation.

For example, if an IP header is 0x4500003044224000800600008c7c19acae241e2b.
We start by calculating the one’s complement sum. First, divide the header hex into 16 bits each and sum them up,
4500 + 0030 + 4422 + 4000 + 8006 + 0000 + 8c7c + 19ac + ae24 + 1e2b = 2BBCF

Next fold the result into 16 bits by adding the carry to the result,
2 + BBCF = BBD1

The final step is to compute the one’s complement of the one’s complement’s sum,
BBD1 = 1011101111010001

IP checksum = one’s complement(1011101111010001) = 0100010000101110 = 442E

Note that IP header needs to be parsed at each hop, because IP addresses are needed to route the packet. To detect the errors at IP header, the checksum is validated at every hop.

The validation is done using the same algorithm. But this time the initialized checksum value is 442E.
2BBCF + 442E = 2FFFD, then 2 + FFFD = FFFF

Take the one’s complement of FFFF = 0.

At validation, the checksum computation should evaluate to 0 if the IP header is correct.

TCP Checksum Calculation

TCP Checksum is a 16-bit field in TCP header used for error detection. It is computed over the TCP segment (might plus some padding) and a 12-byte TCP pseudo header created on the fly. Same as IP checksum, TCP checksum is also one’s complement of the one’s complement sum of all 16 bit words in the computation data.

Below is a figure that illustrates the data used to calculate TCP checksum,


Figure 1. TCP Checksum Computation Data

As shown in the figure, the pseudo header consists of 5 fields,

source address: 32 bits/4 bytes, taken from IP header
destination address: 32bits/4 bytes, taken from IP header
resevered: 8 bits/1 byte, all zeros
protocol: 8 bits/1 byte, taken from IP header. In case of TCP, this should always be 6, which is the assigned protocol number for TCP.
TCP Length: The length of the TCP segment, including TCP header and TCP data. Note that this field is not available in TCP header, therefore is computed on the fly.
Note that TCP pseudo header does not really exist, and it’s not transmitted over the network. It’s constructed on the fly to compute the checksum.

If a TCP segment contains an odd number of octets to be checksummed, the last octect is padded on the right with zeros to form a 16-bit word. But the padding is not part of the TCP segment and therefore not transmitted.

Also note the checksum field of the TCP header needs to be initialized to zeros before checksum calculation. And it’s set to the computed value after the computation.

When TCP packet is received at the destination, the receiving TCP code also performs the TCP calculation and see if there’s a mismatch. If there is, it means there’s error in the packet and it will be discarded. The same validation logic used for IP header checksum validation can be used.

UDP Checksum Calcuation

UDP Checksum calculation is similar to TCP Checksum computation. It’s also a 16-bit field of one’s complement of one’s complement sum of a pseudo UDP header + UDP datagram.
The Pseudo UDP header also consists of 5 fields,

source address: 32 bits/4 bytes, taken from IP header
destination address: 32 bits/4 bytes, taken from IP header
reserved: 8 bits/1 byte, set to all 0s.
protocol: 8 bits/1 byte, taken from IP header
length: Because UDP header has a length field that indicates the length of the entire datagram, including UDP header and data, the value from UDP header is used. Note that this is different from TCP pseudo header, which is computed on the fly. But they both indicates the header+payload length.
Note that UDP checksum is optional. If it’s not computed, it’s set to all 0s. This could cause issue as sometimes the checksum can be computed as all 0s. To avoid confusion, if the checksum is computed as all 0s, it’s set to all 1s (which is equivalent in one’s complement arithmetic).
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
IP tiêu đề kiểm tra tính toánKiểm tra IP là một lĩnh vực 16-bit trong tiêu đề IP được sử dụng để phát hiện lỗi cho tiêu đề IP. Nó tương đương với bổ sung của một số của một bổ sung tiền tất cả 16 bit từ trong tiêu đề IP. Trường checksum được khởi tạo để tất cả Zero tại tính toán.Số tiền bổ sung tính toán bằng cách tổng hợp tất cả các số và thêm thực hiện (hoặc mang) đến kết quả. Và một trong những bổ sung được xác định bởi đảo ngược tất cả các số 0 và 1s trong một số bit đại diện.Ví dụ, nếu một tiêu đề IP là 0x4500003044224000800600008c7c19acae241e2b. Chúng tôi bắt đầu bằng cách tính toán của một số tiền bổ sung. Trước tiên, hex tiêu đề chia 16 bit và tổng kết,4500 + 0030 + 4422 + 4000 + 8006 + 0000 + 8c7c + 19ac + ae24 + 1e2b = 2BBCFTiếp theo gấp kết quả thành 16 bit bằng cách thêm các thực hiện để kết quả,2 + BBCF = BBD1Bước cuối cùng là tính bổ sung của một số của một bổ sung của tiền,BBD1 = 1011101111010001Kiểm tra IP = của một complement(1011101111010001) = 0100010000101110 = 442ELưu ý rằng IP tiêu đề cần phải được phân tích cú pháp tại mỗi hop, bởi vì địa chỉ IP là cần thiết để định tuyến gói tin. Để phát hiện các lỗi tại tiêu đề IP, checksum được xác nhận tại mỗi hop.Xác nhận được thực hiện bằng cách sử dụng các thuật toán tương tự. Nhưng thời gian này các giá trị kiểm tra khởi tạo là 442E.2BBCF + 442E = 2FFFD, sau đó 2 + FFFD = FFFFMất của một bổ sung của FFFF = 0.Lúc kiểm tra, kiểm tra tính toán nên đánh giá 0 nếu tiêu đề IP là chính xác.TCP kiểm tra tính toánTCP Checksum là một lĩnh vực 16-bit trong tiêu đề TCP được sử dụng để phát hiện lỗi. Nó được tính trên các phân đoạn TCP (có thể cộng với một số padding) và một 12-byte TCP giả tiêu đề tạo ra trên bay. Tương tự như IP kiểm tra, kiểm tra TCP là cũng bổ sung của một số của một bổ sung tiền tất cả 16 bit từ trong dữ liệu tính toán.Dưới đây là một hình minh hoạ các dữ liệu được sử dụng để tính toán kiểm tra TCP,Hình 1. TCP kiểm tra tính toán dữ liệuNhư minh hoạ trong hình, tiêu đề giả bao gồm 5 lĩnh vực,nguồn địa chỉ: 32 bit/4 byte, Lấy từ tiêu đề IPđịa chỉ đích: 32bits/4 byte, Lấy từ tiêu đề IPresevered: 8 bit/1 byte, tất cả Zerogiao thức: 8 bit/1 byte, Lấy từ tiêu đề IP. Trong trường hợp TCP, điều này nên luôn luôn là 6, đó là một số giao thức được chỉ định cho TCP.TCP chiều dài: Chiều dài của đoạn TCP, bao gồm cả TCP header và dữ liệu TCP. Lưu ý rằng lĩnh vực này là không có sẵn trong tiêu đề TCP, do đó được tính trên bay.Lưu ý rằng TCP giả tiêu đề thực sự tồn tại, và nó không được truyền qua mạng. Nó được xây dựng trên bay để tính toán checksum.Nếu một phân đoạn TCP có chứa một số lẻ của octet là checksummed, octect cuối độn bên phải bằng số không để tạo thành một từ 16-bit. Nhưng padding không phải là một phần của đoạn TCP và do đó không truyền.Cũng lưu ý lĩnh vực kiểm tra tiêu đề TCP cần phải được khởi tạo để Zero trước khi kiểm tra tính toán. Và nó được thiết lập để tính toán giá trị sau khi tính toán.Khi TCP gói nhận được tại điểm đến, nhận TCP mã cũng thực hiện tính toán TCP và xem nếu có một không phù hợp. Nếu có, nó có nghĩa là không có lỗi trong gói và nó sẽ được bỏ đi. Xác nhận cùng một logic được sử dụng cho IP tiêu đề kiểm tra xác nhận có thể được sử dụng.UDP kiểm tra CalcuationTính toán UDP Checksum là tương tự như tính toán TCP Checksum. Nó cũng là một lĩnh vực 16-bit bổ sung của một số của một trong những bổ sung tiền của một tiêu đề UDP giả + UDP datagram. Tiêu đề UDP giả cũng bao gồm 5 lĩnh vực,nguồn địa chỉ: 32 bit/4 byte, Lấy từ tiêu đề IPđịa chỉ đích: 32 bit/4 byte, Lấy từ tiêu đề IPdành riêng: 8 bit/1 byte, đặt tất cả số 0.giao thức: 8 bit/1 byte, Lấy từ tiêu đề IPchiều dài: vì tiêu đề UDP có trường độ dài cho biết chiều dài của toàn bộ datagram, bao gồm tiêu đề UDP và dữ liệu, các giá trị từ tiêu đề UDP được sử dụng. Lưu ý rằng điều này là khác nhau từ tiêu đề TCP giả, mà được tính trên bay. Nhưng cả hai đều cho thấy tiêu đề + tải trọng chiều dài.Lưu ý rằng kiểm tra UDP là tùy chọn. Nếu nó không được tính, nó được thiết lập để tất cả số 0. Điều này có thể gây ra vấn đề như đôi khi kiểm tra có thể được tính như là tất cả số 0. Để tránh nhầm lẫn, nếu kiểm tra được tính như là tất cả số 0, nó được thiết lập để 1s tất cả (đó là tương đương trong số học bổ sung).
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
IP Header Checksum tính toán checksum IP là một trường 16-bit trong header IP được sử dụng để phát hiện lỗi cho IP header. Nó tương đương với của một sự bổ sung của những ai bổ sung tổng hợp của tất cả các từ 16 bit trong header IP. Các lĩnh vực kiểm tra được khởi tạo cho tất cả các số không ở tính toán. Một bù tiền được tính toán bằng cách tổng hợp tất cả các số và thêm các carry (hoặc thực) để kết quả. Và một người được xác định bổ sung bằng cách đảo ngược tất cả các số 0 và số 1 ở bit đại diện của số. Ví dụ, nếu một IP header là 0x4500003044224000800600008c7c19acae241e2b. Chúng ta bắt đầu bằng cách tính toán của một số tiền bổ sung. Đầu tiên, chia hex đầu vào 16 bit mỗi và tổng hợp, lập 4500 + 0030 + 4422 + 4000 + 8006 + 0000 + 8c7c + 19ac + ae24 + 1e2b = 2BBCF Tiếp gấp kết quả vào 16 bit bằng cách thêm các carry để kết quả , 2 + BBCF = BBD1 Bước cuối cùng là tính toán của một bù của tổng của một sự bổ sung của, BBD1 = 1011101111010001 IP checksum = một của bổ sung (1011101111010001) = 0100010000101110 = 442E Lưu ý rằng IP tiêu đề cần được phân tích tại mỗi hop, vì IP địa chỉ cần thiết để định tuyến các gói tin. Để phát hiện các sai sót ở IP header, tổng kiểm tra được xác nhận tại mỗi hop. Việc xác nhận được thực hiện bằng cách sử dụng cùng một thuật toán. Nhưng lần này giá trị checksum khởi tạo là 442E. 2BBCF + 442E = 2FFFD, sau đó 2 + FFFD = FFFF Lấy ai bù của FFFF = 0. Tại xác nhận, việc tính toán checksum nên đánh giá là 0 nếu các tiêu đề IP là đúng. TCP Checksum Tính toán TCP Checksum là một trường 16-bit trong TCP tiêu đề được sử dụng để phát hiện lỗi. Nó được tính toán trên các phân đoạn TCP (sức mạnh cộng với một số padding) và một 12-byte TCP giả tiêu đề tạo trên bay. Tương tự như IP checksum, TCP checksum cũng là một trong những nhân bổ sung của của một bổ sung tổng hợp của tất cả các từ 16 bit trong các dữ liệu tính toán. Dưới đây là một con số để minh họa các dữ liệu được sử dụng để tính toán TCP checksum, Hình 1. TCP Checksum tính toán dữ liệu Như trong hình, tiêu đề giả bao gồm 5 lĩnh vực, địa chỉ nguồn: 32 bits / 4 byte, được lấy từ tiêu đề IP địa chỉ đích: 32bits / 4 byte, được lấy từ tiêu đề IP resevered: 8 bit / 1 byte, tất cả các số giao thức: 8 bit / 1 byte, được chụp từ IP header. Trong trường hợp của TCP, điều này luôn luôn nên là 6, mà là số giao thức TCP cho. TCP Length: Chiều dài của đoạn TCP, bao gồm TCP header và dữ liệu TCP. Lưu ý rằng lĩnh vực này không có sẵn trong tiêu đề TCP, do đó được tính trên bay. Lưu ý rằng tiêu đề TCP giả không thực sự tồn tại, và nó không được truyền qua mạng. Nó được xây dựng trên bay để tính toán checksum. Nếu một phân đoạn TCP chứa một số lẻ các octet được checksummed, các octect cuối cùng được đệm trên đúng với số không để tạo thành một từ 16-bit. Nhưng đệm không phải là một phần của các phân đoạn TCP và do đó không được truyền. Cũng lưu ý các trường checksum của tiêu đề TCP cần phải được khởi tạo để số không trước khi tính checksum. Và đó là thiết lập để các giá trị tính toán sau khi tính toán. Khi gói tin TCP được nhận tại đích, mã TCP nhận cũng thực hiện các tính toán TCP và xem nếu có một không phù hợp. Nếu có, nó có nghĩa là có lỗi trong các gói tin và nó sẽ bị loại bỏ. Các logic xác nhận cùng sử dụng cho IP xác nhận tiêu đề kiểm tra có thể được sử dụng. UDP Checksum Calcuation tính UDP Checksum tương tự như TCP Checksum tính toán. Nó cũng là một lĩnh vực 16-bit của một người bổ sung của một người bổ sung tổng của một giả UDP header + UDP datagram. Các Pseudo UDP header cũng bao gồm 5 lĩnh vực, địa chỉ nguồn: 32 bits / 4 bytes, lấy từ header IP địa chỉ đích: 32 bit / 4 byte, được lấy từ tiêu đề IP dành riêng: 8 bit / 1 byte, thiết lập tất cả các số 0. protocol: 8 bit / 1 byte, được lấy từ tiêu đề IP dài: Bởi vì UDP header có một lĩnh vực chiều dài cho biết chiều dài của toàn bộ datagram, kể cả UDP header và dữ liệu, giá trị từ UDP header được sử dụng. Lưu ý rằng điều này là khác nhau từ phần đầu TCP giả, được tính trên bay. Nhưng cả hai đều chỉ ra độ dài tiêu đề + tải trọng. Lưu ý rằng UDP checksum là tùy chọn. Nếu nó không được tính, đó là thiết lập cho tất cả các số 0. Điều này có thể gây ra vấn đề là đôi khi các kiểm tra có thể được tính như tất cả các số 0. Để tránh nhầm lẫn, nếu checksum được tính như tất cả các số 0, đó là thiết lập cho tất cả các 1s (tương đương trong một số học của bổ sung).




























































đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: