AWS- Network basic
Network là một lĩnh vực rất rộng, gồm nhiều các thiết bị, giao thức để giao tiếp với nhau. Tuy nhiên trong phạm vi bài viết, tác giả sẽ không liệt kê toàn bộ các phần thiết bị hay giao thức một cách chi tiết mà chỉ nói qua một số phần cơ bản nhất trong Network, từ đó có thể áp dụng để triển khai một mạng ảo trên Amazon Virtual Private Cloud.
What is the network
Mạng các máy tính bao gồm 2 hoặc nhiều máy liên kết với nhau để chia sẻ tài nguyên
Route
Bộ định tuyến coi như như một chiếc bản đồ, chứa các thông tin định tuyến gói tin trong mạng
Mỗi Route sẽ chứa các thông tin điểm đến (Destination), đích (target) và route tiếp theo cần đến để đến được đích.
MAC Address
Đây là một khái niệm định danh duy nhất cho các thiết bị, không bao giờ trùng nhau. MAC thường được nhắc đến nhiều khi cấu hình card mạng.
Địa chỉ IP
- Sử dụng để giao tiếp trong các giao thức mạng
- Địa chỉ IP cung cấp nhận dạng cho một thiết bị mạng, tương tự như địa chỉ nhà riêng hoặc doanh nghiệp. Các thiết bị trên mạng có các địa chỉ IP khác nhau.
- Có thể trùng đối với các IP Address Private, đối với các IP Address Public thì không.
- Có 2 loại là IP Address Public và IP Address Private
- IP Private: Các địa chỉ IP Private sẽ bắt đầu bởi các địa chỉ
1
2
310.
172.16~31
192.168 - Xem IP Private bằng lệnh
1
ipconfig
- IP Private: Các địa chỉ IP Private sẽ bắt đầu bởi các địa chỉ
Ip Public giống như tên gọi khi đi ra ngoài của bạn, và mỗi thiết bị cần có 1 tên riêng biệt
IP Private giống như biệt danh, tên gọi ở nhà (Bơ, Mít, Kem,…) có thể trùng nhau giữa các “gia đình” nhưng trong mỗi gia đình, tên phải là duy nhất.
Ping - Trace route - Telnet
Đây là các lệnh cơ bản để kiểm tra network của 1 server
Ping
Kiểm tra trạng thái các gói tin đến server, độ trễ có gói tin
- Ping thấp nghĩa là độ trễ thấp và việc giao tiếp với máy chủ sẽ diễn ra nhanh hơn
- Ping không trả lời khác với việc server bị sập. Ping chặn có thể là do chặn IP hoặc response quá lâu
1 | $ ping -c 5 vi.wikipedia.org |
Trace route
Truy vết đường đi của các gói tin dữ liệu trong các giao thức mạng
- Lệnh PING: kiểm tra kết nối internet giữa 2 máy tính. Bằng cách gửi đi các gói tin, rồi nhận lại tín hiệu phản hồi từ phía bên kia.
- Lệnh Tracert thì có vẻ “cao siêu” hơn 1 chút, dùng để kiểm tra đường đi của các gói tin của lệnh Ping.
1 | C:\>tracert wikipedia.com |
Port protocol
- Các giao thức mạng đều có cổng giao tiếp
- Danh sách các cổng: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
- Lệnh telnet có thể sử dụng để kiểm tra các cổng của 1 giao thức
1
Telnet <IP_ADDRESS> <PORT PROTOCOL>
If Web Server can not connect to Database Server?
DNS - Hệ thống phân giải tên miền
Các giao thức mạng không giao tiếp với nhau qua các domain (ví dụ www.example.com) mà sẽ sử dụng địa chỉ IP. Do đó cần có 1 hệ thống phân giải tên miền để chuyển đổi từ domain sang địa chỉ IP, đó là hệ thống DNS.
nslookup command1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17$ nslookup google.com
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
Name: google.com
Address: 172.217.194.113
Name: google.com
Address: 172.217.194.139
Name: google.com
Address: 172.217.194.100
Name: google.com
Address: 172.217.194.101
Name: google.com
Address: 172.217.194.138
Name: google.com
Address: 172.217.194.102
Domain main
Như đã nói ở trên, domain sẽ đại diện cho địa chỉ IP, là một các kí tự dễ nhớ với con người. Có thể hiểu, domain chính ta tên trong danh bạ, còn địa chỉ IP chính là số điện thoại của người đó. Tên chỉ là để dễ nhớ, cho con người biết là số của ai, còn điện thoại và các tổng đài sẽ giao tiếp thông qua số điện thoại chứ không phải tên danh bạ
Sud domain
edu1.com
=> Lev 2: env.edu1.com
=> Lev 3: admin.env.edu1.com
Có thể áp dụng sub domain để triển khai ứng dụng web cho các môi trường (dev, stg, product) và nội dung web (api, backend, frontend).
NAT
NAT cơ bản có thể sử dụng để kết nối hai mạng máy tính có địa chỉ không tương thích.
(Kiểu ánh xạ IP Public và IP Private)
NAT là một kỹ thuật cho phép một hoặc nhiều địa chỉ IP nội miền chuyển đổi sang một hoặc nhiều địa chỉ IP ngoại miền.
Xem xét ví dụ gia đình Minh có 2 người con là Minh (tên gọi private ở nhà là M) và Nam (tên gọi private ở nhà là N)
Khi đơn vị nào đó (mạng trên Internet) muốn giao tiếp với Minh, gửi một lá thư cho gia đình Minh (gia đình Minh lúc này đóng vai trò như server tiếp nhận request), và mẹ Minh sẽ đọc địa chỉ từ lá thư, gửi cho Minh => chuyển cho M (tên gọi ở nhà - Private Network). Minh có trả lời thì lại gửi lá thư cho mẹ, sau đó mẹ phản hồi lại bên gửi đến với tên Minh. Mẹ Minh ở đây đóng vai trò là NAT, chuyển đổi tên public và tên private, giúp các giao thức mạng vận hành 1 các trơn tru
Như vậy rõ ràng
- M (hay Minh) được bảo vệ, không cho phép mạng bên ngoài truy cập trực tiếp. Nếu muốn truy cập vào M, phải ở trong “gia đình” hoặc thông qua mẹ Minh (ở trong mạng nội bộ)
- Địa chỉ A giao tiếp bên ngoài luôn là Minh (Giúp che giấu IP bên trong mạng LAN)
- Các địa chỉ gửi đến gia đình Minh cho Minh khi sai tên sẽ không được gửi đến => Lọc các gói tin và kiểm duyệt truy cập đến port
NAT sử dụng khi có Private Subnet
Forward Proxy & Reserve Proxy
Reverse Proxy & Load Balancer
AWS- Network basic