1. Mô hình OSI và TCP/IP
1.1 Mô hình OSI
1.1.1 Mô hình OSI là gì ?
Khái niệm
- Mô hình OSI (Open Systems Interconnection) là một thiết kế dựa vào nguyên lý tầng cấp, lý giải một cách trừu tượng kỹ thuật kết nối, truyền thông giữa các máy tính và các thiết lập giao thức mạng giữa chúng.
MỤC ĐÍCH
- Đóng gói các gói tin để chuyển đi trong các kết nối giữa hai máy tính
1.1.2 Cơ chế hoạt động của từng tầng trong OSI
1.1.2.1 Chồng Giao Thức
- OSI gồm 7 tầng. Mỗi một tầng có một đặc tính là nó chỉ sử dụng chức năng của tầng dưới nó, đồng thời chỉ cho phép tầng trên sử dụng các chức năng của mình, một hệ thống cài đặt các giao thức bao gồm một chuỗi các tầng nói trên được gọi là "chồng giao thức".
1.1.2.2 Khái Niệm Mỗi Tầng
Tầng 1: Tầng Vật Lý (Physical Layer)
Định nghĩa tất cả các đặc tả về điện và vật lý cho các thiết bị. Trong đó bao gồm bố trí của các chân cắm, các đặc tả về cáp nối. Các thiết bị tầng vật lý bao gồm Hub, bộ lặp (repeater), thiết bị chuyển đổi tín hiệu (converter), thiết bị tiếp hợp mạng (network adapter) và thiết bị tiếp hợp kênh máy chủ. Chức năng và dịch vụ căn bản được thực hiện bởi tầng vật lý bao gồm:
- Thiết lập hoặc ngắt mạch kết nối điện (electrical connection) với một môi trường truyền dẫn phương tiện truyền thông (transmission medium).<br>
- Tham gia vào quy trình mà trong đó các tài nguyên truyền thông được chia sẻ hiệu quả giữa nhiều người dùng. Chẳng hạn giải quyết tranh chấp tài nguyên (contention) và điều khiển lưu lượng.<br>
- Hình trạng mạng (Topology): mô tả cách bố trí các thiết bị phần cứng<br>
- Phương thức giao tiếp giữa 2 tầng vật lý : <a href="https://vi.wikipedia.org/wiki/Song_c%C3%B4ng">đơn công (simplex), bán song công (haif-duplex) hay song công (full-duplex).</a><br><br>
Tầng 2: Tầng Liên Kết Dữ Liệu (Data-Link Layer)
- Đơn vị dữ liệu: frames
- Tầng liên kết dữ liệu là tầng mạng có nhiệm vụ truyền dữ liệu giữa các nút mạng kề nhau trong một mạng diện rộng hoặc giữa các nút trong cùng một mạng cục bộ
- Trong tầng 2 được chia làm hai lớp nhỏ hơn là: Media Access Control, viết tắt là MAC và Logical link control (LLC)
Tầng liên kết dữ liệu chính là nơi các thiết bị chuyển mạch (switches) hoạt động. Kết nối chỉ được cung cấp giữa các nút mạng được nối với nhau trong nội bộ mạng.
Đáp ứng các yêu cầu phục vụ của tầng mạng và phát sinh các yêu cầu phục vụ gửi tới tầng vật lý.
Tầng 3: Tầng Mạng (Network Layer)
Đơn vị dữ liệu: packet
Tầng mạng thực hiện chức năng định tuyến. Các thiết bị định tuyến (router) hoạt động tại tầng này - gửi dữ liệu ra khắp mạng mở rộng, và liên mạng.
Tầng này là một hệ thống định vị địa chỉ lôgic theo phương thức IP(Internet Protocol).
Tầng 4: Tầng Giao Vận (Transport Layer)
Đơn vị dữ liệu: segments
Tầng này chịu trách nhiệm đáp ứng các đòi hỏi về dịch vụ của tầng phiên và đưa ra các yêu cầu dịch vụ đối với tầng mạng (Network Layer).
Nhiệm vụ của tầng này :
- Đóng gói dữ liệu - Định hướng kết nối (Connection-Oriented)
Tầng 5: Tầng Phiên (Session layer)
kiểm soát các (phiên) hội thoại giữa các máy tính.
Tầng này đáp ứng các yêu cầu dịch vụ của tầng trình diễn và gửi các yêu cầu dịch vụ tới tầng giao vận.
Tầng phiên thiết lập, quản lý, và ngắt mạch (phiên) kết nối giữa các chương trình ứng dụng đang cộng tác với nhau. Nó còn bổ sung thông tin về luồng giao thông dữ liệu (traffic flow information).
Tầng 6: Tầng Trình Diễn (Presentation layer)
Tầng này trên máy tính truyền dữ liệu làm nhiệm vụ dịch dữ liệu được gửi từ tầng ứng dụng sang địng dạng chung. Và tại máy tính nhận, lại chuyển từ định dạng chung sang định dạng của tầng ứng dụng.
Cụ thể:
- Dịch các mã ký tự từ ASCII sang EBCDIC. - Chuyển đổi dữ liệu, ví dụ từ số interger sang số dấu phảy động. - Nén dữ liệu để giảm lượng dữ liệu truyền trên mạng. - Mã hoá và giải mã dữ liệu để đảm bảo sự bảo mật trên mạng.
Thông thường, việc biểu diễn cấu trúc được chuẩn hóa tại tầng này thường được thực hiện bằng cách sử dụng XML.
Tầng 7: Tầng ứng dụng (Application layer)
Tầng này là giao diện chính để người dùng tương tác với chương trình ứng dụng, và qua đó với mạng. Một số ví dụ về các ứng dụng trong tầng này bao gồm HTTP, Telnet, FTP (giao thức truyền tập tin) và các giao thức truyền thư điện tử như SMTP, IMAP, X.400 Mail.
Giao tiếp trực tiếp với các tiến trình của ứng dụng và thi hành những tệp ảo của các tiến trình đó; tầng này còn gửi các yêu cầu dịch vụ tới tầng trình diễn (Presentation layer).
1.1.3 Cơ chế hoạt động của mô hình OSI
Người gửi: Dữ liệu sẽ đi từ tầng ứng dụng xuống tầng vật lý
- Tầng 7(Ứng dụng): Từ sự tương tác của người dùng, tầng ứng dụng thiết lập các giao thức mạng và chuyển yêu cầu tới tầng phiên
- Tầng 6(Trình diễn): Nhận dữ liệu từ tầng 7 và dịch dữ liệu nhận được sang định dạng chung. Sau đó phát hành những yêu cầu dịch vụ đối với tầng phiên.
- Tầng 5(Phiên): Tầng này thiết lập, quản lý và kết thúc các kết nối giữa trình ứng dụng của máy gửi và máy nhận.
- Tầng 4: Đóng gói dữ liệu, thiết lập các giao thức gửi tin TCP hoặc UDP. Và đưa ra các yêu cầu dịch vụ đối với tầng mạng
- Tầng 3(Tầng mạng): Tầng này đánh địa chỉ cho các gói tin bằng địa chỉ IP, quyết định tuyến truyền thông từ nguồn đến đích, đồng thời quản lý những vấn đề về giao thông, chẳng hạn như chuyển mạch, định tuyến (routing), và khống chế sự tắc nghẽn của các gói dữ liệu.
- Tầng 2(Liên kết dữ liệu): Tầng này cung cấp các phương tiện,chức năng và thủ tục để truyền dữ liệu giữa các thực thể mạng và có thể cung cấp phương tiện để phát hiện và có thể sửa các lỗi có thể nảy sinh tại tầng vật lý.
- Tầng 1(Tầng vật lý): dữ liệu được đưa về các bit nhị phân, gửi đi bằng tín hiệu điện hoặc sóng vô tuyến.
Người nhận: Gói tin sẽ đến tầng vật lý rồi đi lên đến tầng ứng dụng cho người dùng thấy được, quy trình giải mã gói tin thực hiện ngược lại quy trình đóng gói
1.2 Mô Hình TCP/IP
1.2.1 Khái Niệm
TCP/IP Là một mô hình gồm 4 tầng, bao gồm bộ giao thức trao đổi thông tin được sử dụng để truyền tải và kết nối các thiết bị trong mạng Internet. TCP/IP được phát triển để mạng được tin cậy hơn cùng với khả năng phục hồi tự động, chính xác hơn so với mô hình OSI
1.2.2 Các tầng của mô hình TCP/IP:
Một mô hình TCP/IP tiêu chuẩn bao gồm 4 lớp được chồng lên nhau, bắt đầu từ tầng thấp nhất là Tầng vật lý (Physical) → Tầng mạng (Network) → Tầng giao vận (Transport) và cuối cùng là Tầng ứng dụng (Application).
Tầng 4 - Tầng Ứng dụng (Application)
Tầng Ứng dụng đảm nhận vai trò giao tiếp dữ liệu giữa 2 máy khác nhau thông qua các dịch vụ mạng khác nhau (duyệt web, chat, gửi email, một số giao thức trao đổi dữ liệu: SMTP, SSH, FTP,...). Dữ liệu khi đến đây sẽ được định dạng theo kiểu Byte nối Byte, cùng với đó là các thông tin định tuyến giúp xác định đường đi đúng của một gói tin.
Tầng 3 - Tầng Giao vận (Transport)
Chức năng chính của tầng 3 là xử lý vấn đề giao tiếp giữa các máy chủ trong cùng một mạng hoặc khác mạng được kết nối với nhau thông qua bộ định tuyến. Tại đây dữ liệu sẽ được phân đoạn, mỗi đoạn sẽ không bằng nhau nhưng kích thước phải nhỏ hơn 64KB. Cấu trúc đầy đủ của một Segment lúc này là Header chứa thông tin điều khiển và sau đó là dữ liệu.
Trong tầng này còn bao gồm 2 giao thức cốt lõi là TCP và UDP. Trong đó, TCP đảm bảo chất lượng gói tin nhưng tiêu tốn thời gian khá lâu để kiểm tra đầy đủ thông tin từ thứ tự dữ liệu cho đến việc kiểm soát vấn đề tắc nghẽn lưu lượng dữ liệu. Trái với điều đó, UDP cho thấy tốc độ truyền tải nhanh hơn nhưng lại không đảm bảo được chất lượng dữ liệu được gửi đi.
Tầng 2 - Tầng mạng (Internet)
Gần giống như tầng mạng của mô hình OSI. Tại đây, nó cũng được định nghĩa là một giao thức chịu trách nhiệm truyền tải dữ liệu một cách logic trong mạng. Các phân đoạn dữ liệu sẽ được đóng gói (Packets) với kích thước mỗi gói phù hợp với mạng chuyển mạch mà nó dùng để truyền dữ liệu. Lúc này, các gói tin được chèn thêm phần Header chứa thông tin của tầng mạng và tiếp tục được chuyển đến tầng tiếp theo. Các giao thức chính trong tầng là IP, ICMP và ARP.
Tầng 1 - Tầng Vật lý (Physical)
Là sự kết hợp giữa tầng Vật lý và tầng liên kết dữ liệu của mô hình OSI. Chịu trách nhiệm truyền dữ liệu giữa hai thiết bị trong cùng một mạng. Tại đây, các gói dữ liệu được đóng vào khung (gọi là Frame) và được định tuyến đi đến đích đã được chỉ định ban đầu.
2. Protocol là gì?
2.1 Khái niệm
Protocol (giao thức mạng) là tập hợp các quy tắc được thiết lập nhằm xác định cách để định dạng, truyền và nhận dữ liệu sao cho các thiết bị mạng máy tính - từ server và router tới endpoint - Có thể giao tiếp với nhau, bất kể sự khác biệt về cơ sở hạ tầng, thiết kế hay các tiêu chuẩn cơ bản giữa chúng.
2.2 Phương Thức Hoạt Động
Hoạt động trên mô hình OSI hoặc TCP/IP. Các phương thức hoạt động bao gồm:
- Transmission Control Protocol (TCP)
- User Datagram Protocol (UDP)
- Internet Protocol (IP)
2.3 Tính Năng Của Protocol
- Data Sequencing: chia toàn bộ dữ liệu thành một số gói.
- Data flow: giải quyết việc gửi dữ liệu đến đúng đích đảm bảo luồng dữ liệu có chính xác hay không.
- Data Routing: chọn đường dẫn tốt nhất để truyền dữ liệu giữa người gửi và người nhận vì có thể có nhiều đường truyền.
- Encapsulation (Đóng gói): quá trình lấy một giao thức và chuyển nó sang một số giao thức khác.
- Segmentation & Reassembly: xử lý việc phân đoạn thông điệp dữ liệu, tức là phân đoạn dữ liệu thành các gói khi dữ liệu chảy từ lớp giao thức trên xuống thấp hơn và tập hợp lại ngược lại với phân đoạn tức là tất cả các gói được phân đoạn đều được thu thập lại theo đúng thứ tự tại bên nhận.
- Connection Control (Kiểm soát kết nối): đảm bảo truyền dữ liệu theo định hướng kết nối cho các data item dài.
- Multiplexing: kết hợp nhiều tín hiệu đơn vị truyền hoặc kênh của giao thức cấp cao hơn trong một đơn vị truyền dẫn của giao thức cấp thấp hơn. Multiplexing có thể hướng lên hoặc hướng xuống.
- Ordered Delivery (Phân phối theo thứ tự): Giao thức tạo điều kiện thuận lợi cho việc phân phối dữ liệu theo thứ tự, bằng cách cung cấp một số thứ tự duy nhất cho mỗi gói dữ liệu. Chức năng của người gửi là duy trì việc phân phối theo thứ tự đó. Làm như vậy, người nhận sẽ nhận được dữ liệu theo thứ tự như đã gửi bởi người gửi.
- Transmission Services: đề cập đến mức độ ưu tiên, Chất lượng dịch vụ (QoS) và bảo mật của các gói dữ liệu.
- Addressing: đề cập đến các cấp độ, phạm vi addressing, định danh giao tiếp và chế độ addressing.
- Flow Control (Kiểm soát luồng): tạo điều kiện để hạn chế luồng dữ liệu
- Error Control (Kiểm soát lỗi): Nó xử lý việc phát hiện lỗi (sử dụng các checksum bit) và kiểm soát nó. Nếu bất kỳ lỗi nào được phát hiện trong quá trình truyền dữ liệu, yêu cầu truyền lại dữ liệu sẽ được người nhận gửi đến người gửi và gói dữ liệu bị hỏng sẽ bị loại bỏ.
3. Cấu trúc Client server, So sánh với cấu trúc Peer To Peer
3.1 Server là gì?
Server gồm 2 thành phần: phần cứng và phần mềm cả 2 cùng làm việc với nhau.
Về phần cứng:
- Server như một máy tính lưu trữ các file html, css, javascript..., nhưng khác máy tính thông thường ở chỗ, server không thể gửi yêu cầu tới các server dịch vụ khác. Server được kết nối với internet và gửi các file tới người dùng.
Về phần mềm:
- server bao gồm một số phần kiểm soát người dùng web truy cập đến file host tại tối thiểu một HTTP server. HTTP protocol là một phần của phần mềm, nó là một giao thức để client và server giao tiếp với nhau.
- Khi người dùng yêu cầu hiển thị một website. Một Http request sẽ được gửi tới web server. Sau đó webserver sẽ trả về các file theo yêu cầu qua giao thức Http response.
3.2 Cấu Trúc Client - Server
3.2.1 Khái niệm
Client server là mô hình mạng máy tính bao gồm 2 thành phần chính là máy khách (client) và máy chủ (server). Trong mô hình này, server là nơi lưu trữ tài nguyên, cài đặt các chương trình dịch vụ và thực hiện các yêu cầu của client. Client đón vai trò gửi yêu cầu đến server. Client gồm máy tính và thiết bị điện tử nói chung.
3.2.1 Nguyên Lý Hoạt Động
Toàn bộ quá trình giao tiếp giữa server và client phải dựa trên các giao thức chuẩn. TCP/IP, SAN (IBM), ISDN, OSI, X.25, LAN-to-LAN Netbios là những giao thức chuẩn được sử dụng phổ biến hiện nay.
Web server: Người dùng nhập địa chỉ website => client gửi yêu cầu đến web server => web server gửi toàn bộ nội dung của website về cho client
Mail server: Người dùng soạn mail => client gửi đến mail server => mail server tiếp nhận, lưu trữ, tìm kiếm địa chỉ email được gửi đến & gửi mail đi
File server: File server nhận tập tin từ phía client, lưu trữ và truyền tập tin đi. Người dùng có thể upload, download các tập tin lên server qua giao thức FTP hay web browser
3.3 So sánh với cấu trúc Peer To Peer
3.3.1 Peer To Peer là gì?
Mạng peer to peer (P2P) là một kiến trúc ứng dụng phân tán nhằm phân vùng nhiệm vụ hoặc khối lượng công việc giữa các peer. Mỗi peer là 1 node, chúng tạo thành một mạng lưới các node ngang hàng, ngang cấp nhau.
3.3.2 So sánh
P2P khác với mô hình client-server truyền thống ở chỗ việc tiêu thụ và cung cấp tài nguyên được phân chia.
Giống nhau:
P2P và Client server đều có một client gửi request đến server và server gửi trả thông tin về cho client.
Khác Nhau:
4. IPv4 và IPv6 là gì? và sự khác nhau giữa chúng.
4.1 IP là gì?
Địa chỉ IP (viết tắt của Internet Protocol) là một địa chỉ duy nhất cho mỗi thiết bị điện tử như điện thoại, laptop.
Địa chỉ IP cung cấp danh tính của các thiết bị được kết nối mạng, giúp các thiết bị trên mạng Internet phân biệt và nhận ra nhau, từ đó có thể giao tiếp với nhau.
4.2 IPv4 là gì?
IPv4 (Internet Protocol version 4) là một giao thức trong truyền thông dữ liệu dựa theo địa chỉ, nó có nhiệm vụ cung cấp kết nối logic giữa các thiết bị mạng. Trong đó bao gồm cả việc cung cấp nhận dạng cho các thiết bị.
IPv4 dựa trên mô hình best-effort, đảm bảo các thiết bị điện từ không bị trùng địa chỉ IP. IPv4 rất linh hoạt, có thể cấu hình tự động hay thủ công với nhiều thiết bị khác nhau, tùy vào từng loại mạng khác nhau.
IPv4 có chiều dài 32bits. Số địa chỉ tối đa có thể sử dụng là 4.294.967.296 (2^32). 32 bits địa chỉ của IP được chia thành 4 nhóm, mỗi nhóm gồm 8 bits, các nhóm này phân cách nhau bởi dấu chấm
- Không được đặt những bit ở phần network bằng 0 cùng một lúc. Khi đặt tất cả những bit ở phần network bằng không thì địa chỉ IP sẽ có 3 số đầu là 0.0.0. Đây là một địa chỉ sai.
- Nếu đặt tất cả các bit ở phần host bằng 0 thì số cuối cùng của địa chỉ IP sẽ bằng 0. Khi đó địa chỉ đó là một địa chỉ mạng, không thể dùng làm host. Ví dụ: 191.168.10.0 là một địa chỉ mạng.
- Nếu đặt tất cả các bit ở phần host là 1 thì số cuối cùng của địa chỉ IP là 255. Khi đó địa chỉ này sẽ là một địa chỉ broadcast của mạng đó. Ví dụ: 192.168.10.255 là một địa chỉ broadcast.
4.3 IPv6
IPv6 (Internet Protocol version 6) là phiên bản mới nhất của Giao thức Internet, một giao thức lớp mạng sở hữu thông tin địa chỉ và kiểm soát để cho phép các gói được định tuyến trong mạng. IPv6 được tạo ra để đối phó với tình trạng cạn kiệt IPv4. Nó tăng kích thước địa chỉ IP từ 32 bit lên 128 bit để hỗ trợ nhiều cấp độ địa chỉ hơn.
IPv6 Định tuyến và xử lý gói hiệu quả hơn so với IPv4. Bảo mật hơn IPv4
4.4 So sánh IPv4 và IPv6
Khác nhau | IPv4 | IPv6 |
---|---|---|
Khả năng tương thích với các thiết bị di động | Địa chỉ sử dụng ký hiệu dấu thập phân, không phù hợp với mạng di động | Địa chỉ được phân tách bằng dấu hai chấm – thập lục phân. Giúp cho nó tương thích tốt hơn với các mạng di động |
Ánh xạ | Address Resolution Protocol dùng để ánh xạ đến các địa chỉ MAC | Neighbor Discovery Protocol dùng để ánh xạ đến địa chỉ MAC |
DHCP | Khi kết nối mạng, clients được yêu cầu tiếp cận với DHCP | Clients được cung cấp địa chỉ, không cần phải liên hệ bắt buộc với máy chủ nào khác |
Bảo mật | Chủ yếu dựa vào tầng Ứng dụng | Có giao thức Bảo mật riêng được gọi là IPSec |
Quản lý nhóm mạng con cục bộ | Sử dụng Internet Group Management Protocol (GMP) | Sử dụng Multicast Listener Discovery (MLD) |
Cấu hình địa chỉ | Thực hiện thủ công hoặc qua DHCP | Sử dụng tự động cấu hình địa chỉ không trạng thái bằng ICMP hoặc DHCP6. |
Kích thước gói | Tối thiểu là 576 byte | Tối thiểu là 1208 byte |
Số lớp | Năm lớp (A-E) | Không giới hạn lưu trữ địa chỉ IP |
Kiểm tra lỗi(Trường Checksum) | Có | Không |
Chiều dài Header | 20 | 40 |
5. DNS là gì? Cơ chế hoạt động của DNS
5.1 Khái niệm
DNS là hệ thống phân giải tên miền. Giao thức mạng phổ biến là IPv4, khi người dùng tìm kiếm 'google.com', DNS sẽ tìm ra địa chỉ IP của server và gửi lại nó cho người dùng, lúc này trình duyệt đã có địa chỉ IP của google, các tập giao thức mới được bắt đầu thực hiện, yêu cầu mới bắt đầu được gửi đi.
5.2 Cơ chế hoạt động
Ban đầu khi người dùng nhập 'google.com', trình duyệt sẽ tìm các bản ghi dns trong file C:\Windows\System32\drivers\etc\hosts và trong dns cache trên máy của người dùng.
Nếu tìm thấy bản ghi thì trình duyệt sẽ lấy IP tìm được để gửi request
Nếu không tìm thấy bản ghi, trình duyệt sẽ tìm đến resolver server(dns server của nhà cung cấp dịch vụ mạng).
* Nếu tìm thấy bản ghi, IP sẽ được trả về cho trình duyệt.
* Nếu không tìm thấy, resolver server tiếp tục gửi request tới root server.
* Tại root server tìm ra TLD của domain có dạng (.com, .net ,..), sau đó nó sẽ phản TLD tìm được cho TLD server
* Tại TLD server, cho biết domain gửi đến có tồn tại hay không, nếu có tiếp tục phản hồi tới name server
* Tại name server sẽ tìm ra bản ghi của domain, trả IP về cho trình duyệt