The advantage of these abstractions is that, when programming an application, we only need to consider the highest-level protocol. For example, a web browser needs only to implement the protocols dealing specifically with websites—HTTP, HTML, CSS, and so on. It does not need to bother with implementing TCP/IP, and it certainly doesn't have to understand how an Ethernet or Wi-Fi packet is encoded. It can rely on ready-made implementations of the lower layers for these tasks. These implementations are provided by the operating system (for example, Windows, Linux, and macOS).
When communicating over a network, data must be processed down through the layers at the sender and up again through the layers at the receiver. For example, if we have a web server, Host A, which is transmitting a web page to the receiver, Host B, it may look like this:
 United States
            United States
             Great Britain
            Great Britain
             India
            India
             Germany
            Germany
             France
            France
             Canada
            Canada
             Russia
            Russia
             Spain
            Spain
             Brazil
            Brazil
             Australia
            Australia
             Singapore
            Singapore
             Canary Islands
            Canary Islands
             Hungary
            Hungary
             Ukraine
            Ukraine
             Luxembourg
            Luxembourg
             Estonia
            Estonia
             Lithuania
            Lithuania
             South Korea
            South Korea
             Turkey
            Turkey
             Switzerland
            Switzerland
             Colombia
            Colombia
             Taiwan
            Taiwan
             Chile
            Chile
             Norway
            Norway
             Ecuador
            Ecuador
             Indonesia
            Indonesia
             New Zealand
            New Zealand
             Cyprus
            Cyprus
             Denmark
            Denmark
             Finland
            Finland
             Poland
            Poland
             Malta
            Malta
             Czechia
            Czechia
             Austria
            Austria
             Sweden
            Sweden
             Italy
            Italy
             Egypt
            Egypt
             Belgium
            Belgium
             Portugal
            Portugal
             Slovenia
            Slovenia
             Ireland
            Ireland
             Romania
            Romania
             Greece
            Greece
             Argentina
            Argentina
             Netherlands
            Netherlands
             Bulgaria
            Bulgaria
             Latvia
            Latvia
             South Africa
            South Africa
             Malaysia
            Malaysia
             Japan
            Japan
             Slovakia
            Slovakia
             Philippines
            Philippines
             Mexico
            Mexico
             Thailand
            Thailand
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                