G II THIệU MạN MáY TíN HÍ
5.2.2 TCP/IP và mô hình OSI
Không giống OSI gồm 7 lớp TCP/IP gồm 4 lớp. Nó đợc xem nh họ giao thức cho Internet. Bốn lớp của TCP/IP gồm:
- Network interface layer
- Internet layer
- Transport layer
- Application layer
Mỗi lớp tơng ứng với một hoặc nhiều lớp của mô hình OSI
Hình 5.4 Mô hình kiến trúc TCP/IP
Bộ giao thức TCP/IP bao gồm các giao thức sau:
Giao thức Tên
IP/IPv6 Internet Protocol.
TCP Transmission Control Protocol.
UDP User Datagram Protocol.
DCAP Data Link Switching Client Access Protocol
L2TP Layer 2 Tunneling Protocol.
DHCP Dynamic Host Configuration Protocol.
ICMP / ICMPv6 Internet Control Message Protocol.
IGMP Internet Group Management Protocol.
MARS Multicast Address Resolution Server.
PIM Protocol Independent Multicast-Sparse Mode
(PIM-SM)
RIP2 Routing Information Protocol.
RSVP Resource ReSerVation setup Protocol.
VRRP Virtual Router Redundancy Protocol
AH Authentication Header.
ESP Encapsulating Security Payload.
BGP4 Border Gateway Protocol.
EGP Exterior Gateway Protocol.
HSRP Cisco Hot Standby Router Protocol.
IGRP nterior Gateway Routing.
NARP NBMA Address Resolution Protocol
NHRP Next Hop Resolution Protocol.
OSPF Open Shortest Path First.
RUDP Reliable UDP
TALI Transport Adapter Layer Interface.
Van Jacobson Compressed TCP
XOT X.25 over TCP.
DNS Domain Name Service.
NetBIOS/IP NetBIOS/IP
LDAP Lightweight Directory Access Protocol.
COPS Common Open Policy Service
FTP File Transfer Protocol.
TFTP Trivial File Transfer Protocol.
FUIP Finger User Information Protocol.
HTTP Hypertext Transfer Protocol.
S-HTTP Secure Hypertext Transfer Protocol.
IMAP4 Internet Message Access Protocol rev 4.
IPDC P Device Control.
ISAKMP Internet Message Access Protocol version
4rev1.
POP3 Post Office Protocol version 3.
RLOGIN Remote Login.
RTSP Real-time Streaming Protocol.
SCTP Stream Control Transmision Protocol.
SLP Service Location Protocol.
SMTP Simple Mail Transfer Protocol.
SNMP Simple Network Management Protocol.
SOCKS SOCKS
TACACS+ TACACS+
TELNET. TELNET.
WCCP Web Cache Coordination Protocol
X-Windows X-Windows
Bảng 5.3 Bộ gioa thức TCP/IP
Network Interface
Chịu trách nhiêm nhận và gửi các gói tin lên các mạng. TCP/IP đợc thiết kế độc lập với các phơng pháp truy cập mạng, định dạng của frame… Vì vậy TCP/IP có thể kết nối các loại mạng khác nhau bao gồm các kỹ thuật mạng LAN nh Ethernet, Token ring hay kỹ thuật mạng WAN nh X25,ATM…Tầng Network interface tơng ứng với tâng Data-link, Physical của rmô hình tham chiếu OSI .
Internet Layer
Tầng Internet chịu trách nhiệm đánh địa chỉ , đóng gói và các chức năng định tuyến. Các lõi giao thức trong tầng Internet là IP, ARP, ICMP, and IGMP.
IP(Internet protocol): là giao thức có thể định tuyến chiuk trách nhiệm
đánh địa chỉ IP, định tuyến, phân mảnh và tập hợp các gói tin.
Address Resolution Protocol (ARP): chịu trách nhiêm chuyển địa chỉ của tầng Internet sang tầng network Interface
Internet Control Message Protocol (ICMP) chịu trách nhiệm cung cấp
các chuẩn đoán và thông báo lỗi khi các gói tin truyền đi không thành công.
Internet Group Management Protocol (IGMP): chịu trách nhiệm quản
lý các gói tin.
Chịu trách nhiệm cung cấp cho tầng ứng dụng(Application) với các phiên (session) và các dịch vụ liên kết. Giao thức lõi của tầng này là Transmission Control Protocol(TCP) và User datagram protocol(UDP).
TCP (Transmission Contron Protocol): là giao thức chuyển dữ liệu có
bảo đảm. Giao thức TCP gửi từng gói dữ liệu đi, nơi nhận theo giao thức này phải có trách nhiệm thông báo và kiểm tra xem dữ liệu đã đến đủ hay cha, có lỗi hay không có lỗi và phải có sự kết nối giữa nơi gửi và nơi nhận.
UDP (Uer Datagram Protoclol): Là giao thức chuyển dữ liệu không bảo
đảm. Không có sự kêt nối trớc nào giữa nơi gửi và nơi nhận. Dữ liệu truyền đi mặc định rằng máy tính ở đầu nhận luôn ở trạng thái sẵn sàng để tiếp đón.Vì vậy nếu dữ liệu gửi đến bị lỗi trong quá trình truyền hay không nhận đợc đầy đủ thì giao thức cũng không có thông tin phản hồi lại cho nơi gửi.
Application Layer
Tầng ứng dụng cung cấp cho các ứng dụng khả năng truy cập các dịch vụ của các tầng khác và định nghĩa giao thức mà ứng dụng dùng để trao đổi dữ liệu. Có rất nhiều giao thức trong tầng mạng này và cũng có rất nhiều các giao thức mới thờng xuyên đợc phát triển cho tầng ứng dụng. Các giao thức thông dụng dùng để trao đổi thông tin ngời dùng nh :
Hypertext Transfer Protocol (HTTP): là giao thức truy cập các trang
web của dịch vụ World Wide Web.
Simple Mail Transfer Protocol (SMTP): đợc sử dụng để truyền các
thông tin email trên mạng và rất nhiều các giao thức khác. 5.2.3 Các giao thức lõi của TCP/IP
Bộ giao thức TCP/IP là tập hợp của một số các giao thức liên kết gọi là giao thức lõi của TCP/IP.Tất cả các ứng dụng và các giao thức khác đều dựa trên các dịch vụ cung cấp bởi các giao thức sau: IP, ARP, ICMP, IGMP, TCP và UDP.
Internet protocol (IP)
IP là giao thức chịu trách nhiệm đánh địa chỉ và định tuyến các gói giữa các máy. IP không phải là giao thức kết nối có nghĩa là nó không có các phiên đợc thành lập trớc khi trao đổi dữ liệu. IP cũng không phải là giao thức tin cậy có nghĩa là các gói tin truyền đi không đợc bảo đảm. Một gói tin IP có thể bị mất, bị trễ hay bị truyền thừa và IP cũng không khắc phục lại các lỗi đó. Sự đảm bảo và khôi hục lại
các gói tin bị mất hay bị lỗi do các giao thức ở tầng trên đảm bảo. Chính là TCP. Đơn vị dữ liệu dùng trong IP đợc gọi Datagram có định dạng nh sau:
Một gói IP bao gồm một IP header và các thông tin. Bảng sau mô tả các thành phần trong IP header.
Tham số Mô tả
VER(4bits) Chỉ version hiện hành của IP
Type of service Đặc tả các tham số về dịch vụ
Total length(16 bits) Chỉ độ dài toàn bộ datagram
Identification(16 bits) Cùng với các tham số khác nh Source Address và
Destination Address để định danh duy nhất cho một datagram khi nó còn trên mạng
Flag(3 bits) Liên quan tới phân đoạn
Fragment offset(13 bits)
Chỉ vị trí đoạn ở trong datagram
Time to Live (8bits) Quy định thời gian tồn tại(s) của datagram trong
mạng Option (Độ dài thay
đổi)
Khai báo các tuỳ chọn do ngời dùng thay đổi Padding(Độ dài thay
đổi)
Vùng đệm
Source IP Address Địa chỉ IP thực của nơi gửi
Destination IP Address Địa chỉ của đích cuối cùng
Protocol Cho biết IP tại nơi đích sẽ chuyển gói tin sang
giao thức nào TCP,UDP,ICMP… Header Checksum(16
bits)
Một cơ chế tính toán đơn giản để kiểm tra sự toàn vẹn của IP header
Data(Độ dài thay đổi) Vùng dữ liệu có độ dài là bội của 8bits và tối đa là
65535 bytes
IPv6 (IP version 6)
IPv6 là một phiên bản mới của giao thức IP dựa trên IPv4. IPv6 tăng độ dài lên 128 bits để có thể đáp ứng đợc số địa chỉ mạng ngày càng tăng. IPv6 hỗ trợ khả năng mở rộng và tuỳ chọn. Định dạng của IPv6 header nh sau :
Tham số Mô tả
Source port Số cổng của nguồn
Destination port Số cổng của đích
Sequence number Số sequence của data octet đầu tiên trong một
đoạn
Acknowledgment number Nếu bit ACK đợc set thì nó chức giá trịn tiếp
theo của Sequence number
Data offset(4bits) Xác định vị trí dữ liệu bắt đầu
Reserved(6bits) Cha dùng
Control bits(6 bits) Có thể là U,A,P,R,F,S,F
Window(16 bits) Số data octet của đoạn dữ liệu
Checksum Một cơ chế tính toán đơn giản để kiểm tra sự
toàn vẹn của IP header Bảng 5.6 IP header v6
Nếu router nhận đợc một gói tin quá lớn để có thể truyền đợc trên mạng thì nó sẽ chia gói tin này thành các gói tin nhỏ hơn. Khi gói tin đợc nhận tại địa chỉ đích thì IP tại đây sẽ tập hợp các gói này thành gói tin ban đầu. Quá trình đó đợc gọi là phân mảnh và tập hợp lại. Quá trình Phân mảnh và tập hợp lại diễn ra nh sau:
- Khi một gói IP đợc gửi đi từ một nơi nó đặt một giả trị duy nhất trong trờng
Identification .
- Gói tin đợc nhận tại router. IP của router xác nhận đơn vị nhỏ nhất có thể
truyền của mạng để có thể phân mảnh gói tin.
- IP chia gói tin thành các gói nhỏ và các gói này đợc chuyển đi với các
Header của nó.
Khi các gói nhỏ phân mảnh này đợc nhận tại một IP nào đó thì nó sẽ đợc tập hợp lại thành một gói nh ban đầu.
ARP(Address Resolution Protocol)
Các máy tính trên cùng một mạng vật lý chỉ có thể liên lạc với nhau khi biết địa chỉ vật lý của nhau. Giao thức ARP cho phép một máy tính tìm đại chỉ vật lý của máy đích trên cùng một mạng vật lý, chỉ cần biết địa chỉ IP của máy đích.
ICMP(Internet Control Message Protocol)
Để cho phép một bộ định tuyến trong mạng thông báo lỗi hoặc cung cấp thông tin về những tình huống không mong đợi, những nhà thiết kế đã cung cấp thêm một cơ chế thông báo có mục đích đặc biệt cho các giao thức TCP/IP. Cơ chế này gọi là ICMP. ICMP cho phép một bộ định tuyến gửi thông báo lỗi và thông báo điều khiển đến các bộ định tuyến khác hoặc các máy khác. ICMP
cung cấp phơng tiện thông tin liên lạc giữa phần mềm IP trên một máy và phần mềm IP trên maý khác. Khi một datagram gây lỗi, ICMP chỉ có thể thông báo điều kiện lỗi trở về nguồn ban đầu của datagram. Nguồn này phải liên lạc lỗi với từng chơng trình ứng dụng hoặc thực hiện thao tác khác để sửa lôĩ.
TCP (Transmission control protocol)
TCP là giao thức kiểu có liên kết (connection oriented) nghĩa là cần thành lập liên kết giữa các cặp thực thể TCP trớc khi chúng trao đổi dữ liệu với nhau. Đơn vị sử
dụng trong TCP là segment(đoạn dữ liệu) có định dạng nh sau:
Các tham số trong định dạng:
Tham số Mô tả
Source port(16 bits) Số hiệu cổng của trạm nguồn
Destination port(16bits) Số hiệu cổng của trạm đích
Sequence number(32bits) Số hiệu của số byte đầu tiên của segment nếu bit SYN không đợc thiết lập.
Acknowledment number (32bits)
Số hiệu của segment tiếp theo mà trạm nguồn đang chờ để nhận.
Data offset(4 bits) Số lợng từ (word ) trong TCP header
Reserved(6 bits) Cha dùng
Window(16 bits) Số lợng các byte dữ liệu bắt đầu từ byte đợc chỉ ra trong vùng ACK number
Checksum (16 bits) Mã kiểm soát lỗi
Urgent Pointer(16 bits) Con trỏ này trỏ tới số hiệu tuần tự của byte đi
theo 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
Option(Độ dài thay đổi) Các lựa chọn
Pading(Độ dài thay đổi) Phần chèn thêm vào header để bảo đảm phần
header luôn kết thúc ở mốc 32 bits
TCP data(Độ dài thay đổi) Chứa dữ liệu của tầng trên,có độ dài tối đa ngầm
định là 536 bytes.Giá trị nà có thể thay đổi trong vùng option.Một tiến trình trong một host truy nhập vào các dịch vụ của TCP cung cấp thông qua một cổng.Một cổng kết hợp với địa chỉ IP tạo thành một socket duy nhất trong liên mạng. Trớc khi truyền dữ liệu giữa hai trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đ- ợc giải phóng.
5.3 Giao diện ứng dụng TCP/IP
Để ứng dụng có thể truy cập các dịch vụ của các giao thức lõi của TCP/IP theo một cách chuẩn hệ điều hành mạng cung cấp chuẩn công nghệ gọi là Application programming Interface(API).API là một tập các hàm và lệnh đợc lập trình để cho phép thực hiện các dịch vụ mạng.Hình 6.3 minh hoạ hai giao diện lạpp trình mạng thông dụng là Winsock và NetBIOS và các giao thức lõi của nó.
Hình 5.5 Giao diện lập trình TCP/IP 5.3.1 Windows Sockets Interface
Windows Sockets API là API chuẩn của Windows cho ứng dụng sử dụng giao thức TCP và UDP.Các ứng dụng viết dới Windows socket API có thể chạy trên các version của TCP/IP. Window socket cung cấp dịch vụ cho phép kết hợp một cổng và địa chỉ IP để thành lập một kết nối ,gửi và nhận dữ liệu.
5.3.2 NetBIOS
NetBIOS đợc phát triển cho IBM bởi Sytek Corporation cho phép các ứng dụng giao kết qua mạng.NetBIOS là một chuẩn API cho phép lập trình I/O, điều khiển dới các phần mềm điều khiển giao thức mạng . NetBIOS cung cấp các lệnh và hỗ trợ NetBIOS Name Management,NetBIOS Datagram và NetBISO session.
5.4 Địa chỉ IP
Một hệ thống liên lạc đợc gọi là cung cấp dịch vụ thông tin liên lạc toàn cầu nếu nó cho phép bất kỳ máy tính liên lạc đựoc với máy tính khác. Để cho hệ thông tin liên lạc là toàn cầu thì cần có phơng pháp đợc chấp nhận toàn cầu về việc xác định mỗi máy tính nối vào nó. Thông thuờng định danh của máy tính đợc phân loại theo tên, địa chỉ.Mỗi máy tính TCP/IP đợc định nghĩa bởi một địa chỉ logic IP. Địa chỉ IP là một địa chỉ lớp mạng và nó không phụ thuộc vào địa chỉ MAC. Địa chỉ IP xác định vị trí của máy tính trên mạng giống nh địa chỉ của nhà trong thành phố. Một địa chỉ IP là một số duy nhất toàn cầu và có định dạng thống nhất. Mỗi địa chỉ IP bao gồm : network ID và host ID. Network ID (hay còn gọi là địa chỉ mạng) xác định vị trí của một hệ thống trên cùng một mạng vật lý đựoc xác định bởi IP router. Tất cả các hệ thống trên một mạng vật lý phải có địa chỉ mạng giống nhau. Địa chỉ mạng phải là duy nhất trên một liên mạng. Host ID (hay gọi là địa chỉ host) xác định một trạm một server, một router hay một host TCP/IP khác trên mạng. Địa chỉ Host ID là duy nhất trên một địa chỉ mạng. Một địa chỉ IP gồm 32 bits.Thay vì làm việc với 32 bits một lần ,thông thờng địa chỉ IP đợc chia ra làm 4 đoạn 8 bits đựoc gọi là octet. Mỗi octet đựoc chuyển sang số thập phân trong một tr- ờng từ 0-255 và đựoc phân chia bởi các dấu chấm. Ví dụ của một địa chỉ IP trong dạng nhị phân và dạng thập phân :
Binary Format Dotted Decimal Notation
11000000 10101000 00000011 00011000 192.168.3.24
Bảng 5.7 Ví dụ địa chỉ IP
Hình 5.6 Địa chỉ IP 5.4.1 Address Classes
Mọi địa chỉ IP đều gồm 2 phần là Network ID và Host IP nhng định dạng của chúng không giống nhau. Bởi vì cỡ của các đoạng mạng là không giống nhau, tuỳ theo các kích cỡ mạng khác nhau chia ra 4 loại class khác nhau. Class của địa chỉ IP định nghĩa số bits đợc sử dụng cho network ID và số bits sử dụng cho Host ID .Số bít sử dụng cho Network ID quyến định số mạng và số bits sử dụng cho Host ID quyết định số host có thể trên một mạng.Các class là A, B, C, D, E. Tuỳ thuộc vào số mạng và số host mà ta chọn các class khác nhau. Class A định nghĩa một số lợng nhỏ mạng và số lợng lớn các host trên mạng. Ngợc lại class C lại định nghĩa nhiều mạng và số host trên mạng là ít. Class B nằm giữa class A và C nó thích hợp cho các mạng có số mạng vừa và số host trên mạng cũng không lớn. Class D hơi khác so với các class khác là nó sử dụng cho mutilCast. Class E là thiết kế cho tơng lai và hiện tại cha sử dụng. Bảng sau mô tả Network ID và Host ID của địa chỉ IP class A, B, C.
Class IP Address Net ID Host ID
A a.b.c.d a b.c.d
B a.b.cd a.b b.c
Có thể nhận biết class của một địa chỉ IP bởi nhìn bit đầu tiên trong dạng nhị phân hay trờng trong biểu thị thập phân. Bảng sau biểu thị cách nhận biết các class A, B, C và số host và số network tối đa trong cho mỗi địa chỉ IP.
IP Address class IP Address Format Leading bits Decimal range Max networks Max Host/network A N.H.H.H 0 1- 127 127 16.777.216 B N.N.H.H 10 128-191 16.384 65.534 C N.N.N.H 110 192-223 2.097.152 254
Bảng 5.9 Số network và host tối đa trong các class Class B có địa chỉ 192.168.*.* thì có thể có 65.534 máy tính trên mạng.
Hình 5.6 Các class của địa chỉ IP 5.4.2 Subnet và Subnet Mask
Một địa chỉ IP gồm địa chỉ Network ID và host ID và đợc chia thành các class khác nhau.Ta thấy trong class A có thể có 254 network và có tới hơn 16 tỉ host trên