Internet Protocol (ii)

Source: Internet
Author: User

This article excerpt from: http://www.kuqin.com/shuoit/20141008/342511.html 七、一个 Summary

First, make a summary of the previous content.

We already know that network communication is the exchange of data packets. Computer A sends a packet to Computer B, which receives, responds to a packet, and realizes communication between the two computers. The structure of the packet is basically the following:

To send this package, you need to know two addresses:

* Each other's MAC address * each other's IP address

With these two addresses, the packet can be sent to the receiver accurately. However, as mentioned earlier, the MAC address has limitations, if the two computers are not on the same subnet, you will not know the other's MAC address, must be forwarded through the gateway.

, the 1 computer will send a packet to computer number 4th. It first determine 4 whether the computer is in the same sub-network, the results found not (after the introduction of the method of judgment), so the packet sent to 网关A . Gateway A through the routing protocol, the discovery 4 computer is located in 网络B the child, and 网关B then send the packet, and 网关B then forwarded to the 4 number of computers.

1Computer to send the packet to gateway A, you must know the address of gateway a MAC . Therefore, the destination address of the packet is actually divided into two situations:

Scene packet address the MAC address of the same sub-network, the other's IP address is      not the same subnet     Gateway MAC address, the other's IP address

Before sending a packet, the computer must determine whether the other person is on the same subnet, and then select the appropriate MAC address. Next, let's see how this process is done in practice.

Viii. User's Internet setting 8.1 static IP address

You bought a new computer, plugged in a network cable, power on, then the computer can surf the Internet?
Usually you have to do some setup. Sometimes, the administrator (or ISP) will tell you the following four parameters, you fill them in the operating system, the computer can connect the Internet:

* IP address of the machine * Subnet mask * Gateway IP address * DNS IP address

is the Windows System Setup window.

These four parameters are integral and will explain why you need to know them to get online. Because they are given, each time the computer is turned on, it will be assigned the same IP address, so this situation is called "Static IP address Internet".

However, such a setting is professional, the average user is daunting, and if the IP address of a computer remains unchanged, other computers will not be able to use this address, not flexible. For these two reasons, most users use "Dynamic IP address Internet".

8.2 Dynamic IP Address

The so-called "Dynamic IP Address", refers to the computer boot, will automatically assign to an IP address, without human settings. The protocol it uses is called a DHCP protocol.

This agreement stipulates that in each sub-network, one computer is responsible for managing all IP addresses of the network, which is called " DHCP服务器 ". When a new computer joins the network, a "" packet must be sent to the "DHCP server" DHCP请求 requesting the IP address and the associated network parameters.

As mentioned earlier, if two computers are on the same subnet, you must know the other's MAC address and IP address to send the packet. However, the newly added computer does not know these two addresses, how to send a packet?

The DHCP protocol makes some clever rules.

8.3 DHCP protocol

First, it is an application-layer protocol that is built on top of the UDP protocol, so the entire packet is this:

(1) The first "Ethernet header", set the MAC address of the sender (native) and the MAC address of the receiver (DHCP server). The former is the MAC address of the local network card, the latter do not know, fill in a broadcast address: ' Ff-ff-ff-ff-ff-ff '. (2) Next "IP Header", set the IP address of the sender and the IP address of the receiver. At this time, for both, this machine is not known. The IP address of the issuing party is then set to ' 0.0.0.0 ', and the IP address of the receiver is set to ' 255.255.255.255 '. (3) The last "UDP header", set the port of the issuing party and the port of the receiver. This section is provided by the DHCP protocol, which is port 68 and the receiver is port 67.

Once this packet is constructed, it can be sent out. Ethernet is broadcast sent, and each computer on the same sub-network receives this packet. Because the receiver's MAC address is FF-FF-FF-FF-FF-FF , do not see who is sent to, so each received this package of the computer, you must also analyze the IP address of the package to determine whether it is sent to their own. When the sender IP address is seen 0.0.0.0 , the receiver is 255.255.255.255 , and the DHCP server knows "This package is sent to me" and the other computer can discard the package.

Next, the DHCP server reads out the contents of the packet, assigns the IP address, and sends back a "DHCP response" packet. The structure of this response packet is similar, the Ethernet header's MAC address is the network card address of the two sides, the IP address of the IP header is the IP address of the DHCP server (the sender) and 255.255.255.255 (receiver), the UDP header port is 67 (the sender) and 68 (receiver), The IP address assigned to the requester side and the specific parameters of the network are included in the data section.

The newly added computer receives the response packet, so it knows its own IP address, subnet mask, gateway address, DNS server, and so on.

8.4 Internet Settings: summary

In this section, one thing to keep in mind: whether it's a "static IP address" or a "dynamic IP address", the first step in computer surfing is to determine four parameters. These four values are important and worth repeating:

* IP address of the machine * Subnet mask * Gateway IP address * DNS IP address

With these values, the computer can "surf" the Internet. Next, let's look at an example of how the Internet protocol works when a user accesses a webpage.

九、一个 instance: Accessing Web page 9.1 native parameters

We assume that, following the steps in the previous section, the user has set their own network parameters:

* Native IP address: 192.168.1.100* subnet mask: IP address of 255.255.255.0* Gateway: 192.168.1.1* DNS IP address: 8.8.8.8

Then he opens the browser and wants to visit Google and enters the URL in the address bar: www.google.com .

This means that the browser is sending a Web request packet to Google.

9.2 DNS Protocol

We know that sending a packet must be known to the other's IP address. But now, we only know the URL www.google.com and don't know its IP address.

DNSThe agreement can help us to convert this URL into an IP address. The DNS server is known to be 8.8.8.8 , so we send a DNS packet (port 53) to this address.

Then, the DNS server responds by telling us Google the IP address is 172.194.72.105 . So, we know each other's IP address.

9.3 Subnet Mask

Next, we want to determine whether this IP address is in the same subnet, which will use the subnet mask.

The known subnet mask is 255.255.255.0, the machine uses it to its own IP address 192.168.1.100 , do a binary and operation (two digits are 1, the result is 1, otherwise 0), and 192.168.1.0 then to Google's IP address 172.194.72.105 also do an and operation and evaluates to 172.194.72.0 . These two results are not equal, so the conclusion is that Google is not on the same subnet as the native computer.

Therefore, we want to Google send the packet, must be forwarded through the gateway 192.168.1.1 , that is, the receiver's MAC address will be the gateway's MAC address.

9.4 Application Layer Protocol

The Web page is configured with the HTTP protocol, and the entire packet is constructed like this:

The contents of the HTTP section are similar to the following:

get/http/1.1host:www.google.comconnection:keep-aliveuser-agent:mozilla/5.0 (Windows NT 6.1) ... Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8accept-encoding:gzip,deflate, Sdchaccept-language:zh-cn,zh;q=0.8accept-charset:gbk,utf-8;q=0.7,*;q=0.3cookie: ...

We assume that the length of this part is 4960 bytes and it will be embedded in the TCP packet.

9.5 TCP protocol

The TCP packet needs to set the port, the receiver (Google) HTTP port is 80 by default, and the sender (native) port is a randomly generated integer between 1024-65535, assuming 51775.

The header length of the TCP packet is 20 bytes, plus the packet embedded in HTTP, the total length becomes 4980 bytes.

9.6 IP protocol

Then, the TCP packet is then embedded in the IP packet. IP packets need to be set up on both sides of the IP address, which is known, the sender is 192.168.1.100 (native) and the receiver is 172.194.72.105 (Google).

The header length of the IP packet is 20 bytes, plus the embedded TCP packet, the total length becomes 5000 bytes.

9.7 Ethernet Protocol

Finally, the IP packet is embedded in the Ethernet packet. Ethernet packet needs to set the MAC address of both sides, the sender is the local network card MAC address, the receiver is the gateway 192.168.1.1 MAC address (through the ARP protocol).

The data portion of the Ethernet packet, the maximum length is 1500 bytes, and now the IP packet length is 5000 bytes. Therefore, IP packets must be split into four packets. Because each package has its own IP header (20 bytes), the length of the IP packets for the four packets is 1500, 1500, 1500, 560, respectively.

9.8 Server-side response

After the forwarding of multiple gateways, Google's servers 172.194.72.105 received these four Ethernet packets.

According to the number of IP header, Google put four packages together, take out the full TCP packet, and then read the inside of the "HTTP request", then make " HTTP响应 ", and then TCP sent back with the protocol.

After the native HTTP response is received, the Web page can be displayed to complete a network communication.

This example ends here, although it has been simplified, but it generally reflects the entire communication process of the Internet Protocol.

Internet Protocol (ii)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.