Đăng ký Đăng nhập
Trang chủ Tổng quan về giao thức truyền thông mobile ip...

Tài liệu Tổng quan về giao thức truyền thông mobile ip

.PDF
115
659
98

Mô tả:

Đồ án tốt nghiệp đầu Lời nói LỜI NÓI ĐẦU Ngày nay việc sử dụng mạng máy tính như một công cụ trong kinh doanh, thông tin liên lạc, trao đổi dữ liệu, học tập cũng như vui chơi giải trí đã trở nên rất thông dụng và ngày càng quan trọng đối với con người. Việc giao tiếp và trao đổi dữ liệu giữa các máy tính trong mạng cục bộ cũng như trên mạng thông tin toàn cầu Internet hiện nay chủ yếu sử dụng bộ giao thức truyền thông TCP/IP, hoạt động trên cơ sở của mô hình OSI. Như đã biết, các phiên bản IP hiện nay tuy đã quá quen thuộc và được dùng rộng rãi trên toàn thế giới nhưng nó đang bộc lộ một số nhược điểm như không gian địa chỉ hạn hẹp, khả năng bảo mật không cao và đặc biệt là không hỗ trợ cho các nút (hay các host) có khả năng di động (hay còn gọi là nút di động). Nút di động có thể là các thiết bị PDA, laptop, palmtop hay điện thoại di động,... đó là các thiết bị có khả năng di chuyển từ nơi này đến nơi khác một cách dễ dàng. Mặt khác, nhu cầu sử dụng các thiết bị này ngày càng tăng do khả năng di động cũng như tính ưu việt về kích thước của chúng. Như vậy vấn đề đặt ra là cần có một bộ giao thức thích hợp với sự di chuyển của các nút mạng từ nơi này đến nơi khác trong khi vẫn duy trì liên lạc được với mạng gốc cũng như với bất kỳ nút nào muốn liên lạc với chúng mà không phải định lại cấu hình hoặc thay đổi địa chỉ IP của các nút di động này. IP không hỗ trợ khả năng này đối với nút mạng thực hiện chức năng di động. Giao thức Mobile IP được nghiên cứu dựa trên nền tảng của giao thức TCP/IP kế thừa các ưu điểm khắc phục những nhược điểm cho phù hợp với tình hình phát triển hiện tại là giao thức cho phép các nút di chuyển trên mạng mà không thay đổi địa chỉ IP của nút, hay nói cách khác là các nút mạng này có khả năng kết nối Internet tại bất cứ địa điểm nào trên thế giới. Giao thức Mobile IP sẽ quy định rõ các thủ tục đăng ký của các nút di động với mạng gốc, mạng khách cũng như các cơ chế khác có liên quan đến việc di chuyển của nút trong thời gian kết nối Internet. Trong tương lai bé giao thức Mobile IP cũng sẽ là một giao thức quan trọng và được sử dụng rộng rãi. 1 Đồ án tốt nghiệp đầu Với những lý do trên em đã chọn đề tài: Mobile IP ” với Lời nói “Tổng quan về giao thức truyền thông mục đích nghiên cứu về vai trò, chức năng và hoạt động của giao thức Mobile IP trong thông tin liên lạc. Chương 1 giới thiệu một cách khái quát về mô hình tham chiếu OSI. Đây là một công cụ rất hữu Ých đối với việc phân tích và nắm vững các hệ truyền thông dữ liệu. Mô hình OSI rất quan trọng vì tất cả các giao thức truyền thông đang sử dụng hiện nay (IPX/SPX của NetWare, TCP/IP trên Internet và ngay cả SNA của IBM) đều có thể được sắp đặt theo các chức năng trong mỗi lớp của mô hình. Ngoài ra, chương này còn giới thiệu đôi nét về họ giao thức TCP/IP và các giao thức có liên ở lớp mạng và lớp giao vận - hai lớp chủ yếu và có liên quan trực tiếp đến các giao thức được đề cập. Chương 2 trình bày về giao thức TCP. Chương 3 trình bày về giao thức TCP. Đây là nền tảng để xây dựng nên Mobile IP. Chương 4 giới thiệu đôi nét về giao thức Mobile IP: sù ra đời của một giao thức mới, mục đích, các yêu cầu cũng như các thuật ngữ mới được sử dụng trong Mobile IP. Chương này sẽ cho ta thấy một cái nhìn tổng quát về hoạt động của Mobile IP từ đó sẽ dẫn đến việc nghiên cứu chi tiết về các thủ tục, cấu trúc các phần mở rộng trong các bản tin điều khiển và sự kết hợp hoạt động của Mobile IP với các giao thức khác trong các chương sau. Chương 5 trình bày về sự phát hiện trạm, sự phối hợp hoạt động của các thực thể trên mạng gốc cũng như ở mạng ngoài để quá trình trao đổi tin giữa nút di động và các nút khác được thực hiện một cách thông suốt. Chương 6 trình bày tổng quan về sự đăng ký; cấu trúc của các bản tin đăng ký, trả lời đăng ký cũng như hoạt động của các nút di động và các trạm có liên quan. Chương 7 nghiên cứu về vấn đề định tuyến các gói tin trên mạng. Việc nhận gửi các gói tin của nút di động với các nút đang hoạt động trên mạng hoặc với các nút trên một mạng khác. Chương 8 nghiên cứu về vấn đề bảo mật trong Mobile IP. 2 Đồ án tốt nghiệp đầu Lời nói Mobile IP là một giao thức khá phức tạp, nó liên quan đến một số giao thức như TCP, IP, ICMP, DHCP và một số giao thức khác. Trong quá trình nghiên cứu em đã cố gắng để luận văn tốt nghiệp được hoàn chỉnh song chắc chắn không tránh khỏi thiếu sót. Vì vậy em rất mong được sự góp ý của Thầy giáo hướng dẫn, Tiến sỹ Trần Trung Dũng, cũng như các thầy cô và bạn bè trong bộ môn. Em xin chân thành cảm ơn Thầy giáo hướng dẫn đã tận tình giúp đỡ em trong suốt thời gian làm đồ án tốt nghiệp. Em xin bày tỏ sự biết ơn tới các thầy cô giáo trong khoa và bè bạn đã có những đóng góp quý báu giúp em hoàn thành tốt đề tài đã lựa chọn. Hà Nội, tháng 5 năm 2003 Sinh viên Nguyễn Hồng Phong 3 Đồ án tốt nghiệp dung Nội MỤC LỤC Chương 1. Mở đầu..................................................................................8 1.1 Đặt vấn đề...........................................................................8 1.2 Giải pháp.............................................................................9 Chương 2. Giao thức điều khiển truyền dẫn (TCP).................................12 2.1 Khuôn dạng đoạn TCP (TCP segment)...............................12 2.2 Truyền dữ liệu.....................................................................14 2.3 Độ tin cậy............................................................................15 2.4 Độ ưu tiên và bảo mật.........................................................16 Chương 3. Giao thức Internet (IP)..........................................................17 3.1 Cấu trúc gói IP (IP Datagram)............................................18 3.2 Đơn vị truyền tối đa (MTU)................................................20 3.3 Địa chỉ IP............................................................................21 3.3.1 Các lớp địa chỉ IP ............................................................22 3.3.2 Địa chỉ mạng con ............................................................23 3.3.3 Địa chỉ quảng bá (broadcast) ...........................................24 3.4 Định tuyến cho IP................................................................25 3.4.1 Định tuyến trực tiếp và gián tiếp .....................................25 3.4.2 Bảng định tuyến (table-driven IP routing) .......................25 3.5 IP multicast ........................................................................27 3.5.1 Khái niệm về IP multicast ...............................................27 3.5.2 Địa chỉ IP multicast .........................................................28 3.5.3 Xử lý multicast ................................................................28 Chương 4. Tổng quan về giao thức Mobile IP........................................30 4.1 Các yêu cầu đối với giao thức mới .....................................30 4.2 Các giả định .......................................................................31 4.3 Các thực thể kiến trúc mới .................................................31 4.4 Các thuật ngữ .....................................................................32 4.5 Tổng quan về giao thức mới ...............................................33 4.6 Định dạng bản tin và khả năng mở rộng giao thức .............37 Chương 5. Sự phát hiện trạm .................................................................40 5.1 Sự quảng cáo trạm ..............................................................41 5.1.1 Phần mở rộng bản tin quảng cáo trạm di động ................42 4 Đồ án tốt nghiệp dung Nội 5.1.2 Phần mở rộng Prefix-Lengths ..........................................44 5.1.3 Phần mở rộng 1 byte đệm ................................................45 5.2 Sự chiếm trạm ....................................................................45 5.3 Xem xét về trạm ngoài và trạm gốc đối với sự quảng cáo trạm ..................................................................................................46 5.3.1 Các địa chỉ bộ định tuyến được quảng cáo (Advertised Router Addresses) ....................................................................47 5.3.2 Các số tuần tự và quá trình quay vòng số ........................47 5.4 Xem xét về nút di động ......................................................47 5.4.1 Đăng ký theo yêu cầu ......................................................48 5.4 2 Sự phát hiện di chuyển ....................................................48 5.4.2.1 Thuật toán thứ nhất .......................................................49 5.4 2.2 Thuật toán thứ hai .........................................................49 5.4 3 Sự trở về mạng gốc .........................................................50 5.4.4 Các số tuần tự và quá trình quay vòng số ........................50 Chương 6. Sự đăng ký ...........................................................................51 6.1 Khái quát về sự đăng ký .....................................................51 6.2 Sự nhận thực ......................................................................53 6.3 Cấu trúc bản tin yêu cầu đăng ký .......................................53 6.4 Cấu trúc bản tin trả lời đăng ký ..........................................55 6.5 Các phần mở rộng việc đăng ký .........................................58 6.5.1 Các giá trị phần mở rộng nhận thực tính toán ..................58 6.5.2 Phần mở rộng nhận thực giữa nút di động và trạm gốc ...60 6.5.3 Phần mở rộng nhận thực giữa nút di động và trạm ngoài 60 6.5.4 Phần mở rộng nhận thực giữa trạm ngoài và trạm gốc ....61 6.6 Xem xét về nút di động ......................................................62 6.6.1 Gửi các yêu cầu đăng ký .................................................63 6.6.1.1 Các trường IP ...............................................................63 6.6.1.2 Các trường trong bản tin yêu cầu đăng ký ....................64 6.6.1.3 Các phần mở rộng ........................................................67 6.6.2 Nhận các trả lời đăng ký ..................................................67 6.6.2.1 Kiểm tra tính hợp lệ ......................................................68 6.6.2.2 Yêu cầu đăng ký được chấp nhận .................................69 5 Đồ án tốt nghiệp dung Nội 6.6.2.3 Yêu cầu đăng ký bị từ chối ...........................................69 6.6.3 Truyền lại bản tin yêu cầu đăng ký ..................................70 6.7 Xem xét về trạm ngoài .......................................................71 6.7.1 Bảng cấu hình và đăng ký ...............................................72 6.7.2 Nhận các yêu cầu đăng ký ...............................................72 6.7.2.1 Kiểm tra tính hợp lệ ......................................................73 6.7.2.2 Chuyển tiếp một yêu cầu đăng ký hợp lệ đến trạm gốc. 73 6.7.2.3 Từ chối các yêu cầu không hợp lệ ................................74 6.7.3 Nhận các bản tin trả lời đăng ký ......................................75 6.7.3.1 Kiểm tra tính hợp lệ ......................................................75 6.7.3.2 Chuyển tiếp các bản tin trả lời đến nút di động ............76 6.8 Xem xét về trạm gốc ..........................................................77 6.8.1 Các bảng cấu hình và đăng ký .........................................78 6.8.2 Nhận các yêu cầu đăng ký ...............................................78 6.8.2.1 Kiểm tra tính hợp lệ ......................................................78 6.8.2.2 Chấp nhận một yêu cầu hợp lệ .....................................80 6.8.2.3 Từ chối một yêu cầu đăng ký không hợp lệ ..................81 6.8.3 Gửi các bản tin trả lời đăng ký ........................................82 6.8.3.1 Các trường IP/UDP ......................................................82 6.8.3.2 Các trường trong bản tin trả lời đăng ký .......................84 6.8.3.3 Các phần mở rộng ........................................................84 Chương 7. Sự định tuyến .......................................................................86 7.1 Các kiểu đóng gói ...............................................................86 7.2 Định tuyến gói tin unicast ..................................................86 7.2.1 Xem xét về nút di động ...................................................86 7.2.2 Xem xét về trạm ngoài ....................................................88 7.2.3 Xem xét về trạm gốc .......................................................88 7.3 Các gói tin quảng bá ...........................................................90 7.4 Định tuyến gói tin multicast ...............................................90 7.5 Các bộ định tuyến di động ..................................................92 Chương 8. Bảo mật ................................................................................94 8.1 Các mã nhận thực bản tin ...................................................94 8.2 Quản lý khoá ......................................................................94 6 Đồ án tốt nghiệp dung Nội 8.3 Chọn lọc các số ngẫu nhiên ................................................95 8.4 Bảo vệ sự tấn công trở lại đối với các bản tin yêu cầu đăng ký ..................................................................................................95 8.4.1 Chống sự tấn công trở lại bằng Timestamps ....................96 8.4.2 Chống sự tấn công trở lại sử dụng các nonces .................97 7 Đồ án tốt nghiệp đầu Chương 1. Mở Chương 1 MỞ ĐẦU 1.1 Đặt vấn đề Khả năng mở rộng của Internet từ một con số khiêm tốn ban đầu cách đây khoảng hơn hai mươi năm cho đến nay đã lên đến khoảng 30 triệu nút kết nối chủ yếu là do sự mạnh mẽ, khả năng mở rộng và khả năng hoạt động liên kết của giao thức IP phiên bản 4 (IPv4). Khả năng mở rộng phạm vi hoạt động một cách đột ngột của mạng Internet mà không ảnh hưởng đến việc định tuyến các gói tin một cách có hiệu quả của nó là một trong những thế mạnh to lớn nhất của Internet. Điều này thực hiện được nhờ vào các chức năng của IP. Nói chung một phần địa chỉ IP của nút mạng xác định vị trí vật lý của nó trên mạng, nó tương tự như mã vùng điện thoại của nơi mà ta muốn quay số đến. Trong IP, mét host đang hoạt động trên một mạng con (subnet) có thể được xác định bởi địa chỉ IP của nó, do vậy việc định tuyến gồm có việc gửi các gói tin theo một hướng chung của mạng con thay cho việc yêu cầu biết chi tiết về vị trí tất cả các nút. Sự pha trộn giữa việc đánh địa chỉ và việc đinh tuyến làm cho toàn bộ tỷ lệ mạng trở nên hợp lý nhưng điều này chỉ đúng dựa trên giả thiết là các nút mạng không chuyển động. Tuy nhiên ngày càng có nhiều người sử dụng máy tính xách tay, điện thoại di động, các thiết bị PDA (Personal Digital Assistant) do đó nhu cầu duy trì kết nối với mạng gốc của các thiết bị trên ngày càng trở nên cấp bách, việc sắp xếp các bit trong trường địa chỉ IP cho một vị trí vật lý bộc lộ một vấn đề đối với sự truyền thông di động. Khi một máy tính có khả năng di chuyển không được kết nối vật lý đến mạng gốc của nó thì IP không đủ khả năng định tuyến các gói tin đến nó một cách chính xác, điều này có nghĩa là điểm kết nối đến mạng của một nút mạng luôn không đổi tại mọi thời điểm và một địa chỉ IP chỉ xác định duy nhất một mạng cụ thể. Để hỗ trợ cho mét host có tính năng di động bằng các phiên bản IP hiện thời thì mỗi khi một nút di động di chuyển lại phải định lại cấu hình một lần. Giải pháp này là không khả thi vì nó tiêu tốn rất nhiều thời gian và dễ xảy ra lỗi. 8 Đồ án tốt nghiệp đầu Chương 1. Mở 1.2 Giải pháp Hệ thống Mobile IP diện rộng được triển khai một cách rộng rãi sẽ cho phép các thuê bao “nay đây mai đó” nối máy tính xách tay của họ vào mạng trong một phòng hội thảo hoặc tại một quán café mà không cần định lại cấu hình cho máy tính. Người sử dụng có thể thiết lập và duy trì một phiên hội thảo video ngay cả khi có sự di chuyển giữa một mạng LAN vô tuyến nội bộ trong một toà nhà và một mạng dữ liệu vô tuyến diện rộng bên ngoài. Khi đến làm việc ở một công ty khác, thuê bao cũng có thể nối laptop của anh ta vào một mạng LAN “khách” và sử dụng việc truy nhập qua mật mã đến công ty của anh ta để trao đổi dữ liệu, gửi - nhận thư điện tử... một cách an toàn. Từ những mô tả trước đây ta thấy yêu cầu cơ bản để phát triển Mobile IP đó là khi mét nút kết nối Internet thay đổi điểm truy cập của nó. Do có sự thay đổi vị trí vật lý của nút mạng nên cần thiết phải có một sự thay đổi trong địa chỉ IP của nút mạng đó. Nếu trong một quá trình thông tin liên lạc nút di động di chuyển đến một mạng con khác, chẳng hạn khi nã di chuyển giữa một mạng hữu tuyến và một mạng vô tuyến, các nút khác sẽ không thể liên lạc được với nó nữa. Các gói tin sẽ được chuyển đến mạng gốc của nút di động thông qua địa chỉ IP gốc của nút đó nhưng chúng không thể đến được nút di động do hiện tại nó đang kết nối ở một mạng con khác. IP được thiết kế mà không tính đến khả năng này. Mặc dù có thể liên lạc được với một nút di động mà nút này thay đổi địa chỉ IP khi nã di chuyển nhưng rất tốn kém và gặp rất nhiều khó khăn. Chẳng hạn, mỗi khi nót di động có được địa chỉ IP mới, tất cả các kết nối đã thiết lập với địa chỉ IP trước đó đều bị hủy bỏ kèm theo đó là sự khởi tạo cho địa chỉ mới. Trong một số hệ điều hành, chồng giao thức IP như là một bộ phận tích hợp chủ yếu mà một sự khởi động máy đầy đủ được yêu cầu để thay đổi địa chỉ IP. Nếu một nút di động di chuyển nhanh chóng trong một môi trường vô tuyến có kích thước các tế bào bé, địa chỉ IP mạng con có thể thay đổi thường xuyên như khi nót di động di chuyển giữa các trạm gốc hoặc giữa các nhà cung cấp dịch vụ. Mobile IP là một giao thức Internet mới được giới thiệu, được thiết kế để hỗ trợ tính năng di chuyển của một người sử dụng (hoặc một host). Tính năng di chuyển của host là rất quan trọng do khả năng của các máy tính xách tay 9 Đồ án tốt nghiệp đầu Chương 1. Mở trong thời gian gần đây và ước mơ to lớn của con người là duy trì việc kết nối mạng ở bất cứ nơi đâu họ đến. Mobile IP cung cấp khả năng cho mét host luôn duy trì được kết nối Internet mà không cần quan tâm đến vị trí hiện thời của host. Giao thức Mobile IP có khả năng theo dõi một host di động mà không cần thiết phải thay đổi địa chỉ IP dài dòng của host đó. Bảng dưới đây là cái nhìn đơn giản hoá về chồng giao thức của tổ chức tiêu chuẩn quốc tế (ISO) khi nó được ứng dụng vào mạng Internet. Mobile IP xử lý tính di chuyển tại lớp mạng và không bị ảnh hưởng khi ra vào các lớp cao hơn trong khi vẫn tồn tại cơ sở hạ tầng định tuyến vốn có, vẫn tiếp tục sử dụng các host cố định và các ứng dụng hiện thời vẫn không thay đổi. Lớp ứng dụng Lớp trình diễn Lớp phiên Líp giao vận Lớp mạng Networking Layers HTTP, NFS, SNMP, DNS, Telnet, FTP,... TCP, UDP, RTP IP, ICMP, IGMP, IPSec, Mobile IP ... (IPX, Appletalk) Lớp liên kết dữ liệu IEEE 802.*, PPP Lớp vật lý Network adapter Mobile IP cho phép một nút di động duy trì cùng một địa chỉ IP (địa chỉ mạng gốc của thiết bị) bất cứ ở đâu mà nó nối đến mạng. (Rõ ràng là một nút với một địa chỉ IP nối vào một mạng con khác thông thường sẽ không kết nối được). Tuy nhiên, nút di động có một địa chỉ care-of (được giải thích trong chương sau) mà địa chỉ này có liên quan đến mạng con, nơi mà nút di động tạm thời cư trú. Địa chỉ care-of được quản lý bởi một trạm gốc, đó là một thiết bị nằm trên mạng con của mạng gốc của nút di động. Bất kỳ một gói tin nào có địa chỉ đến địa chỉ IP của nút di động đều bị chặn lại bởi trạm gốc và sau đó được chuyển tiếp đến địa chỉ care-of bởi cơ chế đường hầm (tunnel). Mỗi khi gãi tin chuyển đến phía cuối đường hầm, nó được phân phối đến nút di động. Nút di động thường sử dụng địa chỉ mạng gốc của nó như là địa chỉ nguồn của tất cả các gói tin mà nó gửi đi. 10 Đồ án tốt nghiệp đầu Chương 1. Mở Mobile IP còn có thể giúp đỡ giải quyết các vấn đề thiếu địa chỉ và giảm khối lượng công việc quản trị bởi vì mỗi một thiết bị cần nối mạng tại nhiều vị trí khác nhau yêu cầu một địa chỉ IP duy nhất. 11 Đồ án tốt nghiệp thức TCP Chương 2. Giao Chương 2 GIAO THỨC ĐIỀU KHIỂN TRUYỀN DẪN (TRANSMISSION CONTROL PROTOCOL) TCP được dùng như là một giao thức có độ tin cậy cao nối kết theo kiểu trạm-trạm (host-host) trong một mạng hoặc một hệ thống mạng máy tính chuyển mạch gói (packet-switched). TCP là một giao thức hướng liên kết (connection-oriented), và có độ tin cậy cao. 2.1 Khuôn dạng đoạn TCP (TCP segment) Đơn vị dữ liệu sử dụng trong TCP được gọi là đoạn (segment) có khuôn dạng được mô tả như sau: 0 1 2 3 01234567890123456789012345678901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Trong đó: - Source Port (16 bits): số hiệu cổng của trạm nguồn. - Destination Port (16 bits): số hiệu cổng của trạm đích. - Sequence number (32 bits): số hiệu tuần tự, số hiệu của byte đầu tiên của segment trừ khi bit SYN được thiếp lập. Nếu bit SYN được thiết 12 Đồ án tốt nghiệp thức TCP Chương 2. Giao lập thì Sequence number là số hiệu tuần tự khởi đầu (ISN) và byte dữ liệu đầu tiên là ISN+1. - Acknowledgement number (32 bits): số hiệu của đoạn tiếp theo mà trạm nguồn đang chờ để nhận. Ngầm ý báo nhận tốt các đoạn mà trạm đích đã gửi cho trạm nguồn. - Data offset (4 bits): số lượng words trong TCP header (tham số này chỉ ra vị trí bắt đầu của vùng dữ liệu). - Reserved (6 bits): dành để dùng trong tương lai. - Flags (6 bits): chứa các bits điều khiển, cụ thể là: Cờ URG: vùng con trỏ khẩn có hiệu lực Cờ ACK: vùng báo nhận có hiệu lực Cờ PSH: chức năng PUSH Cờ RST: khởi động lại liên kết Cờ SYN: đồng bộ hoá các số hiệu tuần tự Cờ FIN: không còn dữ liệu từ trạm nguồn - Window (16 bits): cấp phát credit để kiểm soát luồng sữ liệu (cơ chế cửa sổ). Đây chính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACK number, mà trạm nguồn đã sẵn sàng để nhận. - Checksum (16 bits): mã kiểm soát lỗi (theo phương phá CRC) cho toàn bộ segment. - Urgent Pointer (16 bits): là con trỏ 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. Vùng này chỉ có hiệu lực khi bit URG được thiết lập. - Options (có độ dài thay đổi): khai báo các options của TCP, trong đó có độ dài tối đa của vùng TCP data trong mét segment. - Padding (có độ dài thay đổi): phần đệm thêm vào phần tiêu đề để bảo đảm phần tiêu đề luôn kết thúc ở một mốc 32 bits. Phần bù này gồm toàn số 0. - TCP data (có độ 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ày có thể điều chỉnh bằng cách khai báo trong vùng options 13 Đồ án tốt nghiệp thức TCP Chương 2. Giao Một tiến trình ứng dụng 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 (port) như hình vẽ sau: userprocess userprocess TCP IP NAP TCP IP NAP host host Internet Một cổng kết hợp với một địa chỉ IP tạo thành một socket duy nhất trong Internet. Dịch cụ TCP được cung cấp nhờ một liên kết lôgic giữa một cặp socket. Mét socket có thể tham gia nhiều liên kết với các socket ở xa khác nhau. Trước khi truyền dữ liệu giữa 2 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 sẽ được giải phóng. 2.2 Truyền dữ liệu Quá trình truyền dữ liệu được thực hiện bởi gọi tiến trình TCP và chuyển cho nó dữ liệu cần phải truyền đi. TCP sẽ gói các dữ liệu này thành nhiều đoạn (segment) và gọi giao thức ở tầng mạng như là IP để truyền dữ liệu đi tới đích. Tại bên nhận, các đoạn được đặt vào trong bộ nhớ của tiến trình nhận. Nhờ vào các thông tin điều khiển bên trong các đoạn, mà bên nhận có thể xắp đúng thứ tự của các đoạn. Trong mạng Internet, giao thức TCP kết hợp với giao thức IP để truyền dữ liệu. Khi đó giao thức IP sẽ gói các đoạn của TCP thành các gói tin và gửi các gói tin này tới trạm đích hoặc tới gateway. Tại gateway, gãi tin được "bóc ra" để phân tích xem nó được gửi đến địa chỉ nào. Sau đó nó lại được bọc lại thành các gói tin với những thông tin tương ứng với mạng mà nó sẽ tiếp tục đi qua. Nó sẽ được gửi đi tới gateway mới hay tới trạm đích. Gateway cho phép có thể chia nhỏ gói tin Internet thành các phân đoạn 14 Đồ án tốt nghiệp thức TCP Chương 2. Giao (fragment) để nó có thể chuyển qua mạng tiếp theo có kích thước gói tin nhỏ hơn. Các gói tin Internet có chứa các thông tin cần thiết để cho phép nối lại các phân đoạn đó thành một gói tin Internet. Tại đích, giao thức trên tầng mạng sẽ bóc các gói tin và chuyển nó lên trên tầng TCP. TCP truyền dữ liệu đi theo một dòng (stream) các byte. Dữ liệu sẽ được đặt trong một bộ đệm (buffer) và TCP sẽ truyền dữ liệu này đi khi thuận tiện. Có một cơ chế cho phép người dùng có thể buộc TCP truyền dữ liệu đi ngay cả khi bộ đệm chưa đầy, đó là dùng chức năng PUSH. Khi nhận được đoạn với cờ PUSH, TCP sẽ phải gửi ngay đoạn này đi. Khi dữ liệu với cờ PUSH tới bộ đệm của bên nhận, bộ đệm này sẽ được chuyển cho tiến trình trên ngay cả khi nó chưa đầy. TCP còng cung cấp một phương tiện để thông báo cho bên nhận biết khi có dữ liệu khẩn. Khi đó bên nhận cần thiết phải thực hiện một số hành động xử lý để dữ liệu khẩn một cách nhanh chóng. 2.3 Độ tin cậy TCP là một giao thức có độ tin cậy cao. Nó có thể khôi phục được dữ liệu bị mất, bị hỏng, bị trùng lặp hay không đúng thứ tự gây ra bởi các hoạt động của tầng dưới. Để làm được điều này, TCP gán một số hiệu tuần tự (sequence number) cho mỗi byte được truyền đi và yêu cầu một báo hiệu (ACK) đã nhận được từ bên nhận. Số hiệu tuần tự của byte dữ liệu đầu tiên được gọi là số hiệu tuần tự đoạn và được đặt vào trong phần tiêu đề của đoạn. Trong phần header của đoạn cũng chứa một trường gọi là trường báo nhận (acknowledgement), chính là số hiệu tuần tự của byte tiếp theo đang được đợi nhận (theo chiều ngược lại). Khi truyền một đoạn, TCP sẽ sao chép đoạn này và đặt nó vào trong một hàng đợi và khởi tạo bộ đếm thời gian (timer). Nếu báo hiệu ACK không nhận được sau một khoảng thời gian timeout nào đó, đoạn sẽ được truyền lại, trường hợp ngược lại, nếu báo hiệu ACK nhận được đoạn sẽ được xóa đi từ hàng đợi. Tại bên nhận, các số hiệu tuần tự được dùng để sắp xếp lại các đoạn đã nhận được. Các đoạn này có thể bị trùng lặp hoặc không đúng thứ tự trong quá trình truyền. Các đoạn hỏng sẽ được phát hiện bằng việc kiểm tra mã checksum tại bên nhận TCP, các đoạn bị hỏng sẽ được xóa đi. 15 Đồ án tốt nghiệp thức TCP Chương 2. Giao TCP cung cấp một phương tiện cho phép bên nhận có thể điều khiển số có thể gửi từ bên gửi bằng cơ chế cửa sổ (window). Mọi báo hiệu ACK sẽ chỉ ra khoảng số hiệu tuần tự chấp nhận được kể từ đoạn cuối cùng được nhận. Cửa sổ chỉ ra sè byte cho phép mà bên gửi có thể truyền đi. 2.4 Độ ưu tiên và bảo mật Người dùng có thể chỉ ra độ ưu tiên và bảo mật khi dùng TCP. Có một giá trị ngầm định các giá trị này khi các giá trị này không được chỉ ra. TCP dùng các trường kiểu dịch vụ và lựa chọn bảo mật để lưu các giá trị này. Tuy nhiên không phải tất cả các cài đặt TCP trong thực tế đều xử lý hết các mức ưu tiên và bảo mật. Như vậy, ta thấy rằng giao thức IP rất hiệu quả ở chỗ nó không quan tâm đến giao thức cụ thể của các mạng khác nhau mà nó đi qua (ví dụ X25, Frame Relay), với IP các mạng chỉ đơn thuần là đường dẫn giữa các bộ định tuyến. Còn giao thức TCP lại có độ tin cậy cao, vì vậy người sử dụng muốn truyền các gói tin một cách chắc chắn và có thông váo lỗi phải dùng giao thức TCP hỗ trợ cho IP. Tóm lại, với sự kết hợp giữa hai giao thức TCP và IP, người dùng đã sử dụng được các dịch vụ trao đổi trên Internet một cách hiệu quả. 16 Đồ án tốt nghiệp Giao thức IP Chương 3. Chương 3 GIAO THỨC INTERNET (INTERNET PROTOCOL) Giao thức IP là giao thức chuyển tải các gói tin qua mạng chuyển mạch gói và hoạt động tại tầng thứ 3 (tầng mạng) trong mô hình tham chiếu OSI. IP là giao thức không liên kết (connectionless), nghĩa là không có sự đảm bảo rằng các gói tin gửi đi sẽ đến được tới đích của nó. Giao thức IP là một giao thức rất hiệu quả và được sử dụng nhiều trong các chương trình ứng dụng. Giao thức IP được thiết kế để dùng trong các hệ thống các mạng máy tính truyền thông chuyển mạch gói (packet-switched). Giao thức IP truyền các khối dữ liệu từ một nguồn tới một đích trong đó nguồn và đích là các trạm máy tính được nhận dạng thông qua các địa chỉ có độ dài cố định. Giao thức IP ngoài chức năng định tuyến, chức năng quan trọng nhất trên tầng mạng, giao thức IP còn có khả năng tìm lỗi, cho phép việc phân đoạn và lắp ráp lại các gói tin IP có độ dài lớn để các gói tin này có thể được truyền qua các mạng máy tính có đơn vị gói tin nhá. Giao thức IP chỉ giới hạn trong việc cung cấp các chức năng cần thiết nhằm truyền các gói tin từ nguồn tới đích trên một hệ thống mạng. Không có cơ chế cho độ tin cậy, điều khiển luồng (flow control), đánh số thứ tự (sequencing) hay cơ chế truyền lại dữ liệu. Không có cơ chế báo nhận, không có kiểm tra dữ liệu mà chỉ có kiểm tra phần tiêu đề (header) thông qua mã kiểm tra checksum. Các lỗi tìm được được thông báo thông qua giao thức thông báo điều khiển liên mạng ICMP (Internet Control Message Protocol). Giao thức IP gọi các giao thức ở tầng thứ hai, tầng liên kết dữ liệu (Data Link Layer), để mang các gói tin IP tới gateway hoặc tới trạm đích. Đồng thời nó cũng bị gọi bởi giao thức ở tầng bốn, tầng giao vận như giao thức TCP để truyền các đoạn dữ liệu của giao thức đó tới trạm đích. Giao thức ở tầng trên như TCP sẽ cung cấp các thông tin về địa chỉ cho giao thức IP thông qua các tham số của lời gọi. Giao thức IP sau đó sẽ tạo ra các gói tin IP, ra quyết định 17 Đồ án tốt nghiệp Giao thức IP Chương 3. định tuyến và gọi các giao thức mạng ở tầng dưới để mang các gói tin IP này đi tới gateway hoặc tới trạm đích. 3.1 Cấu trúc của gói IP (IP Datagram) Một đơn vị dữ liệu của giao thức IP gọi là một gói. Cấu trúc của một gói gồm hai phần, phần tiêu đề (header) và phần dữ liệu (data). 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TCP header, then your data ...... | | | Trong đó: - Trường Version (phiên bản): gồm 4 bit, chứa đựng phiên bản của giao thức IP được dùng trong gãi tin. Trường này được dùng để kiểm tra xem bên nhận, bên gửi, gateway trung gian có chấp nhận cấu trúc của gói tin hay không. - Trường Length (độ dài): gồm 4 bit chỉ ra độ dài của phần tiêu đề của gói tin tính theo đơn vị số từ 32 bit. Thông thường độ dài của phần tiêu đề là 20 bytes. Phần tiêu đề có độ dài tối thiểu là 5 từ 32 bit. - Trường Total Length (tổng độ dài): gồm 16 bit, cho độ dài của một gói tin tính bằng số byte, bao gồm cả độ dài của phần tiêu đề và phần dữ liệu. - Trường Type of Service (kiểu dịch vụ): gồm có 8 bit, đưa ra các thông số chỉ định chất lượng dịch vụ mong muốn (chỉ ra cách thức mà một gói tin được xử lý). Các thông số này đước sử dụng để hướng dẫn việc chọn lựa các thông số dịch vụ thực tế khi truyền một gói tin qua một mạng riêng biệt. Các bit 0-2: mức ưu tiên. 18 Đồ án tốt nghiệp Giao thức IP Chương 3. Bit 3: 0 = trễ thông thường, 1 = trễ chậm. Bit 4: 0 = thông lượng thông thường, 1= thông lượng cao. 19 Đồ án tốt nghiệp Giao thức IP Chương 3. Bit 5: 0 = mức tin cậy thông thường, 1 = mức tin cậy cao. Bit 6-7: dự trữ để sử dụng trong tương lai. - Trường Identification (nhận dạng): chứa tên duy nhất của gói tin được sao chép vào trong phần tiêu đề của phân đoạn. Bên nhận sẽ dùng trường này và địa chỉ nguồn để nhận biết được phân đoạn thuộc vÒ gãi tin nào. Bên gửi dùng bộ đếm để đảm bảo một nhận dạng duy nhất cho mỗi gói tin. Bộ đếm sẽ được tăng lên một sau mỗi lần tạo một gói tin và gán vào trong trường Identification của gói tin. - Trường Fragment Offset: chỉ ra vị trí của phần dữ liệu chứa trong phân đoạn trong phần dữ liệu của gói tin. Khoảng cách được tính từ vị trí 0 và tính theo đơn vị 8 byte. - Trường Flags (cờ): hai bit thấp trong trường Flags liên quan đến việc phân đoạn. Bit thứ nhất chỉ ra liệu gói tin có thể được phân đoạn hay không. Khi bit này được thiết lập thì gói tin không thể bị phân đoạn. Gateway, nếu cần phải phân đoạn gói tin để gửi đi, khi gặp bit này sẽ trả về một thông báo lỗi cho bên gửi. Bit tiếp theo chỉ ra phân đoạn chứa dữ liệu thuộc về phần giữa trong gãi tin hay là phần cuối cùng trong gãi tin. Khi bit này được thiết lập có nghĩa là dữ liệu chứa trong nó thuộc về dữ liệu ở giữa gói tin, còn không thì là dữ liệu cuối cùng trong gãi tin. Khi nhận được phân đoạn với bit này bằng không, bên nhận có thể biết được là nó đã nhận được hết các phân đoạn của gói tin. - Trường TTL (thời gian sống): chỉ ra số đơn vị tính bằng giây một gói tin có thể tồn tại trong mạng. Khi gửi một gói tin đi, bên gửi sẽ gán giá trị này trong mỗi gói tin. Gateway và các trạm xử lý gãi tin sẽ giảm trường TTL (Time-to-Live) đi một số thời gian và sẽ loại bỏ gói tin khi giá trị của trường này bằng 0. Để đơn giản, gateway sẽ giảm trường TTL đi 1 đơn vị mỗi khi nó xử lý một tiêu đề của gói tin. Ngoài ra để xử lý trường hợp có trễ tại gateway, khi nhận một gói tin nó sẽ ghi lại thời điểm nhận và khi chuyển gói tin đi nó sẽ ghi lại thời điểm gửi. Gateway sẽ trừ trường TTL đi một giá trị bằng thời gian mà gói tin này ở lại trong gateway. Khi trường TTL bằng không, gateway sẽ loại bỏ gói tin và gửi thông báo lỗi về cho bên gửi. Việc dùng TTL cho phép loại trừ khả năng một 20
- Xem thêm -

Tài liệu liên quan