Chủ Nhật, 9 tháng 2, 2014

Công nghệ datasocket

Chơng 1:
Họ giao thức TCP/IP
1.1. Họ giao thức TCP/IP
TCP/IP là một họ giao thức để cung cấp phơng tiện truyền thông liên mạng
và nó đợc cấu trúc theo kiểu phân cấp.
Khác với mô hình OSI/ISO tầng liên mạng sử dụng giao thức kết nối mạng
"không liên kết" (connectionless) IP, tạo thành hạt nhân hoạt động của Internet.
Cùng với các thuật toán định tuyến RIP, OSPF, BGP, tầng liên mạng IP cho
phép kết nối một cách mềm dẻo và linh hoạt các loại mạng "vật lý" khác nhau
nh: Ethernet, Token Ring , X.25
Giao thức trao đổi dữ liệu "có liên kết" (connection - oriented) TCP đợc sử
dụng ở tầng vận chuyển để đảm bảo tính chính xác và tin cậy việc trao đổi dữ
liệu dựa trên kiến trúc kết nối "không liên kết" ở tầng liên mạng IP.
5
Các giao thức hỗ trợ ứng dụng phổ biến nh truy nhập từ xa (telnet), chuyển
tệp (FTP), dịch vụ World Wide Web (HTTP), th điện tử (SMTP), dịch vụ tên
miền (DNS) ngày càng đợc cài đặt phổ biến nh những bộ phận cấu thành của
các hệ điều hành thông dụng nh UNIX (và các hệ điều hành chuyên dụng cùng
họ của các nhà cung cấp thiết bị tính toán nh AIX của IBM, SINIX của Siemens,
Digital UNIX của DEC), Windows9x/NT, Novell Netware,
Trong cấu trúc bốn lớp của TCP/IP, khi dữ liệu truyền từ lớp ứng dụng cho
đến lớp vật lý, mỗi lớp đều cộng thêm vào phần điều khiển của mình để đảm bảo
cho việc truyền dữ liệu đợc chính xác. Mỗi thông tin điều khiển này đợc gọi là
một header và đợc đặt ở 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 ở
mỗi 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 header trớc khi truyền
dữ liệu lên lớp trên.
6
Hình 1. Mô hình tham chiếu TCP/IP với chuẩn OSI 7 lớp
OSI
Application
Presentation
Session
Transprort
Network
Data link
Physical
Application
SMTP FTP
TELNET
DNS
TCP UDP
IP
ICMP
ARP
IGMP
RARP
Protocols defined by the underlying networks
TCP/IP
Mỗi lớp có một cấu trúc dữ liệu riêng, độc lập với cấu trúc dữ liệu đợc
dùng ở lớp trên hay lớp dới của nó. Sau đây là giải thích một số khái niệm thờng
gặp.
Stream là dòng số liệu đợc truyền trên cơ sở đơn vị số liệu là Byte.
Số liệu đợc trao đổi giữa các ứng dụng dùng TCP đợc gọi là stream, trong
khi dùng UDP, chúng đợc gọi là message.
Mỗi gói số liệu TCP đợc gọi là segment còn UDP định nghĩa cấu trúc dữ
liệu của nó là packet.
Lớp Internet xem tất cả các dữ liệu nh là các khối và gọi là datagram. Bộ
giao thức TCP/IP có thể dùng nhiều kiểu khác nhau của lớp mạng dới cùng, mỗi
loại có thể có một thuật ngữ khác nhau để truyền dữ liệu.
Phần lớn các mạng kết cấu phần dữ liệu truyền đi dới dạng các packets hay
là các frames.
Application Stream
Transport Segment/datagra
m
Internet Datagram
Network Access Frame
Cấu trúc dữ liệu tại các lớp của TCP/IP
1.2. Lớp truy nhập mạng
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
7
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 (datagram) IP. Các giao thức ở lớp này phải biết chi 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 số liệu, cấu trúc địa
chỉ ) để định dạng đợc chính xác các gói dữ liệu sẽ đợc truyền trong từng loại
mạng cụ thể.
So sánh với cấu trúc OSI/OSI, lớp này của TCP/IP tơng đơng với hai lớp
Datalink, và Physical.
Chức năng định dạng dữ liệu sẽ đợc truyền ở lớp này bao gồm việc nhúng
các gói dữ liệu IP vào các frame sẽ đợc truyền trên mạng và việc ánh xạ các địa
chỉ IP vào địa chỉ vật lý đợc dùng cho mạng.
1.3. Lớp liên mạng
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 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 lu chuyển cơ bản mà thông
qua đó các mạng dùng TCP/IP đợc xây dựng.
1.3.1. Chức năng chính của - Giao thức liên mạng IP(v4)
Trong phần này trình bày về giao thức IPv4 (để cho thuận tiện ta viết IP có
nghĩa là đề cập đến IPv4).
Mục đích chính của IP là cung cấp khả năng kết nối các mạng con thành
liên mạng để truyền dữ liệu. IP cung cấp các chức năng chính sau:
Định nghĩa cấu trúc các gói dữ liệu là đơn vị cơ sở cho việc truyền dữ
liệu trên Internet.
Định nghĩa phơng thức đánh địa chỉ IP.
Truyền dữ liệu giữa tầng vận chuyển và tầng mạng .
Định tuyến để chuyển các gói dữ liệu trong mạng.
8
Thực hiện việc phân mảnh và hợp nhất (fragmentation -reassembly) các
gói dữ liệu và nhúng / tách chúng trong các gói dữ liệu ở tầng liên kết.
1.3.2. Định tuyến IP
Có hai loại định tuyến:
Định tuyến trực tiếp: Định tuyến trực tiếp là việc xác định đờng nối
giữa hai trạm làm việc trong cùng một mạng vật lý.
Định tuyến không trực tiếp: Định tuyến không trực tiếp là việc xác định
đờng nối giữa hai trạm làm việc không nằm trong cùng một mạng vật lý
và vì vậy, việc truyền tin giữa chúng phải đợc thực hiện thông qua các
trạm trung gian là các gateway.
Để kiểm tra xem trạm đích có nằm trên cùng mạng vật lý với trạm nguồn
hay không, ngời gửi phải tách lấy phần địa chỉ mạng trong phần địa chỉ IP. Nếu
hai địa chỉ này có địa chỉ mạng giống nhau thì datagram sẽ đợc truyền đi trực
tiếp; ngợc lại phải xác định một gateway, thông qua gateway này chuyển tiếp
các datagram.
Khi một trạm muốn gửi các gói dữ liệu đến một trạm khác thì nó phải đóng
gói datagram vào một khung (frame) và gửi các frame này đến gateway gần
nhất. Khi một frame đến một gateway, phần datagram đã đợc đóng gói sẽ đợc
tách ra và IP routing sẽ chọn gateway tiếp dọc theo đờng dẫn đến đích.
Datagram sau đó lại đợc đóng gói vào một frame khác và gửi đến mạng vật lý để
gửi đến gateway tiếp theo trên đờng truyền và tiếp tục nh thế cho đến khi
datagram đợc truyền đến trạm đích.
Chiến l ợc định tuyến : Trong thuật ngữ truyền thống của TCP/IP chỉ có hai
kiểu thiết bị, đó là các cổng truyền (gateway) và các trạm (host). Các cổng
truyền có vai trò gửi các gói dữ liệu, còn các trạm thì không. Tuy nhiên khi một
trạm đợc nối với nhiều mạng thì nó cũng có thể định hớng cho việc lu chuyển
các gói dữ liệu giữa các mạng và lúc này nó đóng vai trò hoàn toàn nh một
gateway.
9
Các trạm làm việc lu chuyển các gói dữ liệu xuyên suốt qua cả bốn lớp,
trong khi các cổng truyền chỉ chuyển các gói đến lớp Internet là nơi quyết định
tuyến đờng tiếp theo để chuyển tiếp các gói dữ liệu.
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ần chuyển cho C1 sẽ đợc hớng đến gateway G1 và
G2. Trạm A1 đầu tiên sẽ truyền các gói đến gateway G1 thông qua mạng A. Sau
đó G1 truyền tiếp đến G2 thông qua mạng B và cuối cùng G2 sẽ truyền các gói
trực tiếp đến trạm C1, bởi vì chúng đợc nối trực tiếp với nhau thông qua mạng C.
Trạm A1 không hề biết đến các gateway nằm ở sau G1. A1 gửi các gói số liệu
cho các mạng B và C đến gateway cục bộ G1 và dựa 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 C1 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 nh ở trên mạng B.
Hình vẽ sau mô tả việc dùng các gateway để gửi các gói dữ liệu:
Việc phân mảnh các gói dữ liệu: Trong quá trình truyền dữ liệu, một gói
dữ liệu (datagram) có thể đợc truyền đi thông qua nhiều mạng khác nhau. Một

10
Application
Transport
Internet
Network
Access
Internet
Network
Application
Transport
Internet
Network
Access
Internet
Network
Gateway Gateway
Network ANetwork BNetwork CN
Host A1H Host C1H
Hình 2. Định tuyến giữa hai hệ thống
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 cho phép một
đơn vị truyền cực đại (Maximum Transmit Unit - 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, gọi là fragment. Quá trình này gọi
là quá trình phân mảnh. Dạng của một fragment cũng giố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 và cung cấp các thông tin để hợp nhất các fragment này lại
thành các gói nh ban đầu. Trờng identification dùng để xác định fragment này
là thuộc về gói dữ liệu nào.
1.4. Giao thức ICMP
ICMP ((Internet Control Message Protocol) là một giao thức điều khiển của
mức IP, đợc dùng để trao đổi các thông tin điều khiển dòng số liệu, thông báo
lỗi và các thông tin trạng thái khác của bộ giao thức TCP/IP.
Ví dụ:
- Điều khiển lu lợng dữ liệu (Flow control): khi các gói dữ liệu đến quá
nhanh, thiết bị đích hoặc thiết bị định tuyến ở giữa sẽ gửi một thông
điệp ICMP trở lại thiết bị gửi, yêu cầu thiết bị gửi tạm thời ngừng việc
gửi dữ liệu.
- Thông báo lỗi: trong trờng hợp địa chỉ đích không tới đợc thì hệ thống
sẽ gửi một thông báo lỗi "Destination Unreachable".
- Định hớng lại các tuyến đờng: một thiết bị định tuyến sẽ gửi một thông
điệp ICMP "định tuyến lại" (Redirect Router) để thông báo với một
trạm là nên dùng thiết bị định tuyến khác để tới thiết bị đích. Thông
điệp này có thể chỉ đợc dùng khi trạm nguồn ở trên cùng một mạng với
cả hai thiết bị định tuyến.
11
- Kiểm tra các trạm ở xa: một trạm có thể gửi một thông điệp ICMP
"Echo" để kiểm tra xem một trạm có hoạt động hay không.
Sau đây là mô tả một ứng dụng của giao thức ICMP thực hiện việc định
tuyến lại (Redirect):
Ví dụ: Giả sử host gửi một gói dữ liệu IP tới Router R1. Router R1 thực
hiện việc quyết định tuyến vì R1 là router mặc định của host đó. R1 nhận gói dữ
liệu và tìm trong bảng định tuyến và nó tìm thấy một tuyến tới R2. Khi R1 gửi
gói dữ liệu tới R2 thì R1 phát hiện ra rằng nó đang gửi gói dữ liệu đó ra ngoài
trên cùng một giao diện mà gói dữ liệu đó đã đến (là giao diện mạng LAN mà
cả host và hai Router nối đến). Lúc này R1 sẽ gửi một thông báo ICMP Redirect
Error tới host, thông báo cho host nên gửi các gói dữ liệu tiếp theo đến R2 thì tốt
hơn.
Hinh 3: Mô tả một ứng dụng của giao thức ICMP.
Tác dụng của ICMP Redirect là để cho mọt host với nhận biết tối thiểu về
định tuyến xây dựng lên một bảng định tuyến tốt hơn theo thời gian. Host đó có
thể bắt đầu với một tuyến mặc định (có thể R1 hoặc R2 nh ví dụ trên) và bất kỳ
lần nào tuyến mặc định này đợc dùng với host đó đến R2 thì nó sẽ đợc Router
12
Host
R2
(3) ICMP Redirect
(2) IP datagram
R1
Final destination
(1) IP datagram
Host
mặc định gửi thông báo Redirect để cho phép host đó cập nhật bảng định tuyến
của nó một cách phù hợp hơn.
1.5. Giao thức ARP và giao thức RARP
Địa chỉ IP đợc dùng để định danh các host và mạng ở tầng mạng của mô
hình OSI, chúng không phải là các địa chỉ vật lý (hay địa chỉ MAC) của các
trạm đó trên một mạng cục bộ (Ethernet, Token Ring, ). Trên một mạng cục bộ
hai trạm chỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau. Nh
vậy vấn đề đặt ra là phải thực hiện ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật
lý (48 bits) của một trạm. Giao thức ARP (Address Resolution Protocol) đã đợc
xây dựng để chuyển đổi từ địa chỉ IP sang địa chỉ vật lý khi cần thiết. Ngợc lại,
giao thức RARP (Reverse Address Resolution Protocol) đợc dùng để chuyển đổi
địa chỉ vật lý sang địa chỉ IP. Các giao thức ARP và RARP không phải là bộ
phận của IP mà IP sẽ dùng đến chúng khi cần.
1.5.1. Giao thức ARP
Giao thức TCP/IP sử dụng ARP để tìm địa chỉ vật lý của trạm đích. Ví dụ
khi cần gửi một gói dữ liệu IP cho một hệ thống khác trên cùng một mạng vật
lý Ethernet, hệ thông gửi cần biết địa chỉ Ethernet của hệ thống đích để tầng liên
kết dữ liệu xây dựng khung gói dữ liệu.
Thông thờng, mỗi hệ thống lu giữ và cập nhật bảng thích ứng địa chỉ IP-
MAC tại chỗ (còn đợc gọi là bảng ARP cache). Bảng thích ứng địa chỉ đợc cập
nhật bởi ngời quản trị hệ thống hoặc tự động bởi giao thức ARP sau mỗi lần ánh
xạ đợc một địa chỉ thích ứng mới.
Mỗi khi cần tìm thích ứng địa chỉ IP - MAC, có thể tìm địa chỉ MAC tơng
ứng với địa IP đó trớc tiên trong bảng địa chỉ IP - MAC ở mỗi hệ thống. Nếu
không tìm thấy, có thể sử dụng giao thức ARP để làm việc này. Trạm làm việc
gửi yêu cầu ARP (ARP_Request) tìm thích ứng địa chỉ IP -MAC đến máy phục
vụ ARP - server. Máy phục vụ ARP tìm trong bảng thích ứng địa chỉ IP - MAC
của mình và trả lời bằng ARP_Response cho trạm làm việc. Nếu không, máy
13
phục vụ chuyển tiếp yêu cầu nhận đợc dới dạng quảng bá cho tất cả các trạm
làm việc trong mạng. Trạm nào có trùng địa chỉ IP đợc yêu cầu sẽ trả lời với địa
chỉ MAC của mình. Tóm lại tiến trình của ARP đợc mô tả nh sau
Hình 4: Tiến trình ARP
Tiến trình ARP
1. IP yêu cầu địa chỉ MAC.
2. Tìm kiếm trong bảng ARP.
3. Nếu tìm thấy sẽ trả lại địa chỉ MAC.
4. Nếu không tìm thấy, tạo gói ARP yêu cầu và gửi tới tất cả các trạm.
5. Tuỳ theo gói dữ liệu trả lời, ARP cập nhật vào bảng ARP và gửi địa chỉ
MAC đó cho IP.
1.5.2. Giao thức RARP
Reverse ARP (Reverse Address Resolution Protocol) là giao thức giải thích
ứng địa chỉ AMC - IP. Quá trình này ngợc lại với quá trình giải thích ứng địa chỉ
IP - MAC mô tả ở trên, nghĩa là cho trớc địa chỉ mức liên kết, tìm địa chỉ IP t-
ơng ứng.
14
129.1.1.1
IP
ARP request
IP
ARP request
IP
ARP request
1
2,5
4

Xem chi tiết: Công nghệ datasocket


Không có nhận xét nào:

Đăng nhận xét