Tìm hiểu về TCP IP

11 993 5
Tìm hiểu về TCP IP

Đ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

Tìm hiểu về TCP IP

Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari Chương 3 TCP/IP Trùc khi bạn lấy được bằng lái xe, bạn phải qua được một bài thi viết về luật giao thông. Tương tự như vậy, trước khi bạn vào “siêu xa lộ thông tin”, bạn phải hiểu về các protocol điều khiển luồng thông tin. Chương này giới thiệu với bạn các luật như thế, được gọi là Transmission Control Protocol/Internet Protocol (TCP/IP). Bạn sẽ học những luật này và xem chúng ảnh hưởng trên đường truyền giao tiếp như thế nào, nhằm mục đích giúp bạn có thể tự phòng thủ một cách tốt nhất trước các tấn công của hacker. Bất kỳ lúc nào bạn kết nối vào Internet bằng đường điện thoại hoặc bằng một đường truyền băng thông rộng là máy tính của bạn đã trở thành một phần của World Wide Web. Nếu bạn có thể yêu cầu truy cập vào máy tính giữ đòa chỉ của www.yahoo.com thì mọi nhân vật ở yahoo.com cũng có thể kết nối vào máy tính của bạn. Các lý giải tương tự tiếp theo đây sẽ minh họa cho liên kết vừa nói, bằng cách so sánh giữa cơ sở hạ tầng của Internet và các con đường nối liền các ngôi nhà lại với nhau. Máy tính cũng giống như một ngôi nhà Một ngôi nhà và tương quan của nó với đường vào nhà, với các con đường xung quanh cũng tương tự như một máy tính và tương quan của nó với Internet (xem Hình 3.1). Hãy tưởng tượng ra một căn nhà nằm tách biệt giữa rừng. Nó sẽ là mục tiêu khó gặm đối với một tên trộm. Dó nhiên là tên trộm vẫn có thể lội bộ xuyên qua khu rừng và lấy đi một số món đồ nhỏ nào đấy, nhưng nếu để lấy nhiều đồ, hắn sẽ phải vác chúng một quãng đường dài để ra khỏi khu vực hoang sơ đó. Hình 3.1 – Kết nối các máy tính cũng giống như các căn nhà kết nối với nhau Một ngôi nhà biệt lập cũng giống như một máy tính không kết nối vào Internet. Mặc dù một hacker có thể tiếp cận nơi ở của nạn nhân, đột nhập hẳn hòi vào nhà và lấy trộm thông tin trong máy tính của cô ta, nhưng làm như vậy sẽ phải tốn nhiều công sức mà lại quá mạo hiểm. Vấn đề ngược lại sẽ xảy ra cho những kết nối Internet “lúc nào cũng online” như kết nối bằng modem DSL hay modem cáp. Vì những kết nối như vậy luôn tạo sẵn con đường từ Internet vào máy tính của bạn, cho nên một hacker luôn có thể dễ dàng sờ mó đến các tài sản của bạn. Chapter03-TCP/IP III - 1 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari Các port trên máy tính của bạn chính là các cửa sổ và cửa đi Các port chính là các “cổng” ảo mà qua đó thông tin đi vào và đi ra khỏi máy tính của bạn (xem Hình 3.2). Khi bạn kết nối vào Internet, có tới 65.534 port có thể dùng được. Điều này không có nghóa là tất cả các port này đều mở hoặc đều được sử dụng; đơn giản chúng chỉ dành sẵn cho các chương trình trên máy của bạn khi cần đến. Hình 3.2 – Các port và các cửa sổ Khi máy tính của bạn kết nối vào Internet, một số port sẽ được mở mặc đònh (default port). Tuy nhiên, nhiều chương trình (ví dụ như một Web server hay một ftp server) sẽ mở thêm một số port nữa (extra port). Đa số trong các chương trình này luôn chạy ở những port mặc đònh và cố đònh (fixed port). Như thế, nếu một hacker tiếp cận và truy vấn về tất cả các port đang mở trên máy tính của bạn, anh ta có thể nói được dễ dàng danh mục các chương trình có liên quan đến Internet mà bạn đang chạy. Ví dụ, nếu bạn có một ftp server đang chạy thì port 21 sẽ mở. Để biết thêm về các port quan trọng khi bạn đang là một người dùng tại nhà, hãy xem Phụ lục A. Có thể dễ dàng so sánh các port với các cửa đi và cửa sổ của một ngôi nhà. Mỗi ngôi nhà đều có sẵn một bộ gồm các cửa đi và cửa sổ. Có cửa sau, cửa trước, cửa nhà xe, và thường có cả cửa hông nữa. Việc đầu tiên mà các tên trộm thường tìm kiếm là một lối đột nhập dễ dàng. Không cần phải phá lỗ trên tường, khi mà một cửa đi hoặc một cửa sổ là đủ để vào. Đấy là những gì mà một hacker sẽ làm khi anh ta rà quét (scan) để tìm những port đang mở trên máy tính của bạn. Hacker tìm kiếm các port đang mở và có thể truy cập được. Tuy nhiên, với một port đang mở thì chưa chắc một hacker có thể chui vào được. Để có thể “hack” được, port này phải có cho phép truy cập. Ví dụ, mỗi lúc bạn kết nối với yahoo.com, máy tính của bạn thực ra đã kết nối với port 80 trên máy server của yahoo. Dù sao đi nữa, bạn cũng không thể làm gì được ngoài chuyện đọc các trang Web thông qua port này. Điều đó bảo vệ các thông tin của Web server khỏi bò các hacker quậy phá. Nếu yahoo.com cho phép những người lướt Web (surfer) xóa hoặc thay đổi nội dung trang Web, chắc yahoo.com không giữ được trang Web của mình lâu như vậy. Nếu chương trình Web server bò cấu hình sai (misconfigure), hoặc nếu có một lỗi về lập trình trong phần mềm Web server, các hacker có thể chiếm quyền truy cập trái phép. Phần mềm bò cấu hình sai có thể so sánh với một cửa đi hoặc một cửa sổ quên khóa. n trộm không phải bao giờ cũng “khoét vách” để vào nhà. Thay vào đó, đầu tiên họ sẽ tìm cửa sổ hoặc cửa đi không khóa để vào cho dễ. Phần mềm bò cấu hình sai thường luôn là mục tiêu tấn công của các hacker Internet. Đường và xa lộ Internet Du hành trên Internet có thể là chuyện nhỏ mà cũng có thể là chuyện lớn. Một máy tính của người dùng có thể lang thang đến cách nó vài dặm, hoặc cũng có thể đi tuốt đến bên kia trái đất. Nó có thể cũng đơn giản giống như lái xe đến nhà một người bạn ở cách năm dặm, hay là gửi một thông tin kỹ thuật số ở khoảng cách gần. Khi khoảng cách tăng lên, việc kết nối bắt đầu phức tạp lên theo. Chapter03-TCP/IP III - 2 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari Ví dụ, để đi mua sắm ở một khu thương xá, bạn có thể chỉ cần ra khỏi nhà, ra đường nhánh, quẹo lên đường chính để lên xa lộ, chạy đến lối rẽ vào khu thương xá, qua cổng, đậu xe vào bãi. Quá trình cũng diễn ra tương tự khi máy tính gửi thông tin đi trên Internet. Khi bạn yêu cầu một trang Web, sự việc xảy ra giống như bạn gửi đi nhiều toa xe nhỏ chứa thông tin (xem Hình 3.3). Những gói tin này đi dọc theo line điện thoại hoặc đường cáp đến nhà cung cấp dòch vụ Internet (ISP), và sau đó sẽ được gửi tiếp ra một trong những đường cáp quang truyền tốc độ cao xuyên lục đòa. Khi tín hiệu đến gần đích, nó nhảy khỏi đường cáp quang và đi đến ISP đang nắm giữ đòa chỉ của trang Web; sau đó kết nối với máy Web server ta cần. Trong trường hợp này, lời yêu cầu một trang Web sẽ chỉ giống như vài chiếc xe hơi (gói tin nhỏ) đi đến đòa chỉ mong muốn, trong khi dữ liệu trả về từ trang Web sẽ gồm rất nhiều toa xe. Hình 3.3 – Minh họa việc chuyển các gói tin Tổng quan về TCP/IP Internet cũng phải điều chỉnh các tai nạn và tắc nghẽn giao thông. Vì rằng có rất nhiều gói tin bay tới bay lui giữa các máy tính của ngưới dùng và Web server, cho nên TCP/IP đã quy đònh rằng các gói tin có thể tìm ra nhiều con đường khác nhau để đi trên Internet. Cũng giống như một khách du lòch có thể sẽ đi vòng để tránh giao thông tắc nghẽn của thò tứ, các gói tin cũng sẽ chọn những lối đi thay thế vòng quanh các khu vực bận rộn trên Internet. Hình 3.4 – Liên lạc giữa các router Hoạt động chỉnh hướng này do các thiết bò dạng máy tính nhỏ gọi là router (thiết bò đònh tuyến) đảm nhiệm. Mỗi router trên Internet sẽ giữ liên lạc với các router nằm gần (neighboring router) để xem có lối đi dự phòng không hoặc có kết nối nào bò đứt không. Khi một router xác đònh được có một khu vực “kẹt” (bad part) trên Internet, nó sẽ tìm một lối đi nhanh hơn để cho dữ liệu chuyển qua. Mỗi lần một gói tin đi qua một router sẽ giống như nhảy một bước (hop) trong hành trình. Số hop mà một gói tin phải thực hiện khi đi trên Internet có liên quan trực tiếp đến chất lượng kết nối. Số hop càng càng cao nghóa Chapter03-TCP/IP III - 3 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari là tốc độ truyền càng chậm. Các router và các dây nhợ kết nối của nó hình thành một khái niệm là Web (mạng lưới). World Wide Web giống như một mạng nhện làm bằng các router và các dây kết nối. Trong mạng, dữ liệu sẽ đi theo đường nhanh nhất và ngắn nhất. Trong ví dụ ở Hình 3.4, nếu giữa Router C và Router D không bò đứt dây, phần lớn dữ liệu sẽ đi từ máy tính trong nhà qua Router C, rồi Router D, và cuối cùng qua Router E, khi trở lại cũng theo đường đó. Tuy nhiên, vì các chức năng thông minh của các router cho phép chúng nói chuyện với nhau, cả hai Router C và D sẽ nhanh chóng nhận ra kết nối trực tiếp giữa chúng bò đứt. Hai router này sẽ chuyển hướng cho thông tin đi qua Router B. Mặc dù số hop tăng lên, nhưng vẫn giữ cho dữ liệu được truyền trôi chảy. Điều này làm cho Internet trở nên đáng tin cậy. TCP/IP: Các luật giao thông Các luật lệ của đường đi ƠÛ nhà, bạn (hầu như) làm chủ chính mình. Tuy nhiên, khi bước ra đường, bạn đi vào một thế giới đầy dẫy các luật lệ và quy tắc. Nếu không có các luật này, sự hỗn loạn sẽ ngự trò. Ví dụ cho điều này thường thấy ở các nước kém phát triển, do thiếu các luật giao thông đã đưa đến nhiều tai nạn chết người. Như thế, luật lệ được làm ra để hướng dẫn và kiểm soát đại chúng. Tương tự, các máy tính cũng phải tuân theo các luật lệ khi truyền dữ liệu. TCP/IP (Transmission Control Protocol/Internet Protocol) đònh nghóa các luật lệ này cho Internet. Nếu trên đường nhựa có một đống các luật lệ quy tắc, thì cũng có một đống sách và quy tắc tiêu chuẩn cho đường kỹ thuật số. Để minh họa cho tầm quan trọng của TCP/IP, hãy tưởng tượng nước Mỹ không có Dòch vụ Bưu điện Liên bang (USPS-United States Postal Service). Nhờ có các luật lệ và quy tắc do USPS ban hành, bạn có quyền nằm dài và chắc mẩm rằng (đa số) các thư từ của bạn sẽ đến đúng đòa chỉ. Giống như USPS có một bộ phận điều khiển, Internet cũng có W3C (World Wide Web Consortium) giúp điều hành các luật lệ và quy tắc (xem Hình 3.5). Hình 3.5 – USPS chuyển phát thư từ giống như Internet chuyển phát các gói dữ liệu Suy nghó tương tự như một ông xếp giỏi giang Các gói tin thường bò thất lạc trên các con đường ảo này. TCP/IP đã được xây dựng để sửa chữa vấn đề đó và dù việc thất lạc gói tin xảy ra nhưng vẫn cung cấp được kết nối đáng tin cậy. Hãy tưởng tượng ra Bob-xếp (CEO-Chief Executive Officer) của một công ty-cần gửi cho Sally-cũng là xếp của một công ty khác-một bản đề xuất dày 100 trang. Do chính sách (policy) của công ty, mỗi lần Bob chỉ gửi được một trang (xem Hình 3.6). Cách nhanh nhất, nếu bất chấp giá cả, có phải là thuê 100 người cùng lúc mang các trang giấy đi không? Hình 3.6 – Chuyển bản đề xuất Các câu hỏi-đáp mẫu tương tự sau đây sẽ cho thấy sự tài tình ẩn chứa trong TCP/IP và lý do tại sao nó được xem là đáng tin cậy. Hãy xem xét các vấn đề mà xếp Bob gặp phải khi gửi bản đề xuất đi: - Hỏi: Chuyện gì sẽ xảy ra nếu có một người đưa tin bò kẹt? Nếu có ai trong số những người đưa tin đi chậm, các trang sẽ bò sai thứ tự. Chapter03-TCP/IP III - 4 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari - Đáp: Để ngăn ngừa chuyện này, Bob đơn giản chỉ cần đánh số các trang, để Sally có thể sắp thứ tự lại bản đề xuất khi đã nhận đủ các trang. TCP/IP cũng đánh số các gói tin sao cho có thể đặt chúng lại đúng thứ tự khi đến đích. Việc chuyển thông tin qua Internet là sự kiện không thể bấm giờ được, bởi vì nếu các gói tin có đi ra khỏi một máy tính theo một trật tự nào đó, thì không có nghóa là chúng đến nơi theo đúng trật tự đó. Các gói tin có khả năng chọn các đường đi khác nhau, vì vậy một số sẽ đến không đúng thứ tự. Tuy nhiên, TCP/IP sẽ sắp thứ tự lại các gói tin bằng cách dùng bộ đếm tuần tự đã thêm vào trong các gói tin. - Hỏi: Cái gì sẽ xảy ra nếu một trong các chú nhóc đưa tin biến luôn và không bao giờ chuyển đến đích trang giấy của mình? - Đáp: Khi Sally biết có một số trang đã thất lạc, những trang này rất dễ xác đònh nhờ vào hệ thống số trang. Khi đó cô ta sẽ gửi người đưa tin của mình trở lại cho Bob để cố gắng lấy bổ sung các trang thất lạc. TCP/IP sẽ theo dõi tất cả các gói tin và sẽ cho người gửi biết những gói tin nào đã không được nhận, như thế các gói tin thất lạc sẽ được gửi lại. Hệ thống đánh số tuần tự không phải chỉ để sắp thứ tự các gói tin lại, mà còn dùng để đảm bảo tất cả các gói tin đều đã đến đích. Nếu có một gói tin nào không đến đích được trong một khoảng thời gian nhất đònh, máy tính ở đầu nhận sẽ gửi ngược lại một ít gói tin để yêu cầu gửi lại các gói tin bò thất lạc. - Hỏi: Nếu lỡ có chú nhóc đưa tin nào đó trên đường lại phát bệnh kém trí nhớ, quên mất phải chuyển trang đề xuất đến cao ốc hoặc văn phòng nào thì sao? - Đáp: Bob có thể điền đòa chỉ ở đầu mỗi trang. TCP/IP quy đònh rằng mỗi gói tin đều phải có ghi đòa chỉ IP và port đích trong header của nó. Mỗi gói tin đi trên Internet phải chứa thêm những dữ liệu nhất đònh để mô tả được bản thân nó theo nhiều cách. Các thông tin như đòa chỉ và port gửi, đòa chỉ và port nhận, số đếm tuần tự sẽ được gửi chung với gói tin để bảo đảm cho nó đến được đúng chỗ. - Hỏi: Nếu có chú nhóc đưa tin nào lại làm việc cho công ty đối thủ và nó sửa một số nội dung trên trang đề xuất thì sao? - Đáp: Bob có thể ghi một con số bí mật ở đầu trang, số này đại diện cho tổng số từ và chữ cái trong trang. TCP/IP dùng một con số gọi là checksum. Checksum đảm bảo cho bất kỳ gói tin nào bò sai lạc nội dung trên đường truyền đều sẽ bò từ chối và bắt buộc phải được gửi lại. Checksum là con số tính theo kích thước và nội dung gói tin. Số này sau đó sẽ được thêm vào gói tin khi gửi nó đi. Khi gói tin đến đích, checksum sẽ được ghi nhận, và một con số khác sẽ được tính từ kích thước và nội dung của gói tin. Nếu hai số trùng nhau, gói tin được xem như “còn nguyên”. Nếu không, gói tin sẽ bò từ chối và một gói tin thay thế sẽ phải được gửi tiếp. - Hỏi: Nếu thông tin trang đề xuất rất nhạy cảm và cần được giữ kín? - Đáp: Bob có thể dùng mật mã để ngụy trang thông tin, để người khác không thể đọc được nó nếu không có chìa khóa thích hợp. Sau đó, Bob có thể thông báo bằng điện thoại cho Sally biết chìa khóa giải mã. TCP/IP làm việc bên dưới bất kỳ tầng mã hóa nào. Điều đó có nghóa là nó không quan tâm việc dữ liệu trông ra sao. Nó chỉ đơn thuần làm công việc cắt nhỏ dữ liệu ra rồi gửi đi. Vì lý do này, TCP/IP có thể gửi đi được trên Internet các file đã mã hóa, các file nhạc, các văn bản, các trang Web và ngay cả tiếng nói nữa. TCP/IP: Các chi tiết xương máu Khi bạn đã có một cái nhìn tổng quan về TCP/IP, bạn có thể quán triệt được các chi tiết của nó. Phần này sẽ trình bày khía cạnh kỹ thuật của TCP/IP, bao gồm cấu tạo của gói tin và cách thức nối kết TCP/IP hoạt động. Mặc dù phần này nặng về kỹ thuật, nhưng nó sẽ giúp bạn hiểu được một số điều phức tạp hơn sẽ trình bày trong các chương sau. Chapter03-TCP/IP III - 5 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari Các gói tin Một gói tin TCP/IP chỉ đơn giản là một gói dữ liệu. Giống như một bưu phẩm, gói tin có cả hai đòa chỉ người gửi và người nhận cùng với thông tin bên trong. Hình 3.7 cho thấy mô hình căn bản của một gói tin. Mỗi phần trong gói tin có mục đích riêng và cần có để bảo đảm tin cậy cho việc chuyển dữ liệu. Hình 3.7 – Gói dữ liệu Chỉ báo bắt đầu gói tin Mỗi thông điệp đều phải có phần mở đầu. Khi bạn viết một lá thư hay soạn một email, có thể bạn sẽ bắt đầu bằng “Hello”. Điều này cũng dùng khi truyền dữ liệu. Khi các máy tính truyền dữ liệu với nhau, chúng sẽ gửi cho nhau cả chuỗi dữ liệu dài dằng dặc. Chỉ báo bắt đầu gói tin được dùng để chỉ rõ nơi bắt đầu của một gói tin nằm trong chuỗi. Đòa chỉ nguồn Mỗi lá thư đều cần có một đòa chỉ của người gửi để người nhận còn biết nơi mà gửi thư phúc đáp. Nếu không có đòa chỉ nguồn, hành động trả lời sẽ không thực hiện được. Đòa chỉ đích Giống như bạn sẽ không thể mở lá thư có ghi rõ đòa chỉ người nhận là hàng xóm của bạn, một máy tính sẽ từ chối bất kỳ gói tin nào không có đòa chỉ đích rõ ràng chính xác. Thông tin điều khiển Phần này của gói dữ liệu dùng để gửi các thông điệp ngắn gọn báo cho máy tính sẽ nhận gói tin biết về tình trạng truyền dữ liệu. Ví dụ, giống như khi bắt đầu cuộc đàm thoại, nếu bạn chào hỏi đàng hoàng, bạn sẽ được xem là lòch sự. Máy tính cũng dùng phần này của gói tin để báo hiệu bắt đầu truyền dữ liệu. Dữ liệu thật sự Hạn chế duy nhất của dữ liệu là kích thước được phép gửi của một gói tin.Trong mỗi gói tin đều có ghi rõ độ dài của dữ liệu, diễn tả bằng một con số dài 8, 16 hoặc 32 bit1. Như trong Chương I đã gợi ý cho bạn, bit là một trong tám cái tạo thành một byte. Một byte có thể đại diện cho một giá trò trong bảng chữ cái. Ví dụ như 0000 0011 sẽ là số 3 trong hệ thập phân. Thông tin xử lý lỗi Thông tin xử lý lỗi là một trong những phần quan trọng nhất của bất kỳ hệ thống máy tính nào. Một chương trình chạy trên máy tính phải có khả năng giải quyết các vấn đề bất thường. Dù cho đó là lỗi do con người gây ra, hay đó là sai lệch của máy, một chương trình phải có khả năng nhận biết khi có gì đó không còn đúng nữa. Phần này được xem là quan trọng nhất trong gói tin, bởi vì nó thẩm đònh tính toàn vẹn của các dữ liệu khác trong gói tin. Sử dụng số checksum và các biện pháp an toàn khác, thông tin xử lý lỗi bảo đảm dữ liệu đến bằng dạng nguyên thủy nó có. Nếu phát hiện sai sót gì, gói tin sẽ bò loại bỏ và đòa chỉ nguồn sẽ được dùng để yêu cầu gởi lại gói tin mới. Các lớp Phần mềm TCP/IP có bốn tầng. Các tầng này có thể so sánh với chuỗi mệnh lệnh trong một công ty hay trong một doanh nghiệp. Trong ví dụ trước đã trình bày một chầu giao dòch giữa hai CEO, nếu nhìn kỹ hơn bạn sẽ khám phá ra rằng một loạt các hành động đã xảy ra. Ví dụ, xếp Bob-người gửi thông tin-đầu tiên phải đầu tư ý tưởng vào bản đề xuất. Sau đó, mỗi trang của bản đề xuất sẽ được cho vào một phong bì riêng, niêm kín rồi giao cho các người đưa tin. Khi người đưa tin đã có phong bì trong tay, anh Chapter03-TCP/IP III - 6 1 ND-Độ lớn tối đa của một gói tin hiện nay được diễn tả bằng con số 16 bit, tức gói tin lớn nhất là 64Kilobyte-xem TCP/IP Networking: A Guide to the IBM Environment-David M. Peterson-McGrawHill, 1995-trang 27 & 28. Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari ta sẽ bỏ nó vào một túi đựng thư. Tiếp theo, người đưa tin sẽ lái xe đến con đường nêu trong đòa chỉ trên bì thư. Khi đến đích, quá trình vừa nói sẽ diễn ra ngược lại. Người đưa tin sẽ tìm gặp người nhận là xếp Sally, lấy phong bì ra khỏi túi đựng thư. Sally sẽ bóc phong bì ra để lấy trang đề xuất và đọc nội dung. Tương tự như vậy, TCP/IP cũng gồm nhiều tầng (còn gọi là các “lớp”) là Ứng dụng, Vận chuyển, Liên kết dữ liệu và Vật lý. Mỗi lớp chòu trách nhiệm về một phần nhất đònh trong cơ chế liên lạc. Nếu các lớp cộng tác với nhau không tốt, dữ liệu có thể bò thất lạc và các chương trình sẽ không chạy được. Đằng sau mỗi lớp ẩn chứa rất nhiều protocol-các nguyên tắc chính-phục vụ các khía cạnh khác nhau. Cho dù protocol đó là TCP/IP, http, hay là một protocol nào khác thì mỗi lớp cũng có một bộ các qui tắc bắt buộc phải tuân theo, nếu không toàn bộ quá trình liên lạc sẽ bò thất bại. Hình 3.8 – Các mô hình OSI và Internet (DoD) Có hai mô hình liên lạc chính thường được dùng để mô tả TCP/IP: mô hình tham khảo OSI và mô hình Internet. Các mô hình này rất hợp lôgic trong trường hợp của TCP/IP. Tuy nhiên, do bản chất tương đối đơn giản của TCP/IP, người ta thường dùng mô hình cơ bản hơn là mô hình Internet để mô tả nó. Như bạn đã thấy trong Hình 3.8, mô hình tham khảo OSI cũng tương tự như mô hình Internet, ngoại trừ việc nó chia việc liên lạc ra thành bảy hạng mục thay vì bốn như trong mô hình Internet. Những sự khác biệt tế nhò vừa nêu không ăn nhập gì đến mục đích của quyển sách này; và vì rằng chúng ta đang giải thích việc an ninh trên Internet, cho nên chúng ta sẽ sử dụng mô hình Internet. Nên để mô hình OSI ở gần bạn, vì chúng ta sẽ gom luôn các lớp của mô hình này vào trong các giải thích sau đây. Lớp Ứng dụng / Xử lý (Ứng dụng, Trình bày, Tác vụ) Lớp ng dụng là lớp trên cùng của mô hình Internet. Nó là lớp mà bạn-như là người sử dụng máy tính-cảm thấy quen thuộc nhất, bởi vì nhiều chương trình mà bạn sử dụng đều ràng buộc trực tiếp với lớp này. Ví dụ, một chương trình duyệt Web dùng protocol http để lấy về các trang Web từ các máy tính khác trên Internet. Các chương trình ftp và Mail là các ví dụ khác về chương trình sử dụng lớp Ứng dụng, chúng dùng các protocol khác nhau để liên lạc với các server mail và ftp. Nhờ vào tính nhất quán của lớp này, một chương trình email bất kỳ nào cũng có thể dễ dàng liên lạc với một mail server bất kỳ. Bất kể chương trình là Outlook Express hay Eudora, thậm chí cả một Webmail như yahoo, lớp ng dụng đều yêu cầu làm việc tương tự nhau. Lớp này thỏa thuận với các chương trình ứng dụng dựa trên việc truyền dữ liệu, nhưng nó không chỉ ra chi tiết cách thức đi hoặc đường đi của dữ liệu. Chỉ cần dữ liệu có mặt khi các ứng dụng cần đến thì coi như mọi việc đều trôi chảy. Như đã nêu ở ví dụ trên, lớp này cũng tương tự như hai xếp công ty đã viết và đọc bản đề xuất. Bob và Sally không cần quan tâm đến việc bằng cách nào bản đề xuất đến được tay họ. Họ chỉ có trách nhiệm thảo ra hoặc đọc mà thôi. Chapter03-TCP/IP III - 7 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari Lớp Máy đến Máy (Vận chuyển) Lớp này có nhiệm vụ truyền dữ liệu giữa các máy tính, tại đây có hai protocol chính mà bạn thấy lặp đi lặp lại trong sách này, đó là TCP và UDP. Mỗi protocol này nắm giữ một phần rất quan trọng trong việc truyền dữ liệu trên Internet. TCP bảo đảm cho việc truyền dữ liệu là đáng tin cậy, bằng cách truyền lại lần nữa nếu bò thất bại. Ngược lại, UDP sẽ cố gắng bảo đảm cho liên lạc đáng tin cậy ở mức cao nhất, nhưng không truyền lại Đối với văn bản, cần phải truyền bằng TCP vì toàn bộ văn bản cần phải được truyền đến đích một cách chắc chắn, nếu không file sẽ bò sai lệch. Tuy nhiên, nếu dữ liệu là phim hay nhạc, việc yêu cầu truyền lại sẽ gây nên giật cục. Trong trường hợp này, việc truyền lại dữ liệu lần nữa có thể gây ra nhiều vấn đề, hơn là giải quyết được vấn đề. Lớp Máy đến Máy kiểm soát dòng chảy dữ liệu. Nó không cần quan tâm dữ liệu đang truyền là cái gì, không quan tâm chương trình nào gửi, chương trình nào nhận. Nó chỉ quan tâm tất cả dữ liệu gửi đến một máy tính có hoàn hảo hay không, và làm cách nào kiểm soát các dữ liệu bò thất lạc hay hư hỏng. Tương tự, nó cũng giám sát tất cả các dữ liệu phát ra khỏi một máy tính và đáp ứng các yêu cầu truyền lại dữ liệu của máy tính đó. Lớp này có thể so sánh với công đoạn kiểm tra bằng mắt mà xếp công ty và người đưa tin thực hiện trước khi họ bỏ thông tin vào phong bì. Lúc này, những gì thất lạc hoặc không đúng sẽ được lưu ý. Ví dụ, nếu một trong các trang của bản đề xuất bò nước sốt cà chua làm bẩn, xếp công ty sẽ yêu cầu gửi lại một trang mới. Lớp Internet (Mạng) Lớp Mạng hay lớp Internet chỉ có nhiệm vụ đánh đòa chỉ và phát chuyển thông tin. Đây là nơi mà gói tin được dán nhãn nơi gửi và nhãn đòa chỉ đích đến. Nói tóm lại, protocol IP trong TCP/IP xuất hiện chính ở lớp này. Với Internrt Protocol, tất cả dữ liệu đi vào và đi ra khỏi một máy tính đều được kiểm tra để bảo đảm đúng đòa chỉ của máy tính đó. Lớp này có liên quan chặt chẽ đến những phong bì trong ví dụ ở trên. Một phong bì được ghi đòa chỉ rõ ràng sẽ có cơ hội tốt để đến đích của nó. Ngay cả khi đi qua rất nhiều bưu trạm đi nữa, phong bì vẫn sẽ được chuyển đi theo đúng hướng. Lớp này cũng có liên quan chặt chẽ đến các router và các switch tạo thành Internet. Như bạn đã biết, các router có nhiệm vụ chuyển các thông tin trên Internet. Các router sẽ xem xét từng gói tin một, tìm đọc đòa chỉ đích đã đính trên gói tin. Hình 3.9 là một ví dụ cho thấy thông tin đi từ Máy tính 1 đến Máy tính 2 phải đi qua Router A đến tại Router B. tuy nhiên, vì tại Router B có một list đầy đủ các về tất cả các máy tính nằm sau Router C và Router B hiểu rằng với đòa chỉ ghi rõ trên gói tin, nó không có lý do gì để phải gửi gói tin qua Router C. Một công việc nhỏ bé của router lại rất quan trọng đối với Internet. Nếu không có việc điều khiển dữ liệu của router, Internet sẽ bò đầy nghẹt bởi các gói tin không biết đường đi. Điều này sẽ làm cho việc truyền dữ liệu trở nên vô cùng chậm. Hình 3.9 – Kết nối và các router Lớp Truy cập mạng (Liên kết dữ liệu, Vật lý) Lớp cuối cùng trong mô hình Internet chủ yếu thuộc về phần cứng. Lớp này kiểm soát các phương tiện, thiết bò truyền dữ liệu. Đối với hầu hết người dùng Internet, đây là nơi dữ liệu được đóng thùng kín đáo (encapsulate) và gửi đi. Đây cũng là lớp đọc bất kỳ gói tin nào đến và kiểm tra đòa chỉ của chúng so với đòa chỉ của máy tính, nếu đòa chỉ trùng, dữ liệu sẽ được gửi lên lớp trên; nếu không trùng thì sẽ bò bỏ qua. Chapter03-TCP/IP III - 8 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari Với ví dụ ở trên của chúng ta, lớp này phản ánh các qui luật mà người đưa tin phải tuân thủ khi anh ta rời khỏi văn phòng công ty của Bob và ra đường. Có một đống protocol mà anh ta phải tuân theo khi cưỡi và lái cái xe đạp của mình, cũng như khi đi vào tòa nhà có đầy đủ hệ thống an ninh của Sally. Cũng như tầng Truy cập mạng sẽ kiểm tra từng gói tin cố gắng chui vào máy tính, nhóm bảo vệ của Sally cũng sẽ kiểm tra gói bưu phẩm để bảo đảm đúng là gửi cho Sally, trước khi có thể cho phép chuyển nó vào bên trong tòa nhà. Nếu gói bưu phẩm đúng đòa chỉ, họ sẽ để cho người đưa tin chuyển vào. Ngược lại, người đưa tin phải tiếp tục đi tìm cho đến khi tìm đúng đòa chỉ cần giao của gói bưu phẩm. Đây là lớp cho phép một máy tính “ngửi” đường mạng. Bạn sẽ được giải thích rõ ở phần sau của sách này, rằng qui luật của lớp này cũng có thể thay đổi được để cho phép một máy tính nhận tất cả các gói tin gửi đến. Chính vì vậy mà các hacker có thể “ngửi”, hay chộp (capture) password của máy tính lân cận. Trên lớp này còn có nhiều trò tệ hại nữa, sẽ được giải thích sau. Các lớp rất quan trọng đối với các hacker và các chuyên gia an ninh mạng. Sử dụng các lớp, các hacker có được các lợi thế, họ có thể giả danh, có thể phá hủy cả một hệ thống mạng. Như thế, nếu nghiên cứu hoạt động của mô hình Internet, bạn sẽ biết được cách tự bảo vệ mình. Ví dụ, nếu một hacker đã cài đặt thành công một chương trình ngựa thành Troie (Trojan horse-hoạt động ở lớp Ứng dụng) trên máy tính của bạn, nhưng bạn lại có một chương trình firewall chuyên block các port Trojan thông dụng (hoạt động ở lớp truy cập mạng), chú ngựa thành Troie này sẽ không bao giờ nhận được lệnh tấn công từ hacker chủ nhân. Đó là bởi vì chương trình firewall sẽ phát hiện hành động trên port Trojan trước khi chương trình Trojan có thể nhận được. Bởi vì dữ liệu phải được chuyển lên theo thứ tự như đóa trong chồng của các lớp, nó phải được gửi qua lớp Truy cập mạng trước khi đến được lớp Ứng dụng. Vì vậy, firewall có khả năng phát hiện bất kỳ thông tin đến nào, trước khi chương trình Trojan biết được sự tồn tại của thông tin đó. Một ví dụ về chương trình bảo vệ như thế do chúng tôi thiết kế là VirusMD Personal Firewall, là một tiện ích dễ dùng, giúp các chuyên gia chẩn đoán và xử lý các lây nhiễm dạng ngựa thành Troie. Đây là một micro-firewall có một thư viện Trojan-debug đa dạng. Nó được lập trình để bảo máy tính lắng nghe và block tất cả những gói tin đến có port trùng với list các port đã khai sẵn. Firewall sẽ chạy ở lớp Truy cập mạng, nơi có các port và firewall sẽ giám sát tất cả các hành động ở đó. Khi phát hiện ra một lời yêu cầu gửi đến từ một máy tính khác không liên quan, chương trình sẽ gửi thông tin đó lên lớp Vận chuyển, lớp này bỏ qua các chỉ thò trong dữ liệu và chỉ gửi tiếp lên lớp Ứng dụng đòa chỉ IP của hacker để xử lý. Đòa chỉ IP do lớp Truy cập mạng phát hiện được sẽ được ghi lại và cho hiện ra ở màn hình graphic (GUI) của chương trình. Chương trình VirusMD sẽ gửi ngược lại cho hacker một thông báo từ chối-người dùng có thể thay đổi được nội dung, ví dụ như “Tớ tóm được cậu rồi nhé!” (xem Hình 3.10). Chuyện này bắt đầu từ lớp Ứng dụng để chuyển dữ liệu xuống lớp Máy đến Máy. Lớp này đóng gói dữ liệu rồi chuyển xuống lớp Internet để đính đòa chỉ. Từ đây, dữ liệu được chuyển xuống lớp Truy cập mạng để gửi đi. Hình 3.10 – Một trong nhiều phiên bản quốc tế của VirusMD Personal Firewall 2 Chapter03-TCP/IP III - 9 2 ƠÛ đây quảng cáo kiểu gì cũng vậy, quảng cáo cho Nhất Nghệ cho rồi (ND :-P) Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari Như thế, việc hiểu biết về các lớp khác nhau cũng sẽ giúp ta rất nhiều khi tìm hiểu, lựa chọn để mua các sản phẩm phòng chống virus và firewall. Để xác đònh xem một hoạt động đang có của máy tính hay chương trình là diễn ra tại lớp nào, bạn chỉ cần tự hỏi: “Cái gì đang xảy ra cho dữ liệu?”. Nếu ta có thể thao tác được trên dữ liệu, vậy là nó đang ở lớp Ứng dụng. Nếu dữ liệu đang được xử lý bảo đảm tính toàn vẹn, nó đang ở lớp Máy đến Máy. Nếu đang được đóng gói, tức là dữ liệu đang ở lớp Internet. Nếu đang xảy ra quá trình blocking port hoặc đòa chỉ, dữ liệu đang ở lớp Truy cập mạng. Bắt tay theo kiểu TCP/IP Từ giải thích ở trên, bạn đã biết có một đoạn thông tin điều khiển dùng để xác đònh mục đích của gói tin. Dùng phần thông tin này, hai máy tính có thể xây dựng một chầu truyền dữ liệu mới hoặc chấm dứt kết nối. Phần này của quá trình truyền dữ liệu được gọi là việc bắt tay (xem Hình 3.11). Nếu không có phần thông tin điều khiển này, các máy tính sẽ không bao giờ biết được khi nào cuộc nói chuyện có thể bắt đầu hoặc khi nào thì phải kết thúc. Khi một con đường trao đổi thông tin đã được mở giữa hai máy tính, nó sẽ cứ tồn tại cho đến khi nhận được một tín hiệu yêu cầu “đóng”. Mặc dù các tài nguyên dùng cho chầu truyền dữ liệu sẽ quay trở về lại máy tính sau một khoảng thời gian nào đó, nhưng nếu không có tín hiệu đóng, các tài nguyên này sẽ bò đóng băng một cách vô ích trong nhiều phút. Nếu các kết nối chết như vậy được xây dựng nhiều đến một mức nào đó, máy tính sẽ trở nên tê liệt. Trong thực tế, đây chính là nguyên lý tấn công của các hacker theo trường phái Từ chối Dòch vụ (Denial of Service), sẽ được giải thích sau. Hình 3.11 – Bắt tay ba bước theo kiểu TCP/IP Khi một server nhận được gói tin từ Internet, nó sẽ duyệt phần thông tin điều khiển trong gói tin để xem mục đích của gói tin này. Nếu nhằm mục đích khởi tạo một chầu truyền dữ liệu, gói tin đầu tiên được gửi đến cho server phải chứa một lệnh SYN (synchronize-yêu cầu đồng bộ). Lệnh này sẽ được server nhận và reset số tuần tự (sequence number) về 0. Sequence number rất quan trọng trong truyền dữ liệu theo TCP/IP vì nó giữ cho số lượng các gói tin ở hai phía như nhau. Nếu mất một số, server sẽ biết là một gói tin đã thất lạc và sẽ yêu cầu gửi lại. Khi số SYN đã được khởi tạo, một gói tin báo đã nhận được sẽ được server gửi ngược lại cho client đã có lời yêu cầu chầu truyền dữ liệu. Cùng với gói tin ACK này, một gói tin SYN đáp ứng cũng sẽ được gửi để khởi tạo sequence number bên phía client. Khi client nhận được cả hai gói tin ACK và SYN, sẽ gửi một gói tin xác nhận đã nhận được (ACK) cho server và thế là chầu truyền dữ liệu được xây dựng xong. Ví dụ này đã được đơn giản hóa, nhưng nó minh họa được quá trình bắt tay ba bước3. Khi chầu truyền dữ liệu đã xong và client chấm dứt yêu cầu lấy thông tin từ server, client cần phải nói lời tạm biệt. Để cắt kết nối, client phải gửi một gói tin FIN cho server. Server nhận được gói tin FIN sẽ gửi trả một gói tin FIN của chính nó cùng với một gói tin ACK để báo rằng chầu truyền dữ liệu sẽ kết 3 Theo TCP/IP Networking: A Guide to the IBM Environment-David M. Peterson-McGrawHill, 1995-trang 59: - Trong header của datagram TCP có một flag dài 6 bit dùng phân loại công dụng của datagram (SYN, ACK, FIN, URG, RST… ), đồng thời có Sequence number (2 byte) và Acknowledgment number (2 byte). - SYN đầu client gửi có sequence number do client chọn là M. Server gửi lại ACK có acknowledgment number là M+1 và SYN có sequence number là N. Client phải gửi ACK có acknowledgment number là N+1 Chapter03-TCP/IP III - 10 [...]... tự, các máy tính cũng phải tuân theo các luật lệ khi truyền dữ liệu. TCP/ IP (Transmission Control Protocol/Internet Protocol) định nghóa các luật lệ này cho Internet. Nếu trên đường nhựa có một đống các luật lệ quy tắc, thì cũng có một đống sách và quy tắc tiêu chuẩn cho đường kỹ thuật số. Để minh họa cho tầm quan trọng của TCP/ IP, hãy tưởng tượng nước Mỹ không có Dịch vụ Bưu điện Liên bang (USPS-United... hỏi-đáp mẫu tương tự sau đây sẽ cho thấy sự tài tình ẩn chứa trong TCP/ IP và lý do tại sao nó được xem là đáng tin cậy. Hãy xem xét các vấn đề mà xếp Bob gặp phải khi gửi bản đề xuất đi: - Hỏi: Chuyện gì sẽ xảy ra nếu có một người đưa tin bị kẹt? Nếu có ai trong số những người đưa tin đi chậm, các trang sẽ bị sai thứ tự. Chapter03 -TCP/ IP III - 4 ... sẽ được học một số sản phẩm bảo mật có khai thác quá trình bắt tay. Vì vậy, để đọc tiếp phần còn lại của sách từ đây trở đi, bạn phải nhớ kỹ các kiến thức đã trình bày trong chương này. Chapter03 -TCP/ IP III - 11 Windows Internet Security - Protecting Your Critical Data Seth Forgie & Dr. Cyrus Peikari là tốc độ truyền càng chậm. Các router và các dây nhợ kết nối của nó hình thành một khái niệm... 3.5). Hình 3.5 – USPS chuyển phát thư từ giống như Internet chuyển phát các gói dữ liệu Suy nghó tương tự như một ông xếp giỏi giang Các gói tin thường bị thất lạc trên các con đường ảo này. TCP/ IP đã được xây dựng để sửa chữa vấn đề đó và dù việc thất lạc gói tin xảy ra nhưng vẫn cung cấp được kết nối đáng tin cậy. Hãy tưởng tượng ra Bob-xếp (CEO-Chief Executive Officer) của một công ty-cần... chúng bị đứt. Hai router này sẽ chuyển hướng cho thông tin đi qua Router B. Mặc dù số hop tăng lên, nhưng vẫn giữ cho dữ liệu được truyền trôi chảy. Điều này làm cho Internet trở nên đáng tin cậy. TCP/ IP: Các luật giao thông Các luật lệ của đường đi Ở nhà, bạn (hầu như) làm chủ chính mình. Tuy nhiên, khi bước ra đường, bạn đi vào một thế giới đầy dẫy các luật lệ và quy tắc. Nếu không có các luật . một cái nhìn tổng quan về TCP/ IP, bạn có thể quán triệt được các chi tiết của nó. Phần này sẽ trình bày khía cạnh kỹ thuật của TCP/ IP, bao gồm cấu tạo của. lý do này, TCP/ IP có thể gửi đi được trên Internet các file đã mã hóa, các file nhạc, các văn bản, các trang Web và ngay cả tiếng nói nữa. TCP/ IP: Các chi

Ngày đăng: 06/09/2012, 14:25

Hình ảnh liên quan

Hình 3.1 – Kết nối các máy tính cũng giống như các căn nhà kết nối với nhau - Tìm hiểu về TCP IP

Hình 3.1.

– Kết nối các máy tính cũng giống như các căn nhà kết nối với nhau Xem tại trang 1 của tài liệu.
Các port chính là các “cổng” ảo mà qua đó thông tin đi vào và đi ra khỏi máy tính của bạn (xem Hình 3.2) - Tìm hiểu về TCP IP

c.

port chính là các “cổng” ảo mà qua đó thông tin đi vào và đi ra khỏi máy tính của bạn (xem Hình 3.2) Xem tại trang 2 của tài liệu.
Hình 3.4 – Liên lạc giữa các router - Tìm hiểu về TCP IP

Hình 3.4.

– Liên lạc giữa các router Xem tại trang 3 của tài liệu.
Hình 3.3 – Minh họa việc chuyển các gói tin Tổng quan về TCP/IP  - Tìm hiểu về TCP IP

Hình 3.3.

– Minh họa việc chuyển các gói tin Tổng quan về TCP/IP Xem tại trang 3 của tài liệu.
là tốc độ truyền càng chậm. Các router và các dây nhợ kết nối của nó hình thành một khái niệm là Web (mạng lưới) - Tìm hiểu về TCP IP

l.

à tốc độ truyền càng chậm. Các router và các dây nhợ kết nối của nó hình thành một khái niệm là Web (mạng lưới) Xem tại trang 4 của tài liệu.
Hình 3.5). Hình 3.5 – USPS chuyển phát thư từ giống như Internet chuyển phát các gói dữ liệu - Tìm hiểu về TCP IP

Hình 3.5.

. Hình 3.5 – USPS chuyển phát thư từ giống như Internet chuyển phát các gói dữ liệu Xem tại trang 4 của tài liệu.
Hình 3.8 – Các mô hình OSI và Internet (DoD) - Tìm hiểu về TCP IP

Hình 3.8.

– Các mô hình OSI và Internet (DoD) Xem tại trang 7 của tài liệu.
Hình 3.9 – Kết nối và các router - Tìm hiểu về TCP IP

Hình 3.9.

– Kết nối và các router Xem tại trang 8 của tài liệu.
Hình 3.10 – Một trong nhiều phiên bản quốc tế của VirusMD Personal Firewall 2 - Tìm hiểu về TCP IP

Hình 3.10.

– Một trong nhiều phiên bản quốc tế của VirusMD Personal Firewall 2 Xem tại trang 9 của tài liệu.
Hình 3.11 – Bắt tay ba bước theo kiểu TCP/IP - Tìm hiểu về TCP IP

Hình 3.11.

– Bắt tay ba bước theo kiểu TCP/IP Xem tại trang 10 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan