Mô hìnhTCP IP
Tham khảo tài liệu 'mô hìnhtcp ip', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
MÔ HÌNH TCP/IP
Tác giả: Trần Văn Thành
II. Mô hình TCP/IP
TCP/IP có cấu trúc tương tự như mô hình OSI, tuy nhiên để đảm
bảo tính tương thích giữa các mạng và sự tin cậy của việc truyền
thông tin trên mạng, bộ giao thức TCP/IP được chia thành 2 phần
riêng biệt: giao thức IP sử dụng cho việc kết nối mạng và giao
thức TCP để đảm bảo việc truyền dữ liệu một cách tin cậy.
Hình 1.3 bên dưới cho thấy sự giống và khác nhau giữa 2 mô
hình OSI và TCP/IP.
Lớp ứng dụng: Tại mức cao nhất này, người sử dụng thực hiện
các chương trình ứng dụng truy xuất đến các dịch vụ hiện hữu
trên TCP/IP Internet. Một ứng dụng tương tác với một trong
những protocol ở mức giao vận (transport) để gửi hoặc nhận dữ
liệu. Mỗi chương trình ứng dụng chọn một kiểu giao vận mà nó
cần, có thể là một dãy tuần tự từng thông điệp hoặc một chuỗi
các byte liên tục. Chương trình ứng dụng sẽ gửi dữ liệu đi dưới
dạng nào đó mà nó yêu cầu đến lớp giao vận.
Lớp giao vận: Nhiệm vụ cơ bản của lớp giao vận là cung cấp
phưng tiện liên lạc từ một chương trình ứng dụng này đến một
chưng trình ứng dụng khác. Việc thông tin liên lạc đó thường
được gọi là end-to-end. Mức chuyên trở có thể điều khiển luông
thông tin. Nó cũng có thể cung cấp sự giao vận có độ tin cậy, bảo
đảm dữ liệu đến nơi mà không có lỗi và theo đúng thứ tự. Để làm
được điều đó, phần mềm protocol lớp giao vận cung cấp giao
thức TCP, trong quá trình trao đổi thông tin nơi nhận sẽ gửi
ngược trở lại một xác nhận (ACK) và nơi gửi sẽ truyền lại những
gói dữ liệu bị mất. Tuy nhiên trong những môi trường truyền dẫn
tốt như cáp quang chẳng hạn thì việc xy ra lỗi là rất nhỏ. Lớp
giao vận có cung cấp một giao thức khác đó là UDP.
Lớp Internet: Nhiệm vụ cơ bản của lớp này là xử lý việc liên lạc
của các thiết bị trên mạng. Nó nhận được một yêu cầu để gửi gói
dữ liệu từ lớp cùng với một định danh của máy mà gói dữ liệu phi
được gửi đến. Nó đóng segment vào trong một packet, điền vào
phần đầu của packet, sau đó sử dụng các giao thức định tuyến để
chuyển gói tin đến được đích của nó hoặc trạm kế tiếp. Khi đó tại
nơi nhận sẽ kiểm tra tính hợp lệ của chúng, và sử dụng tiếp các
giao thức định tuyến để xử lý gói tin. Đối với những packet được
xác định thuộc cùng mạng cục bộ, phần mềm Internet sẽ cắt bỏ
phần đầu của packet, và chọn một trong các giao thức lớp
chuyên trở thích hợp để xử lý chúng. Cuối cùng, lớp Internet gửi
và nhận các thông điệp kiểm soát và sử lý lỗi ICMP.
Lớp giao tiếp mạng: Lớp thấp nhất của mô hình TCP/IP chính là
lớp giao tiếp mạng, có trách nhiệm nhận các IP datagram và
truyền chúng trên một mạng nhất định. Người ta lại chia lớp giao
tiếp mạng thành 2 lớp con là:
+Lớp vật lý: Lớp vật lý làm việc với các thiết bị vật lý, truyền tới
dòng bit 0, 1 từ ni gửi đến nơi nhận.
+Lớp liên kết dữ liệu: Tại đây dữ liệu được tổ chức thành các
khung (frame). Phần đầu khung chứa địa chỉ và thông tin điều
khiển, phần cuối khung dành cho viêc phát hiện lỗi.
Hình 1.4 dưới đây sẽ mô tả chi tiết hơn về kiến trúc của mô hình
TCP/IP.
II.1. The Process/Application Layer Protocols
II.1.1. Dịch vụ đăng nhập từ xaTELNET
Telnet là ứng dụng sử dụng giao thức telnet cho phép người dùng
có thể đăng nhập vào một hệ thống ở xa và làm việc giống như
đang sử dụng máy tính nội bộ vậy. Người sử dụng dùng chương
trình Telnet Client (chưng trình Telnet trên máy tính trên máy
khách) thực hiện một số kết nối TCP với một Telnet Server
(chương trình phục vụ telnet trên máy chủ) ở cổng 23.
II.1.2. Dịch vụ truyền file FTP
Dịch vụ truyền File FTP (File Transfer Protocol) là một trong
những dịch vụ sớm nhất ứng dụng giao thức TCP/ IP. FTP cho
phép người dùng thực hiện các chức năng.
+ Sao chép.
+ Đổi tên.
+ Xóa file.
+ Tạo thư mục …..ở một hệ thống ở xa.
Hệ thống FTP ở xa thường yêu cầu người dùng cung cấp định
danh ID và mật khẩu trước khi truy nhập hệ thống. Các máy chủ
thường cung cấp hai dạng dịch vụ truy nhập.
Truy nhập vào các file công cộng dùng chung qua tài khoản ẩn
danh (Anonymous).
Truy nhập vào các file riêng chỉ dành cho những người sử dụng
với quyền truy nhập ở mức hệ thống.
FTP sử dụng cổng TCPở lớp Transport để truyền file một cách tin
cậy. Tại FTP Server thì sẽ được gán các cổng cố định là 20, 21,
còn ở Client thì sẽ được gán giá trị bất kỳ lớn hơn 1023. Để có
thể hoạt động FTP thiết lập 2 kết nối. Một cho login và theo đó là
giao thức Telnet. Hai là cho quản lý truyền dữ liệu.
II.1.3. Trivial File Transfer Protocol (TFTP)
Mặc dù FTP là giao thức truyền tập tin tổng quát nhất trong bộ
giao thức TCP/IP, nhưng nó rất phức tạp. Nhiều ứng dụng không
cần đến tất c các tính năng mà FTP cung cấp. Do đó người ta đưa
ra một giao thức thứ hai cung cấp dịch vụ ít tốn kém và không
phức tạp. Được biết dưới tên Trivial File Transfer Protocol (TFTP),
giao thức này không cần đến những tưng tác phức tạp giữa client
và server. TFTP giới hạn thao tác chỉ trong việc truyền tập tin và
không cung cấp việc xác minh.
Không giống như FTP, TFTP không cần dịch vụ chuyển tin đáng
tin cậy. Mà nó sử dụng giao thức UDP của tầng Transport, có sử
dụng timeout và việc truyền lại để đảm bảo dữ liệu được truyền
đến nơi. Bên gửi truyền một tập tin theo những khối có kích
thước cố định (512 byte) và đợi lời đã nhận của mỗi trước khi gửi
tiếp. Bên phía nhận gửi tr lời đã nhận sau khi nhận được mỗi
khối.
II.1.4 Network File System (NFS)
Được phát triển đầu tiên bởi công ty Sun Microsoft, Hệ tập tin
mạng (Network File System-NFS) cung cấp việc truy xuất trực
tuyến các tập tin dùng chung. Người sử dụng có thể thực hiện
một chưng trình ứng dụng bất kỳ và sử dụng bất kỳ một tập tin
nào trong việc xuất nhập. Bản thân tên các tập tin không cho
biết chúng cục bộ hay ở xa. NFS là một RPC (Remote Procedure
Call ).
II.1.5. Simple Mail Transfer Protocol (SMTP)
Giao thức SMTP là giao thức tiêu chuẩn trên Internet cho việc
chuyển thư điện tử giữa các máy tính. SMTP được thiết kế để
chuyển giao những thông điệp text và cũng hỗ trợ những ứng
dụng multimedia. SMTP thực hiện bên trên một phiên kết nối
Telnet NVT.
Có hai thành phần chính trong SMTP: nơi gửi và nơi nhận. Nơi gửi
được coi như là máy khách thực hiện lập một kết nối TCP với nơi
nhận đóng vai trò là máy chủ. Cổng tiêu chuẩn để thực hiện kết
nối TCP là 25. Trong một phiên của SMTP, nơi gửi & nhận trao đổi
một chuỗi các lệnh và trả lời.
II.1.6. Simple Network Management Protocol (SNMP)
Giao thức quản lý mạng chuẩn của TCP/IP là SNMP định nghĩa
giao thức quản lý cấp để quản lý hai thao tác cơ sở: trích giá trị
từ một biến và lưu trữ giá trị vào một biến.
II.1.7. Domain Name Service (DNS)
Đối với những người truy nhập Internet, việc nhớ nhiều địa chỉ IP
cùng một lúc là rất khó. Do đó, các nhà thiết kế tạo nên những
tên dễ nhớ như: www.yahoo.com, www.home.vnn.vn,
www.vnn.vn, www.ipmac.com.vn...
Người dùng muốn truy nhập đến địa chỉ nào thì chỉ việc gõ bàn
phím những tên đó vào. Tuy nhiên, giao thức lớp mạng IP chỉ có
thể hiệu và làm việc được với địa chỉ IP. Do vậy cần có sự chuyển
đổi qua lại giữa tên và địa chỉ IP. Việc chuyển đổi tên thành địa
chỉ được thực hiện qua hệ thống tên miền (Domain Name System
– DNS). Hệ thống DNS thực chất là những CSDL (DNS database)
chứa tên và địa chỉ tưng ứng cùng với các thông tin khác đi kèm.
II.1.7. Dynamic Host Configuration Protocol (DHCP)/BootP
(Bootstrap Protocol)
Giao thức Bootstrap, gọi là BOOTP, cung cấp một cách khác với
RARP cho máy tính nào cần xác định địa chỉ IP của nó. BOOPTP
tổng quát hơn RARP vì nó sử dụng UDP, nên có thể mở rộng việc
bootstrap đi qua bộ định tuyến. BOOTP cũng cho phép máy tính
xác định địa chỉ của bộ định tuyến, địa chỉ server và tên của
chương trình mà máy tính phải chạy. BOOTP được thiết kế đủ
nhỏ và để chứa được trong bootstrap ROM. Client sử dụng địa chỉ
Broadcast có giới hạn để thông tin liên lạc với Server, có trách
nhiệm truyền lại nếu Server không trả lời. BOOTP hiệu quả hơn
RARP bởi vì một thông điệp BOOTP xác định nhiều dữ liệu cần
thiết vào lúc khởi động, bao gồm địa chỉ IP của máy tính, địa chỉ
của bộ định tuyến, và địa chỉ của Server.
Được thiết kế như là bước nối tiếp của BOOTP, Dynamic Boat
Configuration Protocol (DHCP) là sự mở rộng của BOOTP trên một
số phương diện. Quan trọng nhất là DHCP cho phép server cấp
phát địa chỉ IP một cách động. Việc cấp phát động là cần thiết đối
với những môi trường mạng không giây (wireless), trong đó máy
tính có thể kết nối và tách ra khỏi mạng một cách nhanh chóng.
II.2. The Internet Layer Protocols
II.2.1. Internet Protocol (IP)
Giao thức IP là một giao thức lớp mạng, được sử dụng phổ biến
cho các mạng tham gia Internet. Thực chất, Internet là mạng của
các mạng nối với nhau qua bộ định tuyến (Router). IP là giao
thức được sử dụng để hướng các gói dữ liệu đến nút mạng mà nó
cần đến. Mục đích ra đời của IP là để thống nhất việc sử dụng các
máy chủ và router từ các hãng sản xuất khác nhau. Cho nên, IP
cho phép kết nối nhiều loại mạng có đặc điểm khác nhau mà
không làm gián đoạn hoạt động của mạng và kết nối với
Internet.
Giao thức IP có ba nhiệm vụ chính đó là:
Thứ nhất: giao thức IP định nghĩa đơn vị cơ sở của lớp Internet.
Thứ hai : thực hiện chức năng định tuyến(routing), chọn ra con
đường đi tối ưu mà dữ liệu cần gửi đi.
Thứ ba : điều khiển và xử lý lỗi.
II.2.1.1. Định dạng IP
Trên một mạng vật lý, đơn vị truyền dữ liệu là một frame bao
gồm phần đầu và phần sữ liệu, với phần đầu cung cấp địa chỉ
nguồn và địa chỉ đích (vật lý). Internet gọi đn vị truyền dữ liệu
của nó là IP datagram hoặc là datagram (có những tài liệu thì lại
gọi là packet). Cũng giống như một frame trong mạng vật lý,
một datagram bao gồm 2 phần:
Phần tiêu đề (header).
Phần dữ liệu (data).
Sau đay ta sẽ tìm hiểu chi tiết nội dung từng trường một trong
header của IP datagram.
Trong đó:
VERS (4-bit): chỉ phiên bản hiện hành của IP được sử dụng. Với
IP thông thường là 4, thế hệ IP tiếp theo là 6.
HLEN(4-bit): chỉ độ dài phần tiêu đề của datagram tính theo đơn
vị từ (32bit). Độ dài tối thiểu là 5 (20 octet).
Service Type: là chỉ số chất lượng dịch vụ yêu cầu cho IP
datagram. Trường này bao gồm những thông tin sau:
Total Length: xác định độ dài của toàn bộ datagram,c header và
data.
Identification: cùng với các tham số khác như Source IP addres,
Destinaton IP address dùng để định danh duy nhất cho một
datagram trong khong thời gian gói tin tồn tại trên mạng, dùng
để tập hợp fragmented datagram.
Flags: Liên quan đến sự phân đoạn của datagram.
Trong đó:
+0: chưa sử dụng và luôn bằng 0.
+DF(Do not Fragment): bằng 0 có nghĩa là cho phép phân mnh,
bằng 1 là không cho phép phân mnh.
+ MF (More Fragments): = 0 đây là đoạn phân mnh cuối cùng
(the last fragment). = 1 đây là phân đoạn tiếp theo (more
fragments).
Fragment Offset (13 bit): chỉ vị trí của đoạn (fragment) trong
datagram ban đầu, tính theo đn vị 8 octet. Mỗi đoạn (trừ đoạn
cuối cùng) phi chứa vùng dữ liệu là bội số của 8 octet.
Time to Live (8-bit): quy định thời gian tồn tại (tính bằng giây)
của datagram trên mạng để tránh tình trạng datagram không
đến được đích và cứ đi lòng vòng trên mạng. Thời gian này được
thiết lập bởi trạm gửi và gim đi mỗi đi datagram đi qua một nút
mạng. TTL = 0 gói dữ liệu sẽ bị discard.
Protocol Number: This field indicates the higher level protocol to
which IP should deliver the data in this datagram. These include:
- 0: Reserved
- 1: Internet Control Message Protocol (ICMP)
- 2: Internet Group Management Protocol (IGMP)
- 3: Gateway-to-Gateway Protocol (GGP)
- 4: IP (IP encapsulation)
- 5: Stream
- 6: Transmission Control Protocol (TCP)
- 8: Exterior Gateway Protocol (EGP)
- 9: Private Interior Routing Protocol
- 17: User Datagram Protocol (UDP)
- 41: IP Version 6 (Ipv6)
- 50: Encap Security Payload for Ipv6 (ESP)
- 51: Authentication Header for Ipv6 (AH)
- 89: Open Shortest Path First
Source IP Address (32bit): địa chỉ IP của trạm gửi.
Destination IP Address(32 bit):địa chỉ IP của trạm nhận.
Header Checksum (16 bit): m• kiểm soát lỗi 16 bit theo phưng
pháp CRC, chỉ áp dụng cho vùng header. Trường này luôn được
cập nhật khi một gói tin đi qua router trung gian.
Options: khai báo các tuỳ chọn do ni gửi yêu cầu. Trường option
không bắt buộc phi có trong mọi datagram và chủ yếu dùng để
kiểm tra lỗi trên mạng. Option là một phần quan trọng của giao
thức IP nên mọi tiêu chuẩn thực hiện phi dựa trên IP phi bao gồm
tiến trình xử lý trường này. Độ dài của trường Option thay đổi tuỳ
thuộc vào các tham số đi kèm. Khi các Option xuất hiện trong
datagram, nó sẽ kéo dài liên tục mà không có sự ngắt quãng.
II.2.1.2. Định tuyến
Một trong những chức năng của giao thức IP là có kh năng thiết
lập kết nối giữa các mạng vật lý khác nhau. Đó chính là định
tuyến. Một hệ thống thực hiện chức năng này được gọi là IP
router. Sẽ trình bày cụ thể trong phần 2.
II.2.1.3. Điểu khiển và xử lý lỗi
Như ta đã biết giao thức IP cung cấp dịch vụ “unreliable”, chuyển
dữ liệu connectionless bằng cách dàn xếp cho mỗi bộ định tuyến
chuyển dữ liệu. Mỗi packet sẽ di chuyển từ bộ định tuyến này
đến bộ định tuyến khác cho đến bộ định tuyến mà có thể chuyển
packet trực tiếp đến đích cuối cùng của nó. Nếu một bộ định
tuyến không thể gửi một packet, hay nếu nó phát hiện một dấu
hiệu không bình thường có nh hưởng đến việc truyền dữ liệu (ví
dụ: nghẽn mạch trên mạng), bộ định tuyến cần phải thông báo
cho nơi xuất phát của packet, để tránh hoặc khắc phục lỗi. Do đó
cần phải một cơ chế để thông báo lỗi cho bên gửi gói tin.
Giao thức bn tin điều khiển liên mạng ICMP (Internet Control
Message Protocol) ra đời để giải quyết vấn đề trên. ICMP cũng
giúp cho các host định tuyến trên mạng và cho phép các nhà qun
lý mạng theo dõi tình trạng các node trên mạng. Tất cả các host
và Router đều phải có khả năng tạo và xử lý các bản tin ICMP
nhận được.
II.2.2. Giao thức bản tin điểu khiển liên mạng (ICMP)
Giao thức IP hoạt động tại lớp Network được sử dụng bởi IP cho
nhiều dịch vụ khác nhau. Bản tinICMP được mang trực tiếp trong
gói tin IP với trường Protocol Number bằng 1.
Có rất nhiều trường hợp khiến cho gói tin IP bị loại bỏ: Đường
truyền có sự cố, trường Time-to-Live hết hạn, không phân mảnh
được gói tin kích thước lớn hn MTU cho phép....Khi một gói tin
cần loại bỏ, bn tin ICMP được sử dụng để thông báo về địa chỉ gửi
gói tin.
Tuy nhiên, không phi trường hợp nào ICMP cũng cần phi báo
lỗi.Sau đây là một số trường hợp mà khi xảy ra sự cố, ICMP
không cần báo lỗi:
Định tuyến hay chuyển giao bản tin ICMP.
Phát quảng bá hay phát theo nhóm gói tin IP.
Các phân đoạn gói tin khác với phân đoạn đầu tiên.
Bn tin có địa chỉ nguồn không xác định một host duy nhất (ví dụ:
127.0.0.1, 0.0.0.0).
Định dạng của bn tin ICMP như sau :
Bản tin ICMP được mang trogn phần dữ liệu của gói tin IP. Mặcdù
mỗi bản tin ICMP có dạng riêng của nó, nhưng chúng đều bắt đầu
với ba trường sau:
TYPE (8bit): là một số nguyên 8bit để xác định thông điệp.
CODE (8bit):cung cấp thêm thông tin về kiểu thông điệp.
CHECKSUM(16bit) : ICMP sử dụng thuật giải checksum như IP,
nhưng ICMP checksum chỉ tính đến thông điệp ICMP.
Hơn nữa, các thông điệp ICMP thông báo lỗi luôn luôn bao gồm
phần đầu và 64bit đầu tiên của packet gây nên lỗi. Lý do có thêm
phần đầu này cùng với phần đầu packet là để cho phép nơi nhận
xác định chính xác hơn những giao thức nào và chương trình ứng
dụng có trách nhiệm đối với packet.
Trường TYPE của ICMP xác định ý nghĩa của thông điệp cũng như
định dạng của nó.Các kiểu bao gồm:
- 0: Echo reply
- 3: Destination unreachable
- 4: Source quench
- 5: Redirect
- 8: Echo
- 9: Router advertisement
- 10: Router solicitation
- 11: Time exceeded
- 12: Parameter problem
- 13: Timestamp request
- 14: Timestamp reply
- 15: Information request (obsolete)
- 16: Information reply (obsolete)
- 17: Address mask request
- 18: Address mask reply
- 30: Traceroute
- 31: Datagram conversion error
- 32: Mobile host redirect
- 33: Ipv6 Where-Are-You
- 34: Ipv6 I-Am-Here
- 35: Mobile registration request
- 36: Mobile registration reply
- 37: Domain name request
- 38: Domain name reply
- 39: SKIP
- 40: Photuris
II.2.3. ARP và RARP
II.2.3.1. ARP
a/ Khái niệm
Địa chỉ IP được dùng để định danh các trạm và mạng tưng ứng
với tưng ứng lớp mạng của mô hình OSI và không phải địa chỉ
vật lý của trạm đó trên một mạng cục bộ LAN (Ethernet, Token
Ring....). Trên một mạng LAN như vậy, 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 có cơ chế ánh xạ giữa địa chỉ IP (32bit) và địa
chỉ vật lý (48bit).
Để giải quyết vấn đề trên, người ta xây dưng nên một giao thức
ARP. Các thiết bị trên mạng LAN sử dụng ARP để tìm ra thông tin
về địa chỉ vật lý của các thiết bị đó trên mạng.
ý tưởng về giải địa chỉ động dua ARP : khi máy A muốn gii địa chỉ
IP là IB, nó phát đi một thông điệp quảng bá trên toàn mạng
trong đó có chứa địa chỉ IP và vât lý của nó và địa chỉ IP của B.
Tất cả các trạm đều nhận được, nhưng chỉ có B nhận ra địa chỉ IP
của mình và sẽ trả lời A bằng một thông điệp trong đó có chứa
địa chỉ vật lý của B.
Tuy vậy không phải lúc nào khi cần truyền dữ liệu, A đều phát đi
thông điệp quảng bá để yêu cầu địa chỉ vật lý của trạm nào đó.
Việc phát thông điệp quảng bá như vậy sẽ tốn rất nhiều băng
thông trên mạng thậm chí có thể gây ra tình trạng tắc nghẽn
không đáng có ở những mạng có tốc độ truyền tải chậm. Do đó,
mỗi trạm đều có một bộ đệm ARP (ARP cache) để lưu giữ những
địa chỉ IP và vật lý tương ứng tìm được gần đây nhất. Mỗi khi
một trạm nhận được một thông điệp ARP yêu cầu hoặc trả lời của
một trạm khác, nó đều cập nhật trong ARP cache của mình. Khi
truuyền một gói dữ liệu, trạm sẽ tìm xem trong bộ đệm ARP của
nó có chứa địa chỉ vật lý tương ứng hay chưa. Nếu tìm thấy, nó
sẽ không phát quảng bá ARP nữa. Các địa chỉ trong ARP cache sẽ
bị xoá bỏ sau một khoảng thời gian nhất định để đề phòng sự cố
xảy ra đối với một trạm nào đó. Ví dụ: một trạm có card mạng bị
hỏng, cần thay thế và như vậy địa chỉ vật lý của trạm đó sẽ thay
đổi. Nhưng các trạm không biết gì về sự cố đó nên vẫn giữ địa
chỉ cũ của trạm này. Đó là lý do vì sao cần phi cài đặt một bộ
đếm thờn gian và thông tin trạng thái sẽ bị xoá bỏ sau khi thời
gian hết hạn. Ví dụ bất cứ khi nào thông tin về địa chỉ liên kết
được đặt vào bộ đệm ARP, giao thức này sẽ yêu cầu thời gian bắt
đầu đếm, thông thường là 20 phút. Khi hết hạn (sau 20 phút)
thông tin phi được xoá bỏ. Sẽ có 2 khả năng xảy ra khi xoá bỏ.
Nếu không còn dữ liệu được gửi tới máy tính đích này, thì không
có gì xy ra nữa.
Nếu vẫn còn dữ liệu được gửi tới máy tính đích này và không còn
thông tin về địa chỉ này trong bộ đệm ARP, máy tính sẽ phi lặp
lại địa chỉ thông thường là broadcast một yêu cầu ARP và lấy lại
thông tin địa chỉ. Nếu máy tính đích vẫn còn đó, thông tin địa chỉ
lại được đặt vào bộ đệm ARP. Nếu không, nI gửi sẽ phát hiện
được rằng máy đích không còn nối mạng nữa.
b/ Định dạng gói tin ARP
Hardware address space (16bit): xác định loại giao diện sử dụng
trên mạng ví dụ: Ethernet, Packet Radio Net.
Protocol address space: xác định loại giao thức ở lớp trên được sử
dụng, nó có giá trị080016 dành cho địa chỉ IP.
Hardware address length: Xác định độ dài địa chỉ vật lý trong gói
tin ví dụ : IEEE 802.3 và IEEE 802.5 là 6.
Protocol address length: xác định độ dài của địa chỉ của giao thức
lớp 3 tương ứng trong mô hình OSI. ví dụ IP là 4.
Operation code: xác định một trong 4 loại thông điệp:
+ARP yêu cầu (ARP request)-1
+ARP tr lời (ARP reply)-2
+RARP yêu cầu (RARP request)-3
+RARP tr lời (RARP reply)-4
Source/target hardware address: bao gồm địa chỉ vật lý của
mạng, ví dụ với IEEE 802.3 là 48-bit addresses.
Source/target protocol address: gồm địa chỉ của giao thức, ví dụ
với TCP/IP là 32-bit IP addresses.
II.2.3.2. RARP
a/ Khái niệm
Ngược lại với giao thức ARP, giao thức RARP (Reverse ARP) được
dùng để tìm địa chỉ IP khi biết địa chỉ vật lý của một trạm. Điều
này thường xảy ra khi một số trạm không có đĩa cứng để lưu giữ
địa chỉ IP của mình. Những trạm chỉ có địa chỉ vật lý lưu ở trong
ROM của card mạng. Chúng phải tìm địa chỉ IP ở trong server
quản lý địa chỉ IP khi khởi động. RARP cũng tương tự như ARP
gồm 2 loại thông điệp:
+RARP yêu cầu địa chỉ (RARP request).
+ RARP tr lời (RARP reply).
ý tưởng: một máy khi cần biết địa chỉ của nó dưới dạng
Broadcast, trên mạng sẽ có RARP server sẽ trả lời bằng cách cấp
cho máy của bạn một địa chỉ IP. Định dạng gói tin RARP
Định dạng của RARP giống hệt ARP, tương ứng trường Operation
code bằng 3,4.
II.3. The Host-to-Host Layer Protocols
Giao thức IP được thiết kế để thực hiện một chức năng : tạo gói
tin và định tuyến đến nơi nhận. Không có cơ chế nào trong giao
thức IP đảm bảo các gói tin không bị thất lạc trên đường truyền
và đến đúng với thứ tự được truyền đi. Nhiệm vụ đó do giao thức
TCP ở tầng giao vận đảm nhiệm. TCP bảo đảm dữ liệu được phân
phát tin cậy, theo thứ tự, và không có lỗi.
Một giao thức khác cũng rất phổ biến ở lớp giao vận là giao thức
UDP, UDP có đơn vị truyền dữ liệu đơn giản hơn và độ tin cậy
kém hơn TCP rất nhiều. UDP thường dùng cho những ứng dụng
yêu cầu về tốc độ nhiều ho8n là độ tin cậy.
II.3.1Transmission Control Protocol (TCP)
II.3.1.1. Khái niệm
Một kết nối TCP sẽ được thực hiện khi ứng dụng ở một host
truyền và nhận dữ liệu đến một host khác. TCP cung cấp khả
năng truyền song công (full-duplex) giữa hai ứng dụng ở hai đầu
kết nối.
TCP phi có nhiệm vụ chuyển dữ liệu của lớp ứng dụng thành các
đơn vị dữ liệu có thể truyền để có thể đóng gói thành packet ở
lớp Internet. Ưng dụng chuyển dữ liệu đến TCP và TCP đặt vào
bộ đệm gửi. TCP chia nhỏ dữ liệu và thêm phần tiêu đề (header)
tạo thành đơn vị dữ liệu gọi là segment. Kích thước của segment
phi luôn được điều chỉnh ở mức tối ưu với tài nguyên hiện có trên
mạng. TCP sẽ chờ cho đến khi nhận đủ dữ liệu từ lớp trên trước
khi tạo một segment có kích thước phù hợp.
Một máy khách phải được xác định được loại dịch vụ yêu cầu từ
máy chủ. Điều này được thực hiện bằng việc sử dụng cặp địa chỉ
IP và số hiệu cổng TCP. Cổng TCP nằm trong khong từ 0 đến
65535. Từ 0 đến 1023 là các cổng cho những dịch vụ thông
thường.
Sự kết hợp giữa địa chỉ IP và số hiệu cổng tạo thành cặp địa chỉ
socket. Một kết nối TCP giữa hai đầu cuối được nhận diện hay
phân biệt nhờ địa chỉ socket này. Trong header của packet chứa
thông tin địa chỉ nguồn và địa chỉ đích, số hiệu cổng nằm trong
segment của TCP.
TCP là một giao thức Connection-Oriented nên để truyền được dữ
liệu thì trước đó nó phải thiết lập kết nối rồi duy trì kết nối và sau
khi hết dữ liệu cần gửi nó phải giải phóng kết nối. Trong quá
trình truyền dữ liệu có sử dụng cơ chế điều khiển luồng (flow
control) và điều khiển lỗi.
II.3.1.2. Định dạng dữ liệu của TCP
Mỗi segment của giao thức TCP bao gồm phần tiêu đề (header)
và phần dữ liệu (data).
Trong đó:
Source port (16 bit) và Destination port (16 bit): số hiệu cổng
của host nguồn và đích.
Sequence Number (32 bit): số hiệu xác định vị trí byte đầu tiên
của segment khi bit SYN không được thiết lập. Nếu bit SYN được
thiết lập thì đây là số hiệu tuần tự khởi đầu của dữ liệu.
Ackknowledgment Number (32 bit): ký hiệu là ACK, là số hiệu
của segment kế tiếp trong dòng dữ liệu mà bên nhận đang chờ.
Data Offset (4 bit): chỉ kích thước của phần header TCP tính theo
đn vị từ 32 bit. Trường này đồng thời cũng xác định vị trí bắt đầu
của phần dữ liệu.
Reserved (6 bit): trường này hiện vẫn dự phòng và luôn bằng 0.
Flags (6 bit): là các bit cờ có ý nghĩa như sau:
-URG: bằng 1 nếu có dữ liệu khẩn. Dữ liệu khẩn sẽ được chỉ ra
trong trường Urgent Pointer. Ngược lại thì bằng 0.
-ACK: bằng 0 nếu là segment khởi đầu và khi đó trường ACK
Number mới có hiệu lực.
-PSH: thông báo dữ liệu cần chuyển đi ngay.
-RST: xác định lỗi, đồng thời để khởi động lại kết nối.
-SYN:bằng 1 khi thiết lập kết nối.
-FIN: bằng 1 khi trạm nguồn hết thông tin.
Window (16 bit): Đây là số lượng các byte dữ liệu, bắt đầu từ
byte được chỉ ra trong trường ACK Number mà trạm nguồn sẵn
sàng để nhận.
Checksum (16bit): m• kiểm soát lỗi theo phương pháp CRC của
toàn bộ segment.
Urgent Pointer (16 bit): đây là con trỏ tới số hiệu tuần tự của
byte đi sau dữ liệu khẩn, cho phép bên nhận biết được độ dài của
dữ liệu khẩn. Trường này có hiệu lực khi bit URG được thiết lập 1.
Padding (độ dài thay đổi): Phần mềm chèn thêm vào header để
đảm bảo header luôn kết thúc ở một mốc 32 bit. Phần chèn thêm
này luôn = 0.
Data (độ dài thay đổi): chứa dữ liệu cần gửi đi của lớp trên TCP.
Options (độ dài thay đổi): khai báo các tuỳ chọn của TCP, trong
đó có độ dài tối đa của vùng TCP data trong một segment.
II.3.2. User Datagram Protocol (UDP)