Lưu trữ

Archive for Tháng Mười 31, 2007

TCP three-way handshake

Tháng Mười 31, 2007 vuau Phản hồi đã bị khóa

 


Tcp three-way handshake :

server : máy chủ
client : máy con
=============================================1 gói dữ liệu TCP ( TCP packet ) chứa flag bits ( cờ ) để mô tả nội dung và mục đích của gói dữ liệu . Vd: gói dữ liệu với cờ SYN ( synchoronize ) dùng để bắt đầu 1 connection. ACK ( acknowledgement ) . FIN (finish ) dùng để cắt 1 connection…

Bây giờ chúng ta đi sâu hơn 1 phiên làm việc được bắt đầu như thế nào :

tcp

Click vào hình để xem

1> SYN: Các chương trình máy con ( như web browser, ftp, …) bắt đầu connection với máy chủ bằng cách gửi 1 packet với cờ “SYN” đến máy chủ :
SYN packet này thường được gửi từ các cổng cao ( 1024 -65535 ) của máy con đến những cổng trong vùng thấp ( 1 -1023 ) của máy chủ . Chương trình trên máy con sẽ hỏi hệ điều hành cho 1 cổng để mở connection với máy chủ . Những cổng trong vùng này được gọi là “cổng máy con” ( client port range). Tương tự như vậy, máy chủ sẽ hỏi HĐH để nhận được quyền chờ tín hiệu trong máy chủ , vùng cổng 1 – 1023 . Vùng cổng này được gọi là “vùng cổng dịch vụ” ( service port ) . Ví dụ Web Server sẽ luôn chờ tín hiệu ở cổng 80 và IE sẽ connect vào cổng 80 của máy chủ .

Ngoài ra trong gói dữ liệu còn có thêm địa chỉ IP của máy con và máy chủ ( cả 2 )

2> SYN/ACK : khi yêu cầu mở connection được máy chủ nhận được tại cổng đang mở , server sẽ gửi lại packet chấp nhận với 2 bit SYN và ACK :

SYN/ACK packet được gửi ngược lại bằng cách đổi 2 IP của server và client, client IP sẽ thành IP đích và server IP sẽ thành IP bắt đầu . Tương tự như vậy, cổng cũng sẽ thay đổi , server nhận được packet ở cổng nào thì cũng sẽ dùng cổng đó để gủi lại packet vào cổng mà client đã gửi .

Server gửi lại packet này để thông báo là server đã nhận được tín hiệu và chấp nhận connection, trong trường hợp server không chấp nhận connection, thay vì SYN/ACK bits được bật, server sẽ bật bit RST/ACK ( Reset Acknowledgement ) và gởi ngược lại RST/ACK packet . Hoặc  ICMP cổng khÔng chấp nhận  để thông báo cho client rằng yêu cầu đã bị từ chối .

Server bắt buộc phải gửi thông báo lại bởi vì TCP là chuẩn tin cậy nên nếu client không nhận được thông báo thì sẽ nghĩ rằng packet đã bị lạc và gửi lại thÔng báo mới .

3> ACK Khi client nhận được SYN/ACK packet thì sẽ trả lời bằng ACK packet :

packet này được gởi với mục đích duy nhất báo cho máy chủ biết rằng client đã nhận được SYN/ACK packet và lúc này connection đã được thiết lập và dữ liệu sẽ bắt đầu lưu thông tự do giữa connection.

=======================================
Như vậy, chúng ta đã biết làm cách nào để mở 1 connection. Tiến trình phải thực hiện trước khi bắt đầu truyền dữ liệu .

Have fun


Categories: Cơ bản

Tìm hiểu tracerouter

Tháng Mười 31, 2007 vuau Phản hồi đã bị khóa

Tìm hiểu về “Traceroute”

Traceroute là gì?

Traceroute là một chương trình cho phép bạn xác định được đường đi của các gói packets từ máy bạn đến hệ thống đích trên mạng Internet.

Một ví dụ về Traceroute!

Traceroute có thể làm được gì? Bạn hãy xem ví dụ sau sẽ rõ!

C:\windows>tracert 203.94.12.54Tracing route to 203.94.12.54 over a maximum of 30 hops

1 abc.netzero.com (232.61.41.251) 2 ms 1 ms 1 ms 
2 xyz.Netzero.com (232.61.41.0) 5 ms 5 ms 5 ms 
3 232.61.41.10 (232.61.41.251) 9 ms 11 ms 13 ms 
4 we21.spectranet.com (196.01.83.12) 535 ms 549 ms 513 ms 
5 isp.net.ny (196.23.0.0) 562 ms 596 ms 600 ms 
6 196.23.0.25 (196.23.0.25) 1195 ms1204 ms 
7 backbone.isp.ny (198.87.12.11) 1208 ms1216 ms1233 ms 
8 asianet.com (202.12.32.10) 1210 ms1239 ms1211 ms 
9 south.asinet.com (202.10.10.10) 1069 ms1087 ms1122 ms 
10 backbone.vsnl.net.in (203.98.46.01) 1064 ms1109 ms1061 ms 
11 newdelhi-01.backbone.vsnl.net.in (203.102.46.01) 1185 ms1146 ms1203 ms 
12 newdelhi-00.backbone.vsnl.net.in (203.102.46.02) ms1159 ms1073 ms 
13 mtnl.net.in (203.194.56.00) 1052 ms 642 ms 658 ms 

Tôi cần biết đường đi từ máy tôi đến một host trên mạng Internet có địa chỉ ip là 203.94.12.54. Tôi cần phải tracert đến nó! Như bạn thấy ở trên, các gói packets từ máy tôi muốn đến được 203.94.12.54 phải đi qua 13 hops(mắc xích) trên mạng. Đây là đưòng đi của các gói packets:

Netzero(ISP đã gởi dữ liệu đi) -> Spectranet (một nhà công cấp mạng xương sống – Backbone Provider) -> New York ISP -> New York Backbone -> Asia -> South Asia -> India Backbone -> New Delhi Backbone -> một router khác trong New Delhi Backbone -> New Delhi ISP

Như vậy, host có địa chỉ ip 203.94.12.54 nằm ở New Delhi, India, South Asia! Bạn cũng có thể telnet đến 203.94.12.54 trên cổng 13(datetime) để xác định giờ GMT qua đó bạn có thể biết được vị trí của host này(yêu cầu là host 203.94.12.54 phải chạy daemon datetime và được định cấu hình đúng về thời gian)!

Traceroute hoạt động như thế nào?

Trước hết, bạn cần biết về ICMP, TTL và cách làm việc của các routers(bộ định tuyến)!

Những kiến thức cơ bản

ICMP – Internet Control Message Protocol. ICMP được dùng để thông báo các lỗi xảy ra trong quá trình truyền đi của các gói dữ liệu trên mạng. ICMP thuộc tầng vận huyển – Transpoort Layer! 

Tầng ứng dụng HTTP   FTP   Telnet   Finger     SSH   DNS
POP3/IMAP   SMTP   Gopher   BGP
Time/NTP   Whois   TACACS+   SSL
DNS   SNMP   RIP
RADIUS   Archie
Traceroute   tftp
Ping
Tầng vận chuyển
TCP

UDP

ICMP

OSPF
Tầng Internet
IP

ARP
Tầng vật lí Ethernet/802.3   Token Ring (802.5)   SNAP/802.2   X.25   FDDI   ISDN
Frame Relay   SMDS   ATM   Wireless (WAP, CDPD, 802.11)
Fibre Channel   DDS/DS0/T-carrier/E-carrier   SONET/SDH   DWDM
PPP   HDLC   SLIP/CSLIP   xDSL   Cable Modem (DOCSIS)

Tất cả các ICMP messages đều được chuyển đi cùng với các IP datagrams. Mỗi ICMP message được gói trong IP datagram sẽ có dạng như sau:

+--------+------+ | IP Header(20 bytes) | ICMP message (32 bytes) | +-------+------+

Sau đây là cấu trúc của một IMCP message: (tham khảo RFC792 để biết thêm!)

0                7 8              15 16              31 +-----------------+-----------------+-----------------+ |
  Type (0 or 8)  |     Code (0)    | 16-bit Checksum | +-----------------+-----------------+-----------------+ |
  Indentifier  | sequence number | +-----------------+-----------------+-----------------+ |
  | | Optional Data (nội dung tùy thuộc vào Type và Code) | |
  | +-----------------------------------------------------+
  • trường type có 15 giá trị khác nhau, tùy thuộc vào từng loại ICMP error message cụ thể. Ví dụ type=3 để chỉ định cho thông báo lỗi “Không đến được đích” – “Destination unreachable” error message!
  • trường code = sub-error dùng để xác định chính xác lỗi đã xảy ra. Ví dụ, type=3 và code=0 nghĩa là “Network Unreachable”(không đến được mạng); nếu type=3, code=1 nghĩa là “Host Unreachable”(không đến được host)… 

TTL – Time to Live. TTL là một trường 8 bit trong IP header(bạn hãy xem lại cấu trúc của IP header!). TTL là thời gian gói dữ liệu tồn tại trên mạng trước khi nó bị bỏ qua. Người gởi dữ liệu đi sẽ xác định một giá trị TTL trước, thường là từ 32 -> 64. Giá trị này sẽ được giảm đi một khi một khi được chuyển qua một bộ định tuyến trên mạng. Khi giá trị này bằng 0, datagram này sẽ bị bỏ qua và giao thức ICMP sẽ báo lỗi về cho người gởi. Điều này sẽ tránh cho datagram này đi vào một vòng lặp vô tận qua các bộ định tuyến.Mỗi bộ định tuyến khi nhận được IP datagram sẽ giảm giá trị TTL của datagram này đi một. Hầu hết các bộ định tuyến đều không giữ lại datagram này trong thời gian quá 1 giây trước khi chuyển datagram này đi. Nên giá trị TTL có thể coi bằng hop(counter) = số bộ định tuyến mà datagram này vừa vượt qua.

Khi bộ định tuyến nhận được một datagram có trường TTL bằng 0 hoặc 1, nó sẽ không chuyển datagram này đi tiếp. Thay vào đó, nó sẽ bỏ qua datagram này và gởi một ICMP message “Time Exceeded”(quá thời gian) trở lại cho người đã gởi datagram này! Vì ICMP message mà bộ định tuyến gởi trở lại cho người gởi có địa chỉ nguồn – source address là địa chỉ ip của bộ định tuyến này nên người gởi có thể biết được địa chỉ ip của router này!

Cách làm việc của traceroute!

Traceroute gởi một IP datagram có TTL=1 đến hệ thống đích. Router đầu tiên nhận được datagram này sẽ giảm giá trị TTL đi một -> TTL=0 và router này sẽ bỏ qua datagram này(không gởi nó đi tiếp!) và gởi một ICMP error message với địa chỉ ip nguồn là địa chỉ của nó đến máy bạn. Như vậy router có thể xác định địa chỉ ip của router thứ nhất! Sau đó, traceroute sẽ gởi một datagram mới đi với giá trị TTL=2(1+1=2) đến hệ thống đích. Router đầu tiên sẽ giảm giá trị của TTL đi một -> TTL=1(2-1=1) và chuyển datagram này sang router thứ 2. Router thứ 2 nhận được datagram có TTL=1 sẽ giảm TTL=0. Rounter 2 nhận thấy TTL=0 nên nó sẽ không chuyển datagram này đi tiếp. Router 2 sẽ gởi trở lại máy bạn một ICMP error message với địa chỉ ip nguồn là địa chỉ ip của nó(router 2). Như vậy trình traceroute trên máy bạn sẽ biết được router thứ 2 mà datagram đã đi qua. Traceroute sẽ tiếp tục gởi một datagram khác có TTL=3(2+1=3) đi và lặp lại quá trình trên cho đến khi datagram đến được hệ thống đích!

Nếu bây giờ IP datagram đã đến được đích, TTL=1. Host đích sẽ bỏ qua datagram này và nó cũng sẽ không gởi “Time Exceeded” ICMP error message. Như vậy thì bạn sẽ không thể nào biết được là mình đã đến đích chưa?! Traceroute dùng một cơ chế khác như sau:

Traceroute gởi UDP datagrams đến host đích trên các cổng UDP có số hiệu lớn(>30000). Sở dĩ nó chọn các cổng có giá trị lớn vì thường không có ứng dụng nào đang lắng nghe ở các cổng này. Khi host đích nhận được UDP datagram này, nó sẽ gởi trả lại một ICMP error message “Port Unreachable”(không đến được cổng) cho traceroute. Bây giờ thì traceroute có thể phân biệt được sự khác nhau giữa ICMP error message “Time Exceeded” với “Port Unreachable” để biết được đã đến được đích hay chưa?!

Ghi chú: ICMP error message “Time Exceeded” có type=1 và code=0; ICMP eror message “Port Unreachable” có type=3 và code=3

Tổng kết: traceroute gởi UDP datagrams đến host đích với giá trị TTL=1 và được tăng sau mỗi lần để xác định các routers mà datagrams đã đi qua. Mỗi router sẽ gởi trở về một ICMP message “Time Exceeded”. Riêng hệ thống đích sẽ gởi trở lại cho traceroute một ICMP message “Port Unreachable”. Traceroute dựa vào sự khác biệt này để xác định xem đã đến được đích chưa?!

Ví dụ cuối cùng!

host2 # traceroute xyz.com traceroute to xyz.com (202.xx.12.34), 30 hops max, 40 byte packets
1 isp.net (202.xy.34.12) 20ms 10ms 10ms
2 xyz.com (202.xx.12.34) 130ms 130ms 130ms

Dòng đầu tiên cho biết hostname và địa chỉ IP của hệ thống đích. Dòng này còn cho chúng ta biết thêm giá trị TTL<=30 và kích thước của datagram là 40 bytes(20-bytes IP Header + 8-bytes UDP Header + 12-bytes user data).

Dòng thứ 2 cho biết router đầu tiên nhận được datagram là 202.xy.34.12, giá trị của TTL khi gởi đến router này là 1. Router này sẽ gởi trở lại cho chương trình traceroute một ICMP message error “Time Exceeded”. Traceroute sẽ gởi tiếp một datagram đến hệ thống đích.

Dòng thứ 3, xyz.com(202.xx.12.34) nhận được datagram có TTL=1(router thứ nhất đã giảm một trước đó – TTL=2-1=1). Tuy nhiên, xyz.com không phải là một router, nó sẽ gởi trở lại cho traceroute một ICMP error message “Port Unreachable”. Khi nhận được ICMP message này, traceroute sẽ biết được đã đến được hệ thống đích xyz.com và kết thúc nhiệm vụ tại đây.

Trong trường hợp router không trả lời sau 5 giây, traceroute sẽ in ra một dấu sao “*”(không biết) và tiếp tục gởi datagram khác đến host đích!

Hy vọng đến đây bạn có hiểu được traceroute làm việc như thế nào!? Chúc bạn vui vẻ:) Bye…!

Back


 

Categories: Cơ bản

Tìm hiểu về ping

Tháng Mười 31, 2007 vuau Phản hồi đã bị khóa

Tìm hiểu về “Ping”

Ping là gì?

Ping là một chương trình cho phép bạn xác định một host còn hoạt động(alive) hay không?

Một ví dụ về Ping!

C:\> ping www.aqnet.com

Pinging www.aqnet.com [209.54.218.119] with 32 bytes of data:

Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128

Ping statistics for 209.54.218.119:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\>

www.aqnet.com(209.54.218.119) -> alive!

Nếu bạn nhận được thông báo “Host Alive“, điều này có nghĩa là host không còn hoạt động!

Ping hoạt động ra sao?

Ping gởi một ICMP message “echo request” đến host. Nếu nhận được một ICMP message “echo reply” của host, ping sẽ thông báo host còn hoạt động. Nếu không nhận được ICMP message “echo reply” của host, ping sẽ thông báo host này đã ngừng hoạt động!

Format của ICMP “echo request” và “echo reply” có dạng như sau:

0                7 8              15 16              31 +-----------------+-----------------+-----------------+ |  Type (0 or 8)  |     Code (0)    | 16-bit Checksum | +-----------------+-----------------+-----------------+ |              Indentifier          | sequence number | +-----------------+-----------------+-----------------+ |                                                     | |                   (Optional Data)                   | |                                                     | +-----------------------------------------------------+

Bất cứ lúc nào host nhận được một ICMP request message, nó sẽ phản hồi trở lại với một identifier và số sequence number. Trong hầu hết các hệ thống Unix, trường indentifier được đặt số Process ID của tiến trình gởi gói packet đi. Vì vậy, nếu bạn ping cùng một lúc nhiều lần đến một hệ thống Unix, giá trị indentifier mà bạn nhận được trong mỗi lần ping sẽ khác nhau!

Trường sequence number có giá trị mặc định là 0. Giá trị này sẽ được tăng một sau mỗi lần hệ thống phản hồi ICMP request message của chương trình ping. Ping sẽ in ra giá trị sequence number của mỗi lần nhận packet, điều này cho chúng ta biết được các gói packet có gặp lỗi hay không?!

(Để biết chi tiết về các trường khác, bạn hãy tham khảo các bài viết về giao thức TCP-IP!)

Bây giờ chúng ta hãy xem qua ví dụ cuối cùng:

# ping hackingtruths.box.sk

Pinging hackingtruths.box.sk [194.x.yyy.227] with 32 bytes of data:
32 bytes from 194.x.yyy.227: icmp_seq=0 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=1 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=2 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=3 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=4 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=5 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=6 ttl=225 time=0 ms

Ở dòng đầu tiên, ping phân tích hostname ra địa chỉ ip. Bạn có nhận thấy giá trị icmp_seq tăng dần từ 0 sau mỗi lần ping nhận được ICMP message “echo reply” từ host không? Như vậy là các gói packet mà chúng ta nhận điều không gặp lỗi gì hết! Ping còn cho chúng ta biết thời gian TTL(Time To Live) nữa! Ping lưu thời gian mỗi lần gởi ICMP message “echo request”. Khi nhận được ICMP message “echo reply” từ host, Ping sẽ lấy thời gian hiện tại trừ đi giá trị này sẽ ra TTL!

Okay, bây giờ thì bạn biết Ping làm việc như thế nào rồi đó! Hẹn gặp lại bạn trong các bài viết sau! Bye, bye…!

Back


Categories: Cơ bản

Scan port

Tháng Mười 31, 2007 vuau Phản hồi đã bị khóa


   Các thông báo do Blackice đưa ra như vậy chỉ đơn thuần là các thông báo về hành động Scan Port của một người nào đó trên mạng, khi một Hacker muốn dò tìm cổng mở trên máy tính của nạn nhân, họ sẽ dùng các chương trình Port Scan, các chương trình này sẽ gửi các gói dữ liệu đi khắp một miền IP nào đó, nếu gặp một Active Host thì dữ liệu sẽ được gửi trở lại Hacker và thông báo cho hacker biết địa chỉ IP của người này cũng như các cổng được mở trên máy tính đó. Nhưng nếu máy tính đó được cài các chương trình Firewall như Blackice thì lập tức máy tính đó sẽ được chuyển thành dạng Stealth Mode, có nghĩa là các gói dữ liệu gửi đến sẽ bị chặn lại và Hacker sẽ không biết được sự tồn tại của một Active Host trên IP đó. Do máy tính có tới hàng nghìn cổng khác nhau, cho nên để giảm thời gian tìm kiếm, các Hacker thưòng chỉ dò các cổng như: http(80)
ftp(21) 
telnet(23)
smtp(25)
finger(79) 
pop3 (110),…

  Ngoài ra còn một số cổng thường trú của các loại Trojan như BO2K(54320).. và đặc biệt là cổng Netbios(139): cổng này cho phép truy cập dữ liệu của máy tính , tuy nhiên cổng này chỉ mở khi máy tính đặt ở chế độ Share Files.Thông thường thì tất cả các cổng đều đóng trừ cổng Http luôn mở khi bạn truy cập Internet, tuy nhiên có thể khi chạy các chương trình mạng thì một số cổng sẽ được mở ra và các Hacker sẽ dựa vào điểm yếu này để làm tràn ngập cổng. Nếu bạn chạy các chương trình Firewall, đôi khi các bạn cũng nhận được một số thông báo như vậy nhưng không phải tất cả đều là các cuộc tấn công của các Hacker, có thể một Server của một Website mà bạn viếng thăm gần đây, do một lý do nào đó mà bạn đã Disconnect đột ngột và Server này sẽ gửi một ‘gói dữ liệu’ đến địa chỉ IP của bạn để kiểm tra xem bạn có còn ‘tồn tại’hay không, nếu không có trả lời thì Server đó biết là bạn đã Disconnect rồi.

 
Categories: Cơ bản

Địa chỉ của bạn trên mạng

Tháng Mười 31, 2007 vuau Phản hồi đã bị khóa

Địa Chỉ Trên Mạng Lưới

Bảng Truyền Tin (Communication Adaptor)

Một máy vi tính này muốn liên lạc với một máy vi tính khác thì mỗi máy đó cần phải có trang bị một Bảng Truyền Tin (communication adaptor). Bảng Truyền Tin này giúp máy vi tính chuyển đi hoặc nhận lấy tín hiệu (signal) từ một môi trường truyền tin (medium). Hiện nay có nhiều loại môi trường truyền tin khác nhau. Môi trường truyền tin dùng để liên kết những máy vi tính nằm gần nhau gọi là LAN (Local Area Network) thí dụ như Token Ring, Ethernet v.v. Môi trường truyền tin dùng để liên kết những máy vi tính trong khu vực lớn hơn gọi là MAN (Metropolitan Area Network). Môi trường này thường chuyển tải tín hiệu với vận tốc cao. Môi trường truyền tin cuối gọi là WAN (Wide Area Network) dùng để liên lạc giửa các máy vi tính từ xa. Như vậy máy vi tính cần phải có Bảng Truyền Tin thích hợp tùy thuộc vào môi trường truyền tin mà máy vi tính đó móc nối vào. Thí dụ của những Bảng Truyền Tin thông dụng nhất: Token Ring, Ethernet, X.25, FĐI, Serial Line v.v.

Vài môi trường truyền tin có thể chuyển tải tín hiệu với vận tốc khác nhau như Token Ring có thể chuyển tải với 4 MB (4 Mega bits per second – 4 triệu đơn hiệu trong một giây) hoặc là 16 MB. Serial Line cũng có thể có nhiều vận tốc khác nhau từ 56 KB (56 ngàn đơn hiệu/giây) cho tới hơn 2 MB. Vận tốc của môi trường truyền tin Ethernet thông thường là 10 MB nhưng ít khi nào lưu lượng tín hiệu đạt tới mức này vì sự va chạm của các tín hiệu (Signal Collission). Gần đây người ta đã chế ra Bảng Truyền Tin Ethernet có vận tốc tới 100 MB và đang được các công ty bắt đầu sử dụng. Hiện nay người ta cũng đã thành công chế tạo ra loại Ethernet với vận tốc rất cao lên tới 1 GB (1 tỷ đơn hiệu / giây). Cũng cần nên biết là môi trường FDDI chuyển tải tín hiệu bằng ánh sáng cho nên đạt được vận tốc rất cao lên tới hơn 100 MB. Ngoài ra hiện giờ một loại bảng truyền tin đang được mọi người chú ý tới là ATM (Asynchronous Transfer Mode) là một loại bảng truyền tin có thể chuyển tải tín hiệu một cách nhanh chóng từ vài chục MB cho tới hơn 100 MB trong một giây.

Địa chỉ của Bảng Truyền Tin

(Adaptor’s MAC-Ađress or Physical Ađress)

Mỗi Bãng Truyền Tin đều có một địa chỉ khác nhau. Các địa chỉ này gọi là MAC Ađress (Medium Access Control Ađress). Mỗi địa chỉ do 6 nguyên hiệu tạo thành. Có thể hiểu MAC-ađrress này cũng như số an sinh xã hội, số căn cước của mỗi người.

Nhờ vào MAC-Address này mà các Khung tín hiệu tìm đúng vị trí của Bảng Truyền Tin của máy nhận trong mắt lưới. MAC-address của mỗi Bảng Truyền Tin được khắc vào (burned in) trong lúc các Bảng Truyền Tin được chế tạo tại các nhà máy sản xuất. Thông thường trong lúc sử dụng các Bảng Truyền Tin người ta ít khi nào thay đổi các MAC-address này nhưng đôi khi cũng cần thiết để sửa đổi nó thành một địa chỉ khác. Điều cần biết là một máy vi tính có thể có một Bảng Truyền Tin hoặc có nhiều Bảng Truyền Tin giống hoặc khác loại. Các máy vi tính có gắn nhiều bảng Truyền Tin thì được móc nối vào nhiều mắt lưới khác nhau.

Trên thực tế người sử dụng máy vi tính rất ít khi nào biết Bảng Truyền Tin của máy họ thuộc loại gì hoặc địa chỉ MAC của nó. Thật vậy, những điều kể trên rất phức tạp cho người sử dụng. Thí dụ một người ở Máy A muốn gửi một bức thư điện tới Máy B thì người ở Máy A không thể nào biết hoặc nhớ nổi cái địa chỉ bao gồm 6 nguyên hiệu của Máy B và của riêng máy mình. Vì vậy người ta đã đặt ra nhiều Nghi Thức khác nhau để giúp các máy liên lạc với nhau dễ dàng hơn thí dụ như AppleTalk, NetBios, XNS, IPX (Novell), IP v.v. Vì Internet dựa vào Nghi Thức IP (Internet Protocol) cho nên các phần sau của bài này đều nói về Nghi Thức IP mà thôi.

Địa Chỉ IP

(Internet Ađress)

Khi người ta lập ra Nghi Thức IP, phần địa chỉ IP đã được nghiên cứu và chọn lựa sao cho mỗi Bảng Truyền Tin mang một địa chỉ độc lập không bị trùng với một địa chỉ nào khác và làm cho phần tìm kiếm địa chỉ trong Mạng Lưới dễ dàng hơn (routing).

Cách Cấu Tạo
Địa Chỉ IP bao gồm 4 nguyên hiệu (4-bytes) và được ký hiệu như sau:

X.X.X.X

X tượng trưng cho một nguyên hiệu và có thể có giá trị từ 0 – 255. Như vậy các địa chỉ IP gồm 4 số, mỗi số cách biệt nhau bằng dấu chấm và được mang giá trị từ 0 cho tới 255.

Thí dụ như:

· 153.2.16.251

Địa chỉ IP còn được chia ra làm 5 lớp (Classes) tùy thuộc và giá trị của nguyên hiệu đầu tiên (First Byte). 5 lớp này là

Nếu nguyên hiệu đầu tiên mang giá trị:

		1 - 126   : thuộc lớp A, thí dụ như 9.X.X.X
		128 - 191 : thuộc lớp B, thí dụ như 151.X.X.X
		192 - 223 : thuộc lớp C, thí dụ như 198.X.X.X
		224 - 239 : thuộc lớp D, địa chỉ đặc biệt
		240 - 247 : thuộc lớp E, chưa được xài tới

Trong 5 lớp địa chỉ này thì 3 lớp địa chỉ A, B, và C là được dùng rộng rải nhất.

Chú ý: Vì đa số các máy vi tính chỉ có một Bảng Truyền Tin duy nhất cho mỗi máy. Vì vậy địa chỉ IP của Bảng Truyền Tin có thể hiểu là địa chỉ IP của máy vi tính. Như vậy trong các đoạn kế tiếp địa chỉ IP của máy vi tính sẽ được coi như là địa chỉ IP của Bảng Truyền Tin.

Cấu Trúc Của Địa Chỉ IP

Địa Chỉ IP còn được chia ra làm hai phần. Phần thứ nhất là địa chỉ của Mắt Lưới (Network portion or netid) và phần còn lại là địa chỉ của máy vi tính (host portion or hostid). Điều cần biết là phần địa chỉ của máy vi tính trong địa chỉ IP khi tất cả các đơn hiệu đều là 1’s hoặc là 0’s thì được dùng để truyền tin theo lối tổng phát, vì vậy những địa chỉ đặc biệt này không được dùng cho máy vi tính. Phần địa chỉ của Mắt Lưới và của máy vi tính dài ngắn khác nhau tùy thuộc vào địa chỉ IP đó thuộc về lớp nào. Theo qui định thì

    Địa chỉ Mắt Lưới        Địa chỉ của máy
Lớp A :  1 nguyên hiệu đầu       3 nguyên hiệu còn lại
Lớp B :  2 nguyên hiệu đầu       2 nguyên hiệu còn lại
Lớp C :  3 nguyên hiệu đầu       1 nguyên hiệu còn lại

Thí dụ:

1. 9.67.5.13

Đây là địa chỉ IP thuộc lớp A. Như vậy địa chỉ của Mắt Lưới sẽ là 9.0.0.0 và phần 67.5.13 là địa chỉ của máy vi tính trong Mắt Lưới.

2. 145.5.7.25

Đây là địa chỉ IP thuộc lớp B. 145.5.0.0 sẽ là địa chỉ của Mắt Lưới và 7.25 là địa chỉ của máy vi tính trong Mắt Lưới.

3. 212.15.153.8

Đây là địa chỉ IP thuộc lớp C. Điạ chỉ Mắt Lưới sẽ là 212.15.153.0 và địa chỉ của máy vi tính trong Mắt Lưới đó là 8 .

Như vậy địa chỉ IP của máy vi tính được chia ra làm hai phần: địa chỉ của Mắt Lưới và địa chỉ của máy vi tính trong Mắt Lưới. Nhờ vào sự phân chia ra làm hai phần này mà sự chuyển tiếp tín hiệu từ một mắt lưới này tới một mắt lưới khác được dễ dàng hơn. Các máy Chuyển Tiếp (routers) chỉ căn cứ vào địa chỉ của mắt lưới và sẽ chuyển tiếp túi tín hiệu từ mắt lưới này qua mắt lưới khác cho tới khi tới đúng địa chỉ của mắt lưới đó. Khi túi tín hiệu đã tới đúng mắt lưới rồi thì máy Chuyển Tiếp sẽ chuyển túi tín hiệu cho máy nhận căn cứ vào phần địa chỉ của máy nhận trên địa chỉ IP.

Mạng Phụ và Mạng Nạ

(Subnetwork and Mask ađress)

Mạng Phụ (Subnetwork)
Như những phần trên cho thấy một địa chỉ IP của một máy vi tính được chia ra làm hai phần, phần địa chỉ cho mắt lưới và phần còn lại cho máy vi tính.

Thí dụ như địa chỉ thuộc lớp C:

201.5.125.5

có địa chỉ mắt lưới là 201.5.125 có thể chứa tới 254 máy vi tính (từ 1 cho tới 254).

Thí dụ một địa chỉ khác thuộc lớp B:

145.12.5.5

phần địa chỉ của mắt lưới sẽ là 145.12 có khả năng chứa tới 65.534 máy vi tính.

Thí dụ một địa chỉ khác thuộc lớp A:

9.67.12.6

phần địa chỉ mắt lưới sẽ là 9 có khả năng chứa tới 16.777.214 máy vi tính.

Trên thực tế thì không có một mắt lưới nào lại có sức chứa những số khổng lồ về máy tính như vậy. Thông thường mỗi mắt lưới chỉ chứa vào khoảng vài chục hoặc vài trăm máy vi tính mà thôi. Nghi Thức IP đã cho phép người ta thay đổi một địa chỉ IP để được thêm nhiều mạng lưới phụ đồng thời giảm bớt đi số lượng máy vi tính trong mỗi mắt lưới. Như vậy việc điều hành, theo dỏi, cách sắp xếp vị trí máy vi tính được dễ dàng và thực tế hơn nhiều.

Cách tạo thêm mạng lưới phụ là người ta dùng một phần của nguyên hiệu thứ hai hoặc thứ ba hoặc thứ tư để tạo thêm mạng lưới phụ.

Thí dụ như địa chỉ IP lớp B:

145.12.5.5

Theo địa chỉ này thì phần địa chỉ mắt lưới sẽ là 145.12 nhưng nếu nguyên hiệu thứ ba được dùng để tạo thêm mạng lưới phụ thì địa chỉ của mạng lưới phụ của địa chỉ trên sẽ là 145.12.5. Như vậy từ một mắt lưới 145.12 chứa được 65.534 máy vi tính sau khi dùng nguyên hiệu thứ ba để có thêm mạng lưới phụ thì ta được 254 mạng lưới phụ (từ 145.12.1 cho tới 145.12.254) và mỗi mạng lưới có thể chứa được 254 máy vi tính. Chú ý là ở nguyên hiệu thứ ba hai giá trị 0 và 255 đã không được dùng tới. Điều này là do qui ước chung là tất cả các đơn hiệu của phần địa chỉ phụ không được có giá trị là 0’s hoặc là 1’s. Như ta đã biết giá trị 0 và giá trị 255 theo hệ nhị phân sẽ là 00000000 và 11111111 trái với điều qui định. Vì vậy hai giá trị này bị loại bỏ.

Người ta có thể dùng thêm vài đơn hiệu trong nguyên hiệu kế tiếp để tạo thêm mạng lưới phụ nhưng vì sự phức tạp của nó cho nên không được trình bày ở đây.

Mạng Nạ (Mask Address)

Làm cách nào để một máy tính biết được trong một địa chỉ IP thì phần nào sẽ là địa chỉ của mắt lưới và phần nào thuộc về máy vi tính? Để giúp máy vi tính tìm ra địa chỉ của hai phần này Nghi Thức IP đã đặt ra thêm một địa chỉ phụ gọi là Mạng Nạ đi kèm theo với địa chỉ IP. Theo qui định địa chỉ

Lớp Địa chỉ phụ
A 255.0.0.0
B 255.255.0.0
C 255.255.255.0

Bằng vào vài phép tính máy tính sẽ tìm ra được địa chỉ của mắt lưới. Có những mạng nạ như 255.255.240.0, 255.255.248.0, 255.255.255.240 hoặc là 255.255.255.192 v.v. là do sự thay đổi địa chỉ IP để có thêm những mạng lưới phụ.

Trên thực tế người ta thường dùng mạng lưới phụ để tạo thành những mạng lưới trong khu vực của họ. Có thể nói rằng Hệ Thống Mạng Lưới Truyền Tin Toàn Cầu là tổng hợp của sự móc nối của những mạng lưới phụ mà ra.

Thông thường khi một máy vi tính được móc nối vào một mắt lưới thì máy vi tính đó sẽ được các chuyên viên Điều Hành Mạng Lưới cấp pháp cho một địa chỉ IP cùng với mạng nạ.

Cấu Tạo của Địa Chỉ IP Bằng Tên

(Name Address) Để tạo sự dể dàng cho người sử dụng, người ta đã đặt ra địa chỉ IP bằng tên. Địa chỉ bằng tên này được cấu tạo sao cho dễ nhớ, rõ ràng và giúp cho người sử dụng có khái niệm về sở hửu và vị trí của địa chỉ đó. Thông thường, địa chỉ bằng tên được cấu tạo như sau:

aaa.bbb.ccc

aaa có thể là tên của một máy vi tính hoặc là tên của một nghành, một nhóm. bbb có thể là tên của một cơ quan, một trường học, một hội đoàn v.v., và ccc tượng trưng cho các hội, nghành, hãng xưỡng, cơ quan hành chánh, hoặc là một quốc gia v.v. Nói một cách tổng quát, địa chỉ IP bằng tên cho ta biết phần nào về nơi chốn, khu vùng của máy vi tính.

Thí dụ của một dạng địa chỉ thông dụng nhất:

eecs.ucdavis.edu

Từ phải sang trái , edu là hệ thống của các trường đại học. ucdavis là trường Đại Học Davis tại California. eecs là tên tắt của một nghành học được dạy trong trường Davis gọi là Electronic Engineering and Computer Science.

Phần cuối của địa chỉ bằng tên có thể cho người ta biết phần nào về cái địa chỉ ở đâu hoặc thuộc về chính quyền hay hãng xưởng. Thí dụ như những cái phổ biến là:

EDU -- Các trường Đại Học
COM -- Hãng xưỡng
GOV -- Cơ quan chính quyền
MIL -- Quân đội
NET -- những trung tâm lớn cung cấp dịch vụ Internet
ORG -- Những hội đoàn
CA  -- Canada
AU  -- Australia v.v.

Cách Sử dụng

Với địa chỉ bằng tên đã giúp cho người sử dụng dể các địa chỉ của máy vi tính. Thí dụ như người sử dụng muốn lấy vài nhu liệu Vietnam từ trường đại học Stanford thì thay vì người sử dụng phải nhớ lấy địa chỉ IP của máy vi tính có cất chứa các nhu liệu đó (36.22.0.47), người sử dụng chỉ cần nhớ lấy cái tên của máy cất chứa tài liệu đó là haynd.stanford.edu và ra mệnh lệnh như sau:

ftp haydn.stanford.edu

thì sẽ được móc nối với máy vi tính có chứa nhu liệu Vietnam tại đó.

Nhưng điều nên biết là địa chỉ bằng tên dùng để giúp cho người sử dụng máy vi tính thêm dễ dàng. Muốn liên lạc được với máy vi tính nào đó thì máy vi tính này phải biết địa chỉ IP của máy kia. Như vậy làm sao từ một địa chỉ bằng tên mà máy vi tính có thể biến đổi thành địa chỉ IP?

Đây chính là nhiệm vụ của những Trạm Chuyển Danh.

Tên Khu Vực

(Domain name)

Trước khi nói về cách thức chuyển địa chỉ bằng tên sang địa chỉ IP chúng ta nên hiểu sơ qua về tên khu vực của mình. Cần nhắc lại là Hệ Thống Truyền Tin Toàn Cầu là tổng hợp của tất cả các mắt lưới hoặc mạng lưới phụ. Trên thực tế mỗi hãng xưỡng, cơ quan hoặc trường học v.v. đều bố trí riêng cho họ một khu vực độc lập riêng biệt (atonomic system). Mỗi khu vực độc lập này được cấu tạo bởi nhiều mắt lưới phụ đo nhân viên điều hành mạng lưới chia ra và bố trí. Như vậy chúng ta có thể hiểu là Hệ Thống Mạng Lưới Truyền Tin Toàn Cầu phần lớn là do các khu vực độc lập hợp chung lại. Mỗi khu vực độc lập này sẽ được mang một cái tên khu vực (domain name) khác nhau. Thông thường có dạng bbb.ccc như thí dụ ở trên. Vài thí dụ của tên khu vực là

IBM.COM (hãng IBM)
AOL.COM (hãng American Online – cung cấp dịch vụ Internet)
UCDAVIS.EDU (Trường Đại Học UC-Davis tại California)

Khi người sử dụng muốn liên lạc với một máy vi tính khác thì người sử dụng phải ghi rõ địa chỉ bằng tên. Như thí dụ ftp ở trên khi người nào muốn ftp tới haydn.stanford.edu thì người đó phải ghi rõ như sau

ftp haydn.stanford.edu

Nhưng có một điều tiện lợi là nếu máy vi tính mà mình muốn liên lạc có cùng Tên Khu Vực với máy người sử dụng thì người sử dụng không cần phải ghi hết địa chỉ bằng tên. Thí dụ như các học sinh học tại trường Stanford University đều nằm trong tên khu vực là stanford.edu. Vậy người học sinh đó chỉ cần ghi xuống như sau

ftp haydn

máy vi tính sẽ tự động bỏ và thêm tên khu vực để hoàn thành địa chỉ bằng tên haydn.stanford.edu.

Khi móc nối một máy vi tính vào một mắt lưới thì Tên Khu Vực là một trong những đữ kiện cần phải bỏ vào ( fill in) trong máy vi tính. Dữ kiện này sẽ được nhân viên điều hành mạng lưới cung cấp.

Những lúc trước tên khu vực thường bao gồm nhiều mạng lưới và nhiều máy tính nhưng bây giờ vì số cơ sở thương mại, hội đoàn tham gia Mạng Lưới rất nhiều và do đó tên khu vực chỉ là biểu hiện cho một máy vi tính duy nhất. Một máy vi tính có khả năng chứa nhiều địa chỉ IP trên một bãng truyền tin thì mỗi địa chỉ IP có thể mang một địa chỉ bằng tên khác nhau. Cách này đang được các hãng cung cấp dịch vụ áp dụng hiện nay.

Trạm Chuyển Danh

(Name Server)

Mỗi một khu vực độc lập trong Mạng Lưới Truyền Tin Toàn Cầu đều có ít nhất là một Trạm Chuyển Danh. Trạm này mục đích chính là để chuyển các địa chỉ bằng tên của một máy vi tính sang địa chỉ IP của máy đó. Các nhân viên điều hành mạng lưới đều nắm rõ địa chỉ bằng tên cũng như địa chỉ IP của tất cả các máy vi tính thuộc khu vực độc lập của mình. Tất cả các dữ kiện đó đều được bỏ vào Trạm Chuyển Danh. Khi một máy vi tính được bố trí vào trong một mắt lưới thì địa chỉ IP của Trạm Chuyển Danh là một trong những dữ kiện cần thiết được ghi chú vào trong máy vi tính để máy vi tính có thể liên lạc với Trạm Chuyển Danh.

Trường Hợp Cùng Khu Vực (Same domain name)

Thí dụ như có hai máy vi tính A và B đều nằm trong khu vực độc lập ucdavis.edu như vậy địa chỉ bằng tên của hai máy đó sẽ là A.ucdavis.edu và B.ucdavis.edu. Khi máy A muốn ftp tới máy B thì người sử dụng tại A sẽ ra mệnh lệnh

ftp B

Máy vi tính A sẽ thêm phần Khu Vực Tên vào tạo thành một địa chỉ bằng tên B.ucdavis.edu. Máy A sau đó sẽ gửi một túi tín hiệu tới Trạm Chuyển Danh trong khu vực uc-davis (Chú ý: Máy A đã biết địa chỉ IP của Trạm Chuyển Danh). Trong túi tín hiệu này có mang theo địa chỉ IP của máy A, địa chỉ bằng tên của máy B và hiệu lệnh yêu cầu Trạm Chuyển Danh đổi chuyển địa chỉ. Khi nhận được tín hiệu này thì Trạm Chuyển Danh sẽ tìm kiếm trong khu tài liệu (database) để tìm địa chỉ IP của máy B. Nếu tìm ra được thì Trạm Chuyển Danh sẽ gửi túi tín hiệu trở về máy A trong đó có kèm theo địa chỉ IP của B.

Khi A nhận được địa chỉ IP của B thì A sẽ bắt đầu gửi những túi tín hiệu liên lạc với B. Trường hợp Trạm Chuyển Danh tìm không ra địa chỉ IP của máy B thì trạm này sẽ thông báo cho A biết máy B không có trong khu vực độc lập nàỵ Như vậy chương trình ftp sẽ không thể liên lạc được với máy B và nó sẽ thông báo cho người sử dụng biết về chuyện này.

Trường Hợp Khác Khu Vực (Different domain name)

Theo như vài người lầm tưởng là Trạm Chuyển Danh trong khu vực của họ có chứa một kho tài liệu khổng lồ trong đó có ghi chú mọi địa chỉ bằng tên của tất cả máy vi tính trong Mạng Lưới Truyền Tin Toàn Cầu. Điều này hoàn toàn không đúng. Trong thực tế, Trạm Chuyển Danh trong mỗi khu vực chỉ biết về các máy nằm trong khu vực đó mà thôi.

Nhưng nếu như vậy thì làm sao một máy vi tính có thể biết được địa chỉ IP của một máy khác nằm ngoài khu vực của nó? Thật ra, Trạm Chuyển Danh ngoài sự chứa đựng địa chỉ IP của các máy trong khu vực còn chứa thêm địa chỉ IP của ít nhất một trạm Chuyển Danh Gốc (root server). Trạm Chuyển Danh Gốc này sẽ cho các Trạm Chuyển Danh biết được địa chỉ IP của các Trạm Chuyển Danh của những khu vực khác. Thí dụ như máy A (A.ucdavis.edu) muốn ftp tới haydn.stanford.edu. Chúng ta thấy rằng haydn.stanford.edu nằm ngoài khu vực của ucdavis.edu.

Cho nên khi máy-A gửi túi tín hiệu đến để hỏi địa chỉ IP của haydn.stanford.edu thì Trạm Chuyển Danh ở ucdavis.edu sẽ liên lạc với Trạm gốc để xin địa chỉ IP của Trạm Chuyển Danh ở khu vực stanford.edu. Sau đó trạm Chuyển Danh ở ucdavis sẽ liên lạc trực tiếp với trạm Chuyển Danh ở stanford.edu để hỏi địa chỉ IP của haydn stanford.edu. Khi Trạm Chuyển Danh ở khu vực ucdavis.edu nhận được túi tín hiệu trả lời từ trạm Chuyển Danh tại stanford.edu cho biết địa chỉ IP của haydn.stanford.edu thì nó sẽ chuyển túi tín hiệu này tới máy A. Nhờ vậy máy vi tính A biết được địa chỉ IP của máy haydn.stanford.edu và A sẽ bắt đầu liên lạc trực tiếp với máy vi tính đó. Những bước tiến hành kể trên diễn ra rất nhanh và người sử dụng không hay biết gì. (Chú ý: nếu người sử dụng biết trước được địa chỉ IP của haydn.stanford.edu thì chỉ cần ra mệnh lệnh

ftp 36.22.0.47

mà không cần dùng tới Trạm Chuyển Danh).

Trạm Chuyển Danh đã giúp ích rất nhiều cho người sử dụng trong việc liên lạc hằng ngày bằng máy vi tính. Việc sử dụng máy Chuyển Danh là một nhu cầu hầu như cần phải có của các máy vi tính trên các mạng lưới. Những khi máy Chuyển Danh bị trục trặc hay bị trở ngại gì không phục vụ được thì gây ra nhiều trì hoãn và tốn thời gian trong công việc.

Một điều tiện lợi khác mà mọi người nên biết là mặc dầu địa chỉ IP bằng tên đã tạo sự dễ dàng cho người sử dụng máy vi tính. Nhưng vẫn có nhiều địa chỉ IP bằng tên rất dài dòng và khó nhớ. Tùy thuộc Hệ Thống Điều Khiển trên máy vi tính của người sử dụng vẫn có cách giải quyết một cách dễ dàng bằng cách đặt những tên hiệu (alias) cho những tên dài này.

Nghi Thức Tìm Địa Chỉ

(Address Resolution Protocol – ARP)

Địa chỉ IP đã tạo sự dễ dàng cho người sử dụng và còn dễ hơn nửa khi chúng ta hiểu biết sự liên quan giữa địa chỉ IP bằng số và địa chỉ IP bằng tên. Với địa chỉ IP thì một máy vi tính A muốn liên lạc với một máy vi tính B thì máy A sẽ gửi những túi tín hiệu tới máy B căn cứ và địa chỉ IP của máy B. Nhưng thật sự ra nếu máy A muốn liên lạc với máy B thì máy A phải biết địa chỉ MAC của bảng truyền tin máy B. Địa chỉ MAC của bảng truyền tin (6 nguyên hiệu) hoàn toàn khác hẳn với địa chỉ IP (4 nguyên hiệu). Như vậy làm sao máy A có thể liên lạc với máy B trong khi máy A chỉ có địa chỉ IP của máy B? Mục đích của Phần này là giải thích và trình bày cách thức tìm kiếm địa chỉ MAC của một máy vi tính từ địa chỉ IP của máy vi tính đó. (Chú ý: để tạo sự ngắn gọn thì danh từ “địa chỉ MAC” sẽ được sữ dụng để thay thế cho “địa chỉ của bảng truyền tin”).

Nghi thức tìm địa chỉ MAC


	Máy-A 201.5.10.1
                 :
               -----
              (     )
             (       )
     Máy-D--(    X    )--Máy-B 201.5.10.2
 201.5.10.4  (       )
              (     )-- Máy-RT (Máy Chuyển Tiếp)
               -----
                 :
               Máy-C 201.5.10.3

Thí dụ như hình vẻ trên, máy-A muốn liên lạc với máy-C. Máy-A biết được địa chỉ IP của máy-C là 201.5.10.3 nhưng máy-A lại không biết địa chỉ MAC của máy-C vì vậy máy-A phải dùng Nghi Thức Tìm Địa Chỉ để tìm ra địa chỉ MAC của máy-C.

Theo như hình vẻ cho thấy, tất cả các máy A, B, C và D đều được móc nối vào cùng một mắt lưới X và địa chỉ của mắt lưới X sẽ là 201.5.10.0. Khi máy-A muốn liên lạc với máy-C lần đầu tiên thì A sẽ dùng một khung tín hiệu theo Nghi Thức Tìm Địa Chỉ. Trong khung tín hiệu này sẽ chứa đựng địa chỉ MAC của máy gửi, địa chỉ IP của máy gửi, địa chỉ MAC của máy cần tìm, và địa chỉ IP của máy cần tìm. Như vậy máy-A sẽ gửi ra một khung tín hiệu chứa đựng địa chỉ MAC của A, địa chỉ IP của A, địa chỉ MAC cần tìm thì bỏ trống, địa chỉ IP cần tìm là địa chỉ IP của máy-C. Máy-A sẽ dùng phương cách Tổng Phát để gửi khung tín hiệu đó vào mắt lưới X. Địa chỉ tổng phát mà máy A gửi vào mắt lưới X sẽ là 201.5.10.255. Vì máy-A dùng phương cách Tổng Phát cho nên tất cả các máy vi tính trên mắt lưới X đều nhận được khung tín hiệu do máy-A phát ra. Tất cả các máy trên mắt lưới X đều phải so sánh địa chỉ IP cần tìm với địa chỉ IP của chính máy mình. Như thí dụ trên thì máy-B, C, và D đều so sánh nhưng chỉ có máy-C là có địa chỉ của mình trùng hợp với địa chỉ IP cần tìm trong khung tín hiệu mà thôi. Điều nên biết là mặc dầu địa chỉ IP của các máy B và D không trùng với địa chỉ IP cần tìm nhưng hai máy B và D sẽ cất giữ địa chỉ IP và địa chỉ MAC của A vào khu trí nhớ năng động để sử dụng sau này.

Khi máy-C phát giác ra sự trùng hợp giửa địa chỉ IP cần tìm và địa chỉ IP của chính nó thì máy-C sẽ biết là máy-A đang cần địa chỉ MAC của máy C để liên lạc. Khi biết được như vậy thì máy C sẽ bỏ địa chỉ MAC của mình vào khung tín hiệu và gửi trở về cho máy-A. Chú ý là máy-C sẽ gửi khung tín hiệu trực tiếp trở về cho máy A vì trong khung tín hiệu mà C nhận được từ A đã có mang địa chỉ MAC của máy A và máy C đã ghi nhớ lấy địa chỉ này và cất giử vào khu trí nhớ năng động (cache). Sau khi máy-A nhận được khung tín hiệu gửi trở về từ C trong đó có mang theo địa chỉ MAC của máy C thì A sẽ dùng địa chỉ MAC này để bắt đầu gửi những khung tín hiệu mang tài liệu (data) đến cho máy C. Máy-A cũng sẽ cất giử địa chỉ MAC của máy C và khu trí nhớ năng động để việc chuyển gửi sẽ nhanh chóng hơn. Khi cả máy-A và máy-C đều biết địa chỉ MAC của nhau thì việc sử dụng Nghi Thức Tìm Địa Chỉ đã hoàn thành.

Nếu gặp trường hợp máy-A muốn liên lạc với một máy-N nằm trong mắt lưới Y nào đó thì máy-A sẽ không cần tìm địa chỉ MAC của máy N. Thay vào đó máy-A sẽ gửi những khung tín hiệu tới máy-RT tức là máy chuyển tiếp (router) nằm trong mắt lưới X. Máy RT sẽ tìm cách gửi những khung tín hiệu đó cho máy-N.

Chú Ý:Thí dụ về Nghi Thức Tìm Địa Chỉ ở trên là dựa trên môi trường truyền tin mà các máy có thể dùng phương pháp tổng phát. Còn như những môi trường truyền tin không cho phép phương pháp tổng phát mà chỉ cho phép phương pháp đa phát hoặc đơn phát thì có những Nghi Thức tương tự để tìm địa chỉ MAC.

oOo

Categories: mạng

Tìm hiểu domain

Tháng Mười 31, 2007 vuau Phản hồi đã bị khóa

Domain name – những vấn đề cơ bản :1. Domain name là gì?
Máy tính có thể làm việc rất tốt với những con số nhưng con người thì không. Khi cần kết nối với một thiết bị trên mạng thì bạn chỉ cần đánh IP của thiết bị đó. Điều này hiển nhiên là rất rắc rối và khó nhớ, vì vậy tên miền (domain) được tạo
ra.Giống như file, tên miền cũng có đuôi, chúng có ý nghĩa như sau:
.COM: thương mại, công ty hoặc bất kỳ người nào.
.EDU: giáo dục, thường là các trường đại học hoặc trường học.
.MIL: quân sự.
.GOV: chính phủ.
.ORG: các tổi chức, thường là các tổ chức hoạt động phi thương mại. Tuy nhiên mọi người cũng có thể xó domain này.
.CH,.DE,.VN…: Tuỳ thuộc vào quốc gia đã đăng ký theo tiêu chuẩn thế giới.
Một vài trang web có thể có 2 phần mở rộng là .COM.VN
Tên miền được đưa ra bởi Internic và bạn phải mua nó. Ví dụ nếu bạn muốn có một web site có tên http://www.tenban.com thì bạn phải trả tiền cho Internic để có được site này. Sau đó bạn không cần phải trả tiền cho các domain như ten.tenban.com….Khi đánh một tên miền thì sẽ có một server là DNS (Domain Server Name) tìm kiếm trong bảng tham chiếu xem số IP tương ứng là gì. Nếu không tìm được, nó sẽ tìm ở một DSN khác! Cùng một IP, có thể có nhiều tên miền khác nhau và điều này thường xảy ra.
Ví dụ: nếu ISP của bạn là vnn.com và web site của bạn là http:// www.vnn.com/mypage thì bạn có trả tiền cho tên miền mypage.com và mọi người có thể truy cập vào site của bạn bằng http://www.www.mypage.com và tất nhiên là http://www.vnn.vom/mypage vẫn tồn tại. Dấu ” / ” chỉ ra thư mcụ mà lưu trữ trang web trên server.

2. Domain có thể nói lên điều gì:
Khi bạn kết nối với ISP, bạn sẽ có một IP và IP này sẽ có một tên miền.
Ví dụ: ISP của bạn là vnn.com thì bạn có thể có tên miền là users.server1.vnn.com và mọi người có thể biết ISP của bạn là ai và quốc tịch của bạn là gì.

3. Đổi tên miền như thế nào:
Có thể dăng ký một tên mới, mua một IP cố định hoặc đổi ISP. Bảng tham chiếu DNS được tạo ra từ yêu cầu của DNS chứa tên miền. Ví dụ nếu bạn sở hữu “name.com” DNS server sẽ gởi yêu cầu đến DNS server của bạn về “ten.name.com”. Bảng tham chiếu này không thể bị sữa chữa trừ khi bạn có toàn quyền truy cập vào DNS server. Nhưng không có một bảng tham chiếu nào có đầy đủ tất cả các tên miền. Vì vậy khi nó không tìm được tên miền thì nó sẽ gởi yêu cầu đến một DNS khác.
Để tăng tốc đọ xử lí, DNS còn có một bộ nhớ cache. Khi có nhiều người cùng yêu cầu một tên miền, thì DNS server sẽ tìm trong cache trước. Nếu bạn gởi thông tin giả đến DNS cache và người khác cùng đến một địa chỉ họ cũng sẽ nhận được thông tin giả mạo đó.

Categories: Cơ bản

Hack FAQ-Những câu hỏi thường gặp

Tháng Mười 31, 2007 vuau Phản hồi đã bị khóa

HackerVN Hack FAQ :

Lời nói đầu: Thể theo yêu cầu của mọi người, ban điều hành HackerVn đã cho ra đời bản FAQ này dành cho những bạn mới làm quen với nghệ thuật Hacking và Internet. Bạn có thể tự tìm tòi những điều căn bản mà bất cứ Hacker nào cũng phải “master”. Hy vọng những khái niệm trong bài viết này sẽ giải đáp được nhiều thắc mắc của một số bạn. Nếu bạn cảm thấy những kiến thức dưới đây không đúng hoặc thiếu chính xác bạn có thể gửi thư góp ý .Bản FAQ này dựa trên cơ sở đóng góp, góp ý của các thành viên trên HackerVN community, vậy nếu bạn có câu hỏi hay giải đáp muốn chúng tôi thêm vào bản FAQ này thì xin liên hệ với địa chỉ e-mail ở trên hoặc có thể gửi lên trên forum. Để trang trở nên thật sự hữu ích và để giúp HackerVN tiến lên phía trước chúng tôi thiết tha sự giúp đỡ và đóng góp của bạn. “Một cây làm chẳng nên non, ba cây chụm lại nên hòn núi cao”.

Internet

Địa chỉ IP (IP Address)

(By Conan_Dole and BlackArt)

Trên mạng Internet nó sẽ xác định chính bạn. Khi kết nối vào mạng thì IP của bạn là duy nhất trên thế giới. Tuy nhiên số này chưa hẳn là cố định. Nếu bạn vào mạng qua một ISP thì số IP của bạn sẽ thay đổi ở các lần bạn kết nối.
Một người biết IP của bạn thì có thể lần ra vị trí của bạn. Nghĩa là khi có IP thì biết được địa chỉ của ISP rồi biết được thông tin của bạn. Trên thực tế, IP cho biết về máy tính được sử dụng để vào mạng chứ không cho biết thông tin về người sử dụng, trừ khi IP của bạn là cố định hoặc sử dụng account của riêng bạn.
Sự khác nhau giữa logic (hostname) và một địa chỉ IP:
Đơn giản chỉ bởi vì việc gọi tên, ví dụ www.yourname.com sẽ dễ hơn nhiều đối với việc phải gọi 202.32.156.14. Tuy vậy, có một sự khác biệt quan trọng giữa 2 điều này. IP là số để xác định thiết bị (device) còn hostname là một mối liên kết giữa 1 từ khoá và một số IP. Một địa chỉ IP có thể có nhiều hostname khác nhau nhưng một hostname thì chỉ có một IP liên kết với nó.
Địa chỉ IP được chia thành 4 số giới hạn từ 0 – 255. Mỗi số được lưu bởi 1 byte -> !P có kicks thước là 4byte, được chia thành các lớp địa chỉ. Có 3 lớp là A, B, và C. Nếu ở lớp A, ta sẽ có thể có 16 triệu điạ chỉ, ở lớp B có 65536 địa chỉ. Ví dụ: Ở lớp B với 132.25,chúng ta có tất cả các địa chỉ từ 132.25.0.0 đến 132.25.255.255. Phần lớn các địa chỉ ở lớp A llà sở hữu của các công ty hay của tổ chức. Một ISP thường sở hữu một vài địa chỉ lớp B hoặc C. Ví dụ: Nếu địa chỉ IP của bạn là 132.25.23.24 thì bạn có thể xác định ISP của bạn là ai. ( có IP là 132.25.x.)
IP thể hiện điều gì:
Trên mạng Internet nó sẽ xác định chính bạn. Khi kết nối vào mạng thì IP của bạn là duy nhất trên thế giới. Tuy nhiên số này chưa hẳn là cố định. Nếu bạn vào mạng qua một ISP thì số IP của bạn sẽ thay đổi ở các lần bạn kết nối.
Một người biết IP của bạn thì có thể lần ra vị trí của bạn. Nghĩa là khi có IP thì biết được địa chỉ của ISP rồi biết được thông tin của bạn. Trên thực tế, IP cho biết về máy tính được sử dụng để vào mạng chứ không cho biết thông tin về người sử dụng, trừ khi IP của bạn là cố định hoặc sử dụng account của riêng bạn.
Sự khác nhau giữa logic (hostname) và một địa chỉ IP:
Đơn giản chỉ bởi vì việc gọi tên, ví dụ
http://www.yourname.com/ sẽ dễ hơn nhiều đối với việc phải gọi 202.32.156.14. Tuy vậy, có một sự khác biệt quan trọng giữa 2 điều này. IP là số để xác định thiết bị (device) còn hostname là một mối liên kết giữa 1 từ khoá và một số IP. Một địa chỉ IP có thể có nhiều hostname khác nhau nhưng một hostname thì chỉ có một IP liên kết với nó.
IP spoofing là gì:
Một số IP có mục đích để xác định một thiết bị duy nhất trên thế giới. Vì vậy trên mạng một máy chủ có thể cho phép một thiết bị khác trao đổi dữ liệu qua lại mà không cần kiểm tra máy chủ.
Tuy nhiên có thể thay đổi IP của bạn, nghĩa là bạn có thể gởi một thông tin giả đến một máy khác mà máy đó sẽ tin rằng thông tin nhận được xuất phát từ một máy nào đó (tất nhiên là không phải máy của bạn). Bạn có thể vượt qua máy chủ mà không cần phải có quyền điều khiến máy chủ đó. Điều trở ngại là ở chỗ những thông tin phản hồi từ máy chủ sẽ được gởi đến thiết bị có IP mà chúng ta đã giả mạo. Vì vậy có thể bạn sẽ không có được sự phản hồi những thông tin mà mình mong muốn. Có lẽ điều duy nhất mà spoof IP có hiệu quả là khi bạn cần vượt qua firewall, trộm account và cần dấu thông tin cá nhân!


Cổng ảo là gì? (Virtual Port)

Cổng ảo là 1 số tự nhiên đựợc gói ở trong TCP(Tranmission Control Protocol) và UDP(User Diagram Protocol) header (hiện có lẽ bạn còn xa lạ với 2 từ này, chúng tôi sẽ đề cập sau). Như mọi nguòi đã biết, Windows có thể chạy nhiều chương trình 1 lúc, mỗi chương trình này có 1 cổng riêng dùng để truyền và nhận dữ liệu. Ví dụ 1 máy có địa chỉ IP là 127.0.0.1 chạy WebServer, FTP_Server, POP3 server, etc, những dịch vụ này đều đuọc chạy trên 1 IP address là 127.0.0.1, khi một gói tin đuọc gửi đến làm thế nào máy tính của chúng ta phân biệt được gói tin này đi vào dịch vụ nào WebServer hay FTP server hay SMTP? Chính vì thế Port xuất hiện. Mỗi dịch vụ có 1 số port mặc định, ví dụ FTP có port mặc định là 21, web service có port mặc định là 80, POP3 là 110, SMTP là 25 vân vân…. Người quản trị mạng có thể thay đổi số port mặc định này, nếu bạn ko biết số port trên một máy chủ, bạn ko thể kết nối vào dịch vụ đó được. Chắc bạn đã từng nghe nói đến PORT MAPPING nhưng có lẽ chưa biết nó là gì và chức năng thế nào. Port mapping thực ra đơn giản chỉ là quá trình chuyển đổi số port mặc định của một dịch vụ nào đó đến 1 số khác. Ví dụ Port mặc định của WebServer là 80, nhưng thỉnh thoảng có lẽ bạn vẫn thấy http://www.xxx.com:8080/ , 8080 ở đây chính là số port của host xxx nhưng đã đuợc nguòi quản trị của host này “map” từ 80 thành 8080.

RFC là gì?

RFC là viết tắt của Request For Comment, là tập hợp những tài liệu về kiến nghị, đề xuất và những lời bình luận liên quan trực tiếp hoặc gián tiếp đến công nghệ, nghi thức mạng INTERNET. Các tài liệu RFC đựợc chỉnh sửa, thay đổi đến khi tất cả các kỹ sư thành viên của IETF(Internet Engineering Task Force) đồng ý và duyệt, sau đó những tài liệu này được xuất bản và được công nhận là 1 chuẩn, nghi thức cho Internet. Tài liệu RFC nổi tiếng và làm tạo được tiếng vang lớn nhất là tài liệu RFC số 822 về Internet Email bởi Dave Crocker.

Trang chủ của RFC: http://www.ietf.org/rfc.html

DNS là gì? Tại sao ta lại dùng DNS, DNS làm việc ra sao, tên miền là gì, etc…?

DNS là viết tắt của Domain Name System. Một máy chủ DNS đợi kết nối ở cổng số 53, có nghĩa là nếu bạn muốn kết nối vào máy chủ đó, bạn phải kết nối đến cổng số 53. Máy chủ chạy DNS chuyển hostname bằng các chữ cái thành các chữ số tương ứng và ngược lại. Ví dụ: 127.0.0.1 –> localhost và localhost—>127.0.0.1

Hệ thống “tên đến địa chỉ” (name-to-address) được dùng trước đây khi DNS chưa ra đời, đây thực chất là 1 file trên server. Cấu tạo của 1 file này là 1 table với “hostname” và địa chỉ IP tương ứng, file này được cập nhật và bảo quản bởi Standford Reserch Institute Network Information Center (SRI-NIC). Vài lần 1 tuần, tổ chức này lại cập nhật nội dung file này. Những nguòi quản trị mạng nếu cần sẽ download file này xuống để dùng cho local DNS. Dần dần, số lượng của các trang web trên internet ngày càng nhiều. Cách cũ dùng “name-to-address” trở nên thiếu hiệu quả và tốn thời gian –> DNS ra đời. DNS ko phụ thuộc vào bất cứ 1 server riêng rẽ nào, DNS được phân phát cho nguòi dùng dưới dạng 1 file cơ sở dữ liệu, file này được giũ trên khắp các DNS server trên toàn thế giới. Mỗi DNS server đều tự tìm kiếm một DNS cao hơn khi nhân được yêu cầu về 1 host nào đó ko có trong cơ sở dữ liệu trên máy mình

Máy chủ DNS (DNS Server)

DNS server là 1 máy tính bình thường có thể PC(/MAC) chạy UNIX hoặc nhân bản của Unix (Linux,etc..) và chay một chương trình quản lý domain name gọi là BIND (Berkely Internet Name Domain). DNS server có thể chạy các hệ điều hành khác như Windows, MacOS nhưng thường thì *nix hay được chọn hơn cả vì unix có tính bảo mật cao hơn và cho phép lượng truy cập lớn hơn.

Chương trình quản lý DNS được thiết kế chia làm 2 phần, phần thứ nhất là 1 “daemon” nghe ở cổng 53 đợi kết nối. Phần thứ 2 là để gửi yêu cầu lên một DNS cao hơn nếu local database ko có thông tin mà máy khách yêu cầu. Phần thứ nhất (daemon) trả lời trình duyệt web mỗi khi nhận được yêu cầu. Ví dụ, khi bạn mở Internet Explorer và đánh vào http://www.hackervn.org,/ trình duyệt của bạn sẽ gửi yêu cầu đến 1 máy chủ có dịch vụ DNS gần nhất để tìm IP của http://www.hackervn.org/ vì trình duyệt của bạn cần biết IP máy chủ hiện đang lưu trữ trang web http://www.hackervn.org./ Máy chủ DNS ở ISP của bạn sẽ tìm trong cơ sở dữ liệu, nếu ko tìm thấy địa chỉ IP cho http://www.hackervn.org/ máy chủ chạy DNS này sẽ chuyển sang phần thứ 2 là đưa yêu cầu của máy khách đến 1 máy chủ DNS cao cấp hơn, nhiều dữ liệu hơn để giải quyết. Định dạng cây của DNS (tree formation)

Một khi DNS server ko thể tìm thấy số IP tương ứng cho 1 hostname trong cơ sở dữ liệu của mình, server đó sẽ gửi yêu cầu đến 1 DNS server khác cao hơn 1 bậc, và DNS server này sẽ lặp lại quá trinh mà DNS server dưới đã làm để tìm địa chỉ IP của 1 host nào đó. Nếu DNS server này vẫn ko tìm thấy thì yêu cầu sẽ lại được gửi đến 1 DNS server khác cao hơn nữa và quy trình này sẽ được tiếp tục cho đến khi nào ra kết quả. Kết quả của yêu cầu này chỉ có thể là “Tìm Thấy” hoặc “Ko tìm thấy”. :-) . Đến thời điểm này, chắc bạn đã hình dung ra được cấu trúc của các DNS server như thế nào rồi? Nếu chưa, hãy nhìn vào ví dụ dưới đây:

Ví dụ nhà cung cấp internet của bạn là FPT. Trang web đặt trên máy chủ của FPT là http://www.fpt.vn./ Mặc định, DNS server sẽ là dns.fpt.vn. Bây giờ bạn muốn truy cập http://www.hackervn.org./ dns.fpt.vn sẽ tìm thông tin về host này ở trong cơ sở dữ liệu trên máy chủ DNS ở FPT xem ai đó đã gửi thông tin truy cập về host này chưa. Nếu điạ chỉ hackervn ko được tìm thấy ở “local database” hoặc trong bộ nhớ, dns.fpt.vn sẽ đưa yêu cầu này đến 1 DNS server cao cấp hơn, ở đây sẽ là “dns.vn”. DNS server này quản lý tất cả các trang có đuôi .vn. Tuy nhiên server này có thể ko có địa chỉ này trong cơ sở dữ liệu nhưng có thể có vì có thể ai đó đã truy cập trang này. Nếu ở đây vẫn ko tìm thấy host/ip cần tìm, DNS server này cuối cùng phải gửi request đến DNS server lớn nhất quản lý tất cả các domain gọi là “.root”. Máy chủ chạy .root DNS này là một máy tính rất mạnh, và cơ sở dữ liệu của .root này bao gồm tất cả các loại domain trên toàn thế giới. như .com , .net , .mil, .co.uk, vân vân…..

Khi nào và tại sao DNS bị “bại liệt” ?

Kết quả tìm kiếm 1 trang web có thể lâu hay nhanh tuỳ thuộc vào nhà cung cấp dịch vụ internet của bạn có điạ chỉ IP và host đó ko trong cơ sở dữ liệu ở trên máy chủ DNS hay không. Nếu nhà cung cấp dịch vụ Internet có sẵn thông tin bạn cần trong “local DNS database” có lẽ chỉ vài giây là bạn có thể có thể xem đựoc trang web còn nếu ko thì sẽ mất 1 khoảng thời gian lâu hơn, tồi tệ nhất là khi bạn nhận đựợc thông báo “Page can not be displayed”, có nghĩa là 1 là trang web đó ko tồn tại hoặc là do quá trình “yêu cầu” DNS quá lâu nên browser của bạn “time out” và “giết chết” kết nối. Tuy nhiên bạn có thể Refresh lại trình duyệt, nếu lần trước là do “time out” thì lần này bạn sẽ nhận đựoc trang web đó nhanh hơn vì máy chủ DNS của nhà cung cấp dịch vụ Internet của bạn đã cập nhật đựoc trang đó trong lần yêu cầu trước khi bạn gửi đến.

Khái niệm về Ping và cách hoạt động?

Ping là 1 khái niệm rât đơn giản tuy nhiên rất hữu ích cho việc chẩn đoán mạng. Tiểu sử của từ “ping” như sau: Ping là tiếng động vang ra khi 1 tàu ngầm muốn biết có 1 vật thể khác ở gần mình hay ko, nếu có 1 vật thể nào đó gần tàu ngầm tiếng sóng âm này sẽ va vào vật thể đó và tiếng vang lại sẽ là “pong” vậy thì tàu ngầm đó sẽ biết là có gì gần mình.

Trên Internet, khái niệm Ping cũng rất giống với tiểu sử của nó như đã đề cập ở trên. Lệnh Ping gửi một gói ICMP (Internet Control Message Protocol) đến host, nếu host đó “pong” lại có nghĩa là host đó tồn tại (hoặc là có thể với tới đựoc). Ping cũng có thể giúp chúng ta biêt được luợng thời gian một gói tin (data packet) đi từ máy tính của mình đến 1 host nào đó.

Có 1 loại dịch vụ Ping khác gọi là “TCP Ping” và “UDP Ping”. Hai dịch vụ này đều đợi kết nối ở cổng số 9 và ghi lại những gì bạn đánh trên màn hình. Dịch vụ này được sử dụng khi nguời quản trị mạng ko muốn máy chủ của mình nhận những gói tin ICMP( để tránh Denial Of Service ) nhưng vẫn muốn để mọi nguòi ping để xem máy chủ của mình “chết” hay “sống”.

Số thứ tự (Sequence numbers) là gì?

“Sequence number” là những số xuất hiện trong phần “header” của 1 gói tin TCP. Mục đích của “sequence number” là để các gói tin được nhận theo đúng trình tự như khi chúng được gửi đi. Một trong những phiền toái trong việc truyền dữ liệu qua mạng Internet nói chung và Intranet nói riêng là sự chuyển đổi các gói tin (Packet Switching). Nôm na là như sau, mỗi gói tin đi mỗi con đường khác nhau để tới địa chỉ của host. Gói tin A đi đừong này nhưng gói tin B có khi lai đi đường khác. TCP/IP được thiết kế sao cho mỗi gói tin TCP tìm con đường nào nhanh nhât để đến được đia chỉ đích nhưng con đường này thường là đồng nhất(Với TCP). Gói tin gửi đi phụ thuộc vào tốc độ của đường truyền mà nó đi qua nên những gói tin này ko thể đến nơi cùng 1 lúc, có gói sẽ đến trước có gói sẽ đến sau. Ví dụ gói thứ nhất sẽ đến sau gói thứ 10 chẳng hạn.

Để chắc chắn là máy đích nhận đựoc các gói tin theo trình tự để sau này lắp lại thành 1 file hoàn chỉnh, mỗi gói tin TCP “header” bao gồm 1 số thứ tự (sequence number). Nếu ko có số thứ tự này thì máy đích sẽ gần như ko thể lắp ráp các gói tin lại thành một file hoàn chỉnh được, nhất là đối với những file to vài trăm Megabyte.

“Thời Gian Để Sống” (Time To Live)

Như bạn đã biết (có thể ko biết), Internet là một mạng rất rộng lớn. Để đảm bảo các gói dữ liệu đến được máy đích thì quả là một vấn đề. Nếu các gói dữ liệu này đến được chỗ cần đến thì khỏi phải nói, nhưng nếu những gói tin này bị lạc trên đường thì sao?Chính vì thế “Time To Live” ra đời. Khi những gói tin này ko đến được máy đích sau khi đã đi qua số một số router(số này đã được mặc đính trước) sẽ tự phân huỷ.

“Time To Live” chỉ tồn tại trong gói tin TCP. Đây là 1 cách để thủ tục TCP bảo đảm gói tin được gửi đi đến đúng địa chỉ, và để người nhận biết là gói tin vừa gửi đi đã bị mất hoặc thất lạc nếu có gì xảy ra, như vậy gói tin đó sẽ được gửi lại. Time To Live là 1 số tự nhiên, mỗi khi gói tin TCP đi qua 1 router, con số này sẽ giảm đi 1 giá trị, khi số này giảm xuống còn 0, gói tin sẽ tự tiêu huỷ và thông báo ICMP được gửi về thông báo là gói tin vừa gửi ko đến đuợc để máy này gửi lại gói tin vừa thất lạc.

Hầu hết các máy đều để giá trị của gói tin TCP là 32. Các chuyên gia về mạng đưa ra lời khuyên là nên để giá trị mặc định TTL là 64, một số khác lại cho là 128 nhưng 128 có vẻ là hơi nhiều.

Thế nào là kết nối TCP 3 chiều ( 3 way TCP hand-shake)

TCP là nghi thức kết nối trước, truyền tải dữ liệu sau. Cụ thể là nếu bạn muốn truyền dữ liệu giữa 2 máy tính nối mạng, trước tiên bạn phải thiết lập một số giao thức giữa 2 máy với nhau để báo cho nhau là đã chuẩn bị cho việc gửi và nhận dữ liệu hay chưa. Quá trình này gọi là kết nối 3 chiều của TCP (TCP 3 ways hand-shake)

Để có thể giúp bạn hiểu rõ ràng hơn về vấn đề này, chúng tôi xin đưa ra ví dụ minh hoạ sau. Chẳng hạn máy tính A muốn thiết lập kết nối TCP đến máy tính B, trước tiên máy tính A sẽ phải gửi 1 gói tin gọi là gói tin với header được đánh dấu SYN (với 1 bit ở TCP header là on) đến B. Gói tin SYN này bao gồm số thứ tự (sequence number). Khi B nhận đuợc gói tin có dấu SYN này từ A, máy B sẽ gửi một gói tin SYN của chính nó và 1 gói tin khác nữa gọi là ACK. Gói tin ACK này thực chất là một gói tin tương tự như SYN nhưng chứa dữ liệu của gói tin SYN mà A gửi cho máy B lúc đầu. Cuối cùng, máy A gửi một gói tin SYN cuối cùng lại cho B như là ở buớc thứ 2 khi B trả lời cho A.

(SYN) A —–> B Khi quá trình này hoàn tất, 2 máy tính có thể thiết

lập kết nối và truyền tải dữ liệu cho nhau duới dạng

TCP

(SYN)+(ACK)A <—– B
(ACK) A —–> B

Chú ý: Truyền tải dữ liệu duới nghi thức UDP thì ko cần phải thiết lập kết nối trước giống trong TCP. Những gói tin TCP thường đi cùng một đuờng, qua cùng router tuy nhiên đối với UDP thì do ko thiết lập một kết nối nào cả giữa 2 máy nên mỗi gói tin đều tự tìm các đuờng khác nhau để đến máy đích, ko có một còn đuờng nào thống nhất cả.


Khái niệm về “timeout” ?“Time out” đựoc dùng để miêu tả khoảng thời gian máy A gửi 1 gói tin cho máy B nhưng ko nhân đuợc trả lời từ máy B. Ví dụ khi bạn kết nối vào 1 server chat nào đó chẳng hạn như việtchat, bạn click vào nút connect nhưng sau khoảng 1 phút vietchat server vẫn chưa trả lời. Đây gọi là time out.


Khái Niệm tracert (traceroute) và cách làm việc? Traceroute là một công cụ để chuẩn đoán mạng rất tốt. Tiện ích này có sẵn ở trong windows(tracert) hoặc unix(traceroute). Tracert dùng TTL(Time To Live) để phát hiện đường đi của gói tin và sau đó ping các router mà gói tin này đã đi qua. Tiện ích này thực sự hữu ích khi bạn muốn kết nối đến một máy chủ nhưng bạn ko tài nào đến đuợc và bạn muốn xem là những router nào trên đuờng mà gói tin này đã đi cản trở giao thông mạng

Đầu tiên, lệnh tracert gửi một gói tin với giá trị TTL là 1. Gói tín với giá trị TTL = 1 này sẽ bị tiêu huỷ ngay sau khi nó bước qua router đầu tiên, thông báo lỗi sẽ đuợc gửi trả về máy của bạn. Sau đó lại một gói tin TCP khác được gửi đi nhưng lần này với giá trị TTL=2. Như các bạn đã biết, khi đến router thứ 2 gói tin này sẽ bị “chết” và thông báo lỗi sẽ đuợc gửi về máy bạn và cứ thế. Sau khi đã hoàn thành cả một đoạn đường dài qua tất cả các router mà gói tin cần đi qua, tracert dùng lệnh ping các router trên đường để xem những router nào đã trả lời và mất số lượng thời gian là bao lâu. Như vậy, người dùng có thể tự xem router nào nhanh, router nào cho gói tin đi qua …vân vân.. Có thể là do chậm hoặc là bị down.

Chú ý:

Trong windows: tracert hostname

Trong unix: traceroute hostname

Khái niệm về HTTP và cách hoạt động

HTTP là viết tắt của cụm từ tiếng anh Hyper Text Transfer Protocol. Đây là một nghi thức dùng cho trình duyệt web (Opera, Internet Explorer….) để giao tiếp với máy chủ Web và hiển thị thông tin. Khi bạn gõ địa chỉ của 1 web-site nào đó vào hộp địa chỉ trong trình duyệt Web và gõ “Enter”, việc đầu tiên trình duyệt của bạn sẽ làm là tìm ở máy chủ DNS xem địa chỉ IP của máy chủ chứa trang đó là gì. Sau khi đã tìm thấy địa chỉ IP, trình duyệt web của bạn sẽ tìm cách để kết nối vào cổng (port) mà máy chủ đó dùng cho http(cổng mặc định là 80) và lấy thông tin mà bạn cần hiển thị(ở đây là trang web).

Tip: Bạn có thể chỉnh sửa file host(c:\windows\host) trong win 98 hoặc c:\windows\System32\driver\host để ghi lại những server mà bạn hay truy cập. Như vậy thì sẽ tiết kiêm đuợc nhiều thời gian để tìm IP trên DNS server.

Dưới đây là 2 lệnh căn bản bạn nên biết:

1) “get”…Đây là lệnh trình duyệt dùng để lấy 1 trang web nào đó mà bạn đang yêu cầu. Ví dụ get url HTTP/1.0. url là địa chỉ trang web còn HTTP/1.x là version của dịch vụ HTTP mà trình duyệt của bạn dùng.

2) “post”… Đây là lệnh trình duyệt dùng để gửi 1 file lên trên server.

FTP là gì và cách làm việc

FTP là viết tắt của cụm từ tiếng anh File Transfer Protocol. Đây là nghi thức dùng để truyền tải dữ liệu từ máy này sang máy khác. Điểm lợi của FTP là tính dễ sử dụng, bạn có thể dễ dàng kết nối vào 1 máy chủ FTP và tìm những file bạn muốn miến là những file đó là cho public. Hiện nay trên thế giới có rất nhiều tiện ích FTP dễ dùng như CuteFTP etc…

Chú ý: Bạn có để ý rằng tất cả các nghi thức liên quan đến Internet mà chúng ta đã tìm hiểu trong bản FAQ đều kêt thúc bằng từ P (protocol). Và như bạn thấy, thủ tục nào cũng đều liên quan đến việc truyền tải file (upload và download).

Các lệnh và cách sử dụng Telnet

Lệnh

cd …chuyển thư mục ls hoặc dir …list các file trong thư mục hiện thời
get …download file xuống máy bạn
ls …list file (Unix)
cdup …chuyển đến thư mục mẹ
put …upload file lênt máy chủ ở thư mục hiên thời
quit …..ngắt kết nối và thoát
help list các lệnh.
SMTP là gì và cách hoạt động.

SMTP là viết tắt của Simple Message Transfer Protocol. SMTP là một nghi thức của Internet dùng để gửi thư. Khi dùng SMTP để gửi thư, bạn thường phải dùng một chương trình Sendmail(Sendmail Deamon). Có thủ tục khác gọi là QMail nhưng thường thường Sendmail vẫn phổ biến hơn cả mặc dù Sendmaili là một nghi thức gửi thư rất ko an toàn.

Chương trình sendmail có cổng mặc định là 25, cổng này mở để đợi máy khách kết nối vào để gửi thư. SMTP có thể bị kẻ xấu lợi dụng để dùng vào mục đích ko tốt vì SMTP ko dùng hệ thống kiểm tra người dùng. Bạn chỉ cần kết nối vào server và đưa ra địa chỉ nội dung thư là thư đó đựoc gửi đi ko cần biết bạn là ai. Hiện trên thế giới có rất nhiều SMTP server, bạn có thể dùng google để tìm những server này.

Tuy nhiên bạn vẫn có thể khám phá ra bức thư bạn nhận được là thật hay giả bằng cách chỉ cần nhìn vào header của thư đó.

Pop 3 là gì và cách hoạt động

Pop 3 là viết tắt của Post Office Protocol, số 3 là số phiên bản mới hơn của POP. Đơn giản nghi thức này dùng để nhận thư từ POP3 server.

Khi kết nối để nhận thư bằng Outlook, Eudora hay các chương trình e-mail khác để gửi thư, trước tiên chuơng trình sẽ kết nối đến POP3 server, server này thuờng đợi kết nối ở cổng mặc định là 110. Bạn nên chú ý là POP3 email khác với Web email, đối với POP3 bạn có thể telnet vào server để check thư trong khi với Webmail thì bạn phải vào hẳn trang web để check(ví dụ Hotmail). Web email thường là chậm hơn so với POP3 email.

POP3 là một nghi thức dễ học nhất trong các nghi thức, đôi khi kiến thức POP3 có thể có lúc hữu dụng. Ví dụ khi bạn bị bomb-mail chẳng hạn, bạn có thể telnet vào POP3 server và xoá những bomb thư đó đi mà ko phải tải chúng xuống máy bạn.

—-EOF—

Categories: sưu tầm