Máy tính được xác định bằng tên máy chủ của chúng [tên của máy chủ] và địa chỉ IP.

Sơ đồ dưới đây minh họa ngắn gọn.

Tương tự như vậy, chúng ta cũng có một tên chung cho tất cả các hệ thống máy tính được sử dụng để tự gọi mình được gọi là localhost. Ở đây, thuật ngữ “localhost” được liên kết với bối cảnh mạng máy tính. Nó đóng một vai trò quan trọng trong hành trình của chúng ta với tư cách là nhà phát triển hoặc quản trị viên hệ thống. Có rất nhiều trường hợp sử dụng cho “localhost”, chẳng hạn như thử nghiệm ứng dụng, tài liệu, kiểm tra hiệu suất mạng và chặn trang web.

Chúng ta hãy đào sâu hơn vào các chi tiết nitty-gritty của nó.

Localhost là gì?

Localhost là một tên máy chủ truy cập đến hệ thống máy tính mà chương trình gọi đang chạy, dễ hiểu hơn là khi truy cập localhost, chúng ta đang truy cập đến các service đang chạy trên chính máy tính đó.

Nó giúp chúng ta kiểm tra các dịch vụ mạng trong máy, ngay cả trong các lỗi phần cứng mạng. Khi sử dụng “localhost”, các dịch vụ mạng được truy cập thông qua interface mạng logic được gọi là loopback. Địa chỉ IP của interface loopback là 127.0.0.1. Do đó, localhost phân giải đến 127.0.0.1 như một phần của phân giải tên miền.

Địa chỉ Loopback là gì?

Loopback là một interface mạng logic có mặt trong tất cả các hệ điều hành. Các gói được truyền qua interface này được trả về (vòng lặp) trở lại cùng một interface trong cùng một máy. Do đó, interface được gọi là loopback.

Theo Tiêu chuẩn IETF cho địa chỉ IPv4, toàn bộ khối 127.0.0.0/8 được phân bổ cho mục đích loopback mạng. Là hành vi mặc định, giao diện loopback được cấu hình sau mỗi lần cài đặt máy chủ.

Chúng ta hãy xem đoạn trích dưới đây.

ip a show lo
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 76238871 bytes 6955286874 (6.9 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 76238871 bytes 6955286874 (6.9 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
sudo cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 sandbox1

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback

Nội bộ xử lý gói loopback

Nói chung, các gói Loopback được phân biệt với các gói IP khác theo địa chỉ của chúng. Việc xử lý các gói loopback với địa chỉ loopback xảy ra tại lớp liên kết của TCP / IP Stack. Lưu lượng truy cập này sẽ đi qua bên trong các hệ thống máy tính. Nó sẽ không nhấn thẻ NIC phần cứng như các gói IP khác. Ngoài ra, có một quy tắc rằng các bộ định tuyến không nên định tuyến địa chỉ IP loopback.

Ví dụ: khi chúng ta yêu cầu địa chỉ 127.0.0.1. Yêu cầu sẽ không chuyển tiếp lên internet vì octet đầu tiên (127). Ở đây, ngăn xếp TCP / IP nhận ra yêu cầu và định tuyến nó trở lại cùng một máy.

Một minh họa nhanh về hướng dẫn dòng gói cho localhost và các gói IP khác dưới đây.

ping -c 4 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.040 ms

--- localhost ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.035/0.039/0.043/0.008 ms
ping -c 4 google.com
PING google.com (142.250.71.46) 56(84) bytes of data.
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=1 ttl=120 time=2.14 ms
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=2 ttl=120 time=2.18 ms
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=3 ttl=120 time=2.19 ms
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=4 ttl=120 time=2.20 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.147/2.180/2.203/0.051 ms

Thử nghiệm ứng dụng sử dụng Localhost

Khả năng tiếp cận của dịch vụ ứng dụng đầu tiên xảy ra thông qua interface mạng. Nếu dịch vụ ứng dụng được ánh xạ với một interface vật lý, nó có thể được truy cập từ thế giới bên ngoài. Tương tự như vậy, nếu ứng dụng được ánh xạ với interface loopback logic, nó chỉ có thể được truy cập từ hệ thống máy tính cụ thể đó và không thể truy cập từ thế giới bên ngoài.

Nó luôn luôn dễ dàng để phát triển và kiểm tra mã từ máy chủ cục bộ hơn từ một máy chủ từ xa khác. Để đạt được điều đó, chúng ta sửa dns tên miền production của chúng ta với một địa chỉ loopback mới (127.0.1.100) trong tệp. Các mục trong /etc/hosts được ưu tiên hơn DNS.

Đoạn trích dưới đây giới thiệu phản hồi ping từ máy chủ local đến máy chủ web hocdevops từ xa. DNS map được hiển thị trong đoạn trích thứ hai. Khi chúng ta kiểm tra chặt chẽ đầu ra sau khi sửa dns IP 127 đoạn để hocdevops.com trong tệp của máy chủ, lưu lượng truy cập sẽ được chuyển đến interface mạng loopback.

ping -c 4 hocdevops.com
PING hocdevops.com (172.67.74.167) 56(84) bytes of data.
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=1 ttl=59 time=34.5 ms
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=2 ttl=59 time=34.5 ms
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=3 ttl=59 time=34.5 ms
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=4 ttl=59 time=34.5 ms

--- hocdevops.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 34.521/34.529/34.541/0.227 ms
sudo cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 sandbox1
127.0.1.100 hocdevops.com

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
ping -c 4 hocdevops.com
PING hocdevops.com (127.0.1.100) 56(84) bytes of data.
64 bytes from hocdevops.com (127.0.1.100): icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from hocdevops.com (127.0.1.100): icmp_seq=2 ttl=64 time=0.094 ms
64 bytes from hocdevops.com (127.0.1.100): icmp_seq=3 ttl=64 time=0.042 ms
64 bytes from hocdevops.com (127.0.1.100): icmp_seq=4 ttl=64 time=0.055 ms

--- hocdevops.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3062ms
rtt min/avg/max/mdev = 0.042/0.066/0.094/0.020 ms

Kết thúc

Localhost là tên mặc định của hệ thống nơi chương trình của chúng ta chạy giúp chúng ta kiểm tra các ứng dụng và khắc phục sự cố mạng. Nó được sử dụng bằng cách sử dụng một cơ chế vòng lặp cục bộ thông qua interface mạng loopback. Nó giúp chúng ta kiểm tra phần mềm mà không phụ thuộc cấu hình phần cứng mạng. Là người dùng máy tính, điều cần thiết là phải có sự hiểu biết cơ bản về các thuật ngữ localhost và interface mạng loopback.

3 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments