1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giao thuc TCP-IP

50 400 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giao Thức Tcp/Ip
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Thành phố Hà Nội
Định dạng
Số trang 50
Dung lượng 247,5 KB

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

Nội dung

chia se ae nhe

Trang 1

Chơng I Giao thức TCP/IP

CHơNG I GIAO THỉC TCP/IP 2

1.G I I Í THI ệ U TCP/IP - GIAO THỉC INTERNET 2

1.K I ế N TRểC CẹA TCP/IP 3

Kiến trúc của TCP/IP 3

Cơ chế địa chỉ Internet 7

Địa chỉ lớp A 7

Địa chỉ lớp B 8

Địa chỉ lớp C 8

Mạng con và Subnet mask 9

Tầ NG M ạ NG (N ETWORK L AYER ) 10

Mạng Ethernet và IEEE 802.3 11

Mạng Token-Pasing Rings (IEEE 802.5) 11

Mạng Token-Passing Busses (IEEE 802.4) 12

Tầ NG I NTERNET (I NTERNET L AYER ) 13

Gói tin IP 13

Thuật toán dẫn đờng 15

Dẫn đờng trực tiếp 16

Dẫn đờng gián tiếp 18

Thuật toán 19

Cơ chế thông báo lỗi (Internet Control Message Protocol - ICMP) 21

Gói tin ICMP 21

Điều khiển dòng dữ liệu 21

Thông báo lỗi 22

Định hớng lại 22

Kiểm tra trạm làm việc 22

T ầ NG GIAO V ậ N 23

Giao thức không kết nối (User Datagram Protocol - UDP) 23

Gói thông tin UDP 23

Phân kênh, hợp kênh và Ports 24

Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP) 26

TCP Segment 28

Cổng, kết nối và điểm kết nối 29

Tầ NG ỉNG DễNG CẹA TCP/IP 30

Dịch vụ tên miền (Domain Name Server - DNS) 31

?I.1 Đăng nhập từ xa (Telnet) 33

?I.2 Th điện tử (Electronic Mail) 33

?I.3 Truyền tệp (File Transfer Protocol - FTP) 35

?I.4 Nhóm tin (News groups) 35

?I.5 Tìm kiếm tệp (Archie) 36

?I.6 Tra cứu thông tin theo thực đơn (Gopher) 36

?I.7 Tìm kiếm thông tin theo chỉ số (WAIS) 36

?I.8 Siêu văn bản (WWW) 36

CHơNG II XâY D NG ỉNG DễNG Ù 37

?I G IAO DI ệ N L ậ P TR ì NH 37

?I.1 Giao diện lập trình 37

?I.2 Network I/O và file I/O 38

?I.3 Làm việc với Shocket 39

?I.3.1 socket 40

?I.3.2 Địa chỉ Socket 40

?I.3.3 Một số lời gọi tạo lập socket 42

?I.3.4 Một số lời gọi gửi dữ liệu qua socket 45

?I.3.5 Một số lời gọi nhận dữ liệu từ socket 47

?II Mô H ì NH C LIENT -S ERVER 47

?II.1 Mô hình Client-Server sử dụng dịch vụ hớng kết nối 48

?II.2 Mô hình Client-Server sử dụng dịch vụ không kết nối 49

?III X â Y D NG Ù CH ơ NG TR ì NH 50

Trang 2

Chơng I Giao thức TCP/IP

1 Giới thiệu TCP/IP - giao thức internet

Vào cuối những năm 1960 và 1970, Trung tâm nghiên cứu cấp cao (Advanced Research Projects Agency - ARPA) thuộc bộ quốc phòng Mĩ (Department of Defense - DoD) đợc giao trách nhiệm phát triển mạng APARNET Mạng APARNET bao gồm những tổ chức quân đội, các trờng đại học và các tổ chức nghiên cứu và đợc dùng để hỗ trợ cho những dự án nghiên cứu khoa học và quân

đội (Ngày nay, ARPA đợc gọi là DARPA) Năm 1984, DoD chia ARPANET ra thành 2 phần ARPANET sử dụng cho nghiên cứu khoa học và MILNET sử dụng cho quân đội Đầu những năm 1980, một bộ giao thức mới đợc đa ra làm giao thức chuẩn cho mạng ARPANET và các mạng của DoD mang tên DARPA

TCP/IP.

Năm 1987, tổ chức nghiên cứu quốc gia Hoa Kỳ (National Science Foundation - NSF) tài trợ cho việc kết nối 6 trung tâm siêu tính trên toàn liên bang lại với nhau thành một mạng với tên gọi NSFNET Về mặt vật lý, mạng này kết nối 13 điểm làm việc bằng đ- ờng điện thoại cao tốc đợc gọi là NSFNET backbone Khoảng 8 đờng backbone đã đợc xây dựng NSFNET đợc mở rộng với hàng chục mạng địa phơng kết nối vào nó và kết nối vào mạng Internet của DARPA, cả NSFNET và các mạng con của nó đều sử dụng

bộ giao thức TCP/IP.

Có một số u điểm của TCP/IP nh sau:

hệ điều hành Bởi vì nó đợc hỗ trợ bởi nhiều nhà cung cấp, TCP/IP lý tởng cho việc hợp nhất phần cứng và phần mềm khác nhau, ngay cả khi truyền thông trên Internet Sự độc lập rành mạch với phần cứng vật lý của mạng cho phép TCP/IP hợp nhất các mạng khác nhau TCP/IP có thể chạy trên mạng Ethernet, mạng Token ring, mạng quay số (Dial-up line), mạng X.25 mạng ảo và mọi loại môi trờng vật lý truyền thông

địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu Internet

Trang 3

• Tiêu chuẩn hoá mức cao của giao thức phù hợp với ích lợi của dịch vụ ngời dùng Đợc tích hợp vào hệ điều hành UNIX, hỗ trợ mô hình client-server, mô hình mạng bình đẳng, hỗ trợ kỹ thuật dẫn đờng động.

DARPA hỗ trợ việc nghiên cứu kết nối nhiều loại mạng khác nhau lại thành một mạng toàn cầu Internet Ngoài việc sử dụng cho tất cả các máy trên Internet, TCP/IP còn đợc sử dụng trong mạng nội bộ của một số tổ chức chính phủ hoặc thơng mại, những mạng này gọi là Intranet TCP/IP có thể kết nối một số lợng lớn các máy tính (150.000 máy trên nớc Mĩ, Châu Âu, Châu á) hay chỉ kết nối hai máy tính trong phòng làm việc

Chúng ta sẽ nghiên cứu về bộ giao thức truyền thông TCP/IP sau đây

1 Kiến trúc của TCP/IP

Kiến trúc của TCP/IP

Mặc dầu có nhiều giao thức trong bộ giao thức truyền thông TCP/IP, hai giao thức quan trọng nhất đợc lấy tên đặt cho bộ giao thức này là TCP (Transmission Control Protocol) và IP (Internet Protocol)

TCP/IP đợc phân làm 4 tầng

Việc phân tầng này đảm bảo một số nguyên tắc sau:

chuẩn hoá quốc tế

chơng trình con là ít)

Trang 4

• Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp

và đủ nhỏ để mô hình không quá phức tạp

những nguyên tắc chung (cài đặt cùng một giao thức truyền thông)

năng nh nhau Các tầng đồng mức phải sử dụng một giao thức chung

Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể đợc thi hành bởi một số giao thức Do vậy, mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của tầng Ví dụ cả giao thức truyền file (File Transfer Protocol-FTP) và giao thức th điện tử (Electronic Mail Protocol) đều cung cấp dịch vụ cho ngời dùng và cả hai đều thuộc tầng ứng dụng Mỗi mức ngang hàng giao thức truyền thông (sự bổ sung của các giao thức cùng mức tơng đơng trên hệ thống khác) Mỗi mức phải đợc chuẩn hoá để giao tiếp với mức tơng đơng với nó Trên lý thuyết, giao thức chỉ liên quan tới lớp của nó mà không quan tâm tới mức trên hoặc dới của nó Tuy nhiên phải có sự đồng ý để làm sao chuyển dữ liệu giữa các tầng trên một máy tính, bởi mỗi tầng lại dính líu tới việc gửi dữ liệu từ ứng dụng tới một ứng dụng tơng đơng trên một máy khác Tầng cao hơn dựa vào tầng thấp hơn để chuyển dữ liệu qua mạng phía dới Dữ liệu chuyển xuống ngăn xếp từ tầng này xuống tầng thấp hơn cho tới khi đợc truyền qua mạng nhờ giao thức của tầng vật lý Tại nơi nhận, dữ liệu đi lên ngăn xếp tới ứng dụng nhận Những tầng riêng

lẻ không cần biết các tầng trên và dới nó xử lý ra sao, nó cần biết cách chuyển thông tin tới các tầng đó Sự cô lập các hàm truyền thông trên các tầng khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức Các ứng dụng mới có thể thêm vào mà không cần thay đổi tầng vật lý của mạng, phần cứng có thể đợc bổ sung mà không cần viết lại các phần mềm ứng dụng

Trang 5

FTP (File transfer Protocol): Giao thức truyền tệp cho phép ngời dùng lấy

hoặc gửi tệp tới một máy khác

Telnet: Chơng trình mô phỏng thiết bị đầu cuối cho phép ngời dùng login vào

một máy chủ từ một máy tính nào đó trên mạng

SMTP (Simple Mail Transfer Protocol): Một giao thức th tín điện tử.

DNS (Domain Name server): Dịch vụ tên miền cho phép nhận ra máy tính từ

một tên miền thay cho chuỗi địa chỉ Internet khó nhớ

SNMP (Simple Network Management Protocol): Giao thức quản trị mạng cung

cấp những công cụ quản trị mạng

RIP (Routing Internet Protocol): Giao thức dẫn đờng động.

ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi

UDP (User Datagram Protocol): Giao thức truyền thông không kết nối, cung

cấp dịch vụ truyền không tin cậy nhng tiết kiệm chi phí truyền

TCP (Transmission Control Protocol): Giao thức hớng kết nối, cung cấp dịch

vụ truyền thông tin tởng

IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy

tính đến đích

Trang 6

ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa

chỉ vật lý của các thiết bị mạng

Cũng giống nh trong mô hình tham chiếu OSI, dữ liệu gửi từ tầng Application đi xuống ngăn xếp, mỗi tầng có những định nghĩa riêng về dữ liệu mà nó sử dụng Tại nơi gửi, mỗi tầng coi gói tin của tầng trên gửi xuống là dữ liệu của nó và thêm vào gói tin các thông tin điều khiển của mình sau đó chuyển tiếp xuống tầng dới Tại nơi nhận, quá trình diễn ra ngợc lại mỗi tầng lại tách thông tin điều khiển của mình ra và chuyển dữ liệu lên tầng trên

Header

Data

Trang 7

Internet IP

Header

TCP Header

Data

Network Ethernet

Header

IP Header

TCP Header

Information Centre) sẽ cấp cho các máy tính đó một địa chỉ IP (IP Address)

mạng cục bộ thì ngời quản trị mạng sẽ cấp cho các máy tính đó một địa chỉ IP (tuy nhiên cũng dới sự cho phép của NIC)

Hệ thống địa chỉ này đợc thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địa chỉ

IP là : A, B, C, D, E Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng

tổ chức các cấu trúc con của nó

Class E 1 1 1 1 0 Reverved for future use

Sau đây chúng ta sẽ thảo luận về 3 lớp địa chỉ chính của TCP/IP đó là các lớp A,B,C là các lớp đợc sử dụng rộng rãi trên mạng Internet

Địa chỉ lớp A

Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng Nh hình trên, nó

đ-ợc nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ có giá trị 0 3 bytes còn lại đợc sử dụng để đánh địa chỉ máy trong mạng

Trang 8

Có 126 địa chỉ lớp A (đợc đánh địa chỉ trong byte thứ nhất) với số máy tính trong

để đánh địa chỉ máy)

Nguyên nhân chỉ có 126 networks trong khi dùng 8 bit vì bit đầu tiên mang giá trị

0 dùng để định nghĩa lớp A vậy con lại 7 bit đánh số từ 0-127

tuy nhiên ngời ta không sử dụng một địa chỉ chứa toàn các con số 1 hoặc 0 do vậy, chỉ còn lại 126 mạng lớp A đợc sử dụng Do vậy giá trị byte đầu tiên của địa chỉ lớp A sẽ luôn luôn nằm trong khoảng từ 1 tới 126, mỗi một byte trong 3 bytes còn lại sẽ có giá trị trong khoảng 1 đến 254

Đối với việc chỉ có 16.777.214 máy trong khi sử dụng 24 bit đánh địa chỉ máy trong mạng cũng đợc giải thích tơng tự

Địa chỉ lớp A có dạng: <Network.Host.Host.Host>

với con số thập phân đầu tiên nhỏ hơn 128

Ví dụ: 9 6 7 8 : Nút đợc gán Host ID là 6 7 8, nằm trong mạng lớp A có địa chỉ

là 9 0 0 0

Địa chỉ lớp B

Một địa chỉ lớp B đợc nhận ra bởi 2 bit đầu tiên của byte thứ nhất mang giá trị 10 Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉ mạng và 2 byte cuối

đánh địa chỉ máy trong mạng

Có 64*256 - 2 = 16.128 địa chỉ mạng lớp B với 65.534 máy cho mỗi một địa chỉ lớp B

Địa chỉ lớp B có dạng: <Network.Network.Host.Host>

Byte đầu tiên của một địa chỉ lớp B nằm trong khoảng 128 tới 191

Ví dụ: 190 2 2 1 : Nút đợc gán Host ID là 2 1, nằm trong mạng lớp B có địa chỉ là 192 2 0 0

Địa chỉ lớp C

Một số tổ chức có quy mô nhỏ có thể xin cấp phát địa chỉ lớp C Một địa chỉ lớp

C đợc nhận ra với 3 bit đầu mang giá trị 110 Mạng lớp C sử dụng 3 byte đầu để

đánh địa chỉ mạng và 1 byte cuối đánh địa chỉ máy trong mạng Có 2.097.152 -2

địa chỉ lớp C, mỗi địa chỉ lớp C có 254 máy

Địa chỉ lớp C có dạng: <Networkr.Network.Network.Host>

Trang 9

Địa chỉ lớp C đợc nhận ra với byte đầu tiên trong khoảng 192 tới 223

Ví dụ: 200 6 5 4 : Nút đợc gán Host ID là 4, nằm trong mạng lớp C có địa chỉ

là 200 6 5 0

Mạng con và Subnet mask

Mạng Internet sử dụng địa chỉ IP 32 bit và phân chia ra các lớp rất mềm dẻo, tuy nhiên, với một hệ thống địa chỉ nh vậy việc quản lý vẫn rất khó khăn Nếu nh một mạng đợc cấp một địa chỉ lớp A thì có nghĩa nó chứa tới 16*1.048.576 máy tính,

do vậy ngời ta dùng mặt nạ bit để phân chia mạng ra thành những mạng con gọi

là Subnet Subnet mask là một con số 32 bit bao gồm n bit 1 (thờng là các bit cao nhất) dùng để đánh địa chỉ mạng con và m bit 0 dùng để đánh địa chỉ máy trong mạng con với n+m=32

Mặt nạ subnet phải đợc cấu hình cho mỗi máy tính trong mạng và phải đợc định nghĩa cho mỗi router Nh vậy, ta phải dùng cùng một Subnet mask cho toàn bộ mạng vật lý cùng chung một địa chỉ Internet

Ví dụ:

Ta có một địa chỉ lớp B 128.001.000.000 và cần chia nó thành 254 mạng con với

254 máy trong mỗi mạng, ta giải quyết vấn đề này bằng Subnet mask nh sau

Trang 10

ợc chuyển đổi thích hợp với địa chỉ mạng vật lý nơi mà dữ liệu đợc truyền đi.

Hai ví dụ RFCs mô tả giao thức sử dụng cho tầng mạng là:

Ethernet

Trang 11

• RFC 894, một chuẩn cho việc truyền gói tin IP qua mạng Ethernet mô tả cáchthức đóng gói để truyền thông tin qua mạng Ethernet.

Khi cài đặt trong UNIX, giao thức của tầng này đợc xem nh sự phối hợp của

ch-ơng trình điều khiển thiết bị và các chch-ơng trình liên quan Những đơn vị tch-ơng ứng với những thiết bị mạng làm nhiệm vụ đóng gói dữ liệu và chuyển giao cho mạng

Mạng Ethernet và IEEE 802.3

Ethernet và IEEE 802.3 là hai chuẩn phổ biến nhất trong kiến trúc mạng cục bộ Chúng sử dụng công nghệ gọi là CSMA/CD (Carrier Sense Multiple Access Control/Collision Detect) Multiple Access có nghĩa là mọi máy tính và thiết bị mạng có thể truy cập đờng truyền cùng một lúc Công nghệ Carrier Sense cho phép các thiết bị nhận biết khi nào đờng truyền đang bận Trớc khi thiết bị truyền thông tin, nó kiểm tra đờng truyền, nếu đờng truyền bận, nó đợi một khoảng thời gian ngẫu nhiên nào đó và tiếp tục Nếu đờng truyền không bận, nó bắt đầu truyền dữ liệu của mình Nếu 2 trạm cùng truyền thông tin một lúc, dữ liệu có thể

bị phá huỷ (collision), Collision Detection điều khiển thiết bị collision controller gửi tín hiệu “jam signal” để báo cho mọi thiết bị trên mạng biết điều gì đang sảy

ra Nếu gặp collision, thiết bị đợi một khoảng thời gian ngẫu nhiên trong 1 - 255 Nếu gặp collision, lần thứ hai, nó đợi một khoảng trong 1 - 511 Nếu tiếp tục gặp collision, thiết bị cố gắng thêm 6 lần Thời gian truyền thông tin trên mạng Ethernet không thể xác định đợc chính xác vì không ai có thể chắc rằng gói thông tin không bị collision do vậy thờng ngời ta không dùng Ethernet với các ứng dụng thời gian thực Một đặc tính của mạng Ethernet nữa là nó không có cơ chế báo nhận, khi sử dụng với TCP/IP dịch vụ này đợc tầng transport (TCP) cung cấp

Mạng Token-Pasing Rings (IEEE 802.5)

Tolen-Pasing Rings cũng là một công nghệ mạng cục bộ phổ biến, việc điều khiển lu thông trên mạng này đợc sử dụng bởi một cơ chế gọi là thẻ bài “token” Token là một gói tin đợc chuyển vòng quanh mạng, mỗi thiết bị chỉ đợc quyền truyền dữ liệu khi nó nhận đợc token

Trang 12

Một đặc tính chủ yếu của Mạng Token-Pasing Rings là nó phải đợc nối thành vòng, nếu một nút mạng bị lỗi, toàn bộ mạng sẽ ngừng hoạt động (đối với mạng Ethernet chỉ một ngừng hoạt động khi nó bị lỗi) Nếu một máy bị tắt, mạng Mạng Token-Pasing Rings vẫn cần giao diện của nó để truyền thông, Token-ring Interface board lấy năng lợng từ cáp mạng để hoạt động Khi thẻ bài bị mất, sau một thời gian nào đó, một thiết bị điều khiển sẽ sinh một thẻ bài mới.

Mạng Token-Passing Busses (IEEE 802.4)

Token-Passing còn làm việc trên topo bus Một chuẩn định nghĩa cho mạng này là IEEE 802.4, là một phần của chuẩn MAP (Manufacturing Automation Protocol) Chuẩn này sử dụng thiết bị Broadband khác với Baseband sử dụng trong Ethernet

và Token-ring Baseband chỉ sử dụng một tín hiệu trên đờng truyền trong khi broadband sử dụng nhiều kênh truyền với các tần số tín hiệu khác nhau trên đờng truyền

Hệ thống khác lại chỉ sử dụng một dây nhng dùng 2 tần số khác nhau để truyền

và nhận Thông thờng tần số truyên và nhận tạo thành một cặp tần số (tính bằng

Trang 13

MHz) để dễ chuyển đổi giữa tần số gửi và tần số nhận Tuy sử dụng Broadband

đắt và phức tạp nhng nó làm việc rất tốt với hình ảnh analog và âm thanh

Tầng Internet (Internet Layer)

Tầng IP cung cấp một hệ thống chuyển giao không kết nối và đôi khi ngời ta còn gọi là không tin cậy Không kết nối bởi mỗi gói tin đợc truyền đi trên mạng một cách độc lập, sự kết hợp dữ liệu của các gói tin đợc cung cấp bởi các dịch vụ lớp trên Mỗi gói tin IP chứa địa chỉ nơi gửi và địa chỉ nơi nhận và dựa vào đó nó có thể đợc truyền trên mạng tới đích Nhng chính việc dữ liệu có thể đi tới đích trên nhiều đờng khác nhau tạo nên sự mềm dẻo cho Internet khi một đờng bị dứt hay một nút nào đó bị quá tải, các gói tin có thể đợc truyền đi theo những con đờng khác, nếu một gói tin nào có lỗi thì chỉ phải truyền lại gói tin đó thay vào việc phải truyền lại toàn bộ thông báo Không tin cậy bởi vì IP không có cơ chế kiểm tra tính đúng đắn của dữ liệu đợc truyền nhận, dịch vụ tin tởng phải đợc cung cấp bởi các giao thức lớp trên

Gói tin IP

Source IP addressDestination IP address

Typefield

IP header encapsulated in an Ethernet frame

Trang 14

Vers : Dài 4 bits, mô tả chính xác version của IP

Hlen : Dài 4 bits, mô tả độ dài của IP header.

Service type: dài 8 bits mô tả thứ tự u tiên của data.

Total length: Dài 16 bits (2 bytes), đây là độ dài của datagram (in bytes-có

nghĩa là độ dài vùng data của IP datagram có thể lên tới 65535 bytes)

Identification, flags, fragment offset: Không phải bất kỳ size nào của

datagram cũng đợc truyền trên mạng (ví dụ Ethernet LAN chỉ hỗ trợ cho size lớn nhất của datagram là 1518 bytes) Do vậy khi size của datagram vợt quá kích thớc cho phép, nó sẽ bị chia nhỏ ra và các trờng này sẽ đảm bảo rằng các datagram đã bị phân chia này là từ một datagram ban đầu

Time to live: Dùng để xác định xem datagram này có bị truyền lặp lại hay

không (thông thờng nó đợc gán là 1, nếu bị lặp lại nó sẽ bị gán là 0)

Protocol: Trờng này cho biết lớp giao thức cao hơn nào sẽ đợc sử dụng (UDP

hay là TCP)

CRC: Trờng này đợc dùng để kiểm tra sự toàn vẹn của header.

IP option: Chứa các thông tin nh: "dò" đờng, bảo mật, xác nhận thời gian.

Padding: Trờng điền thêm các số 0 để đảm bảo header kết thúc tại một địa chỉ

bội của 32

Source IP address, destination IP address: chứa địa chỉ của station gửi và địa

chỉ của station đích

Gói tin IP chứa một trờng checksum để kiểm tra tính toàn vẹn của IP header, nếu

IP header lỗi, gói tin IP bị loại bỏ và giao thức lớp trên sẽ truyền một gói tin khác Tầng IP làm công việc dẫn đờng các gói tin qua mạng Internet từ máy tính này tới máy tính khác, qua các mạng khác nhau cho tới khi nó đến đợc trạm đích hoặc bị lỗi Việc truyền gói tin qua các mạng đợc thực hiện thông qua một thiết bị kết nối giữa hai mạng gọi là gateway Khi một thông tin truyền qua các mạng khác nhau,

nó có thể bị chia ra thành nhiều gói nhỏ hơn Thông tin truyền có thể quá lớn để

có thể truyền trên một gói tin trên một mạng khác Vấn đề này chỉ gặp phải khi gateway đợc nối giữa các mạng vật lý khác nhau Mỗi kiểu mạng có một độ dài tối đa gói tin của có thể truyền (maximum transmission unit-MTU) nếu thông tin

Trang 15

nhận đợc từ mạng này dài hơn MTU của mạng kia, nó cần phải đợc chia nhỏ ra thành nhiều mảnh để truyền

Việc xử lý này gọi là sự phân mảnh Để trực quan, ta so sánh với việc chuyên chở hàng bằng tàu hoả mỗi toa tàu có thể chở nhiều hàng hơn một chiếc xe tải sẽ trở hàng trên đờng, hàng hoá sẽ đợc chia vào nhiều xe tải Ta có thể so sánh việc

đờng ray khác về vật lý với đờng ôtô Ethernet khác X.25 về vật lý IP phải cắt gói tin Ethernet thành những gói thông tin nhỏ hơn để truyền qua mạng X.25

Định dạng của mỗi gói tin chia cắt giống nh với từng bản tin Word thứ hai của header chứa thông tin sử dụng cho quá trình tập hợp lại bản tin bao gồm: gói tin thuộc bản tin nào, vị trí của nó trong dòng, gói tin đã đợc kết nối cha

Khi những gói tin truyền đến một gateway quá nhanh, chúng có thể bị loại bỏ và

IP trả lại một thông báo lỗi (ICMP)

Thuật toán dẫn đờng

Internet là một mạng chuyển mạch gói, để chuyển các gói tin IP trên mạng, ngời

ta sử dụng thuật toán dẫn đờng Thuật toán dẫn đờng là một tiến trình lựa chọn

Identical Paket

Identical Message

Identical Frame

Gateway G

Trang 16

một đờng để truyền gói tin và việc dẫn đờng đợc thực hiện bởi mọi máy tính trên mạng Ngời ta chia việc dẫn đờng ra làm 2 kiểu:

máy tính kia chỉ thực hiện đợc khi cả hai máy tính đều kết nối vào một mạng vật lý

mạng với trạm gửi cần thông qua gateway để truyền đi

Dẫn đờng trực tiếp

Mọi máy tính cùng nằm trên một mạng có cùng một network id và các máy tính cùng trên một mạng vật lý có thể gửi frame vật lý trực tiếp cho nhau nên việc truyền thông tin giữa hai máy tính trong cùng một mạng vật lý không cần sử dụng gateway Trạm gửi chỉ việc kết khối dữ liệu vào frame, chuyển địa chỉ IP của trạm đích thành địa chỉ vật lý và gửi trực tiếp nó tới máy nhận

Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address Rosolusion Protocol) Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết

đợc địa chỉ IP của nhau nhng để truyền thông giữa hai máy, chúng phải biết đợc

địa chỉ vật lý của nhau ARP giải quyết vấn đề chuyển từ địa chỉ IP 32 bit sang

địa chỉ Ethernet 48 bit Ngời ta sử dụng hai cơ chế đó là

trên mạng token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật

lý thoải mái Ngời ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi đó ta có PA=f(IA)

tin gửi một thông báo tới toàn bộ các máy tính trên mạng, trong thông báo đó

có chứa địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽ nhận đợc thông báo và máy nào thấy địa chỉ IP của mình thì trả lại một thông báo chứa địa chỉ vật lý, khi đó, hai máy tính có thể “nói chuyện” với nhau

Trang 17

• Ngoài ra, ngời ta còn sử dụng bảng chỉ đờng để lu trữ tạm thời các địa chỉ sử dụng mới nhất (Address Reslution Cache) để tăng tốc độ của việc chuyển giao

địa chỉ

Một gói thông tin ARP là một Ethernet Frame đợc truyền trực tiếp từ máy này tới máy khác Vì không phải sử dụng IP, gói tin này không có địa chỉ IP cũng nh không cần đợc dẫn đờng, nó phải đợc gửi broadcasts tới tất cả các máy trên mạng Ethernet (với địa chỉ FFFFFFFFFFFFF)

Gói thông tin ARP đợc mô tả nh sau:

Source Protocol Address

Target Hardware Address(Ethernet Address)

Destination

Address

SourceAddress

Type orLength

Trang 18

Không giống phần lớn các giao thức khác, dữ liệu trong ARP không có một định dạng chuẩn cho header Để ARP có thể làm việc với nhiều công nghệ khác nhau, ngời ta dùng một trờng để chứa độ dài của những trờng đi sau nó.

Trong trờng hợp máy trạm không có thiết bị nhớ phụ, nó không biết địa chỉ IP của chính mình khi khởi động, ngời ta sử dụng cơ chế có tên (RARP) để giải quyết vấn đề này đó là có một máy chủ chứa bảng địa chỉ IP của các máy trạm, khi máy trạm khởi động, nó gửi một request tới tất cả các máy và máy chủ trả lời

nó bằng một gói tin chứa địa chỉ IP

Dẫn đờng gián tiếp

Nếu trạm gửi và trạm nhận nằm trên các mạng khác nhau thì trạm gửi phải đóng gói thông tin và gửi tới một gateway để chuyển tới đích

Trang 19

To host on network Router the datagram Across this physical port

Gateway 8’s routing table

Dữ liệu sẽ chuyển từ gateway này tới gateway khác đến khi nó có thể đợc truyền trực tiếp tới máy nhận Thuật toán dẫn đờng thờng sử dụng bảng dẫn đờng (Internet routing table - IP routing table) trên mỗi máy tính để chứa thông tin về các máy tính và cách đi đến chúng Vì việc dẫn đờng đợc thực hiện bởi cả host và gateway, mỗi thiết bị đều chứa một bảng dẫn đờng Bảng dẫn đờng chứa thông tin

về các mạng và gateway để kết nối đến đó

Một kỹ thuật đợc sử dụng để che dấu thông tin và giảm thiểu kích thớc của bảng dẫn đờng là sử dụng default gateway Nếu máy tính không tìm thấy địa chỉ đích trong bảng dẫn đờng của nó thì gói tin đợc chuyển tới một thiết bị là default gateway Kỹ thuật này đặc biệt thích hợp với trờng hợp mạng máy tính đợc nối vào Internet thông qua một máy tính duy nhất

Trang 21

Cơ chế thông báo lỗi (Internet Control Message Protocol - ICMP)

Một giao thức trong tầng Internet là ICMP đợc định nghĩa trong RFC 792 ICMP

sử dụng gói tin IP để chuyển thông báo của nó ICMP gửi các thông báo làm các công việc: Điều khiển, thông báo lỗi và chức năng thông tin cho TCP/IP

Gói tin ICMP

Mặc dầu mỗi thông báo ICMP có một kiểu định dạng riêng của nó, chúng đều chứa 3 trờng đầu tiên giống nhau

TYPE: Định nghĩa thông báo đi sau.

CODE: Cung cấp thông tin thêm về thông báo.

CHECKSUM: Chứa checksum của thông báo.

Điều khiển dòng dữ liệu

Khi dữ liệu gửi tới trạm nhận quá nhanh không kịp xử lý, trạm đích - hay một thiết bị dẫn đờng gửi trả trạm nguồn một thông báo để nó tạm ngừng việc truyền thông tin

Trang 22

Thông báo lỗi

Khi không tìm thấy trạm đích, một thông báo lỗi Destination Unreachable

đợc đợc gateway gửi trả lại trạm nguồn Nếu một cổng không nhận ra, trạm đích gửi thông báo lỗi lại cho trạm nguồn (chúng ta sẽ nói về cổng trong phần giao thức tầng giao vận)

Định hớng lại

Một gateway gửi thông báo định hớng lại để trạm gửi sử dụng một gateway khác bởi vì gateway kia là một lựa chọn thích hợp hơn Trờng hợp này chỉ xảy ra khi trạm gửi nối vào mạng có trên 2 gateway

Ví dụ máy tính B muốn gửi thông tin đến máy C, nếu thông báo đó đến gateway

1, thì gateway 1 phải gửi thông báo rederect máy tính đó qua gateway 2 Ngợc lại, mỗi máy tính trên mạng X.25 muốn gửi thông báo tới máy tính nằm trên mạng Token Ring thì việc này không cần thiết vì gateway 1 đợc nối trực tiếp với mạng Token Ring

Kiểm tra trạm làm việc

Khi một máy tính muốn kiểm tra một máy khác có tồn tại và đang hoạt

động hay không, nó gửi một thông báo Echo Request Khi trạm đích nhận đợc

thông báo này

Trang 23

và không thiết lập liên kết trớc (connectionless) Cả hai giao thức đều chuyển giao thông tin giữa tầng ứng dụng và tầng Internet Chơng trình ứng dụng có thể lựa chọn dịch vụ nào thích hợp với ứng dụng của nó

Giao thức không kết nối (User Datagram Protocol - UDP)

UDP cho phép chơng trình ứng dụng truy cập trực tiếp đến gói tin của dịch

vụ chuyển giao giống nh dịch vụ mà giao thức IP cung cấp Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhất UDP là giao thức không định kết nối, kém tin cậy vì nó không có cơ chế kiểm tra tính đúng

đắn của dữ liệu truyền

Gói thông tin UDP

Mỗi gói thông tin UDP gọi là một Datagram đợc phân làm 2 phần header

và data trong đó header chứa thông tin về địa chỉ cổng nguồn, địa chỉ cổng đích,

độ dài của gói và checksum

DataDataData

Destination

Address

SourceAddress

Typefield

IPheader

UDP header encapsulated in an Ethernet frame

Trang 24

Phân kênh, hợp kênh và Ports

Phân kênh, hợp kênh chính là việc lựa chọn những tiến trình ứng dụng trong một

số lớn các tiến trình sử dụng giao thức UDP, ngời ta cần chọn ra những ứng dụng tơng ứng với gói thông tin chuyển đến

Việc này đợc giải quyết bằng “cơ chế cổng” - Port mechanism cơ chế này gắn mỗi ứng dụng với một con số gọi là Port number và mỗi gói thông tin mà nó gửi

đi đều mang một trờng SOURCE PORT

Tại nơi nhận, dựa vào thông tin trong trờng DESTINATION PORT mà gói tin đó

đợc truyền đến cổng tơng ứng với ứng dụng Ví dụ mọi bản TCP/IP đều có dịch

vụ FTP (File Transfer Protocol) gắn với cổng 21 và TFTP (Trivial File Transfer Protocol) gắn với cổng 69 của UDP

Việc sử dụng các port number cũng có nhiều cách

(Well-known port assignment)

• Một port number sẽ đợc sinh ra khi có một ứng dụng đòi hỏi (Dynamic binding)

Well-known port assignment cho một số port number vừa có thể định nghĩa các port number khác khi cần thiết Các port number thông dụng của UDP th-ờng đợc dành chỗ từ 1 tới 255 Một số hệ điều hành (nh 4.3 BSD UNIX) còn

Trang 25

dành chỗ tới port number 1023, các port number có thể sử dụng đợc là từ số

Ngày đăng: 19/03/2013, 21:46

Xem thêm

TỪ KHÓA LIÊN QUAN

w