1. Trang chủ
  2. » Giáo án - Bài giảng

Nghiên cứu xây dựng hệ điều khiển và giám sát các hồ điều hòa thành phố hải phòng qua mạng internet

75 197 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 2,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Người sử dụng ở bất cứ nơi nào có mạng internet đều có thể giám sát các hoạt động của thiết bị, các thông số cần thiết cho hệ thống và điều khiển được hoạt động các thiết bị khi thiết b

Trang 1

i

LỜI CAM ĐOAN

Em xin cam đoan đề tài tốt nghiệp “Nghiên cứu xây dựng hệ điều khiển và

giám sát các hồ điều hòa thành phố Hải Phòng qua mạng internet” là do em tự

nghiên cứu và xây dựng dưới sự hướng dẫn của thầy giáo TS Đinh Anh Tuấn

Các số liệu và kết quả trong đề tài là hoàn toàn trung thực

Để hoàn thành bản đồ án tốt nghiệp này, em chỉ sử dụng những tài liệu tham khảo đã được ghi trong bảng các tài liệu tham khảo, không sử dụng tài liệu tham

khảo nào khác mà không được liệt kê ở phần tài liệu tham khảo

Hải Phòng, ngày 10 tháng 9 năm 2015

Học viên

Nguyễn Quang Thư

Trang 2

ii

LỜI CẢM ƠN

Em xin được gửi lời cảm ơn chân thành đến quý Thầy cô trong khoa Điện và các Thầy cô trong viện đào tạo sau đại học Trường Đại học Hàng Hải Việt Nam đã giảng dạy và truyền đạt kiến thức chuyên ngành cho em trong thời gian vừa qua Đặc biệt em xin gửi lời cảm ơn sâu sắc tới Thầy Đinh Anh Tuấn vì sự tận tình hướng dẫn cũng như đã tạo những điều kiện thuận lợi nhất cho em để em có thể thực hiện và hoàn thành tốt đề tài này

Em cảm ơn các bạn trong lớp đã trao đổi, góp ý để em hoàn thành đề tài này một cách tốt đẹp và đúng thời hạn

Mặc dù đã có nhiều cố gắng và nỗ lực thực hiện, nhưng do kiến thức cũng như khả năng bản thân còn nhiều hạn chế nên trong quá trình thực hiện đề tài không thể tránh khỏi những sai phạm, thiếu sót…Rất mong nhận được sự góp ý, chỉ dẫn từ nơi quý Thầy cô và các bạn i

Em xin chân thành cảm ơn !

Hải Phòng, ngày 10 tháng 9 năm 2015

Học viên

Nguyễn Quang Thư

Trang 3

iii

MỤC LỤC

Trang

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU vi

DANH MỤC CÁC BẢNG vii

DANH MỤC CÁC HÌNH viii

I PHẦN MỞ ĐẦU 1

1 Lựa chọn đề tài 1

2 Mục đích nghiên cứu 1

3 Đối tượng và phạm vi nghiên cứu 1

4 Phương pháp nghiên cứu 2

5 Ý nghĩa khoa học và thực tiễn của đề tài 2

II PHẦN NỘI DUNG 3

CHƯƠNG1:TỔNGQUANVỀETHERNETVÀGIAOTHỨCTCP/IP 4

1.1 Tổng quan về Ethernet 4

1.1.1 Cấu trúc khung tin Ethernet 4

1.1.2 Cấu trúc địa chỉ Ethernet 5

1.1.3 Đặc tính điện 5

1.1.4 Các loại khung Ethernet 6

1.1.5 Một số loại mạng Ethernet 7

1.1.6 Chuẩn IEEE 802 7

1.2 Giao thức TCP/IP 7

1.2.1 Tổng quan về bộ giao thức TCP/IP 7

1.2.2 Kiến trúc phân tầng của TCP/IP 8

1.2.3 Quá trình gửi nhận dữ liệu giữa hai máy tính 8

1.2.4 Sơ lược chức năng các tầng 9

1.2.5 Đóng gói dữ liệu trong TCP/IP 10

1.2.6 Các giao thức và khuôn dạng dữ liệu tương ứng 11

Trang 4

iv

Kết luận chương 1: 30

CHƯƠNG2.TỔNGQUANVỀVIĐIỀUKHIỂNATMEGA32VÀWEB SERVER 31

2.1 Vi điều khiển ATMEGA32 31

2.1.1 Các tính năng 31

2.1.2 Cấu trúc và thanh nghi 32

2.2 Module Ethernet ENC28J60 và chuẩn giao tiếp SPI 38

2.2.1 Vi Mạch Ethernet ENC28j60 38

2.2.2 Sơ đồ chân và sơ đồ khối của ENC28j60 38

2.2.3 Sơ đồ ghép nối vi điều khiển với ENC28j60 40

2.2.4 Sơ đồ nguyên lý Module Ethernet 40

2.2.5 Mạch module Ethernet 41

2.3 Web động 41

2.4 Web server 42

Kết luận chương 2: 43

CHƯƠNG3:ỨNGDỤNGXÂYDỰNGHỆĐIỀUKHIỂNGIÁMSÁTCÁCHỒ NƯỚCTHÀNHPHỐHẢIPHÒNGSỬDỤNGMẠNGTRUYỀNDẪN INTERNET 44

3.1 Sơ đồ mạch hệ điều khiển giám sát 44

3.1.1 Khối mạch nguồn 47

3.1.2 Khối kết nối ENC28J60 47

3.1.3 Khối ghép nối đầu vào 48

3.1.4 Khối ghép nối đầu ra 48

3.1.5 Khối mạch vi điều khiển ATMEGA32 49

3.1.6 Sơ đồ mạch in 49

3.1.7 Mạch thực tế 51

3.2 Thiết kế phần mềm 52

3.2.1 Lưu đồ dữ liệu vào ra dữ liệu của giao thức 52

3.2.2 Lưu đồ giải thuật chính 55

Trang 5

v

3.2.3 Lưu đồ xử lí giao thức Ethernet 56

3.2.4 Lưu đồ xử lí giao thức IP 57

3.2.5 Lưu đồ xử lí giao thức ARP 58

5.2.6 Lưu đồ xử lí giao thức ICMP 59

3.2.7 Lưu đồ xử lí tạo kết nối TCP tới Webserver 60

3.3 Sản phẩm của đề tài 61

3.3.1 Bo mạch điện tử 61

3.3.2 Giao diện Web điều khiển 61

3.4 Đánh giá kết quả thực hiện đề tài 64

III PHẦN KẾT LUẬN 65

Kết luận 65

Kiến nghị 65

TÀILIỆUTHAMKHẢO 66

PHỤLỤC 667

Trang 6

vi

DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU

Chữ viết tắt Giải thích

SPI Serial Peripheral Interface

TCP Transmission Control Protocol

ARP Address Resolution Protocol

ICMP Internet Control Message Protocol

FTP File Transfer Protocol

HTTP Hypertext Transfer Protocol

DHCP Dynamic Host Configuration Protocol

D HTML Dynamic HyperText Markup Language

CSMA/CD Carrier Sense Multiple Access / Collision Detect TCP/IP Transmission Control Protocol / Internet Protocol OSI Open Systems Interconnection Reference Model

SFD Start Frame Delimiter

ADC Analog to Digital Converter

Trang 8

viii

DANH MỤC CÁC HÌNH

Hình 1.5 Thực hiện đóng/mở gói dữ liệu trong giao thức TCP/IP 10

Hình 1.16 Cơ chế điều khiển luồng sử dụng Sliding window 24

Trang 9

ix

Hình 3.1 Sơ đồ tổng quan hệ điều khiển và giám sát hồ điều hòa 44

Trang 10

Vì mục tiêu công nghệ hiện đại hoá ngày càng phát triển, tác giả đã quyết định

nghiên cứu đề tài về điều khiển và giám sát thiết bị qua mạng truyền dẫn

internet Khi đề tài hoàn thành sẽ cho phép có thể điều khiểu và giám sát các thiết

bị thông qua mạng truyền dẫn internet, tương tác thông qua các thiết bị smart phone, máy tính bảng hay máy vi tính; để kiểm soát các trạng thái và thông số của thiết bị cũng như các thông số của môi trường xung quanh thiết bị như: nhiệt độ,

độ ẩm, mức nước, lưu lượng Người sử dụng ở bất cứ nơi nào có mạng internet đều có thể giám sát các hoạt động của thiết bị, các thông số cần thiết cho hệ thống

và điều khiển được hoạt động các thiết bị khi thiết bị đã kết nối với module điều khiển Ethernet này

Vấn đề được đặt ra như trên đây, hướng nghiên cứu đề tài của tác giả là nghiên cứu, xây dựng mạch điều khiển và giám sát thiết bị qua mạng truyền dẫn

internet Với hướng nghiên cứu đó, tên đề tài được chọn là: “Nghiên cứu xây

dựng hệ điều khiển và giám sát các hồ điều hòa thành phố Hải Phòng qua mạng internet”

2 Mục đích nghiên cứu

- Thực hiện giao tiếp mạng giữa phần cứng mạch điện tử với mạng Ethernet

- Điều khiển các thiết bị điện phục vụ cho hồ chứa điều hòa thành phố Hải Phòng

- Giám sát hoạt động của các máy bơm và mực nước các hồ chứa điều hòa thành phố Hải Phòng

3 Đối tượng và phạm vi nghiên cứu

* Đối tượng nghiên cứu

- Tìm hiểu vi điều khiển ATMEGA32

Trang 11

2

- Lý thuyết mạng Ethernet và cách thức truyền nhận dữ liệu

- Nghiên cứ chuẩn giao tiếp SPI và ứng dụng thực tế trên module Ethernet ENC28J60

* Phạm vi nghiên cứu

- Tìm hiểu ngôn ngữ html trong lập trình giao diện web server nhúng vào vi điều khiển

- Tìm hiểu về giao thức TCP/IP

- Tính toán, thiết kế và thi công phần cứng mạch điện tử

- Xây dựng thuật toán và viết code cho ứng dụng dựa theo mục tiêu đã đề ra

4 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lý thuyết: Tìm hiểu tổng quan về mạng Ethernet, giao thức TCP/IP, vi điều khiển ATMEGA32 và cách thức thiết kế web server nhúng vào vi điều khiển, xây dựng thuật toán và viết code cho vi điều khiển ATMEGA32

- Phương pháp thực nghiệm: Sử dụng phần mềm AVR Studio và WinAVR để viết chương trình và biên dịch chương trình, xây dựng mạch điều khiển và viết code HTML nhúng vào vi điều khiển

5 Ý nghĩa khoa học và thực tiễn của đề tài

* Ý nghĩa khoa học: Đề tài là tài liệu tham khảo hữu ích cho những ai quan tâm đến lĩnh vực điều khiển và giám sát thiết bị sử dụng mạng truyền dẫn internet

* Ý nghĩa thực tiễn: Kết quả nghiên cứu của đề tài sẽ góp phần giải quyết vấn đề điều khiển và giám sát các hồ điều hòa thành phố Hải Phòng qua mạng truyền dẫn internet và có thể áp dụng cho các thành phố khác tại Việt Nam

Trang 12

3

II PHẦN NỘI DUNG

Để giải quyết và làm rõ các vấn đề nghiên cứu, nội dung đề tài gồm 3 chương như sau:

- Chương 1 Tổng quan về Ethernet và bộ giao thức TCP/IP: trình bày về lý

thuyết Ethernet gồm các vấn đề về cấu trúc khung tin Ethernet, phương pháp truy nhập bus (CSMA/CD), các loại mạng Ethernet, chuẩn Ethernet IEEE 802.3, kiến thức về bộ giao thức TCP/IP bao gồm 4 tầng: tầng ứng dụng (Application Layer), tầng giao vận (Transport Layer), tầng liên mạng (Internet Layer), tầng giao tiếp mạng (Network Interface Layer) Trình bày các kiến thức

về gói tin IP, TCP, UDP

- Chương 2 Tổng quan về vi điều khiển Atmega32 và web server: trình bày các

kiến thức về vi điều khiển ATMEGA32, module Ethernet, giới thiệu về các nội dung liên quan đến việc thiết kế web giao diện web server như là HTML

- Chương 3 Ứng dụng xây dựng hệ điều khiển giám sát các hồ nước thành phố Hải Phòng sử dụng mạng truyền dẫn internet: Trình bày về xây dựng

modul mạch điện tử bao gồm sơ đồ cấu trúc mạch điện tử, các lưu đồ thuật toán cho bộ giao thức TCP/IP, lưu đồ thuật toán chính, sơ đồ nguyên lý của mạch, sơ

đồ mạch in, viết code chương trình điều khiển và web server nhúng vào chíp vi

điều khiển ATMEGA32

Trang 13

4

CHƯƠNG 1: TỔNG QUAN VỀ ETHERNET VÀ GIAO THỨC TCP/IP

Vấn đề giám sát và điều khiển từ xa hệ thống các trạm bơm nước và hồ điều hòa nói chung và ở thành phố Hải Phòng nói riêng đang là yêu cầu cần thiết Vấn

đề này đã được nghiên cứu ở nhiều nơi trên thế giới và đã cho ra đời những sản phẩm ứng dụng, tuy nhiên việc áp dụng hệ thống đó đòi hỏi chi phí cao và phức tạp như: phải lắp đặt mới một hệ thống cáp quang, lắp đặt hệ thống thu phát không dây bán kính rộng hoặc sử dụng dịch vụ GMS với thuê bao tương đối đắt Do đó,

để giảm bớt giá thành và ứng dụng được các tài nguyên internet sẵn có cũng như việc sử dụng giám sát và điều khiển tiện lợi qua giao diện web trên các thiết bị có

sử dụng trình duyệt web như smart phone, máy tính bảng, máy vi tính thì vấn đề trên vẫn cần được tiếp tục nghiên cứu để đáp ứng nhu cầu tự động hóa và hiện đại hóa hiện nay của thành phố

1.1 Tổng quan về Ethernet

1.1.1 Cấu trúc khung tin Ethernet

Các chuẩn Ethernet hoạt động ở tầng Data Link trong mô hình 7 lớp OSI, nên một đơn vị dữ liệu các trạm có thể trao đổi với nhau là những khung, cấu trúc khung Ethernet được thể hiện như bảng 1.1:

Trang 14

5

Bảng 1.1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet

Preamble: Ở trường này cho biết sự xuất hiện của một khung bit, nó thường có giá trị 10101010 Bắt đầu nhóm bit này, bên nhận có thể tạo ra xung 10 Mhz SFD: Ở trường này sẽ xác định sự bắt đầu của một khung Nó có giá trị cố định 10101011

Các trường đích và nguồn: Lưu địa chỉ vật lý các trạm nhận và trạm gửi khung, cho biết khung được gửi từ máy nào và sẽ được gửi tới máy nào nhận Địa chỉ đích: gồm 6 bytes, chứa địa chỉ MAC card Ethernet máy nhận

Địa chỉ nguồn): gồm 6 bytes, chứ địa chỉ MAC card Ethernet máy gửi

Độ dài/kiểu gói: gồm 2 bytes, là giá trị số lượng byte dữ liệu mà máy gửi đi

1.1.2 Cấu trúc địa chỉ Ethernet

Mỗi giao tiếp mạng Ethernet được xác định bởi 48 bit địa chỉ, Địa chỉ này được xác định bởi nhà sản xuất và gọi là địa chỉ Địa chỉ MAC được viết bởi các chữ số hệ 16 Ví dụ:02:61:97:1F:3F:84 hoặc 01-60-97-3F-4F-86

1.1.3 Đặc tính điện

Tín hiệu Ethernet được mã hóa theo mã Manchester Mã hóa Manchester sử dụng cách đảo ngược mỗi bit trong khoảng thời gian của nó để đồng bộ và miêu tả bit

- Bit „0‟ Nửa chu kỳ đầu của bit là điện áp +V và nửa chu kỳ còn lại là điện áp –V

- Bit „1‟ Nửa chu kỳ đầu của bit là điện áp -V và nửa chu kỳ còn lại là điện áp + V

Trang 15

6

Hình 1.1: Mã hóa Manchester

1.1.4 Các loại khung Ethernet

1.1.4.1 Các khung unicast

Ví dụ truyền khung 2 chạm với nhau

Khung Ethernet của trạm 1 sử dụng địa chỉ:

- MAC máy nguồn: 00-60-08-93-DB-C1

- MAC máy đích: 00-60-08-93-AB-12

Hình 1.2: Mô hình truyền thông unicast

Đây là một unicast khung, khung này đã đƣợc chuyển giao cho một trạm có địa chỉ xác định

1.1.4.2 Các khung broadcast

Địa chỉ MAC đích của các khung broadcast là FF-FF-FF-FF-FF-FF Khi nhận đƣợc các khung này, tuy không trùng địa chỉ MAC của mình, tuy nhiên các trạm đều tiếp tục phải nhận khung dữ liệu và tiếp tục xử lý dữ liêu

Trang 16

7

1.1.4.3 Các khung multicast

Máy nguồn gửi khung tới một số máy nhất định chứ không phải là tất cả Địa chỉ MAC máy đích của khung là địa chỉ đặc biệt mà chỉ các trạm trong cùng nhóm mới chấp nhận các khung gửi tới địa chỉ này

1.1.5 Một số loại mạng Ethernet

IEEE đã phát triển nhiều chuẩn Ethernet trên nhiều công nghệ của nó truyền dẫn khác nhau được cũng nhiều loại mạng Ethernet Mỗi loại mạng được xây dựng dựa trên 3 yếu tố chủ yếu: đặc tính đường truyền vật lý, phương thức tín hiệu được

sử dụng và tốc độ như Giga Ethernet, Ethernet 100Mb/s, Ethernet 10Mb/s

1.1.6 Chuẩn IEEE 802

IEEE 802 là họ các chuẩn IEEE dành cho mình mạng LAN và mạng MAN, các chuẩn IEEE 802 được sử dụng cho các gói mạng có kích thước khác nhau

Giao thức và dịch vụ là những đặc điểm kỹ thuật trong IEEE 802 được ánh

xạ tới 2 tầng thấp (tầng tầng vật lý và tầng liên kết dữ liệu trong mô hình 7 tầng OSI, trong thực tế IEEE 802 chia tầng liên kết dữ liệu OSI thành hai tầng con MAC (điều khiển truy nhập môi trường truyền) và LLC (điều khiển liên kết logic)

1.2.1 Tổng quan về bộ giao thức TCP/IP

TCP/IP là một bộ các giao thức được thiết kế thực hiệu 2 mục tiêu:

Cho phép truyền thông dữ liệu giữa các môi trường đa dạng

Cho phép truyền thông dữ liệu qua các đường dây của mạng diện rộng (Wide Area Network - WAN)

TCP/IP có những đặc điểm nổi bật:

Trang 17

- Định địa chỉ một cách tổng quát: mỗi trạm trên mạng TCP/IP có 1 địa chỉ IP duy nhất đƣợc dùng để liên lạc với bất kì trạm nào khác trên mạng

- Hỗ trợ đắc lực mạng theo mô hình Client - server

1.2.2 Kiến trúc phân tầng của TCP/IP

Bộ các giao thức TCP/IP đƣợc phân làm bốn lớp tầng:

Hình 1.4: Kiến trúc phân tầng của TCP/IP

1.2.3 Quá trình gửi nhận dữ liệu giữa hai máy tính

Hình 1.5: Quá trình gửi nhận dữ liệu giữa hai máy tính

Trang 18

9

Gói dữ liệu từ máy gửi sẽ đi từ gửi lần lượt qua tầng: Tầng ứng dụng và dịch

vụ, tầng vận chuyển, Tầng lớp mạng và tầng truy cập mạng Tại mỗi tầng, dữ liệu

sẽ được chèn thêm tất cả các điều khiển thông tin đòi hỏi gọi là Header Tại máy thu dữ liệu nhận được sẽ theo thứ tự ngược lại Dữ liệu thông qua tầng được loại

bỏ phần tiêu đề tương ứng là Chen thêm Cho đến khi đến tầng trên cùng thì dữ liệu lúc này sẽ không có phần tiêu đề nữa

1.2.4 Sơ lược chức năng các tầng

1.2.4.1 Tầng ứng dụng

Đây là mức cao nhất trong tầng kiến trúc TCP/IP, Tầng này bao gồm tất cả các chương trình ứng dụng sử dụng các dịch vụ có sẵn thông qua bộ giao thức TCP/IP Các chương trình ứng dụng này tương tác với một trong các giao thức tầng giao vận cho truyền hay nhận dữ liệu và mỗi chương trình ứng dụng chọn một kiểu giao thức hợp lý cho công việc của mình

Tại tầng ứng dụng các dữ liệu là các luồng được gọi là stream

1.2.4.2 Tầng giao vận

Tầng giao vận cho phép sự giao tiếp thông tin ở mình chương trình ứng dụng Mỗi sự giao tiếp gọi là End- to-end Tầng giao vận, cho phép điều chỉnh lưu lượng luồng thông tin Nó cũng cung cấp sự truyền tin cậy và đảm bảo các dữ liệu vào sẽ bị lỗi Để làm được điều này, ta cần viết phần mềm giao thức hỗ trợ để bên nhận có thể gửi lại thông báo xác nhận về việc thu thập dữ liệu bên gửi và bên có thể truyền lại gói tin bị lỗi hoặc bị mất

Phần mềm giao thức tầng vận chuyển có thể chia dữ liệu (stream) ra thành gói dữ liệu ít hơn (thường gọi là Segment hoặc gói) và gửi xuống tầng dưới

1.2.4.3 Tầng Internet

Tầng Internet (tầng mạng) xử lí giao tiếp thông tin của một máy này với một máy khác Nó phải phải chấp nhận một yêu cầu để gửi một gói từ tầng giao vận cùng với một định danh của các máy đích mà gói tin sẽ được gửi đến

Trang 19

Trong tầng truy cập mạng, dữ liệu truyền đi được gọi là frame

1.2.5 Đóng gói dữ liệu trong TCP/IP

Bộ giao thức TCP/IP dùng sự đóng gói dữ liệu nhằm trừu tượng hóa các giao thức và dịch vụ Nói cách khác là các giao thức ở tầng cao hơn sử dụng các giao thức ở tầng thấp hơn nhằm đạt được mục đích của mình bằng cách đóng gói

dữ liệu

Mô tả việc thực hiện đóng/mở gói dữ liệu trong giao thức TCP/IP:

Hình 1.6: Thực hiện đóng/mở gói dữ liệu trong giao thức TCP/IP

Trong bộ giao thức TCP/IP phần data của tầng bên dưới sẽ chứa phần header

và data của tầng phía trên

Một số giao thức của các tầng:

Trang 20

11

Bảng 1.2: Một số giao thức của các tầng

1.2.6 Các giao thức và khuôn dạng dữ liệu tương ứng

1.2.6.1 Giao thức Ethernet

a) Giới thiệu giao thức Ethernet

Là giao thức nằm trong tầng Network Access, Ethernet là một chuẩn công nghệ dành cho mạng cục bộ(LAN) được quy định trong IEEE 802.3

b) Địa chỉ MAC

MAC là địa chỉ vật lí, là một định danh duy nhất được nhà sản xuất gán cho thiết bị mạng hoặc card giao tiếp mạng để nhận dạng và được sử dụng trong lớp

Network Access Layer

Địa chỉ MAC gồm 6 bytes, thường được biểu diễn ở dạng hexa

c) Cấu trúc trong một đơn vị dữ liệu của giao thức Ethernet

Hình 1.7: Cấu trúc khung dữ liệu Ethernet

Trang 21

12

Preamble: Phần mở đầu gồm 7 bytes chứa giá trị 10101010 dùng để đồng

bộ giữa bên truyền và nhận Phần này không được tính và kích thước của Ethernet Frame

Start Of Frame Delimiter: Gồm 1 byte chứa giá trị 101010111 dùng để

đánh dấu sự bắt đầu của một Frame, và nó không tính vào kích thước của gói Ethernet Frame

Destination Address: Gồm 6 bytes, là địa chỉ MAC của máy nhận Frame Source Address: Gồm 6 bytes, là địa chỉ MAC của máy gửi Frame

Length/Type(độ dài/loại): Gồm 2 bytes cho biết độ dài của dữ liệu chứa

trong Frame và cho biết dữ liệu có trong frame là dữ liệu của lớp giao thức nào

Ví dụ: Dữ liệu trong Ethernet Frame là của giao thức IP thì 2 byte này sẽ có giá trị

là: 0800h, hoặc của giao thức ARP là: 0806h

Data: dữ liệu của một gói có độ dài từ 46 đến 1500 bytes

FCS(Frame Check Sequency): Gồm 4 bytes dùng để kiểm tra lỗi cho các

trường Destination Adderss, Source Address, Length/Type, Data

Trong đề tài này, khi lập trình xử lígiao thức Ethernet chúng ta không cần quan tâm đến các trường Preamble, Start Of Frame Delimiter, FCS vì chíp giao tiếp Ethernet ENC28j60 sẽ tự động lược bỏ các trường này

d) Hoạt động của giao thức Ethernet

Khi nhận được một Ethernet Frame Phần mềm giao thức Ethernet bên máy nhận sẽ thực hiện 2 bước

Bước 1: Kiểm tra lỗi frame, frame lỗi sẽ bị bỏ qua(thực hiện bởi chip Enc28j60) Bước 2: Kiểm tra MAC host nhận (Destination Address) trong Ethernet Frame có

trùng với MAC của chính nó hay không?

- Nếu trùng, nó sẽ nhận Frame này, loại bỏ phần Ethernet Header và chuyển lên lớp trên

- Nếu MAC host nhận trong Ethernet Frame là địa chỉ MAC broadcast FF-FF-FF-FF-FF) (nghĩa là gửi cho tất cả các máy nhận trong mạng LAN) thì frame này cũng được nhận và xử lý

Trang 22

(FF-13

1.2.6.2 Giao thức IP

a) Giới thiệu giao thức IP

Trong mạng LAN ta có thể sử dụng địa chỉ MAC để gửi dữ liệu tới đích Nhƣng ngoài mạng LAN, địa chỉ MAC không thể xác định đƣợc host đích Vì vậy, lúc gửi dữ liệu bên ngoài mạng LAN thì các router sẽ chuyển dữ liệu đi tới máy đích dựa vào địa chỉ IP

Giao thức IP có vai trò:

b) Địa chỉ IP

Mạng Internet dùng hệ thống địa chỉ IP để “định vị” các máy tính liên kết với nó, dịa chỉ IP gồm 32 bits

Địa chỉ IP gồm 3 phần: Class bit, Network ID và Host ID

Hình 1.8: Cấu trúc địa chỉ IP

Phần 1 là bit nhận dạng lớp, dùng để xác định địa chỉ đang ở lớp nào, phần Network ID dùng để đánh địa chỉ mạng, Host ID dùng để đánh địa chỉ host trong mạng

Địa chỉ IP đƣợc phân thành 5 lớp: lớp A, B, C, D, E, trong đó lớp A, B, C dành cho 3 loại mạng: lớn, vừa, nhỏ ; 1 lớp địa chỉ multicasting(lớp D) và một lớp

dự trữ(E)

Hình 1.9: Phân lớp trong địa chỉ IP c) Cấu trúc gói tin IP(IP packet)

4 bytes

Trang 23

14

Giao thức IP cấp thêm phần header IP vào trước mỗi Segment được gửi từ

tầng giao vận(Transport) và đơn vị dữ liệu này trong giao thức TCP/IP được gọi là

IP packet

Hình 1.10: IP packet

Một IP packet có dạng như hình 1.11:

- Version (4 bits): chỉ ra phiên bản của giao thức IP(version 4 có giá trị 0100)

- Internet Header Length(IHL)(4 bits): Chỉ ra chiều dài của IP header Tính theo

đơn vị word(1 word bằng 32 bits)

+ Độ dài tối thiểu của IP Header là 5 words(20 bytes)

+ IHL giúp xác định byte đầu tiên của phần data nằm ở đâu trong IP packet

- Type Of Services(TOS) - 8 bits: dùng để đặc tả tham số về dịch vụ nhằm thông

báo cho mạng biết dịch vụ nào mà gói tin muốn sử dụng, như: ưu tiên, thời gian

chậm trễ, năng suất truyền và độ tin cậy

Hình 1.11: Cấu trúc IP packet

IP Header Transport Layer PDU

IP Packet

Trang 24

15

- Total Length(16 bits tính theo đơn vị word): Chỉ ra chiều dài toàn bộ IP

Packet(Gồm IP Header + IP data)

+ Giá trị lớn nhất của Total Length là 65535 byte

+ Chiều dài IP data= Total Length – IHL

- Identification(16 bits tính theo đơn vị word):

+ Dùng để nhận diện các phân đoạn của IP packet

+ Định danh duy nhất cho 1 IP Packet trong khoảng thời gian nó vẫn còn trên liên mạng

+ Giúp bên nhận có thể ghép các đoạn của 1 IP packet lại với nhau vì IP packet phân thành các đoạn và các đoạn thuộc cùng 1 IP packet sẽ có cùng Identifiation + Có tối đa 65535 định danh có thể đƣợc sử dụng

- Flags(3 bits): điều khiển sự phân đoạn

+ R- Reserver(1 bit): Không sử dụng.Mặc định R=0

+ DF(Don‟t Fragment)(1 bit): Quản lý việc phân đoạn của IP Packet

DF=0: Phân đoạn nếu cần thiết

DF=1: Không phân đoạn đoạn gói này

+ MF(More Fragment)(1 bit)

MF=0: đây là phân đoạn cuối cùng MF=1: Còn nhiều phân đoạn sau này

Nếu IP Packet bị phân đoạn thì bit MF này cho biết đoạn này có phải là đoạn cuối hay không? Tất cả các đoạn(trừ đoạn cuối) phải có bit MF=1 để xác định tất cả các đoạn của IP Packet đến đích chƣa?

- Flagment Offset(13 bits)

+Độ dời(đơn vị 8 bytes) tính từ điểm bắt đầu của IP header tới điểm bắt đầu của

Trang 25

16

+ Thời gian tồn tại trên mạng hoặc số chặng trên mạng mà gói tin đi qua trước khi bị hủy bỏ

+ Số này giảm đi một khi qua môt router

+ Khi bộ đếm đạt đến 0 thì gói này sẽ bị loại

+ TTL do người gửi khởi tạo

- Protocol(8bits):

+ Nhận diện Protocol trên lớp IP

+ Chỉ ra giao thức nào (TCP/UDP/ICMP) của tầng trên(tầng Trasport) sẽ nhận phần data sau công đoạn xử límột IP Packet ở tầng Network hoàn tất đối với khi nhận

+ Đối với khi truyền đi(từ tầng trên xuống duới): Chỉ ra giao thức nào của tầng trên gửi segment xuống cho tầng Network đóng gói thành một IP packet để chuyển đi

+ Mỗi giao thức sẽ có một mã Protocol:

ICMP: Protocol = 1

TCP : Protocol = 6

UDP : Protocol = 17

- Header Checksum(16 bits): Dùng để phát hiện lỗi của IP header(Không tính

phần Data) của gói tin xảy ra trong quá trình truyền của nó

- Source Address(32 bits): Địa chỉ IP của host gửi

- Destination Address(32 bits): Địa chỉ IP của host nhận

- Option(độ dài không cố định): Dùng để khai báo tùy chọn

- Data(độ dài không cố định): Vùng chứa dữ liệu từ 1 đến 65535 byte

d) Hoạt động của giao thức IP

Hoạt động mà dữ liệu sẽ được gửi qua giao thức IP như sau:

Khi nhận được một segment đơn vị dữ liệu cần gửi tới máy đích nào đó, địa chỉ đích này sẽ được cung cấp bằng địa chỉ IP Giao thức IP sẽ gắn thêm vào đầu Segment dữ liệu một đoạn IP header để tạo thành một IP Packet hoàn chỉnh

Trang 26

- Trong mạng LAN: có thể xác định được máy đích dựa vào MAC

- Ngoài mạng LAN: không thể xác định được máy đích dựa vào MAC nên khi gửi gói dữ liệu ra ngoài mạng LAN, các router sẽ chuyển dữ liệu đi đến máy đích chính xác nhờ vào địa chỉ IP

- Vì vậy, sau khi IP Packet(có IP đích(Destination Address) là một máy ngoài mạng LAN) đã được chuyển xuống lớp Network Access, giao thức Ethernet điền địa chỉ MAC đích là MAC của gateway(router) chứ không phải là MAC của chính máy đích

1.2.6.3 Giao thức ARP

a) Giới thiệu giao thức ARP

Khi một IP Packet từ lớp Network được chuyển xuống lớp Network Access, giao thức Ethernet sẽ phải điền thêm thông tin về MAC đích tương ứng với địa chỉ

IP đích để tạo thành một Ethernet Frame hoàn chỉnh

b) Hoạt động của giao thức ARP

Trước khi giao thức IP chuyển IP Packet xuống cho giao thức Ethernet, nó

sẽ phải sử dụng giao thức ARP để phân giải địa chỉ MAC cho máy đích

Khi giao thức IP hỏi giao thức ARP: ”Host có địa chỉ IP là a.b.c.d thì MAC là bao nhiêu?” Giao thức ARP sẽ trả lời: “MAC của nó là: XX:XX:XX:XX:XX:XX” Giao thức ARP có một bảng ARP cache gồm hai trường:

a.b.c.d XX:XX:XX:XX:XX:XX e.f.g.h YY:YY:YY:YY:YY:YY

Bảng 1.3: Bảng ARP cache

Giao thức ARP sẽ lấy luôn thông tin về MAC trong bảng ARP cache để trả lời cho giao thức IP nếu nó có sẵn trong bảng ARP cache

Trang 27

18

c) Cấu trúc gói tin ARP

Gói tin ARP đƣợc mô tả nhƣ sau:

Sender MAC address (bytes 0-3)

Dest MAC address (bytes 0-1) Sender IP address (bytes 2_3)

Dest MAC address (bytes 2-5) Dest IP address ( bytes 0-3)

Hình 1.12: cấu trúc gói tin ARP 1.2.6.4 Giao thức ICMP(Internet Control Message Protocol)

ICMP là giao thức dùng để chuyển qua lại các bản tin điều khiển trên mạng

a) Chức năng của giao thức ICMP

Cung cấp các thông tin phản hồi và trả lời thực hiện việc để kiểm tra độ tin cậy của kết nối giữa hai máy Điều này đƣợc thực hiện bằng lệnh PING(Packet Internet Gropher)

b) Một số bản tin ICMP thường gặp

- Bản tin “Echo Request” và “Echo Reply”: sử dụng cho quá trình kiểm tra(lệnh Ping)

- Bản tin “Destination Unreachable”: thông báo cho trạm nguồn biết datagram không thể truyền đến đích

c) Cấu trúc bản tin ICMP

Đơn vị dữ liệu của bản tin ICMP gồm 2 phần: ICMP Header(4 bytes) và data(4 byte) Cấu trúc của bản tin ICMP gồm:

Trang 28

- Type(1 byte): Cho biết đây là bản tin gì Nếu là bản tin ICMP request thì type

có giá trị 00h Nếu là bản tin ICMP reply sẽ có giá trị là 08h

- Code(1 byte): Mã cụ thể của từng trường hợp Đối với ICMP request và reply

sẽ có giá trị: 00h

- Checksum(2 bytes): Kiểm tra lỗi cho ICMP Header và Data

- 4 bytes sau: chứa thông tin riêng của từng loại bản tin ICMP Đối với bản tin

“Echo Request” và “Echo Reply” thì 4 bytes này là: ID(2 bytes) và Sequence number(2 bytes)

1.2.6.5 Giao thức TCP

a) Giới thiệu giao thức TCP

Giao thức điều khiển truyền TCP là giao thức trung gian giữa IP và một ứng

dụng phía trên, đảm bảo dữ liệu được trao đổi một cách tin cậy và đúng thứ tự

TCP là một giao thức hướng kết nối dạng client – server Tức trong một phiên truyền thông sẽ có một phía đóng vai trò là client(khởi tạo kết nối), phía còn lại lúc nào cũng chờ đợi các client kết nối tới gọi là server

b) Vai trò của giao thức TCP trong bộ giao thức TCP/IP

TCP có 3 vai trò chính:

- Điều khiển luồng: Điều phối tốc độ và kích thước luồng dữ liệu để đảm bảo phía nhận đủ khả năng nhận và xử lí luồng dữ liệu

- Kiểm soát lỗi: Đảm bảo gói tin đến đúng và đủ

- Báo nhận: Khi nhận được dữ liệu và không có lỗi, phía nhận phải báo lại với phía gửi biết

c) Cấu trúc gói tin TCP

Trang 29

20

Đơn vị dữ liệu của gói tin TCP được gọi là segment(đoạn dữ liệu) gồm 2 phần: TCP Header và Data, được mô tả như sau:

Hình 1.14 Cấu trúc TCP Segment

- Source Port(16 bits): Port nguồn

- Destination Port(16 bits): Port đích

Port nguồn và port đích dùng để phân biệt các tiến trình ứng dụng trong một dòng

dữ liệu

- Sequence Number(4 bytes): Phân biệt các Segment khác nhau trong một dòng

dữ liệu Sequence Number của segment X= Sequence Number của segment

(X-1) + length của segment (X-(X-1)

- Data Offset(4 bits- tính theo đơn vị 4 word): Quy định chiều dài của phần TCP

header Phần này có độ dài tối thiểu là 5 words(20 bytes), tối đa là 15 words(60

bytes)

- Reserved(6 bits): Chưa dùng đến Có giá trị là 0

- Flags: Gồm 6 cờ, mỗi cờ có độ dài 1 bit:

+ URG(Urgent): Nếu cờ URG=1 thì trong segment TCP đó có một đoạn dữ

liệu khẩn cấp Đoạn dữ liệu đó được xác định nhờ trường Urgent Poiter(16

bits) trong TCP header

+ ACK(Acknowledgement): Dùng để ghi nhận sự thành công của một phiên

kết nối

Trang 30

21

+ PSH(PUSH): Chức năng Push Ở bên gửi, cờ PSH báo cho TCP rằng dữ

liệu này cần được gửi đi ngay lập tức Ở bên nhận, nếu nhận được TCP segment với cờ PSH=1, TCP sẽ đẩy ngay phần TCP data trong bộ đệm lên tầng ứng dụng để xử lí

+ RST(Reset): Sử dụng trong trường hợp muốn đóng kết nối ngay lập tức + SYN(SYNchronisation): Cờ SYN được bật trong các bản tin khởi tạo kết

nối

+ FIN(Finish): Là biểu tượng cho việc hoàn thành kết nối, nó báo rằng phía

gửi cờ FIN đã hoàn tất việc gửi dữ liệu và sẵn sàng để đóng kết nối

- Window(16 bits): Chỉ ra không gian bộ đệm khả dụng để nhận dữ liệu

d) Hoạt động của giao thức TCP

Giao thức TCP đòi hỏi phải thiết lập kết nối trước khi bắt đầu gửi dữ liệu và kết thức kết nối khi việc gửi dữ liệu hoàn tất

Một phiên truyền thông TCP gồm ba giai đoạn:

- Thiết lập kết nối(Connection establishment)

- Truyền dữ liệu(Segment transmission)

- Đóng kết nối(Connection termination)

Mỗi thực thể kết nối TCP tự chọn cho mình một số thứ tự Sequence Number đầu tiên gọi là ISN(Initial Sequence Number) Trên lý thuyết ISN sẽ tăng lên sau mỗi byte được truyền đi và mỗi byte được gửi đi sẽ có một số thứ tự, nhằm phân biệt các segment dữ liệu, phục vụ cho việc sắp xếp dữ liệu ở bên nhận Trong thực tế thì chỉ có byte dữ liệu đầu tiên được gán số thứ tự trong trường Sequence Number của gói tin và bên nhận sẽ gửi bản tin báo nhận thành công với

Acknowledgement Number bằng số thứ tự của byte đang chờ

* Thiết lập kết nối(Connection establishment)

Để thiết lập kết nối, TCP sử dụng một quy trình bắt tay 3 bước Trước khi client thử kết nối tới một server, server phải đăng kí một cổng và mở cổng đó cho các kết nối(gọi là mở bị động- Passive Open) Một khi mở bị động được thiết lập thì client có thể bắt đầu mở chủ động(Active Open)

Trang 31

22

Quy trình bắt tay 3 bước:

Hình 1.15: Quá trình bắt tay 3 bước thiết lập kết nối

Bước 1: Host A muốn tạo kết nối tới host B, nó sẽ gửi một bản tin yêu cầu kết nối

với cờ SYN=1, Sequence number=ISN, Acknowledgemend Number=0 trong TCP Header

Bước 2: Khi host B nhận được bản tin SYN, nó sẽ gửi cho host A bản

tin(SYN-ACK) với 2 cờ ACK=1 và SYN=1 trong TCP Header

Bước 3: Khi host A nhận được SYN-ACK, nó sẽ gửi cho host B bản tin ACK

Sau khi host B nhận được bản tin ACK, một kết nối ảo đã được thiết lập giữa client

và server, hai bên có thể tiến hành trao đổi dữ liệu

* Truyền dữ liệu (Segment transmission)

Giao thức hướng kết nối TCP sẽ gửi bản tin ACK để xác nhận sau khi nhận thành công dữ liệu Sau khi dữ liệu được gửi đi, phía nhận luôn đợi bản tin xác nhận từ phía nhận Nếu sau một khoảng thời gian nhất định mà không nhận được ACK thì phía gửi sẽ tiến hành truyền lại

Quá trình truyền dữ liệu bằng giao thức TCP được mô tả như sau:

Truyền dữ liệu không xảy ra lỗi Xảy ra lỗi và truyền lại

Hình 1.16: Quá trình truyền dữ liệu bằng giao thức TCP

Trang 32

23

Trong hình vẽ trên, host A truyền cho host B 2000 bytes dữ liệu, chia làm 2 lần truyền Lần truyền thứ nhất, host A gửi 1000 bytes(số thứ tự-sequence number bằng 1), sau đó bắt đầu “bấm giờ” Khi chưa hết thời gian quy định, Nếu host B gửi lại một bản tin ACK, điều đó chứng tỏ rằng nó đã nhận được 1000 bytes đầu và sẵn sàng nhận từ byte có số thứ tự 1001 Lúc này host A thực hiện gửi tiếp 1000 bytes(số thứ tự là 1001) Ngược lại, nếu đã hết thời gian quy định mà chưa thấy host B gửi lại bản tin ACK, điều này chứng tỏ host B chưa nhận được 1000 bytes đầu tiên đó Host A sẽ tiến hành gửi lại 1000 bytes này Hai bên sẽ thực hiện truyền – gửi xác nhận cho đến khi hết dữ liệu cần truyền

Một điểm cuối cùng cần quan tâm trong giao thức TCP, khi nhận được dữ liệu, phía nhận không xử lí ngay mà lưu vào trong một buffer Vấn đề ở đây là kích thước của buffer là hữu hạn Điều gì sẽ xảy ra khi tốc độ gửi dữ liệu của bên gửi nhanh hơn khả năng xử lí dữ liệu của bên nhận? Buffer của bên nhận sẽ bị đầy, dẫn đến dữ liệu không thể tiếp tục được nhận Để giải quyết vấn đề này, TCP sử dụng một cơ chế điều khiển luồng bằng cửa sổ trượt (Sliding window) Trong bản tin thiết lập kết nối, phía nhận sẽ gửi bản tin SYN với trường window với mục đích thông báo với phía bên kia rằng kích thước buffer dữ liệu mà phía nhận có thể nhận đồng thời trước khi đưa lên lớp ứng dụng Trong quá trình trao nhận dữ liệu, nếu phía nhận có thể xử lí dữ liệu nhanh hơn tốc độ truyền dữ liệu của phía gửi thì phía nhận sẽ tăng kích thước window lên cho phù hợp tại mỗi bản tin ACK Ngược lại, đến một lúc nào đó, tốc độ truyền của phía gửi nhanh hơn khả năng xử lí của phía nhận, buffer của phía nhận sẽ bị đầy Lúc này phía nhận sẽ giảm kích thước window về 0 trong bản tin ACK Phía gửi sẽ dừng việc truyền cho đến khi nhận được bản tin ACK với window khác 0

Ví dụ: Cơ chế điều khiển luồng sử dụng sliding window:

Trang 33

24

Hình 1.17: Cơ chế điều khiển luồng sử dụng Sliding window

Host A truyền cho host B 1000 bytes Host B đã nhận được, gửi lại bản tin ACK với yêu cầu tăng kích thước window lên 2000 bytes Host A nhận được ACK

và truyền tiếp 2000 bytes(chia làm 2 lần truyền, mỗi lần 1000 bytes) Host B nhận được dữ liệu gửi ACK với yêu cầu tăng kích thước window lên 2500 bytes Host A tiến hành truyền tiếp 2500 bytes(chia làm 3 lần, 2 lần 1000 bytes và 1 lần 500 bytes) và đợi xác nhận ACK 3 segment này được lưu và buffer của host B nhanh hơn tốc độ xử lí dữ liệu, lúc này host A sẽ gửi ACK với window là 0 để yêu cầu

host A tạm thời dùng việc truyền đợi đến khi thích hợp

* Đóng kết nối(Connection termination)

Để đóng kết nối, hai bên thực hiện quá trình bắt tay 4 bước

Trang 34

25

Hình 1.18: Quá trình đóng kết nối TCP

Bước 1: Host A cần đóng kết nối, nó sẽ gửi đi một bản tin yêu cầu đóng kết nối

với cờ FIN=1 chỉ ra rằng nó đã hoàn tất việc gửi dữ liệu

Bước 2: Host B nhận được bản tin FIN, nó không đóng kết nối ngay lập tức nhưng

sẽ đi vào trạng thái “passive close”(CLOSE-WAIT) và gửi ACK cho bản tin FIN vừa nhận được về host A Lúc này host B đi vào trạng thái “LAST-ACK” Tại thời điểm này, nó sẽ không chấp nhận dữ liệu từ host A nhưng có thể tiếp tục truyền dữ liệu sang host A Nếu host B không còn bất kì dữ liệu gì để truyền sang host A, nó

sẽ đóng kết nối bằng cách gửi bản tin FIN với cờ FIN=1

Bước 3: Khi host A nhận được bản tin FIN từ host B, nó sẽ đi vào trạng thái

“TIME WAIT” và gửi ACK cho host B Sau một khoảng thời gian timeout sẽ đóng kết nối

Bước 4: Host B nhận được bản tin ACK từ host A, kết nối TCP được đóng

e) Sơ đồ trạng thái của TCP

Trang 35

26

Hình 1.19: Sơ đồ trạng thái TCP

Giải thích sơ đồ trạng thái TCP:

- Client và server bắt đầu bằng trạng thái CLOSE, không có kết nối nào tồn tại

- Khi server mở một port TCP(passive open) để chờ client kết nối tới, nó sẽ chuyển sang trạng thái “LISTEN”

- Khi client muốn kết nối tới server, nó sẽ gửi một bản tin TCP SYN(Active Open) và chuyển sang trạng thái “SYN SEND”

- Server nhận đƣợc bản tin TCP SYN của client, nó sẽ đáp lại bằng bản tin SYN|ACK và chuyển sang trạng thái “SYN RECEIVED”

- Client nhận đƣợc bản tin SYN|ACK và gửi lại bản tin ACK xác nhận Sau đó nó chuyển sang trạng thái “ESTABLISHED” Server nhận đƣợc bản tin ACK của client cũng chuyển sang trạng thái “ESTABLISHED” Đến đây, hai bên có

Trang 36

- Lúc này server vẫn có thể gửi dữ liệu(vì chỉ có client là báo gửi xong dữ liệu)

và client tiếp tục nhận Khi nào server gửi hết dữ liệu muốn đóng kết nối TCP, nó sẽ gửi bản tin FIN và chuyển sang trạng thái “LAST ACK”

- Client nhận được bản tin FIN từ server sẽ gửi xác nhận ACK và chuyển sang trạng thái “TIME WAIT” Chờ một khoảng thời gian time out nó sẽ đóng kết nối TCP và quay lại trạng thái “CLOSE”

- Khi server nhận được bản tin ACK, nó sẽ chuyển từ trạng thái “LAST ACK” sang trạng thái “CLOSE” ngay lập tức

1.2.6.6 Giao thức HTTP- giao thức truyền tải siêu văn bản

a) Giới thiệu giao thức HTTP

HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trước mình HTTP có các phiên bản: HTTP 1.0, HTTP 1.1

b) Hoạt động của giao thức HTTP

Trong mô hình HTTP, Webserver đồng thời cũng là TCP server mở sẵn một port mặc định dành cho dịch vụ HTTP là port 80(luôn ở chế độ LISTEN) sẵn sàng đợi yêu cầu kết nối từ các client

Khi muốn tải một trang web, client sẽ khởi tạo kết nối TCP tới port 80 của Webserver này Sau khi Webserver chấp nhận kết nối, client sẽ gửi một bản tin HTTP request tới server trên kết nối TCP vừa thiết lập Server sẽ đáp ứng yêu cầu

Trang 37

<Method> <Space> <Request-URI> <Space> <Http version> </r/n>

- Method: chỉ ra phương thức HTTP như: GET(Tải dữ liệu về trình duyệt),

POST(thay đổi dữ liệu trên Webserver)

- Request-URI: Chỉ ra đường dẫn tới trang web cần tải, có thể là đường dẫn

tương đối hay tuyệt đối

- HTTP version: Chỉ ra phiên bản HTTP đang sử dụng

Ngày đăng: 14/10/2017, 16:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w