2022-11-11

Tổng quan TCP/IP, giao thức TCP/UDP, địa chỉ MAC, hành trình gói tin trên Internet

Bài viết gồm 4 phần, trình bày tổng quan về mô hình OSI, TCP/IP; Các giao thức TCP, UDP; Địa chỉ vật lý (MAC) và hành trình gói tin trên Internet. Sau đây là chi tiết các phần.

Phần 1: Tổng quan về mô hình OSI, TCP/IP

Ngày nay, Internet đang ngày càng trở nên phổ biến và trở thành phương thức kết nối toàn cầu. Để internet hoạt động, nó cần có các phương thức truyền dẫn và TCP/IP là một phương thức phổ biến hiện nay. Bài viết này sẽ khái quát các mô hình OSI, TCP/IP, đồng thời so sánh giao thức TCP/IP với OSI.

1. Mô hình OSI - mô hình tham chiếu 7 tầng

Mô hình OSI (Open Systems Interconnection) hay còn được gọi là “mô hình tham chiếu 7 tầng OSI”. Mục đích chính của chúng là giúp người sử dụng dễ hình dung hơn về cơ chế truyền tin giữa các máy tính với nhau. Mô hình OSI bao gồm 7 tầng, mỗi tầng đều có đặc tính là chỉ sử dụng chức năng của tầng dưới nó, đồng thời chúng cũng chỉ cho phép tầng trên sử dụng các chức năng của mình. Mô hình OSI thực chất là chia nhỏ các hoạt động phức tạp của mạng thành các phần công việc đơn giản , dễ hình dung hơn.

Chức năng của từng tầng:

Tầng 1: Tầng vật lý (Physical Layer) có chức năng chính là điều khiển việc truyền tải các bit trên đường truyền vật lý. Chúng định nghĩa các tín hiệu điện, trạng thái đường truyền, phương pháp mã hóa dữ liệu.

Tầng 2: Tầng liên kết dữ liệu (Data-Link Layer) Đảm bảo truyền tải các khung dữ liệu (Frame) giữa hai máy tính có đường truyền vật lý nối trực tiếp với nhau là điều mà chúng thực hiện. Ngoài ra nó còn cài đặt cơ chế phát hiện và xử lý lỗi dữ liệu nhận.

Tầng 3: Tầng mạng (Network Layer) tầng mạng đảm nhiệm việc truyền các gói tin (packet) giữa hai máy tính bất kỳ trong mạng máy tính.

Tầng 4: Tầng vận chuyển (Transport Layer) Vai trò của chúng là phân nhỏ các gói tin có kích thước lớn khi gửi và tập hợp chúng khi nhận, quá trình phân nhỏ khi gửi và nhận đảm bảo tính toàn vẹn cho dữ liệu (không bị mất mát, không lặp và đúng thứ tự).

Tầng 5: Tầng giao dịch (Session) Quản lý phiên làm việc giữa các người sử dụng chính là việc mà chúng làm.Tầng mạng này cung cấp cơ chế nhận biết tên và chức năng bảo mật thông tin qua mạng máy tính.

Tầng 6: Tầng trình bày (Presentaition Layer) Đảm bảo các máy tính có kiểu định dạng dữ liệu khác nhau vẫn có thể trao đổi thông tin cho nhau.Thường thì các máy tính sẽ thống nhất với nhau về một kiểu định dạng dữ liệu trung gian để trao đổi thông tin giữa các máy tính. Trong quá trình truyền dữ liệu, tầng trình bày bên máy gửi có nhiệm vụ dịch dữ liệu từ định dạng riêng sang định dạng chung và quá trình ngược lại trên tầng trình bày bên máy nhận.

Tầng 7: Tầng ứng dụng (Application Layer) là tầng cung cấp các ứng dụng truy xuất đến các dịch vụ mạng như Web Browser, Mail User Agent… hoặc các Program cung cấp các dịch vụ mạng như Web Server, FTP Server, Mail Server…

Những ưu điểm của OSI đó là:

·        OSI phân thành nhiều tầng nhỏ và đơn giản hơn.

·        OSI chuẩn hóa các thành phần mạng để phát triển dễ dàng hơn.

·        OSI chuẩn hóa giao diện giữa các tầng.

·        Dữ liệu được truyền nhanh chóng và dễ dàng hơn.

 

2. Mô hình TCP/IP

2.1. Khái niệm

Nếu OSI được hình thành mang tính chất dùng cho học tập nghiên cứu nhiều hơn là triển khai thực tế, thì TCP/IP lại khác hoàn toàn. Chính trên chiếc máy tính chúng ta đang sử dụng hàng ngày cũng dùng các giao thức TCP/IPv4 hoặc TCP/IPv6. Mô hình TCP/IP còn được gọi với cái tên khác đó là mô hình DoD.

TCP/IP viết tắt của Transmission Control Protocol/Internet Protocol – Giao thức điều khiển truyền nhận/ Giao thức liên mạng. Đây là một bộ các giao thức truyền thông được sử dụng để kết nối các thiết bị mạng với nhau trên internet. TCP/IP cũng có thể được sử dụng như một giao thức truyền thông trong mạng máy tính riêng (mạng nội bộ).

Mô hình TCP/IP có sự kết hợp giữa các giao thức riêng biệt. Nhiệm vụ của mỗi giao thức là giúp máy tính có thể kết nối, truyền thông tin qua lại với nhau. TCP là giao thức điều khiển truyền nhận còn Internet Protoco (IP) là giao thức liên mạng. TCP/IP gồm 4 tầng đó là tầng ứng dụng, tầng mạng, tầng giao vận và tầng vật lý.

FTP, HTTP, HTTPS  ba giao thức được dùng nhiều nhất của TCP/IP. FTP là giao thức giúp cho máy tính có thể gửi dữ liệu không giới hạn đến một hay nhiều máy tính khác. HTTP có chức năng truyền dữ liệu không an toàn giữa người dùng web và máy chủ web. HTTPS là giao thức được dùng để truyền dữ liệu an toàn giữa người dùng web và máy chủ web.

TCP/IP chỉ định cách dữ liệu được trao đổi qua internet. Nó thực hiện bằng cách cung cấp thông tin liên lạc đầu cuối. Từ đó xác định cách nó được chia thành các packet, xác định địa chỉ, truyền dẫn, định tuyến và nhận dữ liệu. TCP/IP được thiết kế để đảm bảo độ tin cậy, nó có khả năng khôi phục tự động khi gặp sự cố trong quá trình truyền dữ liệu.

2.2. Sự phát triển và hình thành của mô hình TCP/IP

Mô hình TCP/IP được bắt nguồn từ Bộ giao thức liên mạng trong công trình DARPA từ những năm đầu thập niên kỷ 1970.

Năm 1975, thử nghiệm nối giữa hai mô hình TCP và IP được diễn ra thành công ngoài mong đợi. Thành công nối tiếp, nhiều cuộc thử nghiệm khác đã diễn ra với hiệu quả bất ngờ.

T       rải qua vô số năm nghiên cứu và phát triển của 2 kỹ sư Robert E. Kahn và Vinton Cerf cùng sự hỗ trợ của không ít các nhóm nghiên cứu. Đầu năm 1978, nhóm nghiên cứu đã cho ra đời giao thức TCP/ IP được ổn định hóa với giao thức tiêu chuẩn được dùng hiện nay của Internet đó là mô hình TCP/IP Version 4.

Năm 1982, Bộ quốc phòng Mỹ đã chấp nhận giao thức này và TCP/IP được xem là một tiêu chuẩn cho toàn bộ mạng lưới thông tin của quốc gia này.

2.3. Ưu điểm và nhược điểm của TCP/IP

Ưu điểm

Như đã đề cập ở trên, TCP/IP là một mô hình có tính thực tế cao. Những đặc điểm nổi bật của nó có thể được kể đến như:

·        Thiết lập kết nối giữa các loại máy tính khác nhau.

·        Hoạt động độc lập với hệ điều hành.

·        Hỗ trợ nhiều giao thức định tuyến.

·        Kiến trúc client – server, khả năng mở rộng cao.

·        Có thể hoạt động độc lập.

·        Hỗ trợ nhiều giao thức định tuyến.

·        Nhẹ, không gây nhiều áp lực với máy tính hay mạng.

Nhược điểm

Dẫu vậy, không có mô hình nào là hoàn hảo. TCP/IP cũng có một số điểm hạn chế cần được khắc phục:

·        Việc cài đặt khá phức tạp, khó để quản lý.

·        Tầng transport không đảm bảo việc phân phối các gói tin.

·        Các giao thức trong TCP/IP không dễ để có thể thay thế.

·        Không tách biệt rõ ràng các khái niệm về dịch vụ, giao diện và giao thức. Do đó nó không hiệu quả để mô tả các công nghệ mới trong mạng mới.

·        Dễ bị tấn công SYN  – một kiểu tấn công từ chối dịch vụ.

2.4. Vai trò của TCP/IP

Trong hai giao thức chính của bộ Giao thức internet, mỗi giao thức đảm nhiệm các chức năng cụ thể. TCP xác định cách các ứng dụng có thể tạo ra các kênh truyền dẫn thông qua mạng. Đồng thời, TCP quản lý cách một tin nhắn được chia thành các packet nhỏ hơn trước khi truyền qua internet. Sau đó là cách chúng tập hợp lại theo đúng thứ tự ở nơi nhận.

Đối với IP, giao thức IP đảm bảo các gói được đi đến đúng địa chỉ đích. Mỗi gateway trên mạng sẽ kiểm tra địa chỉ IP này để xác định nơi chuyển tiếp.

2.5. Các giao thức TCP/IP phổ biến

HTTP, HTTPS, FTP được coi là 3 giao thức TCP/IP được sử dụng phổ biến nhất hiện nay.

+ Giao thức HTTP: Mục đích sử dụng HTTP để truyền dữ liệu không an toàn giữa một web client và một web server. Bạn có thể hiểu đơn giản rằng, một web client (trình duyệt Internet trên máy tính) sẽ gửi một yêu cầu đến một web server để xem một trang web. Sau khi tiếp nhận yêu cầu, máy chủ web xử lý và gửi thông tin trang web về cho web client.

+ Giao thức HTTPS: HTTPS là giao thức được sử dụng để truyền thông tin dữ liệu bảo mật bởi 1 web client và 1 web server. Giao thức này được dùng để gửi dữ liệu giao dịch thẻ tín dụng hoặc các dữ liệu cá nhân khác từ một web client tới một web server.

+ FTP: FTP là giao thức trao đổi file dùng giữa hai hoặc nhiều máy tính với qua Internet. Nhờ FTP, dù đang ở xa, người dùng vẫn có thể truy cập vào máy chủ để truyền hoặc nhận dữ liệu

2.6. Cách thức hoạt động của giao thức TCP/IP

Bộ giao thức TCP/IP sử dụng mô hình giao tiếp client – server. Trong đó, người dùng (client) được cung cấp dịch vụ (như gửi trang web) bởi một máy chủ (server) trong mạng.

TCP/IP là sự kết hợp giữa 2 giao thức như tên gọi. Trong đó, IP (Giao thức liên mạng) có nhiệm vụ gửi các gói tin đến đích đã định sẵn. Quy trình hoạt động của IP là thêm các thông tin chỉ đường vào các gói tin để chúng đến được đích quy định.

Và giao thức TCP (Giao thức truyền vận) đóng vai trò kiểm tra và đảm bảo sự an toàn cho mỗi gói tin khi đi qua mỗi trạm. Khi giao thức TCP nhận thấy gói tin bị lỗi trong quá trình truyền vận, một tín hiệu sẽ được phát ra và yêu cầu hệ thống máy chủ gửi lại một gói tin khác. Quá trình hoạt động này sẽ được làm rõ hơn ở chức năng của mỗi tầng trong mô hình TCP/IP trong phần dưới đây.

T       óm lại, mô hình TCP/IP tương đối khác so với mô hình mạng bảy lớp – Mô hình tham chiếu hệ thống mở (Open Systems Interconnection – OSI). Mô hình OSI được ra đời sau, xác định cách các ứng dụng có thể giao tiếp qua mạng.

2.7. Các tầng trong mô hình TCP/IP

Mô hình TCP/IP tiêu chuẩn được chia thành 4 tầng (Layer) chồng lên nhau bao gồm: 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). Mỗi tầng đều có giao thức cụ thể khác nhau.

Tầng 1 – Tầng Vật Lý (Physical)

+ Còn gọi là Link Layer, gồm các giao thức chỉ hoạt động trên một liên kết – thành phần mạng kết nối các nút hoặc máy chủ trong mạng. Tầng này chịu trách nhiệm truyền dữ liệu giữa hai thiết bị trong cùng một mạng.

+ Các giao thức truyền dữ liệu: Ethernet (cho mạng LAN) và ARP.

Tầng 2 – Tầng Mạng (Internet)

+ Trong tầng này sẽ có nhiệm vụ xử lý các network packet và kết nối các mạng độc lập. Từ đó vận chuyển các packet qua network.

+ Giao thức: IP và ICMP (Internet Control Message Protocol) – dùng để báo cáo lỗi.

Tầng 3 – Tầng Giao Vận (Transport)

+ Chịu trách nhiệm duy trì thông tin liên tạc end-to-end trên toàn mạng. TCP xử lý thông tin liên lạc giữa các máy chủ và cung cấp khả năng kiểm soát luồng, ghép kênh và độ tin cậy.

+ Trong tầng này bao gồm 2 giao thức cốt lõi là TCP và UDP. TCP giúp đảm bảo chất lượng gói tin và UDP giúp tốc độ truyền tải nhanh hơn.

Tầng 4 – Tầng Ứng Dụng (Application)

+ Cung cấp cho các ứng dụng những trao đổi dữ liệu chuẩn hóa, 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.

+ Bao gồm các giao thức trao đổi dữ liệu hỗ trợ truyền tập tin: HTTP, FTP, Post Office Protocol 3 (POP3), Simple Mail Transfer Protocol (SMTP) và Simple Network Management Protocol (SNMP).

+ Dữ liệu trong tầng này là dữ liệu ứng dụng thực tế.

2.8. Điểm giống nhau và khác nhau giữa OSI và TCP/IP

Giống nhau: Mô hình OSI và TCP/IP có một số điểm chung như sau:

·        OSI và TCP/IP đều có kiến trúc phân lớp.

·        OSI và TCP/IP đều có lớp Network và lớp Transport.

·        OSI và TCP/IP cùng sử dụng kỹ thuật chuyển Packet.

Khác nhau:

 

Điểm so sánh

TCP/IP

OSI

Phổ biến

Được nhiều người sử dụng.

Ít được sử dụng hơn.

Phương pháp tiếp cận

Chiều ngang.

Chiều dọc.

Cách giao tiếp ở các tầng

Kết hợp để thực hiện nhiệm vụ.

Mỗi tầng 1 nhiệm vụ riêng biệt.

Sự phụ thuộc

Phụ thuộc vào giao thức

Độc lập hoàn toàn

Sự phát triển

Phát triển giao thức trước, xây dựng mô hình sau

Xây dựng mô hình trước và giao thức dựng sau

Để có thể hiểu thêm về sự khác nhau giữa mô hình TCP/IP, bạn có thể tham khảo thêm một vài yếu tố dưới đây nhé:

+ TCP/IP chỉ sử dụng tầng ứng dụng để xác định chức năng của các tầng trên. Trong khi đó, OSI sử dụng đến ba tầng (Application, presentation và session).

+ TCP/IP sử dụng Link Layer để xác định chức năng tầng dưới cùng. Đối với OSI, nó sử dụng hai tầng: Physical và Data Link.

+ OSI sử dụng lớp Network để xác định các tiêu chuẩn và giao thức định tuyến. Chức năng này được quản lý bởi tầng internet của TCP/IP.

+ Mô hình TCP/IP là một tiêu chuẩn oriented protocol. Trong khi đó, OSI là một mô hình chung dựa trên chức năng của mỗi lớp.

+ Cách tiếp cận của TCP/IP là tiếp cận ngang, trong khi của OSI là dọc.

+ Trong bộ TCP/IP, các giao thức được phát triển trước mô hình. Quá trình này ngược lại so với OSI.

+ TCP/IP giúp thiết lập kết nối giữa các loại máy tính với nhau. Mặt khác, OSI giúp chuẩn hóa các router, switch, bo mạch chủ và các phần cứng khác.

Tóm lại, mỗi mô hình đều có cách vận hành cũng như chức năng khác nhau. Tuy nhiên, có thể thấy TCP/IP là một mô hình thực tế hơn khi nó đặt ra các tiêu chuẩn mà internet được tạo ra. Trong khi đó, OSI cung cấp các hướng dẫn về cách giao tiếp phải được thực hiện.

2.9. Ứng dụng của giao thức TCP/IP

Giao thức TCP/IP có thể được sử dụng để cung cấp thông tin đăng nhập từ xa qua mạng, truyền file tương tác, gửi email, phân phối trang web qua mạng và truy cập từ xa vào hệ thống của máy chủ lưu trữ.

Nói cách khác, TCP/IP được sử dụng để biểu thị thông tin thay đổi khi nó truyền qua mạng. Từ lớp vật lý cụ thể đến lớp ứng dụng trừu tượng. TCP/IP trình bày chi tiết các giao thức cơ bản hoặc các phương thức giao tiếp ở mỗi lớp khi thông tin đi qua.

Lời kết

Hy vọng bài viết trên sẽ giúp bạn hiểu hơn về 2 mô hình OSI và TCP/IP, ứng dụng, sự giống và khác nhau, ưu nhược điểm của 2 mô hình này. Xin chân thành cảm ơn.

          Phần 2: Tìm hiểu giao thức TCP và UDP

Như chúng ta đều biết TCP và UDP đều là hai giao thức cốt lõi nằm ở tầng giao vận (Transport) thuộc giao thức TCP/IP có khả năng gửi tin đến các máy chủ khác trong mạng giao thức Internet. Vậy TCP là gì? UDP là gì?

I. Những điều cơ bản về TCP và UDP

TCP

·        Đảm bảo rằng dữ liệu đến đúng như khi được gửi.

·        Kiểm tra lỗi các luồng dữ liệu.

·        Header 20 byte cho phép 40 byte dữ liệu tùy chọn.

·        Chậm hơn UDP.

·        Tốt nhất cho các ứng dụng yêu cầu độ tin cậy.

UDP

·        Không đảm bảo dữ liệu đến.

·        Không cung cấp tính năng kiểm tra lỗi.

·        Header 8 byte chỉ cho phép dữ liệu bắt buộc.

·        Nhanh hơn TCP.

·        Tốt nhất cho các ứng dụng yêu cầu tốc độ.

Cả hai giao thức đều gửi dữ liệu qua internet dưới dạng gói. Trong đó, TCP thiên về kết nối. Sau khi kết nối được thực hiện, dữ liệu sẽ di chuyển theo hai chiều. UDP là một giao thức đơn giản hơn không có kết nối.

TCP mạnh hơn UDP. Nó cung cấp các chức năng sửa lỗi và độ tin cậy cao. UDP nhanh hơn TCP, chủ yếu vì nó không cung cấp khả năng sửa lỗi. Ngoài ra, TCP xử lý kiểm soát luồng, trong khi UDP không có tùy chọn để kiểm soát luồng.

1. Giao thức TCP (Tranmission Control Protocol)

1.1. Khái niệm

TCP là giao thức truyền tải hướng kết nối (connection-oriented), nghĩa là phải thực hiện thiết lập kết nối với đầu xa trước khi thực hiện truyền dữ liệu. Tiến trình thiết lập kết nối ở TCP được gọi là tiến trình bắt tay 3 bước (threeway handshake).

Cung cấp cơ chế báo nhận (Acknowledgement): Khi A gửi dữ liệu cho B, B nhận được thì gửi gói tin cho A xác nhận là đã nhận. Nếu không nhận được tin xác nhận thì A sẽ gửi cho đến khi B báo nhận thì thôi.

Cung cấp cơ chế đánh số thứ tự gói tin (sequencing) cho các đơn vị dữ liệu được truyền, sử dụng để ráp các gói tin chính xác ở điểm nhận và loại bỏ gói tin trùng lặp.

Có các cơ chế điều khiển luồng thích hợp (flow control) để tránh nghẽn xảy ra.

Hỗ trợ cơ chế full-duplex (truyền và nhận dữ liệu cùng một lúc).

Phục hồi dữ liệu bị mất trên đường truyền ( A gửi B mà không thấy xác nhận sẽ gửi lại).

1.2. Cấu trúc gói tin TCP

Do là giao thức tin cậy nên cấu trúc gói tin của TCP rất phức tạp.

 

+ Source port và destination port (đều dài 16 bit): được sử dụng để định danh cho session của giao thức nào đó trên lớp ứng dụng đang được truyền tải trong TCP segment đang xét.

+ Sequence number (32 bit): dùng để đánh số thứ tự gói tin (từ số sequence nó sẽ tính ra được số byte đã được truyền).

+ Acknowledge number (32 bit): dùng để báo đã nhận được gói tin nào và mong nhận được byte mang số thứ tự nào tiếp theo.

+ Header length (4 bit): cho biết toàn bộ header dài bao nhiêu tính theo đơn vị word(1 Word = 4 byte).

+ Các bit reserverd (4 bit): đều được thiết lập bằng 0.

+ Các bit control (9 bit): các bit dùng để điều khiển cờ (flag) ACK, cờ Sequence...

+ Window size (16 bit): số lượng byte được thiết bị sẵn sàng tiếp nhận.

+ Checksum (16 bit): kiểm tra lỗi của toàn bộ TCP segment.

+ Urgent pointer (16 bit): sử dụng trong trường hợp cần ưu tiên dữ liệu.

+ Options (tối đa 32 bit): cho phép thêm vào TCP các tính năng khác

+ Data: dữ liệu của lớp trên

1.3. Cách thức hoạt động

TCP hoạt động theo tiến trình bắt tay 3 bước mà mình đã nói ở trên.

          Giả sử host A muốn truyền dữ liệu cho host B thông qua một kết nối TCP. Trước khi thực hiện truyền, host A cần phải thiết lập kết nối TCP với host B việc này được tiến hành thông qua quá trình bắt tay 3 bước như sau:

+ Bước 1: Host A gửi cho B một gói tin có cờ SYN được bật lên, với số thứ tự được đánh là 100. Segment đầu tiên này không chứa phần dữ liệu nên không có phần data, tuy nhiên số lượng byte dữ liệu vẫn được tính là một byte cho hoạt động gửi cờ SYN.

+ Bước 2: Host B nhận được gói tin thì B gửi lại gói tin có cờ SYN được bật lên, kèm theo đó là cờ ACK để xác nhận.

Giả sử host B thiết lập segment có số thứ tự là 300. Segment trả lời từ Host B này cũng không có dữ liệu nhưng vẫn được tính là 1 byte cho phần data. Khi phản hồi lại host A, host B cũng cần phải chỉ rõ trong trường ACK sequence số thứ tự của byte kế tiếp mà nó muốn nhận từ host A. Do segment SYN do A gửi qua được tính là 1 byte nên B sẽ mong muốn nhận byte tiếp theo là byte thứ 101 từ A , do đó ACK sequence được đánh số là 101. (SEQ=300, ACK=101)

+ Bước 3: Sau khi kết nối đã được thiết lập thì A gửi lại gói tin để đáp ứng nhu cầu của B. Gói tin được đánh số SEQ = 101 để đáp ứng nhu cầu của B. ACK =301 dùng để báo là đã nhận được gói tin có SEQ = 300.

Sau khi 3 bước được hoàn tất , kết nối TCP được thiết lập giữa host A và B, lúc này 2 host đã có thể truyền dữ liệu được với nhau.

2. Giao thức UDP (User Datagram Protocol)

2.1. Khái niệm

Ngược lại với giao thức TCP thì UDP là giao thức truyền tải hướng không kết nối (connectionless). Nó sẽ không thực hiện thao tác xây dựng kết nối trước khi truyền dữ liệu mà thực hiện truyền ngay lập tức khi có dữ liệu cần truyền (kiểu truyền best effort) => truyền tải rất nhanh cho dữ liệu của lớp ứng dụng.

Không đảm bảo tính tin cậy khi truyền dữ liệu và không có cơ chế phục hồi dữ liệu (nó không quan tâm gói tin có đến đích hay không, không biết gói tin có bị mất mát trên đường đi hay không) => dễ bị lỗi.

Không thực hiện các biện pháp đánh số thứ tự cho các đơn vị dữ liệu được truyền…

Nhanh và hiệu quả hơn đối với các dữ liệu có kích thước nhỏ và yêu cầu khắt khe về thời gian.

Bản chất không trạng thái nên UDP hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.

2.2. Cấu trúc gói tin UDP

+ Source port và destination port (đều 16 bit): cho phép định danh một session của một ứng dụng nào đó chạy trên UDP. Có thể coi port chính là địa chỉ của tâng Transport.

+ UDP length (16 bit): cho biết chiều dài của toàn bộ UDP datagram tổng cộng bao nhiêu byte. (16 bit thì sẽ có tổng cộng 2^16 byte = 65536 giá trị (từ 0 -> 65535 byte)).

+ UDP checksum(16 bit): sử dụng thuật toán mã vòng CRC để kiểm lỗi cho toàn bộ UDP datagram và chỉ kiểm tra một cách hạn chế.

+ Data: dữ liệu tầng trên được đóng gói vào UDP datagram đang xét.

2.3. Cách hoạt động của UDP

UDP hoạt động tương tự như TCP nhưng nó không cung cấp kiểm tra lỗi khi truyền gói tin.

Khi một ứng dụng sử dụng UDP, các gói tin chỉ được gửi đến người nhận. Người gửi không đợi để đảm bảo người nhận nhận được gói tin hay không, mà tiếp tục gửi các gói tiếp theo. Nếu người nhận miss mất một vài gói tin UDP thì gói tin đó coi như bị mất vì người gửi sẽ không gửi lại chúng => Các thiết bị có thể giao tiếp nhanh hơn.

II. So sánh UDP và TCP

1. So sánh UDP và TCP

Giống nhau: đều là các giao thức mạng TCP/IP, có chức năng kết nối các máy lại với nhau và có thể gửi dữ liệu cho nhau….

Khác nhau

TCP

UDP

Hướng kết nối

Hướng không kết nối

Độ tin cậy cao

Độ tin cậy thấp

Gửi dữ liệu dạng luồng byte

Gửi đi Datagram

Không cho phép mất gói tin

Cho phép mất gói tin

Đảm bảo việc truyền dữ liệu

Không đảm bảo việc truyền dữ liệu

Có sắp xếp thứ tự các gói tin

Không sắp xếp thứ tự các gói tin

Tốc độ truyền thấp hơn UDP

Tốc độ truyền cao

 

2. Các ứng dụng của TCP

Dưới đây là các ứng dụng của TCP:

+ TCP giúp bạn thiết lập kết nối giữa các loại máy tính khác nhau.

+ Hoạt động độc lập với hệ điều hành.

+ Hỗ trợ nhiều giao thức định tuyến.

+ TCP cho phép kết nối Internet giữa các tổ chức.

+ TCP có thể hoạt động độc lập.

+ TCP có thể được sử dụng để thiết lập kết nối giữa hai máy tính.

3. Các ứng dụng của UDP

Dưới đây là các ứng dụng của UDP:

+ Phương pháp UDP phần lớn được sử dụng bởi các ứng dụng nhạy cảm với thời gian cũng như những máy chủ trả lời các truy vấn nhỏ từ cơ sở khách hàng lớn hơn.

+ UDP tương thích với các chương trình phát gói để gửi trên toàn mạng và gửi đa hướng.

+ UDP cũng được sử dụng trong Domain Name System, Voice over IP và các game trực tuyến.

4. Ưu, nhược điểm của TCP

Ưu điểm

·        Giúp bạn thiết lập kết nối giữa các loại máy tính khác nhau.

·        Hoạt động độc lập với hệ điều hành.

·        Hỗ trợ nhiều giao thức định tuyến.

·        Cho phép kết nối Internet giữa các tổ chức.

·        Mô hình TCP/IP có kiến trúc client-server có khả năng mở rộng cao.

·        Nó có thể hoạt động độc lập.

·        Nó có thể được sử dụng để thiết lập kết nối giữa hai máy tính.

Nhược điểm

·        TCP không bao giờ kết thúc quá trình truyền mà không yêu cầu rõ ràng tất cả dữ liệu đang chuyển động.

·        Bạn không thể sử dụng để truyền phát hoặc truyền đa hướng.

·        TCP không có ranh giới khối, vì vậy bạn cần phải tạo ranh giới riêng cho mình.

·        TCP cung cấp nhiều tính năng mà bạn không muốn. Chúng có thể lãng phí băng thông, thời gian hoặc công sức.

·        Trong trường hợp này, mô hình hóa lớp truyền tải không đảm bảo việc phân phối các gói tin.

·        Thay thế giao thức trong TCP/IP là không dễ dàng.

·        Nó không cung cấp sự tách biệt rõ ràng với các dịch vụ, giao diện và giao thức của nó.

5. Ưu, nhược điểm của UDP

Ưu điểm

·        Nó không bao giờ hạn chế bạn với một mô hình giao tiếp dựa trên kết nối; đó là lý do tại sao độ trễ khởi động trong các ứng dụng phân tán thấp.

·        Người nhận các gói UDP không được quản lý chúng, điều này cũng bao gồm các ranh giới khối.

·        Khả năng truyền phát và truyền đa hướng có sẵn với UDP.

·        Mất dữ liệu có thể xảy ra.

·        Giao dịch nhỏ (DNS lookup).

·        Ứng dụng chuyên sâu về băng thông chấp nhận được hiện tượng mất gói.

Nhược điểm

·        Trong giao thức UDP, một gói có thể không được phân phối hoặc phân phối hai lần. Nó có thể được truyền không theo thứ tự.

·        Các router không bao giờ truyền lại nếu xảy ra xung đột.

·        UDP không có Congestion Control và tính năng kiểm soát luồng, vì vậy việc triển khai là công việc của ứng dụng người dùng.

·        UDP thường xảy ra hiện tượng bị mất gói nghiêm trọng hơn

6. Tốt nhất về độ tin cậy: TCP

TCP

·        Đảm bảo việc cung cấp dữ liệu.

·        Theo dõi các gói dữ liệu.

·        Kiểm tra các gói để tìm lỗi.

·        Kiểm soát lưu lượng.

·        Header 20 byte với một tùy chọn cho dữ liệu bổ sung.

UDP

·        Không đảm bảo việc chuyển dữ liệu.

·        Các gói có thể bị mất.

·        Không có kiểm soát luồng.

·        Header được giới hạn ở 8 byte.

TCP đảm bảo việc phân phối dữ liệu đến người nhận. Nếu bất kỳ dữ liệu nào bị mất, TCP sẽ thực hiện các bước để khôi phục dữ liệu bị mất và gửi lại. Để thực hiện việc này, TCP theo dõi các gói dữ liệu và kiểm tra chúng để tìm lỗi.

UDP không đảm bảo việc cung cấp dữ liệu. Ngoài ra, các gói UDP có thể bị mất khi truyền hoặc bị hỏng.

Cả TCP và UDP đều sử dụng header như một phần của việc đóng gói dữ liệu thông báo và truyền qua các kết nối mạng. Bởi vì TCP là giao thức mạnh mẽ hơn, nên header của nó cũng lớn hơn (20 byte) với tùy chọn cho dữ liệu bổ sung, trong khi header UDP bị giới hạn ở kích thước 8 byte.

7. Tốt nhất cho tốc độ: UDP

TCP: Chậm vì nó thực hiện nhiều chức năng.

UDP: Nhanh chóng vì nó cung cấp các chức năng hạn chế.

Mặc dù TCP rất đáng tin cậy, nhưng nó chậm hơn UDP, chủ yếu là do TCP thực hiện nhiều chức năng hơn. Những người dùng cuối yêu cầu tốc độ nhanh nhất có thể, chẳng hạn như game thủ và những người làm việc với video, sẽ được hưởng lợi từ UDP.

8. Tùy chọn tốt nhất để sử dụng: Phụ thuộc vào nhu cầu

TCP: Tốt nhất cho web, truyền file, email và Secure Shell (SSH).

UDP: Tốt nhất cho VPN, phát video trực tuyến, VoIP, phát sóng trực tiếp và chơi game trực tuyến.

Bởi vì TCP rất đáng tin cậy, nên nó phù hợp sử dụng trong các tình huống yêu cầu độ tin cậy cao nhưng không yêu cầu tốc độ, chẳng hạn như web, email và FTP.

Tốc độ của UDP làm cho nó phù hợp nhất để chơi game trực tuyến, phát sóng trực tiếp, tạo VPN tunnel và phát video trực tuyến.

Phần 3: Địa chỉ MAC

1. Khái niệm, ví dụ về địa chỉ MAC

Địa chỉ MAC, tên đầy đủ là Media Access Control Address. Đây là một số nhận dạng duy nhất được gán cho network interface controller (NIC), là một thành phần con của thiết bị lớn hơn. NIC là nơi để bạn thực hiện kết nối vật lý với mạng bằng cách cắm cáp Ethernet hoặc kết nối với tín hiệu WiFi. Các số này được dùng làm địa chỉ mạng để giao tiếp trong một phân đoạn mạng.

Địa chỉ MAC là một số thập lục phân (dãy số từ 0-9, A-F), gồm 6 octets, mỗi octets bằng 8 bits, được biểu diễn bằng 6 cặp chữ số hoặc ký tự khác nhau và được ngăn cách bằng dấu hai chấm hoặc dấu gạch nối.

Ví dụ: Địa chỉ MAC của 2c549188c9e3 thường được hiển thị dưới dạng 2C: 54: 91: 88: C9: E3 hoặc 2c-54-91-88-c9-e3.

Các nút mạng có nhiều giao diện mạng, như Router và Switch đa lớp Layer phải có một địa chỉ MAC duy nhất cho mỗi NIC trong cùng một mạng. Tuy nhiên, hai NIC được kết nối với hai mạng khác nhau có thể chia sẻ cùng một địa chỉ MAC.

2. Phân loại địa chỉ MAC

Có ba loại địa chỉ MAC, đó là: Địa chỉ MAC Unicast, Địa chỉ MAC Multicast, Địa chỉ MAC Broadcast

2.1. Địa chỉ MAC Unicast:

Địa chỉ MAC Unicast đại diện cho NIC cụ thể trên mạng. Khung địa chỉ MAC Unicast chỉ được gửi đến giao diện được gán cho một NIC cụ thể. Do đó được truyền tới thiết bị đích duy nhất. Nếu LSB (bit ít quan trọng nhất) của octet đầu tiên của một địa chỉ được đặt thành 0, thì khung dữ liệu chỉ được truyền đến được một NIC đích. 

2.2. Địa chỉ MAC Multicast:

Địa chỉ Multicast cho phép thiết bị nguồn truyền khung dữ liệu đến nhiều thiết bị hoặc NIC. Trong địa chỉ Multicast Layer-2 (Ethernet), LSB (bit ít quan trọng nhất) hoặc 3 byte đầu tiên của octet đầu tiên của một địa chỉ sẽ được đặt thành 1 và lưu trữ cho các địa chỉ multicast. 24 bit còn lại được sử dụng bởi thiết bị muốn gửi dữ liệu trong một nhóm. IEEE sẽ cấp các địa chỉ 01-80-C2-xx-xx-xx (01-80-C2-00-00-00 đến 01-80-C2-FF-FF-FF) cho các địa chỉ nhóm để kết nối với nhau.

2.3. Địa chỉ MAC Broadcast 

Địa chỉ MAC Broadcast đại diện cho tất cả các thiết bị trong một Network. Trong địa chỉ MAC broadcast. Các khung Ethernet có tất cả các bit của địa chỉ đích (FF-FF-FF-FF-FF-FF) được gọi là địa chỉ broadcast. Tất cả các bit này là địa chỉ dành riêng cho broadcast. Các khung có địa chỉ MAC FF-FF-FF-FF-FF-FF sẽ đến được với mọi máy tính thuộc phân đoạn mạng LAN đó. Nếu thiết bị nguồn muốn gửi dữ liệu đến tất cả các thiết bị trong mạng, thiết bị đó có thể sử dụng địa chỉ broadcast làm địa chỉ MAC đích.

3. Định dạng địa chỉ MAC

Địa chỉ MAC là một dãy số hexadecimal (hệ thập lục phân) 12 ký tự có thể là chữ, chữ số hoặc một ký tự đặc biệt nào đó. Trong đó 6 ký tự đầu tiên là những ký tự địa chỉ MAC định danh nhà sản xuất thiết bị đó, gọi là OUI (Organizational Unique Identifier), 6 ký tự bên phải đại diện cho card mạng, được gán bởi nhà sản xuất.

Ví dụ về các ký tự định danh nhà sản xuất thiết bị mạng:

·        CC:46:D6 - Cisco

·        3C:5A:B4 - Google Inc.

·        3C:D9:2B - Hewlett Packard

·        00:9A:CD - HUAWEI TECHNOLOGIES CO.,LTD

4. Ưu nhược điểm khi sử dụng địa chỉ MAC

Lợi ích khi sử dụng địa chỉ MAC

MAC được sử dụng như tính năng lọc trong các router wifi. Bạn có thể yêu cầu router từ chối truy cập đến những địa chỉ MAC hoặc chỉ cho phép một số địa chỉ MAC nhất định kết nối. Điều này giúp bạn hạn chế được nguy cơ xâm nhập trái phép từ những thiết bị lạ, tránh đánh mất thông tin khi cùng kết nối cùng một đường truyền mạng.

Nhược điểm của địa chỉ MAC

Địa chỉ MAC có nhược điểm lớn nhất là rất dễ dàng thay đổi địa chỉ MAC của thiết bị. Bất kỳ ai cũng có thể “giả mạo” địa chỉ MAC của một người khác. Nó cũng làm cho các tính năng như bộ lọc MAC gần như vô dụng.

5. Địa chỉ MAC khác với địa chỉ IP như thế nào?

Địa chỉ IP (Internet Protocol) được hiểu như một giao thức Internet cho phép các thiết bị kết nối mạng chia sẻ hoặc truyền dữ liệu với nhau. Nói cách khác, địa chỉ IP sử dụng giao thức internet để kết nối, nhận diện và liên lạc với nhau trên mạng máy tính.

Cả địa chỉ MAC và địa chỉ IP đều được sử dụng để xác định thiết bị của bạn trên mạng. Tuy nhiên chúng được sử dụng cho các mục đích khác nhau.

Địa chỉ MAC giống như dãy số nhận dạng xe, là dãy số nhận diện duy nhất cho mỗi chiếc xe. Địa chỉ IP giống như biển số xe vì nó có thể được gán lại hoặc chuyển cho các phương tiện khác nhau.

Ví dụ: Trong khi máy tính của bạn với địa chỉ MAC X có thể có IP là 1.2.3.4 ngày hôm nay, tuy nhiên nếu bạn xóa máy tính của mình khỏi mạng thì địa chỉ IP đó có thể được sử dụng bởi một máy tính khác với địa chỉ MAC Y.

Địa chỉ MAC được sử dụng để định tuyến dữ liệu trong cùng một mạng cục bộ. Bạn cần có địa chỉ IP nếu muốn dữ liệu của mình truyền sang các mạng khác, chẳng hạn như Internet.

6. Clone địa chỉ MAC

Clone địa chỉ MAC thực hiện khi xảy ra tình huống sau:

ISP sử dụng địa chỉ MAC để gắn địa chỉ IP của router tới thiết bị kết nối. Khi thiết bị kết nối tới ISP, DHCP server sẽ ghi lại địa chỉ MAC và sau đó gắn địa chỉ IP cho thiết bị này. Lúc này hệ thống sẽ xác định thiết bị bằng địa chỉ MAC. Khi thiết bị bị ngắt kết nối, nó sẽ bị mất địa chỉ IP. Nếu người dùng muốn kết nối lại và sử dụng địa chỉ IP cũ, DHCP server sẽ kiểm tra xem liệu thiết bị này có được kết nối trước đó không.

 được sẽ cho phép kết nối, nếu không thì người dùng sẽ clone địa chỉ MAC. Người dùng chỉ cần thay đổi thành địa chỉ MAC đã đăng ký với ISP lần trước. Bây giờ bộ định tuyến tiếp tục báo cáo cho ISP về địa chỉ MAC cũ, và sẽ không có vấn đề gì xảy ra trong quá trình kết nối.

7. Địa chỉ MAC có thể thay đổi được không?

Địa chỉ MAC là một dãy số cố định được nhà sản xuất quy định cho mỗi thiết bị vì vậy không thể thay đổi được. Tuy nhiên, địa chỉ MAC có thể được thay đổi ảo khi hiển thị trên hệ thống mạng. Có nhiều thiết bị mạng có thể thay đổi được địa chỉ MAC như router, máy tính.

+ Cách thay đổi địa chỉ MAC trên Router: Nếu router có tính năng nhân bản MAC. Bạn có thể thực hiện được vì hầu hết các router đều có tính năng này. Các thay đổi như sau: đăng nhập vào giao diện web của router, đến thiết lập WAN và nhập địa chỉ MAC mới. Nhập bất kì chỉ cần đúng định dạng

+ Cách thay đổi địa chỉ MAC trên máy tính: dùng Start và gõ ncpa.cpl => Enter, cửa sổ network xuất hiện. click chuột phải vào Adapter muốn đổi MAC => Properties, cửa sổ mới xuất hiện. Nhấn Configure => Advanced => Network Address/locally Administered Address. Thay đổi Value thành địa chỉ MAC khác đúng định dạng và chọn ok. Restart máy tính, địa chỉ MAC mới sẽ được áp dụng.

Có thể thấy địa chỉ MAC đóng một vai trò quan trọng trong quá trình duyệt web từ khi người dùng gõ Domain name System vào trình duyệt hay tìm kiếm thông tin cụ thể từ các thiết bị đầu vào như máy tính, điện thoại cho đến khi xuất hiện các thông tin kết quả mong muốn. Quá trình nảy tuy diễn ra trong 1 vài dây nhưng có rất nhiều các bộ phận khác nhau cùng thực hiện và MAC đóng 1 phần quan trọng giúp dữ liệu trả về đúng thiết bị ban đầu đưa ra yêu cầu.

Phần 4: Hành trình của một gói tin trên Internet

Một gói tin được truyền đi giữa các máy tính trong mạng LAN/WAN hay giữa Client-Server trên mạng Internet là nhờ vào bộ giao thức TCP/IP.

1. Tại Máy tính         

Lớp Application

Lớp Application là lớp gần nhất và tương tác với người dùng, cung cấp các giao thức sử dụng để gửi dữ liệu. Ở đây, lớp Application cung cấp dịch vụ, giao thức mà người dùng sử dụng để tương tác, chứng thực và sử dụng giao thức phù hợp với mục đích người dùng. Dữ liệu tại đây sẽ được đóng gói, định dạng theo giao thức sử dụng và mã hoá nếu yêu cầu.

Ví dụ:

Khi nhập địa chỉ một trang web vào trình duyệt, thì một request HTTP GET sẽ được tạo ra, dựa trên những thông tin mà người dùng nhập.

Khi gửi email thì dữ liệu sẽ được đóng gói với các thông tin như người nhận, email người nhận, nội dung mail...

Lớp Transport

Tại lớp Transport, dữ liệu sẽ được phân đoạn, các phần phân đoạn được đóng gói với một header, header được thêm vào để xác định thông tin như port nguồn, port đích, thông tin kiểm lỗi,  đánh dấu thứ tự... tất cả để máy đích khi nhận được sẽ ghép lại thành một khối dữ liệu hoàn chỉnh. Các phần phân đoạn này được gọi là segment nếu dùng TCP hoặc diagram nếu dùng UDP.

Vì có rất nhiều ứng dụng chạy trên host, nên để chuyển chính xác dữ liệu cho các ứng dụng thì đây là nhiệm vụ của port trong header của lớp này. Mọi ứng dụng muốn truy cập mạng đều phải thông qua port, port của từng ứng dụng phải mang giá trị độc nhất trên host đó. Ví dụ một số port thông dụng:

·        HTTP: 80

·        HTTPS: 443

·        FTP: 21

·        DNS: 53

·        SMTP:  25

Tùy theo ứng dụng khác nhau, yêu cầu độ tin cậy khác nhau, lớp Transport sử dụng giao thức TCP hay UDP cho phù hợp:

+ TCP: là giao thức tin cậy, đảm bảo cho tất vả dữ liệu đều được chuyển tới đích đúng và đủ. Dùng cho các tác vụ yêu cầu sự chính xác và đảm bảo dữ liệu.

+ UDP: là giao thức đơn giản, không cung cấp bất kỳ sự tin cậy nào. Dùng cho các việc cần độ trễ thấp như streaming, game...

Lớp Network

Tại đây, các segment sẽ được gắn thêm một header gọi là IP Header, bao gồm hai thông tin chính là địa chỉ Source IP và Destination IP. Các gói tin bây giờ được gọi là packet. Source IP là địa chỉ IP của máy gửi, địa chỉ này có thể được đặt bởi người dùng hay được cấp phát động qua giao thức DHCP. Destination IP là địa chỉ IP của máy đích, địa chỉ là có thể được cài đặt trực tiếp hoặc xác định bởi DNS.

DNS là hệ thống phân giải tên miền, khi máy tính truy cập vào một ứng dụng mạng thông qua tên miền thì DNS sẽ truy vấn tên miền đó và trả về địa chỉ IP của máy chủ đó và đồng thời máy tính sẽ lưu lại thông tin máy chủ này, thông tin được lưu lại gọi là DNS Cache. Để truy vấn nhanh hơn thì đầu tiên máy tính sẽ truy vấn trong DNS Cache, nếu không tìm thấy IP tương ứng với tên miền thì một DNS Request sẽ được gửi tới DNS Server để phản hồi thông tin cần thiết sử dụng và thông tin này sẽ lại được đưa xuống DNS Cache.

Trong Windows, có thể xem thông tin DNS Cache bằng lệnh ipconfig /displaydns

DHCP là giao thức khi một máy tính được kết nối vào một mạng mà địa chỉ IP của nó chưa được đặt, DHCP server (là router ở các mô hình mạng nhỏ, đối với các mạng lớn hơn sẽ có một máy chủ chuyên dụng để cấp IP) sẽ lấy một địa chỉ IP sẵn có dùng để cấp phát cho DHCP client (máy tính cần cấp phát địa chỉ IP).

Cả DNS và DHCP đều hoạt động ở lớp Application.

Lớp Data Link

Để một gói tin có thể gửi tới đích cần thêm một loại địa chỉ nữa đó là địa chỉ MAC hay địa chỉ vật lý. Địa chỉ này là độc nhất cho mọi thiết bị. Tầng này sẽ ghép frame header và frame trailer lần lượt vào đầu và cuối packet. Các packet bây giờ được gọi là frame. Phần header chứa Source MAC và Destination MAC và vài thông tin điều khiển. Phần trailer chứa thông tin dùng để kiểm lỗi bit (ví dụ như CRC).

Source MAC chính là địa chỉ MAC của máy gửi, có thể kiểm tra địa chỉ MAC của máy tính bằng câu lệnh getmac trong Command Prompt.

Để xác định địa chỉ Destination MAC dựa vào Destination IP, máy tính sẽ từ động tìm kiếm trong ARP cache. Xem thông tin ARP cache bằng cách sử dụng câu lệnh arp –a trong Command Prompt.

Nếu không tìm thấy Destination MAC tương ứng với Destination IP, máy tính sẽ sử dụng giao thức ARP. Một gói tin gọi là ARP Request đính kèm Destination IP sẽ được gửi Broadcast tới tất cả các máy trong mạng chứa máy nguồn, một số trường hợp xảy ra như sau:

+ Nếu Destination IP là địa chỉ IP cục bộ của mạng đó, máy tính mang địa chỉ IP này sẽ trả lời với địa chỉ MAC của nó về cho máy gửi ARP Request. Vậy Destination MAC ở đây chính là địa chỉ MAC của máy tính cùng mạng với máy gửi.

+ Nếu Destination IP là địa chỉ IP của mạng khác, Router chứa mạng này sẽ phát hiện ra điều đó và trả lời với địa chỉ MAC của router nên Destination MAC ở đây sẽ là địa chỉ MAC của router.

+ Nếu Destination IP là địa chỉ IP của mạng khác và địa chỉ Default gateway cũng như Subnet mask đã được đặt, máy tính sẽ sử dụng thông tin này để xác định được Gateway và gửi gói tin đến đây. Destination MAC ở đây sẽ là địa chỉ của Gateway, thường sẽ là một router.

Destination MAC sau khi được xác định sẽ lưu lại vào ARP Cache cho lần sử dụng tiếp theo.

Lớp Physical

Sau khi xác định đầy đủ địa chỉ Source MAC và Destination MAC, các frame sẽ được đưa xuống lớp Physical, được mã hóa và chuyển đổi thành các xung điện để đưa lên đường truyền.

2. Khi ra khỏi máy tính

Tại switch

Các máy tính trong cùng một mạng thường sẽ được tập hợp lại thông qua switch. Điểm đến tiếp theo của frame sẽ là một port switch. Tại đây, frame được đặt trong một hàng đợi, mỗi frame có mức ưu tiên khác nhau và switch dựa vào điều này để xử lý các frame quan trọng trước.

Switch sẽ mở gói tin ra và đọc địa chỉ Source MAC, lưu vào MAC Address table, lưu số port và địa chỉ MAC kết nối trực tiếp với port này, tiếp theo đọc Destination MAC của gói tin so sánh với bảng MAC Address table của switch và có những hành động tương ứng:

+ Nếu Destination MAC là địa chỉ tồn tại trong MAC Address table, switch sẽ gửi gói tin qua port tương ứng.

+ Nếu Destination MAC là địa chỉ không tồn tại trong MAC Address table hoặc là địa chỉ broadcast, switch sẽ gửi gói tin ra tất cả các port trừ cổng nhận vào.

+ Nếu Destination MAC trùng với Source MAC, frame sẽ bị drop – không gửi ra bất kỳ port nào.

Như vậy, nếu máy nhận nằm trong cùng một mạng với máy gửi, thì chỉ cần thông qua switch, frame đã có thể được chuyển tới đích. Trường hợp máy nhận nằm khác mạng với máy gửi. Frame sẽ được chuyển tiếp tới router để xử lý.

Tại Router

Router sẽ gỡ bỏ header của lớp Data Link (bao gồm Source MAC và Destination MAC) và đọc thông tin lớp Network (Bao gồm Source IP và Destination IP).

Router sử dụng Destination IP, so sánh với Routing table. Routing table chứa danh sách các đường đi được sử dụng để chuyển gói tin và interface đầu ra tương ứng. Các đường đi này có thể được gán tĩnh bởi người quản trị mạng, hoặc có thể được thêm vào qua các giao thức định tuyến như OSPF, EIGRP, RIP, IS-IS... Các giao thức này nhằm tìm ra đường đi ngắn nhất đến mạng đích và lưu vào Routing table.

+ Nếu không tìm được đường đi nào tương ứng với địa chỉ mạng của Destination IP hoặc trường TTL (time to live) trong IP Header (sẽ giảm dần qua mỗi lần chuyển, tránh trường hợp gói tin bị loop vô tận) bằng 0, gói tin sẽ bị drop và router gửi thông báo “Destination host unreachable” ngược lại cho máy gửi.

+ Nếu tìm được đường đi tương ứng với địa chỉ mạng của Destination IP, router thêm lại header chứa Source MAC – chính là địa chỉ MAC của interface tương ứng với đường đi tìm được và Destination MAC – là địa chỉ của MAC của interface router tiếp theo. Như vậy, trong suốt quá trình gửi đi, Source IP và Destination IP luôn được giữ nguyên (trừ trường hợp sử dụng NAT, VPN) còn Source MAC và Destination MAC sẽ thay đổi mỗi khi qua router.

Quá trình trên sẽ được lặp lại cho đến khi router phát hiện ra Destination IP nằm chung mạng với một Interface của router. Khi đó router cũng sẽ sử dụng giao thức ARP để xác định địa chỉ MAC của máy đích và dùng nó để làm Destination MAC và gửi gói tin đến máy đích.

 `          Trên đây là tất tần tật về giao thức TCP/IP; giao thức truyền tải TCP, UDP; địa chỉ vật lý (MAC) và hành trình của một gói tin truyền tải trên Internet. 

Share:

Related Posts:

0 comments:

Đăng nhận xét

Bài Đăng Nổi Bật

Cá độ bóng đá - buôn com bào cỏ

  Tổng hợp và phân tích các hành vi gian lận trên thị trường iGaming (cờ bạc trực tuyến, cờ bạc trên internet). Các hành vi này ngày càng tr...

Tổng Số Lượt Xem Trang

28

Bài Đăng Phổ Biến