1. Trang chủ
  2. » Luận Văn - Báo Cáo

Vấn đề bảo mật Internet potx

393 234 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Vấn đề bảo mật Internet Potx
Định dạng
Số trang 393
Dung lượng 15,56 MB

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

Nội dung

Đề tài: KHCN - 01- 02 Đề tài nhánh: Vấn đề an toàn, bảo mật Internet Phần 2: Cấu trúc và thiết kế Firewall: Giới thiệu các phương pháp, nguyên lý xây dựng công cụ bảo đảm an toàn mạng Ph

Trang 2

Để tài: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

LỜI NÓI ĐẦU

Sống trong những năm cuối cùng của thế kỷ 20 này, chúng ta đang được chứng kiến hàng ngày sự bùng nổ mạnh mẽ của cuộc cách mạng khoa học kỹ thuật Nó thâm nhập vào mọi lĩnh vực của đời sống xã hội, làm thay đổi bộ mặt cuộc sống Trong cuộc cách mạng đó, công nghệ thông tin đóng một vai rò quan trọng và ngày càng được sử dụng hiệu quả trong các lĩnh vực nghiên cứu khoa học, y tế, giáo dục, thương mại Nhu cầu trao đổi thông tin trong mọi lĩnh vực đã trở nên ngày càng cần thiết

Với sự bùng nổ ngày càng mạnh mể của mang Internet, cdc quéc gia,

các tổ chức, các công ty và tất cả mọi người đang đường như xích lại gần nhau hơn Họ đã, đang và luôn muốn hòa nhập vào mạng Internet để được thỏa mãn trong cơn khát thông tin của nhân loại Các mạng cục bộ (LAN - Local Area Network), cdc mạng điện rộng (WAN - Wide Area Network) hay những người dùng tại gia đình đêu có thể kết nối vào mang Internet để khai thác cũng như truyền bá thông tin

Củng với sự phát triển các tiện lợi của Internet, việc lấy cắp các thông tin mật, các chương trình và đữ liệu quan trọng, việc thâm nhập bất hợp pháp và phá hoại các hệ thống mạng thông qua Internet cũng gia tăng cả

về số lượng, hình loại và kỹ sảo Do đó, song song với việc phát triển và sử đụng mạng Internet rất cân nghiên cứu giải quyết vấn đề đâm bảo an ninh trên mạng Tài liệu các vấn đề về an toàn Internet được biên soạn bao gôm các vấn dé sau:

Phân 1: Giao thức TCPIIP và mạng internet: Trình bây cấu trúc mạng máy tính nói chung và giao thức sử dung trén internet

Trang 3

Đề tài: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

Phần 2: Cấu trúc và thiết kế Firewall: Giới thiệu các phương pháp, nguyên lý xây dựng công cụ bảo đảm an toàn mạng

Phan 3: Mật mã đữ liệu: trình bẩy các hệ mật được dùng để bảo mật thông tin trén internet

Phân 4: Vừus và cắc công cụ phòng chống

Phân 5: Các yêu cầu bảo đẩm an toàn internet: Phan nay dua ra mot

số yêu cầu về chính sách và kỹ thuật nhằm bảo đẩm an toàn mang internet Phan 6: Khdo sdt tinh hinh vé an toan trên mạng thực tế đã triển khai

6 vié nam vd dua ra cdc khuyến nghị để bảo đảm các yêuny cẩu đưa ra ở phần 5

Do thời gian có hạn và còn nhiều hạn chế về mặt chuyên môn cũng như kinh nghiệm thực tế, tài liệu này sẽ còn được bổ xung và sửa chữa trong thời gian tới Xin cắm ơn về mong quy vi thong cdm

Lời nói đần

Trang 4

Giao thức TCP/IP và mạng Internet

Giới thiệu mô hình OSI

Cấu trúc phân tầng trong TCI/IP Giao thifc Internet (Internet Protocol) Giao thức điều khiến truyền (TCP) Các mức bảo vệ an ninh cho mạng Internet Cấu trúc và thiết kế Firewall

Cấu trúc bộ chọn đường (Router) Các kỹ thuật chọn đường trong mạng máy tính

Kiểm tra vị trí bộ lọc gói và các địa chỉ giả Lọc gói trên sự vận chuyển mạng FTP Thành phần Firewall

Các thành phần của Firewall Dual-Homed Host

Các Host pháo đài (Bastion Host)

Cửa khẩu mức ứng dụng Các hệ thống Firewall

Hệ thống Firewall đùng Riuter lọc gối

Hệ thống Firewall:Screened Host Firewall

Hệ thống Firewall:.Demilitarized Zone Nguyên lý thiết kế một Firewall

Thiết kế một Firewall theo công nghệ Proxy Phần hạt nhân

Thành phần Host điều khiển và các kênh liên lạc Logging Agent

Khối nhận thuc(Authentication Agent)

Co sé dit liu bao mat

Trang 5

‘Ma hoé dit liéu trong Router Cisco Virus tin học với mạng Internet Virus tin học là gì? các phần mềm liên quan đến virus

Các loại virus tin học trong máy tính cá nhân PC Tính nhạy cảm của mạng Internet với Virus Hoạt động của các chương trình chống Virus Các biện pháp ngăn ngừa và sửa chữa

Chống Virus băng phương pháp Scanner

PassWord Cracker Siffer

Các yêu cầu về an toàn mang Internet Yêu cầu về chính sách tổng thể cho an toàn mạng Yêu cầu về chính sách linh hoạt

Yêu cầu xác định phương án xâm nhập dịch vụ mạng

Yêu cầu về Firewall Yêu cầu về việc triển khai các công cụ, cơ chế, thủ

tục

Yêu cầu sao lưu Kết quả khảo sát và phương án an toàn Kết quả khảo sát khả năng thực hiện biện pháp an toàn

Kiến trúc mạng VDC Xây dựng phương ấn an toàn cho mạng Internet

Tài liệu tham khảo

Trang 6

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn dé an todn, bdo mat Internet

PHAN 1

GIAO THUC TCP/IP VA MANG INTERNET

GIỚI THIỆU CHUNG

Ngày nay, cùng với sự phát triển của cuộc cách mạng khoa học kỹ thuật, chúng ta đã đạt được những thành tựu to lớn trong lĩnh vực công nghệ thông tin đáp ứng phần nào những yêu cầu giao lưu văn hóa, khoa học kỹ thuật giữa các nước trong khu vực cũng như trên trên thế giới Việc ghép nối mạng các may tính trở thành trở nên rất phổ biến nhằm phục vụ trao đổi thông tin, chia sẻ tài nguyên sẵn có v.v Mạng máy tính được sử dụng rộng rãi, ngày càng được khai thác có hiệu quả trong các lĩnh vực nghiên cứu, giáo dục cũng như trong thương mại Nhờ có mạng máy tính, thế giới dường như ngày càng thu nhỏ lại, khoảng cách con người ngày càng gần hơn về mặt địa lý, thời gian thu lượm thông tin được rút ngắn, do đó ta có thông tin kịp thời và chính xác Ta có thể nói mạng máy tính đã làm thay đổi cách sống, cách làm việc, cách suy nghĩ của con người trong thời đại ngày nay

Mạng máy tính tùy theo phạm vi hoạt động mà ta có mạng cục bộ (LAN - Local Area Network) và mạng diện rộng (WAN - Wide Area Network) Mang LAN là tập hợp các máy tính được kết nối với nhau trong một phạm vi địa lý nhỏ (có thể là tập hợp các máy tính trong một tòa nhà, công sở kết nối với nhau), mạng WAN có thể coi là tập hợp các mạng LAN -két nối với nhau trong vùng địa lý rộng lớn Mạng Internet có thể coi như một mạng WAN rộng lớn nhất liên kết các mạng LAN ở các vùng địa lý khác nhau trên khắp thế giới Mạng INTERNET phát triển trong những năm gần đây đã đáp ứng được các yêu cầu trao đổi thông tin kinh tế văn hóa

- khoa học kỹ thuật giữa các nước trong khu vực cũng như trên thế giới Việt nam ta, nhằm hội nhập vào thế giới và khu vực, đã và đang ngày một kết nối nhiều hơn vào mạng Internet

Internet {A mot mạng truyền thông dữ liệu diện rộng, bao trùm cả thế giới Intemet có cấu hình “mạng nhện”, tiền thân của nó là một hệ thống liên kết mạng của Bộ Quốc phòng Mỹ Ý tưởng về mạng Internet đã được bắt đầu từ năm 1960, với mục tiêu có được một mạng truyền thông liên kết các trung tâm nghiên cứu, hướng đến sự an toàn thông tin khi có sự

cố xây ra (chiến tranh, phá hoại v.v.) Internet có cấu trúc hình mạng nhện, khi một đường liên lạc bị cắt đứt, thông tin có thể đi theo một đường truyền khác, điều này đảm bảo truyền tin vẫn không bị gián đoạn

Trang 7

Dé tai KHCN - 01-02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

Mạng Internet là một mạng xa lộ thông tin nối, liên kết các máy tính

lại với nhau thông qua mạng điện thoại hay các kênh chuyên dùng đặc biệt

Thông qua Internet người dùng có thể liên lạc với nhau, tìm kiếm lưu trữ

thông tin, hoặc truy xuất một số địch vụ khác nhau v.v Tuy bắt nguồn của

mạng Internet là từ Bộ Quốc phòng Mỹ, nhưng đến thập niên 1980, người

Mỹ nhận thấy rằng mạng Internet có khả năng phục vụ kinh doanh:thuong

mại rất hữu hiệu 'Từ đấy, tốc độ phát triển của mạng Internet ngày càng

tăng nhanh vượt ra khỏi nước Mỹ bao trùm toàn thế giới Ngày nay, trên thế

giới đã có hàng chục triệu người sử dụng mạng Internet Mỗi tháng có hàng

ty bít thông tin được truyền qua mạng Internet Sự bùng nổ về mạng Internet

đã làm cho nhiều quốc gia nhìn thấy ở nó khả năng phục vụ cho sự phát

triển của đất nước và sự hội nhập với thế giới bên ngoài

Mạng INTERNET có thể coi là một cộng đồng các mạng LAN kết

nối với nhau sử dụng bé6 giao thtte TCP/IP (Transmission Control Protocol

/ Internet Prolocol - Giao thức diéu khiển truyền dữ liệu / Giao thức

Internet) lấy tên của hai giao thức quan trọng nhất Giao thức TCP là giao

thức ở lớp 4 trong mô hình 7 lớp OSI, nó cung cấp một phương thức truyền

đữ liệu tin cậy, chính xác, cho phép truyền lại các gói dữ liệu bị mất trong

quá trình truyền, Giao thức IP là giao thức ở lớp 3 trong mô hình mạng 7

lép OSI, nó cung cấp một phường thức truyền linh hoạt, nó tạo ra một liên

kết Ão khi truyền các gói dữ liệu Bộ giao thức TCP/IP có thể được bảo đảm

về độ tin cậy trong truyền tin trong môi trường WAN

‘ TONG QUAN VE MANG ©

Để giảm độ phức tạp của việc cài đặt và thiết kế mạng Hầu hết các

mạng roáy tính ngày nay đều được phân tích, thiết kế theo quan điểm phân

Trang 8

Nguyên tắc của kiến trúc phân tầng là: mỗi hệ thống trong một mạng đều có cấu trúc tầng (số lượng tầng, chức năng của mỗi tầng là như nhau) Sau khi xác định tầng và chức năng tầng thì công việc tiếp theo là định nghĩa mối quan hệ (Giao điện) giữa hai tầng kế nhau và quan hệ (giao diện) giữa hai tầng đồng mức ở hai hệ thống nối kết với nhau Trong thực tế, dữ liệu không được truyền trực tiếp từ tầng ¡ của hệ thống này sang tầng ¡ của

hệ hống khác (Trừ đối với tầng thấp nhất xử dụng đường truyền vật lý để truyền các bit (0,1) từ hệ thống này sang hệ thống khác) Ở đây quy ước dữ liệu bên hệ thống giti (Sender) được truyền sang hệ thống nhận (Receiver) bằng đường truyền vật lý và cứ thế đi ngược lên các tầng trên (ví dụ A và B trong Hình 1.1) Chỉ có tầng thấp nhất mới có liên kết vật lý, còn ở những tầng cao hơn chỉ là những liên kết lô gíc (liên kết ảo) được đưa vào để hình thức hoá các hoạt động của mạng thuận tiện cho việc thiết kế và cài đặt các phần mềm truyền thông

; Để hiểu về mạng Internet người ra đưa ra một số những tiêu chuẩn

để đánh giá hệ thống và chia chúng thành những phần nhỏ, đơn giản hơn (phân lớp) Sự ra đời của họ giao thức TCP/IP gắn liền với sự ra đời của mang Internet ma tién than 14 mang ARPAnet (ARPA viét tắt của chữ Advanced Research Projects Agency) do B6 Quốc phòng Mỹ tạo ra Đây là

bộ giao thức được dùng rộng rãi nhất vì tính “mở của nó Có nghĩa là bất -cứ máy nào dùng bộ giao thức TCP/IP đều có thể nối được vào mạng Internet Hai giao thức được dùng chủ yếu ở đây là TCP (Transmission

Control Protocol) và IP (Internet Protocol) Chúng đã nhanh chóng được

đón nhận và phát triển bởi nhiều nhà nghiên cứu và các hãng công nghiệp máy tính với mục đích xây dựng và phát triển một mạng truyền thông mở rộng khắp thế giới mà ngày nay chúng ta gọi là Internet Phạm vi phục vụ của Internet không còn dành cho Quân sự như APRAnet nữa mà nó đã mở rộng lĩnh vực cho mọi loại đối tượng sử dụng, trong đó tý lệ quan trọng nhất vẫn thuộc về giới nghiên cứu khoa học và giáo dục

Để hiểu về bộ giao thức TCP/IP chúng ta hãy tìm hiểu qua về mô hình OSI (Open System Interconnection) trong chuong sau day

Trang 9

Đề tài: KHCN - 01-02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

1.1 GIGI THIEU MO HINH OSI

Để hiểu về Internet với họ giao thức TCP/IP trước hết ta hãy xem xét

mô hình tham chiếu OSI 7 lớp

Cấu trúc của mô hình OSI được biểu diễn theo mô hình sau: °

giao thức tầng 7 giao thức tầng 6

giao thức tầng ! Đường truyền vatly

Hình 1.1.1 Mô hình OSI 7 tang

Các lớp trên thưc hiên các chức năng như sau:

Lớp nối vật lý (physical link Layer)

- Lớp này liên quan đến nhiệm vụ truyền đòng bit không có cấu trúc qua đường truyền vật lý nhờ các phương tiện điện, cơ, hàm và thủ tục

hay nói tóm lại, lớp này làm các nhiệm vụ sau:

© Lập, cắt cuộc nối

s« Truyền tin dạng bit qua kênh vật lý

e Có thể có nhiều kênh

Lớp nối số liệu (data link Layer)

Lớp này đảm bảo việc biến đổi các tin đạng bít nhận được từ lớp dưới (vật lý) sang khung số liệu, thông báo cho hệ phát kết quả thu được sao cho các thông tin truyền lên cho mức 3 không có lỗi Các thông tin truyền ở mức Ì có thể làm hỏng các thông tin khung số liệu (frame error) Phần mềm

Phén I: Giao tite TCPUP va mang Internet

Trang 10

Độ lớn của bộ đệm này phụ thuộc vào tương quan xử lý của các hệ thu và phát Trong trường hợp đường truyền song công toàn phần, lớp datalink phải đảm bảo việc quản lý các thông tin số liệu và các thông tin trạng thái

Lớp mạng (Network Layer)

Lớp mạng có thể gọi một cách khác là lớp Hên lạc mạng (Communication subnet layer) theo dõi toàn bộ hoạt động của subnet, các

thông tin số liệu ở lớp này được tổ chức thành từng gói dữ liệu (packers)

chứa đây đủ địa chỉ gốc (source) và địa chỉ đích (destination)

Số lượng các gói dữ liệu truyền trên các kênh khác nhau của mạng thông tin máy tính phụ thuộc vào lưu lượng thông tin trên các đường truyền Lớp mạng đảm bảo tìm đường tối ưu cho các gói dữ liệu bằng các giao thức chọn đường dựa trên các thiết bị chọn đường (zouter ) Lớp mạng kiểm soát thông tin trong mạng để quyết định số lượng gói vận truyển, tránh trường hợp có quá nhiều gói đữ liệu trên subne gây ra tắc nghẽn

Lớp điều vận (Transport layer)

Lớp này thực hiện các chức năng nhận thông tin từ lớp phiên (session) chia thành các gói nhỏ hơn và truyền xuống lớp dưới, hoặc nhận thông tin

từ lớp dưới chuyển lên phục hồi theo cách chia của hệ phát Yêu cầu nối xuất phát từ lớp 5 (session), trong trường hợp hệ thống yêu cầu chuyển nhanh thông tin, lớp diéu van sé thiết lập nhiều cuộc nối để tăng lưu lượng thông tin trên mạng (phí thuê bao tăng) Hoặc hệ thống có thể dùng chung cuộc nối cho các thông tin khác nhau (giảm phí thuê bao) Cơ chế để kiểm soát đòng thông tin để đồng bộ tốc độ xử lý giữa các hệ (giữa hệ nhanh và chậm)

Lớp phiên (Session layer)

Cuộc nối giữa 2 người dùng gọi là phiên Giao diện giữa mạng và người sử dụng, người sử dụng thiết lập, quản lý đối thoại, kết thúc cuộc nối cho phép người sử dụng thâm nhập vào hệ xa, vận chuyển Øije giữa các hệ Trong trường hợp các đường truyền không thông hoặc chưa vận chuyển hết

Trang 11

Dé tai KHCN - 01-02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

thông tin cho hệ ở xa được, lớp phiên sẽ đảm bảo không hoặc chưa chuyển giao cdc thông tin đó cho hệ xa (thí dụ trong khi truyền Øie số liệu lớp phiên sẽ đợi nhận đủ /ie mới chuyển cho người sử dụng dùng ở hệ xa )

Lớp trình diễn (Presentation layer)

Chứa các thư viện các yêu cầu của người đùng, thư viện tiện ích Thí

dụ thay đổi dạng thể hiện của các file, nén ƒi/e để đáp ứng nhu cầu truyền

dữ liệu của các ứng dụng qua môi trường OSI

Lớp ứng dụng (Application Layer)

Lớp ứng dụng cho phép người sử dụng khai thác các tài nguyên trong mạng tương tự như tài nguyên tại chỗ (hệ thống mạng trong suốt đối với người dùng (User transparent)

Tóm lại, qua phân tích trên chúng ta đã hiểu được phương thức phân tầng cũng như chức năng của mỗi tầng trong mô hình OS1 7 tầng Tuy nhiên

do lấy mô hình này để gới thiệu về mô hình mạng chứ không đi cụ thể vào phương thức hoạt động, cùng những quy tic truyền thông của các giao thức tại mỗi tầng Mục tiếp theo sau đây sẽ giới thiệu về cấu trúc phân lớp trong

hiện trên mạng truyền thông hiện nay như IEEE 802.X dùng trong mạng, cục bộ, CCITT-X25 dùng cho mạng diện rộng và đặc biệt là họ giao thức

chuẩn của ISO (Tổ chức tiêu chuẩn bóa quốc tế) dựa trên mô hình tham chiếu bảy tầng cho việc nối kết các hệ thống mở Gần đây do sự xâm nhập của mạng Internet vào Việt nam chúng ta được làm quen với họ giao thức mới là TCP/IP mặc dù chúng đã xuất hiện từ hơn 20 năm trước đây

Nếu mô tả TCP/IP theo mô hình các lớp ta có hình vẽ sau:

Phần I: Giao thức TCPIIP và mạng Internet

Trang 12

3 Host to Host Transport Layer

Cung cấp các dịch vụ truyền đữ liệu liên tục

2 Internet Layer

Định nghĩa đơn vị truyền và có nhiệm vụ tìm đường

1 Network Access Layer

Bao gồm các công việc cần thiết để truy nhập

- trước phân dữ liệu được truyền Mỗi lớp xem tất cả các thông tin mà nó nhận được từ lớp trên là dữ liệu, và đặt phần thông tin điểu khiển header của nó vào trước phần thông tin này Việc cộng thêm vào các header & m6i lớp trong quá trình truyền tin được gọi là encapsulation Quá trình nhận dữ liệu diễn ra theo chiều ngược lại, mỗi lớp sẽ tách ra phần heađer trước khi truyền dữ Hệu lên lớp trên

Trang 13

Hình 1.2.1 Mô phỏng quá trình truyền và nhận đữ liệu

Mỗi lớp có một cấu trúc dữ liệu độc lập, và mỗi lớp không hê biết đến cấu trúc dữ liệu được dùng ở lớp trên hay lớp dưới của nó Trong thực tế, cấu trúc dữ liệu của một lớp được cấu tạo tương thích với cấu trúc đữ liệu ở các lớp ngay cạnh để cho việc truyền dữ liệu được hiệu quả hơn Tuy nhiên

ở mỗi lớp vẫn có một cấu trúc dữ liệu riêng và có một thuật toán riêng để

Trang 14

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

di dudi dang cdc packets hay 14 các ƒframes Ö đây ta thừa nhận mẫu dữ liệu

mà lớp mạng vật lý dưới cùng truyền đi gọi là #ames

L6p truy nhap mang (Network Access Layer)

Network Access Layer là lớp thấp nhất trong cấu trúc phân bậc của TCP/IP Những giao thức ở lớp này cung cấp cho hệ thống phương thức để truyền dữ liệu trên các tầng vật lý khác nhau của mạng Nó định nghĩa cách thức truyền các khối dữ liệu (đatagram) IP Các giao thức ở lớp này phải biết chỉ tiết các phần cấu trúc vật lý mạng ở dưới nó (bao gồm cấu trúc gói , của nó, địa chỉ ) để định dạng được chính xác các đữ liệu sẽ được truyền tùy thuộc vào từng loại mạng cụ thể

So sánh với cấu trúc OSI thì lớp này của TCP/IP tương đương với ba

lớp Network, Datalink, và Physical trong cấu trúc OSIL

Chức năng định dạng dữ liệu sẽ được truyền ở lớp này bao gồm việc

đóng gói các gói đữ liệu IP vào các ##amie sẽ được truyền trên mang va việc

sáo xếp các địa chỉ IP vào phần dia chi vat lý được dùng cho mạng

Lớp liên mạng (Internet Layer)

Internet Layer là lớp ở ngay trên lớp Network access trong cấu trúc phân lớp của TCP/IP Internet Protocol (TP) là giao thức trung tâm của TCP/IP, và là phần quan trọng nhất của lớp Internet IP cung cấp các gói lưu chuyển cơ bản mà thông qua đó các mạng dùng TCP/IP được xây dựng

IP bao gồm một số chức năng sau:

Nó định nghĩa các khối đữ liệu (datagram), đây là khối cơ bản của việc truyền tin -

Trang 15

Dé tai KHCN - 01-02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

- Định nghĩa hệ thống địa chỉ của IP

- Truyén dữ liệu giữa lớp Transport và lớp Network Access

- Định tuyến đường để gởi các gói đữ liệu đến các trạm ở xa

- Thực hiện việc phân mảnh và hợp nhất (fragmenfation - reassembly)

các khối dữ liệu

Để hiểu thêm về IP, ta hãy xem cấu trúc địa chỉ mà nó sử dụng (thường gọi là IP Address) Để đảm bảo cho tất cỗ các trạm trên mạng được

định danh một cách duy nhất, IP sử dụng 32 bit cho mỗi địa chỉ Để tiện

‘cho việc quản lý người ta chia địa chỉ IP thành 4 lớp (Class), mỗi lớp địa chỉ

tương ứng với một kích thước mạng khác nhau và số lượng các trạm làm

việc nối vào Hình 1.2.2 sẽ cho thấy cấu trúc của các lớp địa chỉ được sử

dung trong IP

Trang 16

Đề tài: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

Năm bít đầu tiên của địa chỉ cho ta biết cấu trúc lớp của địa chỉ được

sử dụng Các bít còn lại được sử dụng làm hai phần:

« Một phân dùng để định địa chỉ mạng (netid)

® Một phần dùng để định địa chỉ các trạm làm việc trên mạng đó

số lượng lớn các mạng con, trong đó mỗi mạng con chỉ có một số ít trạm

làm việc được nối vào (tối đa là 256 trạm) :

Để tiện cho việc thực hiện các phương cách tìm đường trên mạng, người ta đưa ra khái niệm Subnet Mask Subnet Mask cũng giống như địa chi IP bao gém 32 bit Muc đích của địa chỉ Subnet Mask là để theo dõi

vùng nào trên địa chỉ IP dùng để làm địa chỉ Subnet và vùng nào dùng làm

địa chỉ cho.cac trạm làm việc Nội dung của địa chỉ Subnet Mask được qui định như sau:

Các bít I: dùng để chỉ định địa chỉ mạng trên địa chỉ IP

Các bítO: đùng để chỉ định địa chỉ trạm làm việc trên địa chi IP

Từ địa chỉ IP ta thực hiện phép toán logic AND với địa chỉ Subnet Mask kết quả tạo ra sẽ được địa chỉ mang nơi đến Kết quả này được sử dụng để tìm bước tiếp theo trong thuật toán tìm đường trên mang Néu két quả này trùng với địa chỉ mạng tại trạm đang làm việc thì sẽ xét tiếp địa chỉ

- trạm làm việc để truyền đi Theo cấu trúc của Subnet Mask ta nhận thấy rằng tất cả các trạm lầm việc trong cùng một mạng con sẽ cố cùng giá trị Subnet Mask

Nhờ có Subnet Mask một địa chỉ mà phần Hostid = 0 dùng để tham chiếu tới mạng (netid) hơn là tới trạm Tương tự, một địa chỉ mà có vùng hostid có tất cả các bít đều bằng một được tham chiếu tới tất cả các trạm nối với mạng có địa chỉ nằm trong vùng netid Ngược lại, nếu một vùng netid

có tất cả các bít đều bằng một sẽ tham chiếu tới tất cả các trạm trong liên

Trang 17

là địa chỉ nhĩm và dữ liệu sẽ được truyền tới mọi thành viên trong nhĩm ác đoạn

Lớp vận chuyển (Transport Layer):

Lớp giao thức nằm ngay trên lớp IP là Transport (lớp truyền tin) Hai glao thức quan trọng nhất trong lép nay 14 TCP (Transmission Control Protocol) va UDP (User Datagram Protocol) TCP cung cấp dịch vụ truyền

dữ liệu được tin tưởng với khả năng phát hiện lỗi và sữa lỗi theo kiểu end- to-end Cịn UDP cung cấp các chương trình ứng dụng thâm nhập trực tiếp đến các dịch vụ lưu chuyển datagram, điêu này cho phép trao đổi các thơng điệp ra ngồi mạng với một số lượng nhỏ các giao thức Cả hai giao thức này đều truyền dữ liệu giữa lớp ứng dụng và lớp Internet

Trong khi IP là giao thức thuộc loại “khơng liên kết” (connectionless) như đã nĩi ở trên thì TCP lại thuộc loại “cĩ liên kết” (còmection - oriemted) nghĩa là phải cĩ các thủ tục thiết lập liên kết và thủ tục giải phĩng liên kết

Về chức năng TCP tương đương với lớp giao thức đây đủ nhất của giao thức

chuẩn Transport của ISO (tức là C/ass 4) Tuy nhiên, khác với mơ hình OSI,

TCP dit dung phương thức trao đổi các dịng dữ liệu (Døa Šzeam) giữa người sử dụng Dữ liệu theo dịng cũng được phân đoạn thành các TPDU

(Transport Protocol Data Unit) dé truyền di

Giao thức UDP 1A mét giao thitc “ khéng lién két ” Trong hé théng mạng UDP truyền dỡ liệu một cách trực tiếp, UDP sử dụng 16 bít để ghi

Trang 18

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

nhận cổng nguồn và cổng đích trong phần Header của dữ liệu Cổng (port)

ở đây có khái niệm như là một số với giá trị từ 0 đến 1023 Các cổng chuẩn

là các cổng hay được dùng tới, ý nghĩa của từng cổng được qui định theo

một chuẩn nhất định UDP làm một công việc rất đơn giản, nó truyền từng

thông điệp tới IP để yêu cầu truyền, đo IP là loại giao thức không thực nên

ở đó không có gì đảm bảo cho sự truyền Khi lớp ứng dụng gửi một yêu cầu qua UDP Datagram và lời đáp không quay trở lại trong một số lần nào đó thi nó sẽ yêu cầu lớp ứng dụng gửi yêu cầu lại :

Lớp ứng dụng (Application Layer):

Lớp ứng dụng là lớp giao thức nằm trên cùng trong cấu trúc phân lớp của bột giao thức TCP/IP Lớp này bao gồm tất cả các tiến trình dùng các giao thức của 16p transport dé truyền dữ liệu Có nhiều giao thức ứng dụng

ở lớp này Phần lớn là đều cung cấp cho người dùng các dịch vụ ứng dụng Các dịch vụ thông dụng trên lớp này như:

- Telnet : cung cấp khả năng truy cập từ xa thông qua mạng

- FTP : dùng để truyền file trên mạng

- SMTP : truyền thư điện tử

- Các dịch vụ khác như Gopher, Mosaic, WWW

Để hiểu rõ về hoạt động của họ giao thức TCP/IP ta sẽ lần lượt nghiên cứu tiếp các chương sau đây

1.3 GIAO THỨC INTERNET (INTERNET

Cấu trúc dữ liệu được truyền ở lớp IP được định nghĩa là các datagram M6i datagram có một header chứa các thông tin cần thiết để

Trang 19

là không nằm trên cùng một mạng với máy nguồn thì các gói dữ liệu phải được gởi đến một gateway để truyền đi (Trong đó gateway là lưu chuyển các gói dữ liệu nằm giữa hai mạng vật lý khác nhau)

1.3.1 Khuôn dạng gói dữ liệu IP

Hình 1.3.1 mô tả cấu trúc của một gói dữ liệu

« Truong Version-4bits:

Ding dé chi Version cha IP đang được dùng

e Trường IHL.-4bits

Chỉ độ dài của header, do vậy, độ dài của header đuợc đánh giá bởi

các từ 32 bịt, vị trí của dữ liệu có thể thấy sau bất cứ một option nào được

định nghĩa Bình thường nó là 5, chỉ rõ không có các option nào được sử

dụng

e Trường Type of Service-8bits:

Trường 7y/£ øƒ Šervice chứa các thông tin về các dịch vụ, nó có vai trò quan trọng việc điểu khiển các gói dữ liệu Trường này gồm có 8 bịt Nó

cũng giữ các cờ được sử dụng cho TOS và thủ tục Ba bit đâu tiên được sử dụng để chỉ một trong 8 mức của thủ tục Điều này cho phép một node IP lựa chọn các gói dữ liệu hiện tại có mức ưu tiên cao hơn các gói khác Nhưng cũng có một vài Router không quan tâm đến điều đó

Cờ -] đòi hỏi một liên kết chậm hơn, nếu có đường dẫn đến mạng

mà một Router biết để trễ thấp hơn các đường khác, nó sẽ được lựa chọn

Các đường truyền có tính tương tác sử dụng phản hồi xa có thể yêu cầu dịch

Bit cuối cùng không được dùng

Trang 20

Identification Flags Fragment Offset

‘Time to live Protocol Header checksum

® Trudng Total Length-16 bits:

Truong Total Length chứa độ dài của gói, được đo dưới dạng các octets, bao g6m ca phần header lẫn phần dữ liệu của mỗi gói dữ liệu Trường này I6 bits, có nghĩa là kích thước lớn nhất của gói có thể lên đến

65.535 octets, lớn hơn rất nhiều so vớ hầu hết các kích thước của các mạng `

vật lý trợ giúp Khi gói đữ liệu được phân đoạn thì giá trị này chỉ số hiệu của gói ban đầu |

e Trường Identification - l6 bits:

Đây là giá trị Integer dùng để nhận dạng tất cả các đoạn của một gói

dữ liệu Trường này sẽ là duy nhất cho mỗi gói dữ liệu mới được gửi bởi một host và thường gia tăng đơn giản Nó rất quan trọng để nhận dạng các

- đoạn trong gói giống như số hiệu tuần tự Khi IP không được thì liên kết không có các khái niệm tuần tự các gói đữ liệu và từ đó dịch vụ IP có thể trợ giúp một vài tầng giao vận khác “đàm thoại ' Không có sự cần thiết

- Hiên quan giữa giá trị của ¡d và trật tự các gói gửi qua cuộc đàm thoại với các node khác Khái niệm này sẽ được xem xét đây đủ hơn trong phần bao

bọc đoạn

Hai bít trọng lượng thấp được sử dụng giống như các cờ để điều khiển đoạn giữ liệu Bit có trọng lượng thấp thấp nếu là 0 (zero), thì đó là đoạn cuối cùng của một gói dữ liệu Bit giữa được sử dụng để cho biết gói

dữ liệu sẽ không được phân đoạn, gọi là cờ không phân đoạn hay ĐFE-biL

Bịi có trọng lượng cao nhất không được sử dụng

e Trudng Fragment offset- 13 bits:

Trang 21

Dé tai KHCN - 01-02

Để tài nhánh: Vấn đề an toàn, bảo mật Internet

Trường này được sử dụng với các gói đữ liệu được phân đoạn để chỉ

ra vị trí mà gói dữ liệu trong đoạn này chứa đây trong cdc message nguyên bản Nó được sắp xếp trong tập hợp 8 octets Như vậy, các đoạn phải được xây dựng trong các nhóm 8-octets

e Truong Time to live 8 bits:

Trường time to live (TTL) được tạo bởi người gởi dữ liệu và bởi các Router Nếu hoạt động của TTL giảm đến không, dữ liệu bị thải hồi (loại bỏ) Điều này ngăn cản các gói dữ liệu không bị quần trên mạng Một

Router sé khong nhận gói dữ liệu mà có TTL giảm đến 0 Giá trị cửa TTL

này có thể được cấu hình trong một vài thực hiện của phần mêm TCP/IP và các giá trị của nó có thể là rất quan trọng Nếu các giá trị của trường được tao rất nhỏ, nó có thể làm các gói đữ liệu đó có thể đến các phân xa nhất

của một mạng rộng

® Trường Protocol - 4 bits:

Trường giao thức cho biết giao thức tầng Transport được mang bởi

gói dữ liệu này Nó báo cho tang IP rằng tầng Transport chuyển gói dữ liệu

đến Các giá trị biểu thị các giao thức tầng Transport được mang trong gói

dữ liệu này thường là:

° T rường Header checksum -16 bits:

Tổng kiểm tra, chỉ bảo vệ phần header IP của nó, và không bảo vệ đữ liệu nó mang Ly do chính cho phần này là phần tổng kiểm tra recalculated mọi thời gian nó đi qua một Router, Giá trị TTL, các cờ, và Fragment offset

có thể thay đổi Nếu dữ liệu cũng được bao gồm trong tổng kiểm tra, sẽ có

thể bị kéo đài thời gian hơn do tính toán và vì thế đữ liệu bị trễ lâu hơn Tổng kiểm tra là một việc tính toán đơn giản, nó dựa vào việc tạo các Header nhu 16 bits Integer

* Trudng Source IP Address 32 bits

Địa chỉ nguồn

¢ Trudng Destination IP Address-32 bits:

Địa chủ đích

¢ "Trường Data - có thể thay đổi

Phần này bao gồm các header của các giao thức tầng cao hơnvà dữ liệu người sử dụng

© Trường Option-có thể thay đổi:

Trường này có thể thay đổi được, có thể có nhiều option trong mét

don vi dit ligu don, mdi ching duge dinh nghia 16 trong hinh 1.3.2 Các

Trang 22

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

option đó thường được sử đụng trong các gói dữ liệu sau phần header chuẩn

(20 bytes) và đứng trước byte đữ liệu đầu tiên Kích thước lớn nhất của

1.3.2 Việc định tuyến đường để gửi các gói dữ liệu:

Hình vẽ sau mô phỏng cho ta thấy việc dùng các gateway để gửi các

Trang 23

Các máy chỉ có thể truyền dữ liệu đến các máy khác nằm trên cùng một mạng vật lý Các gói từ A1 được dành riêng cho Cl sẽ được hướng đến gateway G1 va G2, tram AI đầu tiên sẽ truyền các gói đến gateway GI thông qua mạng A, sau đó G1 truyền tiếp đến G2 thông qua mang B, cuối cùng G2 sẽ truyền các gói đến trực tiếp đến trạm C, bởi vì chúng được nối trực tiếp với nhau thông qua mạng C Trạm AI không hề biết đến các gateway nam 6 sau G1 N6 giti các gói được dành cho các mạng B và C đến

gateway cuc bộ G1, và dua vào gateway này để định hướng tiếp cho các gói

dữ liệu đi đến đích Theo cách này thì trạm C trước tiên sẽ gởi các gói của mình đến cho G2, và G2 sẽ gởi đi tiếp cho các trạm ở trên mạng A cũng

3 Việc phân mảnh các gói dữ liệu

Trong quá trình truyền đữ liệu, một gói dữ liệu (đafagram) có thể được truyền đi thông qua nhiều mạng khác nhau Một gói dữ liệu (datagram) nhận được từ một mạng nào đó có thể quá lớn để truyền đi trong gói đơn ở trên: một mạng khác, bởi mỗi loại cấu trúc mạng là cho phép một đơn vị truyền cuc dai (maximum transmission unix), hay con gọi là MTU, khác nhau Đây chính là kích thước lớn nhất của một gói mà chúng có thể truyền

Nếu như một gói dỡ liệu nhận được từ một mạng nào đó mà lớn hơn MTU

của một mạng khác thì nó cần được phân mảnh ra thành các gói nhỏ hơn,

goi la fragment, dé truyén di, quá trình này gọi là quá trình phân mảnh

Dang cla m6t fragment ciing Biống như dạng của một gói dữ liệu thông thường Từ thứ hai trong phần header chứa các thông tin để xác định mỗi fragment va cung cap cdc thông tin để hop nhat cdc fragment này lại thành cdc gdi nhu ban dau Truéng identification ding dé xdc dinh fragment nay

là thuộc về gói dữ liệu nào

Trang 24

đữ liệu đã phân đoạn, nó sẽ không được ráp lại cho đến khi nó đến được Node cuối cùng

Việc ráp các đoạn đữ liệu tại các Node trung gian thành một gói

trước khi đến đích sẽ gặp phải những khó khăn sau đây:

« Thứ nhất, Trong một mạng nhiều đường dẫn, các đoạn dữ liệu có

-_ thể đi đến đích bằng nhiều đường dẫn khác nhau Một node trung gian có thể sẽ không gặp tất cả các đoạn, nên việc lắp ráp gói dữ liệu là không thành công

« Thứ hai, để lắp ráp tại một node (Router) giữa, sẽ đòi bỏi node

phải thu thập tất cả các đoạn trước khi chuyển tiếp toàn bộ gói dữ liệu, điều này sẽ làm chậm thời gian truyền tin Hơn nữa, sau đó lại tiếp tục phân đoạn lần nữa Đây là phương pháp không tối ưu ICMP (Internet Control Message Protocol):

Đây là một giao thức của lớp IP, nó dùng các gói dữ Hệu IP để gởi đi các thông điệp của nó ICMP gởi các thông điệp có dạng như điều khiển dòng truyền, báo lỗi, và các thông tin chức năng của TCP/IP như :

Điều khiển dòng truyền (Flow control): khi các gói đữ liệu đến quá nhanh, trạm đích hoặc một gateway ở giữa sẽ gởi một thông điệp ICMP trở lại nơi gởi, thông điệp này nói với nơi gởi tạm thời ngừng việc gởi đữ liệu lại

Thông báo lỗi: trong trường hợp địa chỉ đích là không với tới được thì

hệ thống sẽ gởi một thông báo lỗi “Desstination Unreachable” Nếu địa chỉ

dích không thể với đến là một mạng hay một trạm thì thông điệp này sẽ

“được gởi bởi một gateway ở giữa Nhưng nếu địa chỉ đích là một cổng không thể với đến thì chính trạm đích sẽ gởi thông điệp báo lỗi này

Định hướng các tuyến đường: một gateway sẽ gởi một thông điệp ICMP “Redirect Router” để nói với một trạm là nên dùng gateway khác bởi

vì dùng gateway này là một lựa chọn tốt hơn Thông điệp này có thể chỉ được dùng khi mà trạm nguồn là ở trên cùng một mạng với cả hai gateway Kiểm tra các trạm ở xa: một trạm có thể gởi một thông điệp ICMP

“Echo” đi để biết được liệu một trạm ở xa có đang mở và hoạt động hay

Trang 25

Có rất nhiều yêu cầu thông tin liên lạc chưa được đáp ứng đây đủ, đặc biệt

là do khả năng liên lạc thiếu tin cậy và ảnh hưởng của việc tắc nghẽn lưu thông trong mạng

Về chiến thuật và chiến lược, các mạng liên lạc máy tính được phát triển và phổ biến, cần thiết phải cung cấp các phương tiện để kết nối chúng

và cung cấp các giao thức liên lạc tương tác tiêu chuẩn, có thể trợ giúp cho một phạm vi lớn các ứng dụng Do lường trước được nhu cầu đối với các chudn nhu thé, DUDRE{ Deputy Udersacretary of Defense for Research and Engineering) đã cho ra đời gaio thức TCP và công bố sẽ dùng nó làm nền tắng cho việc chuẩn hoá một số giao thức liên mạng

TCP là một giao thức tin cậy hướng kết nối kiểu mút tới mút (End - to

- End), được thiết kế để phù hợp với việc phân cấp giao thức theo tầng, trợ giúp cho các ứng dụng liên mạng TCP cung các liên lạc tín cậy cho việc tương tác giữa các cặp quá trình trong các máy host nối với các mạng liên lạc máy tính khác nhau nhưng có tương tác kết nối TCP cho rằng nó đã có một địch vụ đzfzgram: đơn giản, còn tương tác đói thiếu tin cậy từ các giao thức, thấp hơn Về nguyên tắc, TCP cần có khả năng điêu hành trên một phạm vị rộng các hệ liên lạc từ các kết nối dây cứng (hard-wired) tới các mạng chuyển mạch kênh hay chuyển mạch gói

Giao thức TCP phù hợp với một kiến trúc phân tầng và nó chỉ nằm trên một giao thức cơ bản là IP (nternet Protocol) IP là giao thức cung cấp cho

ˆ TCP khả năng gửi và nhận các segment thông tin có độ đài thay đổi được chứa trong các gdéi dit liu (Datagram) nhu đã trình bẩy trong chương Internet Protocol (IP) Tuy nhiên, ở đây xin được nhắc lại một số liên quan chủ yếu tới TCP để tiện cho phân tích các hoạt động của giao thức TCP trong phần sau ˆ

Phần I: Giao thức TCPIIP và mạng Internet 20

Trang 26

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

M6t Internet datagram cung cấp một phương tiện để đánh địa chỉ các

TCP nguồn và đích trong các mạng khác nhau IP cũng đồng thời làm việc

với sự phân mảnh hay ráp nối các TCP segment để thu được sự truyền tải

và chuyển giao thông qua liên mạng thông qua liên mạng và các Gateway

IP cũng mang thông tin về các phân lớp, các mức ưu tiên, bảo mật của các TCP segment, vì vậy thông tin này có thể được liên lạc mút tới mút (end- to-end) thông qua liên mạng

mức cao hơn cho Host Một hệ thống máy tính được nối với mạng thông qua các máy tính có dùng TCP và các tầng giao thức Internet, cũng như

các phần mềm mạng Chỉ tiết kỹ thuật về TCP mô tâ một giao diện với các giao thức mức cao hơn Việc này có thể được hoàn thành, chừng nào mà một giao thức phù hợp với các máy có TCP và Host được thiết lập

1.4.1 Các giao diện của TCP

Các giao diện của TCP nằm ở hai phía: Một phía đối với người dùng hoặc với quá trình ứng dụng, và phía bên kia đối với giao thức mức thất hon ohu IP

Giao diện giữa một quá trình ứng dung va TCP bao gồm một tập các lời gọi giống như lời gọi mà hệ điều hành cung cấp cho một quá trình ứng dụng để thao tác với các tệp Ví dụ có những lời gọi để đóng và mở các kết nối, để gửi và nhận đữ liệu tên các kết nối đã thiết lập Người ta cũng mong muốn rằng TCP có thể liên lạc không đông bộ với các chương trình ứng dụng Mặc dù, những thiết lập TCP thường thiết kế những giao diện tương ứng với các môi trường hệ điều hành khác nhau, nhưng để thu được hiệu

Trang 27

e Ưu tiên và bao mat

Hoạt động cơ bản của TCP trong từng mặt này được mô tả tóm tắt như sau:

Tuyển đữ liệu cơ bản

TCP có thể truyền một luồng liên tục các bytes theo mỗi hướng giữa các người dùng của nó bằng cách đóng gói một số lượng byte nào đấy vào trong cic segment dé truyén qua mang Internet Cac TCP sé quyét dinh khi nào thì đóng gói và đưa dữ liệu di vào lúc nào thấy thuận tiện

Đôi khi, người sử đụng cần được bảo đảm rằng tất cả các dữ liệu họ

đưa cho TCP đã được truyền đi Vì thế, một hàm push được định nghĩa Để

đảm rằng tất cả dữ liệu được chuyển giao cho một TCP thực sự đã được truyền đi, người dùng bên gửi biểu thị rằng dữ liệu cần được đưa cho người dùng bên nhận đến hết Một hàm push làm cho TCP xúc tiến ngay lập tức,

Trang 28

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mat Internet

và chuyển giao dữ liệu hết cho bên nhận Tuy: nhiên, điểm push chính xác

có thể không thấy được đối với người dùng bên nhận

Độ tin cay

TCP buéc phai kh6i phuc lai dir liéu da bi hu héng, mat mat, trùng lặp hoặc được chuyển giao không theo yêu cầu do hệ thống liên lạc của mạng Internet Điều này đạt được bằng cách gán một số hiệu tuần tự cho mỗi byte được truyền, và yêu cầu một xác nhận ACK từ TCP nhận Nếu ACK không nhận được trong quãng thời gian một /ữmeout, dữ liệu sẽ được truyền lại Ở bên nhận, các số hiệu tuần tự được sử dụng để xếp thứ tự

chính xác các segren nhận được và để hạn chế các trùng lặp Sự nhầm lẫn

được điều hành nhờ thêm một chechsu vao méi segment được truyền, để kiểm tra nó tại đầu nhận, và huỷ bỏ các segmen hư hỏng

Ching nao mà các TCP còn hoạt động đúng và mang Internet trở nên

bị chia cắt hoàn toàn thì không một lỗi nào có thể ảnh hưởng tới sự chuyển giao đúng đấn dữ liệu TCP sẽ phục hồi được từ các lỗi của hệ thống liên

lạc

Điêu khiển luồng

TCP cung cấp một phương tiện cho bên nhận để điều hành lượng dữ liệu gửi tới Khả năng này tra vé bằng cách đạt được cửa sổ hay

“Window” Mỗi ACK chỉ ra khoảng các số hiệu tuần tự chấp nhận tuỳ vào segmenf cuối cùng nhận được thành công Window biểu thị số lượng các bytes mà bên gửi có thể truyền trước khi nhận được sự cho phép tiếp theo Đồn kênh

Để cho phép nhiều quá trình trong một host riêng lẻ dụng các tiện ích liên lạc TCP một cách đồng thời TCP cung cấp một tập hợp các địa chỉ hoặc cổng trong nội bộ từng Host Việc móc nối các địa chỉ mạng và địa chỉ Host vào với nhau từ tầng liên lạc mạng Internet tạo ra một socket Một

cặp socket xác định duy nhất một kết nối Có nghĩa là, một socket có thể

đồng thời được dùng cho nhiều kết nối

Việc kết hợp của các cổng (porÐ với các quá trình được điều hành độc lập do từng host Tuy nhiên, kết nối các quá trình được sử dụng thường

xuyên đã tỏ ra hữu dụng hơn ( ví dụ, một “logger” hoặc một dịch vụ chia

Trang 29

Dé tai KHCN - 01-02

Đề tài nhánh: ` Vấn đề an toàn, bảo mật Internet

sẻ thời gian) khi công bố các socket cố định chung Những dịch vụ này lúc

đó thể được truy nhập qua các địa chỉ đã biết Thiết lập và tìm hiểu về các dia chi Port của các quá trình khác nhau đòi hỏi phải có nhiều cơ cấu năng

Ưu tiên bảo mật

Những người dùng TCP có thể yêu cầu mức bảo mật (security) va dé

ưu tiên (precedence) cho việc liên lạc của hợ Luôn có những dự phòng với

các giá trị ngầm định để sử dụng khi các đặc tính này không được dùng tới

1.4.3 Các thành phần của một hệ thống mạng

Môi trường mạng giao tác bao gồm các host được nối với các mạng mà

đến lượt chúng lại được nối với nhau qua các gateway Giá thiết ở đây, các

rạng có thể hoặc là các mạng cục bộ (ví dụ như Ethernet) hoặc các mạng

lớn hơn (ví dụ như arpanef), nhưng trong trường hợp nào cũng dựa trên

công nghệ chuyển mạch gói Các phần hoạt động vừa tạo ra, trong các

mạng, các gateway, và các Host trợ giúp cho một hệ thống liên lạc xử lý tương tác cung cấp nguồn đữ liệu hai chiều trên các kết nối giữa các cổng

Phần I: Giao thức TCPIIP và mạng Internet 24

Trang 30

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo mật Internet

Khái niệm ?acke: được dùng để nói đến dữ liệu của một giao địch

giữa một Host và mạng của nó Ở đây ta không quan tâm tới khuôn dang của các gói dit liệu được trao đổi trong mạng

Các Host là các máy tính nối với mạng, và theo quan điểm các mạng liên lạc, chúng là nguồn và đích của các packet Quá trình được xem như các phần tử tích cực trong các Host (phù hợp với định nghĩa chung cửa một

quá trình như là một chương trình đang thực hiện) Thậm chí, các Terminal

và các File hay các thiết bị vào/ra khác cũng được xem như liên lạc với nhau thông qua việc sử dụng quá trình Vì vậy, mọi liên lạc được coi như là liên lạc xử lý tương tác (mer-process)

1.4.4 Mô hình hoạt động của TCP

Các qúa trình truyền đữ liệu bằng cách nhờ đến TCP và các vùng đệm

dữ liệu làm đối số TCP đóng gói đữ liệu từ các vùng đệm này thành các

segment và nhờ các modul Internet để truyền từng segmen tới TCP dich

TCP nhận sẽ đặt dữ liệu từ một segzmenf vào trong vùng đệm cửa người sử dụng nhận và thông báo cho người đó Các TCP sẽ gửi kèm các thông tỉn

điều khiển vào các segment dé dam bao viéc truyền đữ liệu tin cậy

Mô hình liên lạc Internet sẽ là: một modul TP liên kết với mỗi TCP dé cung cấp một giao điện với mạng cục bộ, modui này đóng gói các segment của TCP vào trong các Dataagram và dẫn đường cho các Datagram tới một modul đích hoặc các gateway Dé truyén Datagram mạng cục bộ, Datagram được gói vào trong một packet của mạng cục bộ

Các hệ chuyển mạch gói có thể thực hiện tiếp việc đóng gói, phân mảnh hoặc các thao tác khác để thu được kết quả là sự chuyển giao packet cục bộ tới modul đích

Tai m6t gateway nam giữa các mạng, “Datagram được mở gói” từ

packet cục bộ của nó và được kiểm tra quyết định xem datagram sé di qua mạng nào ti€p theo datagram sau d6 duoc “géi Lai” trong một packet cục

bộ phù hợp với các mạng kế tiếp và được dẫn tới gateway tiếp theo, hoặc tới đích cuối cùng

Sd

Một gateway được phép “phá vỡ” một đzíagram thành các mảnh

datagram nho hơn (gọi là các Fragmen() như đã phân tích trong chương

Trang 31

Modul dich sé “cdi” segment ra khoi datagram (sau khi ghép lai thanh đatagram, nếu cần) và truyền nó cho TCP đích

Mô hình hoạt động này vẫn còn nhiều chỉ tiết chưa được rõ ràng Một điểm quan trọng là điểm dịch vụ Kiểu này cung cấp thông tin cho gateway (hay cho modul Internet ) để hướng dẫn nó trong việc lựa chọn các thông

số địch vụ cho việc đi lại trên mạng kế tiếp Thông tin chứa trong kiểu dịch

vu 1a mifc wu tién datagram Céc datagram cũng có thể mang các thông

tin bao mat để cho phép Host và các gateway-đang hoạt động trong các

môi (rường nhiều mức-phân tích một cách đúng đắn các đafagram nhằm muc dich bao mat

Môi trường của Host

TCP được giả thiết là một modul trong hệ điều hành Những người dùng truy nhập TCP giống như truy nhập hệ thống file TCP có thể nhờ đến

các hàm khác của hệ điều hành, chẳng hạn để quản lý cấu trúc dữ liệu Các

giao diện thực tế với mạng coi như được điều khiển bởi một modul quản lý thiết bị (device driver) TCP không phải trực tiếp nhờ đến Driver thiết bị

của mạng, vì nó sẽ nhờ modul giao thức datagram cha Internet va modul

này đến lượt nó lại nhờ đến driver thiết bị

Các giao diện của TCP

Giao diện giữa TCP và người dùng cung cấp các lời gọi từ người dùng tới TCP để mở “OPEN” hoặc đóng “CLOSE” một kết nối, để gửi hoặc nhận dữ liệu, hay để có được trạng thái của kết nối Những lời gọi này cũng giống như những lời gọi khác từ chương trình của người dùng tới hệ điều hành, chẳng hạn, các lời gọi để mở, đọc và đóng một file

Gia diện giữa TCP với Internet cung cấp các lời gọi để gửi và nhận các datfagram được đánh địa chỉ tới các modul TCP tại các Host bất cứ ở đâu trong mạng trong mạng Internet Những lời gọi này có các tham số để

Trang 32

Quan hệ với các giao thức khác

sau đây là sơ đồ phản ánh vị trí của TCP trong mô hình phân cấp các giao thttc:-

Internet Protocol & ICMP Gateway Level

Local Network Protocol Network Level

' Hình 1.4.2 Quan hệ TCP với các tầng giao thức khác

TCP cần có đủ khả năng hỗ trợ một cách hiệu quả cho các giao thức ở mức cao hơn Ngoài ra, cũng cần phải đễ dàng trong cách giao tiếp giữa các mức cao hơn như mạng arpanet với TCP

Độ tin cậy của việc liên lạc

Một luồng đữ liệu được gửi trong một kết nối TCP được chuyển giao một cách tin cậy và theo thứ tự tại đích đến

Việc truyền được làm tăng độ tin cậy nhờ sử dụng các số hiệu tuần tự

và các xác nhận Về mặt khái niệm, Mỗi byte số liệu được gán cho số hiệu

tuần tự Số hiệu tuần tự của byte đầu tiên của dữ liệu trong segmew được với segment đó và được gọi số hiệu tuần tu clia segment CAc segment ciing mang số hiệu xác nhận là các số hiệu tuần tự của việc truyền các byte dữ liệu tiếp theo hướng ngược lại Khi TCP truyền một segrmenf có chứa dữ liệu, nó đặt một bản sao vào hàng đợi truyền lại và khởi động timer (Đồng hồ); khi thu được xác nhận cho dữ liệu đó, segmen được xoá khỏi hàng

Trang 33

Dé tai KHCN - 01-02

Đồ tài nhánh: ` Vấn đề an toàn, bảo mật Internet

đợi Nếu không nhận được xác nhận trước khi timer hết giờ, segmen sẽ

Một xác nhận không đâm bảo rằng dữ liệu đã được giao cho người dùng cuối, mà chỉ đảm bảo rằng TẾP bên nhận đã nhận trấch nhiệm làm

Để điều hành luông dữ liệu gữ các TCP, ta dùng đến một cơ cấu điều khiển luồng.'TCP bên nhận thông báo lại một “cửa sổ” cho TCP bên gửi Cửa số này xác định số lượng các byte, bất đầu từ số hiệu xác nhận, mà TCP bên nhận biện thời đang chuẩn bị nhận

Thiết lập và xoá bỏ liên kết

Để xác định các luồng đữ liệu riêng biệt mà TCP có thể điều khiển TCP cung cấp một bộ xác định cổng Do các bộ xác định cổng được lựa chọn độc lập bởi từng TCP nên chúng có thể không đồng nhất Để cung cấp các địa chỉ đồng nhất TCP, chúng ta ràng buộc một địa chỉ Internet định danh TCP với một bộ xác định cổng để tạo một socket Socket này sẽ

là duy nhất trong toàn bộ các mạng được nối với nhau

Một kết nối được xác định đầy đủ bằng một cặp socket tại hai đầu

Một socket có thể tham gia nhiều kết nối với các socket ở xa khác nhau

Một kết nối có thể dùng để mạng đữ liệu theo cả hai hướng, có nghĩa, nó là

“full duplex” (hai chiéu day di)

Các TCP được tự đo liên kết các cổng với các quá trình Tuy nhiên, cần có một vài khái niệm cơ bản cho các cách thiết lập TCP Nhất định phải có các sócket chung mà TCP liên kết chỉ với các quá trình “tương ứng” theo những cách nào đó Giả thiết là các quá trình có thể “sở hữu” các cổng, và các quá trình cũng có thể khởi tạo các kết nối chủ trên các cổng mà chúng sở hữu

Một kết nối được xác định trong lời gọi OPEN bằng các đối số cổng cục bộ và các socket ở xa Đến lượt mình, TCP cung cấp một tên kết nối cục bộ mà qua đó người dùng sẽ thâm chiếu tới kết nối trong các lời gọi tiếp theo Có một số điều cần ghi nhớ về một kết nối Để lưu trữ thông tin này ta cần có một cấu trúc dữ liệu gọi là khối điều khiến truyền (Transmision Control Block hay TCB) Một thiết lập phải có tên kết nối

cục bộ là một con trổ tới TCB cho kết nối đó Lời gọi OPEN cũng phải xác

Trang 34

Một quá trình cung cấp các dịch vụ cho các quá trình khác phải phát ra một yêu cầu Passive OPEN với các socket ở xa không xác định Khi đó, một kết bối có thể được tạo ra với bất kỳ yêu cầu kết nối với các socket cục

bộ nào

Các Socket chung là một cơ chế thuận tiện để liên kết có ưu tiên một địa chỉ socket với dịch vụ tiêu chuẩn Chẳng hạn, quá trình “telnet-server” được gán cố định cho một socket đắc biệt, còn các socket khác được đành cho file tranfer, Remote jop entry, text generator, Echoer.v.v Khái niệm về một socket.chung là một phần của chỉ tiết kỹ thuật cho TCP, nhưng việc gắn các socket cho dịch vụ này là tùy thiết lập

Cac qua trinh cé thé phat ra passive OPEN va doi céc active OPEN phù hợp từ các quá trình khác và được TCP thông báo khi kết nối đã được thiết lập Hai quá trình cùng phát ra ace OPEN cho nhau vào cùng một thời điểm cũng sẽ được kết nối đúng đắn Sự linh hoạt này cốt yếu là để

- trợ giúp cho việc tính toán phân tán, trong đó, các thành phần hoạt động không đồng bộ với nhau

Có hai trường hợp cơ bản để kiểm tra tính phù hợp của các socket

trong các passive OPEN cục bộ và một active OPEN ở xa Trong trường

hợp thứ nhất, các passive OPEN cục bộ xác định đây đủ socket ở xa Trong

trường hợp này, sự phù hợp phải là chính xác Trong trường hợp thứ hai các passive OPEN cục bộ để các socket ở xa là không xác định Trong trường hợp đó, bất kỳ socket ở xa nào cũng là chấp nhận được nếu như các socket

cục bộ phù hợp Những khả năng là các phù hợp được hạn định một phần Nếu có vài passive OPEN chưa xử lý (được ghi lại trong các TCP) có

cùng một socket cục bộ thì khi một active OPEN ở xa phù hợp TCB có

Trang 35

Các thủ tục thiết lập các kết nối sẽ sử dụng cờ điều khiển đồng bộ

(SYN) và kèm theo sự trao d6i 3 segment hay 3 message Su trao déi nay gọi là sự bắt tay 3 chiều

Một kết nối được khởi tạo bằng su két hop ctla mét segment vita tdi

chứa một SYN và một đầu vào TCB do một lệnh OPEN của người sử dụng '

tạo ra Sự phù hợp của socket cục bộ và socket ở xa sẽ quyết định khi nào

- thì một kết nối được khỏi tạo Kết nối trở thành “được thiết lập” khi các số

hiệu tuần tự đồng bộ hoá theo cả hai hướng

Xoá bỏ một kết nốt cũng đòi hỏi việc trao đổi các segment, trong trường hợp nỳ chúng sẽ mang cờ điều khiển FIN

Trao đổi dữ liệu

Dòng đữ liệu chảy trên một kết nối có thể xem như một luồng byte Người dùng bên gởi thể hiện trong mỗi lời gọi SEND rằng liệu dữ liệu

trong lời gọi đó (và bất cứ lời gọi nào trước đó) có cần push (đẩy) cho

người dùng bên nhận ngay lập tức hay không bằng các đặt cờ điều khiển

,PUSH

Một TCP gửi được phép gom nhặt đữ liệu từ người đùng bên gửi và gửi

đữ liệu đó trong các segment vào lúc thuận tiện, cho tới khi có báo hiệu hàm push Lúc đó nó phải gửi tất cá những dữ liệu chưa gửi Khi TCP bên nhận phát hiện ra cờ PUSH, nó không được phép đợi nhận thêm dữ liệu nữa

Không có quan hệ nào giữa các hàm push va cdc segment Dit liéu trong bat ky segment nao cling dude coi là kết quả của một lời gọi hàm SEND đơn lẻ, toàn bộ hoặc một phần, hoặc là kết quả của nhiều lời gọi ham SEND

Mục đích của hàm push và của cờ PUSH là để đẩy dữ liệu từ người dùng bên gửi tới cho người dùng bên nhận Có một liên hệ tay đôi giữa hàm push và việc sử dụng các vùng đệm dữ liệu thông qua các giao diện của TCP và người dùng Mỗi lần một cờ PUSH liên kết với dữ liệu được

đặt trong vùng đệm của người dùng bên nhận, vùng đệm được trả lại cho

người dùng xử lý thậm chí cả khi vùng đệm chưa đầy Nếu dữ liệu tới làm

Trang 36

Ưu tiên và bảo mật

TCP lợi dụng trường kiểu địch vụ (type of service) của IP và tuỳ chọn

security ddeer cung cap các mức ưu tiên và bảo mật trên cơ sở một cặp kết nối cho những người sử dụng TCP Không phải tất cả các modul TCP đều

sẽ thực hiện trong cùng một môi trường an toàn nhiều mức; một số trong chúng được hạn chế cho việc sử dụng không phân mức, còn những cái khác có thể hoạt động chỉ ở một vùng và một mức bảo mật Kết quả là, một số thiết lập TCP và các dịch vụ cho người sử r dụng bị hạn chế trong

một nhóm nhỏ các mức- an toàn

Các modul TCP mà hoạt động trong môi trường bảo mật nhiều mức buộc phải 'đánh dấu chính xác các segment sap giti di v6i cdc giá trị bảo mật và ưu tiên Các modul TCP như thế cũng phải cung cấp cho người dùng và cho các giao thức mức cao hơn một giao diện cho phép xác định mức bảo mật, vùng làm việc ưu tiên của các kết nối

1.4.5 Khuôn dạng của TCP

Cac TCP segment duge gửi đi nhờ các datagram của internet protocol

Header của IP sẽ mạng một vài trường chứa thông tin kể cả các địa chi host

„ nguồn và đích Một header của TCP đi theo header của Internet protocl, cung cấp các thông tin đặc trưng cho giao thức TCP Sự phân chia này phục

vụ cho các giao thức mức Host hơn là phục vụ cho TCP Dạng thông điệp của TCP (hình 1.4.3)

Trong đó:

¢ Source port(16 bits)

Số hiệu cổng của Host nguồn

© Destination port (16 bits):

Trang 37

Dé tai KHCN - 01-02

Để tài nhánh: Vdn dé an todn, bdo mat Internet

Số hiệu cổng của Host dich

® Scquence nHmber (32 birs}:

Số hiệu tuần tự của byte đữ liệu đầu tien trong segment (trit trudng hợp khi SYN hiện diện) Nếu có bịt SYN thì số hiệu tuần tự là số hiệu ban đầu Đây là một số 32-bit có thể thay đổi được dùng để thực hiện việc điều đình khi TCP mở một kết nối với một TCP ở xa

Khu6n dang ctia TCP segment cé dang nhu sau:

Hình 1.4.3 Khuôn dạng của một TCP segment

© Acknowledgement number(32 bits)

Day là byte được đùng để TCP gửi thông điệp TCP dùng trường này

để báo cho biết liệu dữ liệu có được nhận thành công hay không Trường

này sẽ được kiểm tra khi cờ ACK được dung Nếu ACK được đặt thì trường

này chứa giá trị của số hiệu tuần tự tiép theo ma bén giti segment đang mong nhận được Một khi kết nối được thiết lập thì trường này (tức bit ACK) luôn được gửi đi

Phẩm 1: Giao thức TCPIIP và mạng Internet 32

Trang 38

Dé tai: KHCN - 01- 02

Để tài nhánh: Vấn đề an toàn, bảo mật Internet

e Data offset (4 bits) :

Trường này nói với người nhận nơi phần dữ liệu người đùng bắt đầu

và gián tiếp nói độ dài của bất kỳ chọn lựa TCP nào ở vào cuối phần header

so với các dữ liệu khác trong thông điệp

-ACK : cO nay duce thiết lập cho mục đích dùng trường acknowledgement

-PSH : trường này nói rằng một thông điệp được nhận nên được gửi đến tiến trình kết hợp với một sự kết nối được thiết lập ngay lập tức

-RST : cờ này chỉ ra rằng việc kết nối nên được thiết lập trở lại khi phần mềm hoặc phần cứng bị hỗng

-SYN : được dùng lúc ban đầu khi thiết lập việc kết nối

-FIN : chi ra ring người gửi không còn thêm dữ liệu để truyền tiếp Khi cờ này được gửi đi thì việc kết nối đóng một nữa, trong trường hợp này người nhận FIN có thể tiếp tục gửi dữ liệu nhưng sẽ không nhận thêm bất kỳ gói dữ liệu nào từ người gửi Chỉ đến khi người nhận gửi FIN

Trường checksum là phần bù 16 bits của tất cả các từ trong beader và

dx liệ Nếu một segment c6é tong s6 byte cha Header va dif ligu là lẻ khi kiểm tra thi byte cuối cùng sẽ được gán thêm vào bên phỉa bằng các giá trị

Trang 39

Checksum cũng bao gồm có một header giả 96 bits được quan niệm gắn vào trước TCP header Header giả này chứa địa chỉ nguồn (Source

Address), dia chi dich (Destination Address), giao thức (protocol), và độ dài

TCP (TCP length) Việc này cho phép TCP tránh khỏi các segmenf gửi

nhầm đường Tông tín này được mạng trong Internet protocol va duoc

truyền qua giao diện của TCP với mạng theo các đối số hoặc các kết quả của những trường gọi từ TCP tới IP

TCP Length là độ dài của TCP header cộng thêm đữ liệu tính theo

byte (Day không phải là số lượng đã được truyền đi mà chỉ là số lượng được tính toán), và nó-không tính 12 byte của header giả

¢ Options (thay déi được) :

Tùy chon (Options) có thể chiếm không gian ở cuối của TCP header

và là bội của 8 bits về đội dài Tất cá các tùy chọn đều được đưa vào trong checksum Một tuỳ chọn có thể bắt đầu ở bất cứ ranh giới byte nào Có hai

trường hợp cho khuôn dạng của tuỳ chọn:

- "Trường hợp 1 : Một byte kiểu tuỳ chọn đơn (Option kind)

- Trường hợp 2 : Một byte kiểu tùy chọn đơn, một byte độ dài tùy chọn

(Option Length), và các dữ liệu tuỳ chọn thực tế (Option -Data)

Option Length đếm số lượng hai byte của Option-kind và Option Length cũng như các byte của option-data

Chú ý rằng, danh sách các tuỳ chọn có thể ngắn hơn những gì mà trudng data offset chi ra Ndi dung của header cho tới tuỳ chọn End-of- Option phải được chèn vào header (tức là chèn bằng các số 0) một TCP phải thiết lập các tuỳ chọn Các tuỳ chọn được định nghĩa hiện nay gồm có: (Kiểu được định nghĩa theo byte)

Kiểu Độ đài ý nghĩa

Trang 40

Dé tai: KHCN - 01- 02

Đề tài nhánh: Vấn đề an toàn, bảo một Internet

0 - Enả-aƒ-Option List (Kết thúc cũat danh sách các tuỳ chọn)

1 - _ No operation (Kh6ng diéu khién)

2 - Maximum segment size.(Kich thuréc segment 16n nht)

End of option List

00000001

Kind=l

Mã tuỳ chọn này có thể được dùng giữa các tuỳ chọn, chẳng hạn, để xếp thắng hanhgf những chỗ bắt đầu của một tuỳ chọn tiếp thẻotên danh giới của một từ Ta không chắc rằng những người sử dụng tuỳ chọn này, vì

thế người nhận phải chuẩn bị để xử lý các tuỳ chọn thậm chí nếu chúng

không bắt đầu trên một đanh giới một từ

- Maximum sement Size:16 bits Option 32 bits

Ngày đăng: 07/03/2014, 16:20

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

TÀI LIỆU LIÊN QUAN

w