Tìm kiếm nhanh và chính xác hơn với google tùy chỉnh

Thứ Bảy, 24 tháng 3, 2012

Công nghệ FTTx (internet cáp quang)

Mạng FTTx (Fiber-to-the-x) hiện đang được xem là sẽ đóng một vai trò quan trọng trong 2-3 năm tới do tiềm năng cung cấp băng thông cho khách hàng lớn hơn so với cáp đồng, đáp ứng nhu cầu truyền thoại, dữ liệu và video trên nền IP. Các công nghệ thường được sử dụng để tạo dựng các mạng FTTx, bao gồm cả các mạng quang thụ động, các đường dây thuê bao số (DSL), và các công nghệ nén video…
FTTx (Fiber To The x) là 1 thuật ngữ nói chung chỉ một kiến trúc mạng sử dụng cáp quang để kết nối viễn thông.
  • FTTx bao gồm các loại sau:
  • FTTN (Fiber To The Node)
  • FTTC (Fiber To The Curb)
  • FTTB (Fiber To The Building)
  • FTTH (Fiber To The Home).
Một kết nối đa dịch vụ
Hiện nay, công nghệ FTTH (Fiber-To-The-Home là mạng viễn thông băng thông rộng bằng cáp quang được nối đến tận nhà để cung cấp các dịch vụ tốc độ cao như điện thoại, Internet tốc độ cao và TV) đang được triển khai khá mạnh mẽ trên thế giới.

Khi dùng công nghệ FTTH, đường truyền dẫn hoàn toàn bằng cáp quang tới tận phòng máy của người sử dụng. Chất lượng truyền dẫn tín hiệu bền bỉ ổn định không bị suy hao tín hiệu bởi nhiễu điện từ, thời tiết hay chiều dài cáp như đối với ADSL.

Độ bảo mật rất cao. Với ADSL, khả năng bảo mật thấp hơn vì có thể bị đánh cắp tín hiệu trên đường dây, còn với FTTH thì hầu như không thể bị đánh cắp tín hiệu trên đường dây.

Với công nghệ FTTH, nhà cung cấp dịch vụ có thể cung cấp tốc độ download lên đến 10 Gigabit/giây, nhanh gấp 200 lần so với ADSL 2+ (hiện chỉ có thể đáp ứng 20 Megabit/giây). Tốc độ truyền dẫn với ADSL là không cân bằng, có tốc độ tải lên luôn nhỏ hơn tốc độ tải xuống (Bất đối xứng, Download > Upload) và tối đa 20 Mbps. Còn FTTH cho phép cân bằng, tốc độ tải lên và tải xuống như nhau (Đối xứng, Download = Upload) và cho phép tối đa là 10 Gbps, có thể phục vụ cùng một lúc cho hàng trăm máy tính.

FTTH đặc biệt hiệu quả với các dịch vụ: Hosting Server riêng, VPN (mạng riêng ảo), Truyền dữ liệu, Game Online, IPTV (truyền hình tương tác), VoD (xem phim theo yêu cầu), Video Conferrence (hội nghị truyền hình), IP Camera…với ưu thế băng thông truyền tải dữ liệu cao, có thể nâng cấp lên băng thông lên tới 1Gbps, An toàn dữ liệu, Độ ổn định cao, không bị ảnh hưởng bởi nhiễu điện, từ trường...
Xu hướng tương lai
Dự kiến FTTH sẽ dần thay thế ADSL trong tương lai gần một khi băng thông ADSL không đủ sức cung cấp đồng thời các dịch vụ trực tuyến trong cùng một thời điểm. FTTH cung cấp 1 IP tĩnh thích hợp với các doanh nghiệp, tổ chức triển khai dễ dàng các dịch vụ trực tuyến như IP Camera, lưu trữ mail, truyền dữ liệu tốc độ cao...

Theo một báo cáo mới nhất của Heavy Reading, số hộ gia đình sử dụng kết nối băng rộng FTTH trên toàn thế giới sẽ tăng trưởng hàng năm trên 30% cho đến năm 2012 và đạt 89 triệu hộ khi đó. Hiện Nhật Bản, Trung Quốc và Mỹ là các quốc gia đi đầu trong lĩnh vực băng thông rộng sử dụng công nghệ cáp quang này.

Công nghệ FTTH đã có khoảng 20 triệu kết nối toàn cầu, chỉ tính riêng ở 3 nước Nhật Bản, Trung Quốc và Mỹ đã có thêm khoảng 6 triệu thuê bao, trong đó châu Á được đánh giá là thị trường có tiềm năng phát triển lớn. Theo dự đoán, vào cuối năm 2012, riêng châu Á sẽ có 54 triệu kết nối FTTH, tiếp theo là châu Âu/ khu vực Trung Đông/ châu Phi với 16 triệu, rồi đến Bắc Mỹ và Nam Mỹ với 15 triệu. Hiện nay, quá trình chuyển đổi sang FTTH đang được thực hiện ở nhiều nước, gồm Đan Mạch, Pháp, Hồng Kông, Nhật Bản, Hàn Quốc, Thụy Điển, Đài Loan và Mỹ.
(Sưu tầm)

Điện thoại

Điện thoại là một thiết bị viễn thông dùng để truyền và nhận âm thanh (thông dụng nhất là truyền giọng nói) từ xa. Hầu hết điện thoại truyền bằng tín hiệu điện qua mạng điện thoại phức tạp cho phép hầu hết người sử dụng liên lạc với hầu hết người sử dụng khác. 

Giới thiệu
Có bốn cách điện thoại kết nối vào mạng điện thoại sử dụng ngày nay: phương pháp truyền thống điện thoại cố định, dùng dây dẫn kết nối truyền tín hiệu vào một vị trí cố định; loại điện thoại không dây, dùng cả sóng vô tuyến truyền tín hiệu tương tự hoặc kỹ thuật số; điện thoại vệ tinh, dùng vệ tinh liên lạc; và VoIP (điện thoại qua giao thức Internet), dùng với kết nối Internet băng thông rộng.
Giữa hai người dùng, việc truyền nhận qua mạng có thể dùng cáp quang, kết nối điểm-điểm sóng vi ba hay qua vệ tinh.
Cho đến gần đây, từ "điện thoại" chỉ dùng để nói tới điện thoại có dây. Điện thoại mẹ con và điện thoại di động hiện nay khá phổ biến ở nhiều nơi, với điện thoại di động có triển vọng thay thế điện thoại có dây. Không như điện thoại di động, điện thoại mẹ con cũng phụ thuộc điện thoại có dây vì nó chỉ có ích trong một khoảng cách nhỏ chung quanh trạm phát được kết nối với dây điện thoại.
Việc xác định người phát minh ra điện thoại (Antonio Meucci hay Johann Philipp Reis hoặc Alexander Graham Bell) vẫn còn tranh cãi.


Lịch sử


Những phát triển ban đầu

Cấu tạo 1 điện thoại cổ
Từ những chiếc điện thoại thô sơ ban đầu và cách chuyển mạch bằng nhân công, ta có thể nêu cụ thể một cuộc điện đàm như sau:
Một thuê bao A gọi cho một thuê bao B thì tín hiệu (cụ thể là giọng nói) của thuê bao A được chuyển đổi thành tín hiệu điện và chuyển đến tổng đài. Ở đây một nhân viên trực tổng đài có nhiệm vụ gạt cần chuyển mạch sang thuê bao B và cuộc điện đàm được diễn ra. Nhưng nếu thuê bao B đang bận thì cuộc điện thoại đó sẽ bị rớt. 

Lịch sử gần đây

Điện thoại kỹ thuật số

Điện thoại sử dụng IP
Thuật ngữ điện thoại IP (IP Telephony) thường dùng để chỉ phương pháp kết nội máy điện thoại tới tổng đài hoặc trung kế sử dụng Giao thức Internet hay phương pháp truyền tín hiệu thoại (VoIP) qua giao thức Internet VoIP. Tuy vậy, trên thực tế, thông thường hai khái niệm vẫn được dùng lẫn cho nhau.
Điện thoại truyền thống dựa trên công nghệ chuyển mạch (curcuit switching) và vì vậy đòi hỏi phải có đường kết nối trực tiếp và dành riêng cho mỗi điểm dầu cuối. Chi phí lắp đặt, bảo dưỡng lớn cũng như khó thêm, bớt, thay đổi hay di chuyển thiết bị đầu cuối. Ngược lại, công nghệ IP là công nghệ chuyển gói tin (packet switching) cho phép sử dụng chung một đường kết nối cho nhiều kênh thoại hoặc kết hợp cùng với dữ liệu mang lại tính kinh tế cao hơn cũng như cho phép thêm, bớt, thay đổi, di chuyển thiết bị đầu cuối dễ dàng.
Thay vì việc sử dụng một đường kết nối trực tiếp và dành riêng để nối máy điện thoại tới hệ thống chuyển mạch như tổng đài hoặc trung kế (PaBX), điện thoại IP sử dụng kết nối Ethernet của mạng IP cho mục đích này. Điện thoại có thể được kết nối tới PaBX thông qua hạ tầng mạng LAN hoặc mạng WAN. Một số nhà cung cấp viễn thông còn cung cấp dịch vụ SIP qua đó thuê bao có thể nối trức tiếp máy điện thoại vào Internet. Đầu cuối của công nghệ điện thoại IP thường là các máy điện thoại được thiết kế riêng hoặc một phần mềm chạy trên máy tính. Chi phí để triển khai điện thoại IP thường lớn hơn so với điện thoại thường nhưng ngược lại, chi phí vận hành, quản lý, khai thác sẽ giảm đáng êể đồng thời chất lượng cuộc gọi và khả năng sử dụng điện thoại và tiếp nhận cuộc gọi được tăng lên.
Công nghệ Truyền giọng nói qua IP (VoIP) chủ yếu liên quan tới việc chuyển các tín hiệu thoại thành các gói tin IP và truyền qua hạ tầng Internet. Một số ví dụ như các dịch vụ 171, 177, 178, Skype, Yahoo Voice v.v. Tùy theo dịch vụ, người sử dụng có thể sử dụng điện thoại bình thường vẫn có thể tận dụng được lợi thế về chi phí do điện thoại Internet mang lại. Lợi ích chính của VoIP là mang lại lựa chọn cho khách hàng về một dịch vụ thoại có chất lượng thấp hơn nhưng cũng có chi phí rẻ hơn và thường áp dụng cho các dịch vụ Điện thoại đường dài.

Định luật Moore

Định luật Moore được xây dựng bởi Gordon Moore - một trong những sáng lập viên của tập đoàn sản xuất chip máy tính nổi tiếng Intel. Định luật ban đầu được phát biểu như sau:
"Số lượng transistor trên mỗi đơn vị inch vuông sẽ tăng lên gấp đôi sau mỗi năm." (1 inch vuông xấp xỉ 6,45 cm²). Năm 2000 định luật được sửa đổi là sau mỗi chu kỳ 18 tháng. Tuy nhiên, có một số thông tin cho rằng Gordon Moore đã công bố sửa đổi định luật của ông là 24 tháng nhưng báo chí tại thời điểm đó đã viết là 18 tháng.
Định luật Moore lần đầu tiên được công bố rộng rãi trên tạp chí Electronics Magazine số ra ngày 19 tháng 4 năm 1965. 

Tác dụng của Định luật Moore

Định luật Moore là một bước ngoặt lớn trong ngành công nghệ điện tử, giải thích tại sao nhà sản xuất có thể giảm giá thành trong khi vẫn tiếp tục nâng cao hiệu suất của phần cứng.
Định luật Moore cũng là một động lực kích thích cho ngành công nghiệp điện tử duy trì sự phát triển mạnh mẽ trong hàng thập kỷ qua. 

Định luật Moore tại thời điểm hiện tại và dự báo trong tương lai

Tuy nhiên, trong thời gian gần đây định luật Moore đã có nhiều biểu hiện bị thay đổi và kéo dài dần thời gian tăng đôi số transistor trên một đơn vị diện tích (một inch vuông). Tại thời điểm hiện nay (năm 2007), khoảng thời gian để tăng đôi số transistor là xấp xỉ 60 tháng. Nhiều nhà phân tích cho rằng trong tương lai không xa khi mà các áp dụng kỹ thuật đã không thể rút nhỏ kích cở của một transistor xuống hơn được (cụ thể là khi kiến trúc của transistor đã được rút xuống đến mức độ phân tử) thì định luật Moore sẽ không còn đúng nữa.


ARPANET

Mạng lưới Advanced Research Projects Agency Network - viết tắt là ARPANET (tạm dịch là Mạng lưới cơ quan với các đề án nghiên cứu tân tiến.) do ARPA (Defense Advanced Research Projects Agency - tạm dịch là Cơ quan với các đề án nghiên cứu tân tiến của Bộ Quốc Phòng) Mỹ xây dựng. Bộ Quốc Phòng Mỹ là cơ quan có mạng lưới dùng công nghệ chuyển mạch gói đầu tiên hoạt động, và là cha đẻ của mạng lưới Internet toàn cầu hiện nay.
Thời kỳ đó công nghệ chuyển mạch gói (Packet switching), bây giờ là nền tảng cơ bản cho cả truyền thông dữ liệu và âm thanh trên toàn thế giới, là một quan niệm mới, quan trọng trong công nghệ truyền thông dữ liệu. Trước đó, công nghệ truyền thông dữ liệu dựa trên công nghệ chuyển mạch kênh (circuit switching), tương tự như trong hệ thống điện thoại cũ, một mạch chuyên dụng được sử dụng trong toàn bộ thời gian của cuộc gọi, và chỉ có thể truyền thông được với một người duy nhất ở bên kia đầu dây.
Với công nghệ chuyển mạch gói, một hệ thống truyền thông có thể kết nối với nhiều máy, trên cùng một đường dây, bằng cách nhóm dữ liệu lại thành các gói. Không những đường dây kết nối có thể được dùng chung (như một lá thư có thể cùng một lúc được gửi đến nhiều nơi), song mỗi một gói dữ liệu còn có thể được định tuyến biệt lập với những gói dữ liệu khác. Đây chính là ưu điểm lớn nhất.

Lịch sử của ARPANET
Ý tưởng đầu tiên về một mạng lưới máy tính cho phép truyền thông giữa nhiều người dùng được J.C.R. Licklider, hồi đó làm việc tại công ty Bolt, Beranek and Newman (BBN), phát biểu trong một loạt những bản ghi nhớ, bàn luận về quan niệm một "Mạng lưới ngân hà". Ý tưởng này bao gồm hầu hết tất cả những gì là Internet hiện nay.
Vào tháng 10 năm 1962, Licklider được đề bạt là chủ nhiệm chương trình "Khoa học hành vi, mệnh lệnh và điều khiển" tại ARPA của bộ quốc phòng Mỹ (tên gọi lúc đó). Ông thuyết phục Ivan Sutherland và Bob Taylor rằng đây là một ý tưởng quan trọng, mặc dù ông đã rời ARPA trước khi những công việc thi hành ảo mộng của ông được thực hiện.
ARPA và Taylor tiếp tục quan tâm đến việc kiến tạo một mạng lưới truyền thông vi tính, một phần vì muốn cho phép những nhà nghiên cứu mà ARPA tài trợ, trên nhiều địa điểm khác nhau, tiếp tục được dùng các máy tính mà ARPA cung cấp, phần khác nhanh chóng sản xuất các phần mềm, cùng những kết quả nghiên cứu, được công bố và sử dụng rộng rãi. Taylor có ba thiết bị cuối (terminals) trong văn phòng của mình, kết nối với ba máy vi tính khác nhau do DARPA tài trợ: một cái dành cho SDC (System Development Corporation| - tạm dịch là Công ty xây dựng hệ thống) Q-32 tại Santa Monica, một cái dành cho Project Genie (tạm dịch là "Đề án thần đồng") tại Trường đại học California (University of California, Berkeley) và một cái dành cho Multics tại MIT (Massachusetts Institute of Technology - tạm dịch là "Học viện khoa học và kỹ thuật Massachusetts"). Taylor sau này nhớ lại:
"Với mỗi một thiết bị đầu cuối, tôi có một bộ lệnh người dùng riêng. Nếu tôi đang nói chuyện với một người ở S.D.C trên mạng, mà tôi muốn nói chuyện với một người mà tôi biết ở M.I.T về cuộc hội thoại tôi đang có, tôi phải đứng dậy, rời khỏi thiết bị cuối với người ở S.D.C, sang bên thiết bị đầu cuối kia, nối máy để liên lạc với họ.
Tôi nói, "thật là phiền hà!", hiển nhiên là chúng ta biết nên phải làm gì. Trong khi anh có ba thiết bị cuối, đáng ra, anh chỉ cần có một thiết bị cuối, mắc nối với bất cứ nơi nào mà anh muốn, nơi anh có thể tương tác dùng máy tính, mà thôi. Ý tưởng đấy chính là mạng ARPAnet." [1].
Hầu như trong cùng một thời điểm, một số người đã (tự bản thân) tìm ra những khía cạnh khác nhau của cái mà về sau này được gọi là "chuyển mạch gói"; Những người làm nên ARPANET sau này, đã tổng hợp ý kiến từ những nguồn sáng tạo khác nhau trên đây, mà thiết kế nên mạng lưới của mình.

Nguồn gốc của ARPANET
Cuối năm 1966, Taylor mời Larry Roberts từ MIT, đang làm việc tại Phòng thí nghiệm Linh-côn (Lincoln Laboratory), đến ARMA làm chủ nhiệm đề án kiến tạo một mạng lưới truyền thông. Roberts đã từng trải và có ít nhiều kinh nghiệm trong vấn đề này: hai năm trước đó, đầu năm 1965, trong khi đang làm việc tại MIT ở Phòng thí nghiệm Linh-côn, ông đã kết nối TX-2 với Q-32 của Công ty xây dựng hệ thống (System Development Corporation), dùng đường dây điện thoại, chỉ đạo một số những thí nghiệm đầu tiên về việc kết nối truyền thông hai máy vi tính theo phương pháp trên. Ý tưởng đầu tiên của Roberts về mạng lưới của ARPA là kết nối các máy tính phân hưởng thời gian (time-sharing) trực tiếp vào với nhau, dùng đường dây điện thoại.
Tại một cuộc họp ở Trường đại học Michigan (University of Michigan), thuộc Ann Arbor, Michigan, vào đầu năm 1967, nhiều người tham dự đã biểu lộ thái độ lạnh nhạt với ý kiến muốn họ gánh vác trách nhiệm quản lý đường dây kết nối trực tiếp vào máy vi tính của họ. Một trong những người tham dự, Wesley Clark nảy ra sáng kiến dùng một số máy vi tính nhỏ biệt lập, quản lý các mạch truyền thông; những máy vi tính nhỏ này sẽ được gắn vào một máy vi tính phân hưởng thời gian lớn mainframe, là những máy chủ yếu được gắn vào mạng ARPANET. Khái niệm này cho phép đại bộ phận những công việc tỉ mỉ điều hành mạng lưới được loại bỏ khỏi các máy mainframe; việc này đồng thời còn có nghĩa là những thất thường trong thực thi của mỗi cá nhân máy chủ, không gây ảnh hưởng đến hoạt động đúng đắn trên tổng thể của mạng lưới, và DARPA hoàn toàn làm chủ mạng lưới của chính mình.
Kế hoạch ban đầu của ARPANET bắt nguồn từ nền tảng căn bản trên, với một số nhóm nghiên cứu (working group) làm việc trên một khía cạnh kỹ thuật cụ thể, và họ thường nhóm họp trong thời gian cuối mùa xuân và mùa hè năm 1967.
Roberts lúc đó tiến hành viết bản "Kế hoạch dành cho ARPANET" ("a plan for the ARPANET") và đệ trình nó tại hội nghị chuyên đề ở Gatlinburg, Tennessee hồi tháng 10 năm 1967. Đồng thời Roger Scantlebury, làm việc với nhóm Donald Davies tại NPL, cũng đệ trình trong hội nghị lúc đó. (Roberts trước đó đã từng chạm trán với Davies trong một hội nghị ở Anh Quốc, về phân hưởng thời gian (time-sharing), hồi tháng 11 năm 1965.) Ông (Roger) bàn luật về ý tưởng chuyển mạch gói của Davies với Roberts, và giới thiệu với Roberts các tìm tòi của Paul Baran.
Ảnh hưởng của tất cả những sự kiện trên vẫn chưa được tỏ tường, và có một vài điểm đáng tranh cãi; các bản ghi nhớ của những người tham gia trong tiến trình để lại những thông tin đối lập, lắm lúc chúng còn đối lập với chính những thông tin họ viết trước đó. Ý kiến chung của các nhà lịch sử cho rằng cả bốn người (Baran, Kleinrock, Davies và Roberts) đều có những đóng góp một cách đáng kể:
  • Davies là công cụ truyền đạt hiểu biết về chuyển mạch gói, mà ông và Baran đã sáng tạo, cho Lawrence Roberts 1
  • Ý tưởng về mạng lưới truyền thông của Roberts đã bị thay đổi trong cuộc bàn luận với Scantlebury. .. Theo sự diễn tả của ông sau này, sau cuộc họp ở Gatlinburg và trở về Hoa-Thịnh-Đốn, bản báo cáo của Baran đã gây ảnh hưởng đến [Roberts]2
  • Kleinrock là người, mà người ta cho rằng, gây ảnh hưởng tới những suy nghĩ trước đây của Roberts, về mạng lưới truyền thông vi tính. ... Sự am hiểu về truyền thông dữ liệu của Baran đã làm cho [Roberts] phải suy nghĩ. ... Văn bản mà Scantlebury đệ trình tại Gatlinburg, thay mặt cho cống hiến của Anh Quốc, quả nhiên cũng có gây ảnh hưởng ít nhiều. 3

Sự nảy sinh của ARPANET
Vào mùa hè năm 1968, một kế hoạch kỹ lưỡng đã hoàn thành, và sau khi được ARPA chấp thuận, một bản Phác thảo về đề xuất nhận thầu (Request For Quotation - viết tắt là RFQ) đã được gửi đến 140 nhà thầu khoán, là những người có khả năng tham gia đấu giá. Đa số các nhà thầu khoán cho rằng bản đề xuất thầu khoán này là một bản kỳ dị, ngoài sức tưởng tượng. Chỉ có 12 công ty gửi giá đấu lên, trong đó, 4 giá đấu được coi là khả quan. Đến cuối năm, số chủ thầu khoán được thanh lọc xuống chỉ còn hai, và sau nhiều cuộc đàm phán, cuối cùng vào ngày mùng 7 tháng 4 năm 1969, người ta đã chọn BBN là người đứng chủ thầu.
Đề xuất của BBN theo rất sát dự án của Roberts. Bản đề xuất kiến nghị một mạng lưới các máy vi tính nhỏ, được gọi là Bộ xử lý thông điệp giao diện (Interface Message Processor) (thường được gọi là IMP). Các máy IMP, tại mỗi cơ sở, thực hiện chức năng "lưu trữ và tiếp tới" chuyển mạch gói. Chúng được liên kết với nhau bằng các bộ điều giải modem. Các bộ điều giải này được nối vào các đường dây thuê bao (với tốc độ ban đầu là 50 kbit/giây). Các máy chủ (host computers) được nối với các máy IMP thông qua một giao diện nối chuỗi bit (bit-serial interfaces) tùy biến, để kết nối với HEO.
Lúc đầu BBN chọn một phiên bản vững chắc máy vi tính DDP-516, của Honeywell, để tạo nên thế hệ máy IMP đầu tiên. Máy 516 nguyên chỉ được cài đặt với 24 Kilo byte dung lượng đơn vị bộ nhớ (nhưng có khả năng khuếch trương, tăng dung lượng bộ nhớ lên cao hơn), và 16 kênh đơn vị truy cập trực tiếp bộ nhớ điều khiển nén kênh trực tiếp (Direct Multiplex Control - viết tắt là DMC). Họ dùng các giao diện tùy biến để kết nối chúng với mỗi máy chủ và bộ điều giải (modem) dùng DMC. Ngoài những đèn hiệu đã có sẵn trên bảng đằng trước máy 516, người ta còn gắn thêm 24 đèn hiệu, trình báo hiện trạng của các kênh truyền thông trong máy IMP. Mỗi máy IMP có thể hỗ trợ được bốn máy chủ (hosts) và đồng thời có thể truyền thông với tới sáu máy IMP khác ở xa, thông qua các đường dây thuê bao.
Một đội (đầu tiên chỉ có bảy người) tại BBN, với sự giúp đỡ rất nhiều của những chi tiết trong cố gắng đưa ra giải pháp đối với đề xuất khoán thầu RFQ mà họ đã làm, đã nhanh chóng kiến tạo được những bộ máy làm việc đầu tiên. Toàn bộ hệ thống, bao gồm cả phần cứng và một phân mềm đầu tiên trên thế giới về chuyển mạch gói, đã được thiết kế và lắp ráp trong vòng chín tháng.

Sự triển khai đầu tiên của ARPANET
Tập tin:First-arpanet-imp-log.jpg
Tệp tin sổ ghi đầu tiên của một máy IMP trong mạng ARPANET - bản ghi lại một thông điệp đầu tiên được gửi qua mạng lưới ARPANET; thời gian của nó là 10:30 tối ngày 29 tháng 10 năm 1969. Bản ghi là một bản trích trong tệp tin sổ ghi của một máy IMP, được lưu trữ tại UCLA, diễn tả cách cài đặt một cuộc truyền tin thông điệp từ máy chủ "Sigma 7" của Scientific Data Systems, tại UCLA đến máy chủ "SDS 940" tại SRI.
Mạng ARPANET đầu tiên chỉ có bốn máy IMP. Những máy này được sắp đặt tại:
  • Trường đại học California (UCLA), nơi Leonard Kleinrock thành lập một Trung tâm đo lường mạng lưới truyền thông (Network Measurement Center) (với máy SDS Sigma 7 là máy tính đầu tiên được gắn vào tại đó).
  • Trung tâm nghiên cứu phát triển (Augmentation Research Center) tại Học viện nghiên cứu Stanford (Stanford Research Institute - viết tắt là SRI) nơi Douglas Engelbart hệ thống NLS nổi tiếng, một phiên bản quan trọng của hệ thống siêu văn bản (hypertext) trước đây (với máy tính SDS 940 điều hành NLS, được đặt tên là "Genie", là máy chủ đầu tiên được gắn vào).
  • Trường đại học California (University of California) tại Santa Barbara, với máy IBM 360/75 của Trung tâm toán học tương tác (Culler-Fried Interactive Mathematics Centre) gắn vào.
  • Chi nhánh đồ thị (Graphics Department) của Trường đại học Utah (University of Utah), nơi Ivan Sutherland đã chuyển đi (vì máy PDP-10, dùng hệ điều hành TENEX, của công ty DEC (Digital Equipment Corporation|)).
Kết nối đầu tiên với ARPANET được thực hiện vào ngày 29 tháng 10 năm 1969, giữa IMP tại UCLA và IMP tại SRI. Toàn bộ 4 nút của mạng lưới đã được kết nối vào ngày 5 tháng 12 năm 1969 [2].

Sự phát triển giao thức và phần mềm
Giao thức 1822 là giao thức dùng kết nối các máy chủ với nhau trong mạng ARPANET, cho phép chúng truyền thông qua lại, giữa máy nọ và máy kia. Đây là giao thức các máy chủ dùng, để gửi thông điệp sang các IMP của mạng ARPANET. Giao thức này được thiết kế hầu cho sự giao thông giữa các máy trở nên mạch lạc, không có sự nhập nhằng, và đồng thời ủng hộ nhiều cấu trúc máy khác nhau. Trên cơ bản mà nói, một thông điệp của giao thức 1822 sẽ bao gồm một định vị về thể loại của thông điệp đang gửi, một con số địa chỉ của máy chủ, và một trường dữ liệu. Để gửi một thông điệp sang một máy chủ khác, máy gửi thông điệp phải khuôn thức một thông điệp dữ liệu, ghép địa chỉ của máy chủ và dữ liệu mà nó cần gửi vào thông điệp, sau đó, truyền thông điệp qua giao diện phần cứng của giao thức 1822. Máy IMP quản lý việc đảm bảo một thông điệp được gửi tới đích, bằng cách truyền thông điệp sang một máy chủ, kết nối với mình tại cơ sở, hoặc truyền sang một máy IMP khác. Khi thông điệp đã được phân phát đến đích, máy IMP gửi một thông điệp chứng nhận (còn được gọi là sẵn sàng nhận thông điệp mới - tiếng Anh là "Ready for Next Message", viết tắt là RFNM ).
Khác với gram dữ liệu (datagrams) trong Internet hiện đại, ARPANET được thiết kế để truyền thông điệp 1822 một cách đáng tin cậy, và trong trường hợp xấu nhất, nó có thể báo cho một máy chủ biết, nếu một thông điệp đã bị thất lạc. Tuy vậy, giao thức 1822 đã không chứng minh được tính thích hợp của nó, đối với việc cân nhắc và xử lý nhiều tổ hợp kết nối, giữa nhiều chương trình ứng dụng khác nhau, trên cùng một máy chủ. Vấn đề này đã được giải quyết trong giao thức Chương trình ứng dụng xử lý mạng lưới truyền thông (Network Control Program - viết tắt là NCP). NCP cung cấp phương tiện tiêu chuẩn để thiết lập một kết nối truyền thông đảm bảo, có khả năng khống chế điều khiển luồng dữ liệu, truyền thông dữ liệu hai chiều, giữa các quy trình xử lý khác nhau, trên những máy chủ khác nhau. Giao thức NCP cho phép chương trình ứng dụng phần mềm kết nối liên thông với nhau trên mạng ARPANET, thực thi những giao thức truyền thông ở tầng cấp cao hơn. Đây chính là một ví dụ điển hình của "giao thức tầng cấp" mà sau này được áp dụng vào mô hình OSI.
Vào năm 1983, giao thức TCP/IP thay thế NCP, trở thành giao thức chủ yếu của mạng ARPANET, và ARPANET trở nên một phần của Internet mới ra đời.

Các chương trình ứng dụng
Năm 1971, Ray Tomlinson, lúc đó đang làm việc tại BBN, đã gửi một bức thư điện tử (email) đầu tiên [3]. Đến năm 1973, bản qui định giao thức truyền tập tin đã được hoàn thành và thực thi, cho phép việc truyền tập tin qua ARPANET xảy ra. Tại thời điểm này, 75% lượng giao thông trên mạng ARPANET là giao thông của thư điện tử.
Qui định về giao thức truyền âm thanh trên mạng (Network Voice Protocol) cũng đã được hoàn thành (RFC 741), và sau đó đã được thực thi, song những cuộc gọi hội thảo (conference calls) trên mạng ARPANET không cho kết quả mĩ mãn, vì những lý do về kỹ thuật. Phải mất mấy chục năm sau việc truyền âm thanh dùng giao thức IP (Voice over Internet Protocol - viết tắt là VoIP) mới thực hiện được.
Một ứng dụng điển hình của mạng truyền thông này đối với quân sự, trong cuộc "Chiến tranh lạnh", là khả năng cho phép các chi nhánh của chính phủ, tiếp tục giữ liên lạc và kết nối với nhau, trong hoàn cảnh bị tấn công bằng hạt nhân nguyên tử từ phía Liên bang Xô Viết, là lúc toàn bộ mạng lưới truyền thông trực tiếp bị phá hủy hoàn toàn. Đây là một thế lợi lớn trong trường hợp tại họa về hạt nhân nguyên tử xảy ra, đặc biệt là khả năng cho phép lực lượng quân đội tiếp tục phối hợp để tấn công hoặc tự vệ.

Sự phát triển của mạng lưới
Tháng 3 năm 1970, ARPANET đã lan đến bờ biển phía Đông Hoa Kỳ, và một máy IMP của chính công ty BBN cũng được lắp nối vào mạng lưới này. Từ đó trở đi, mạng lưới lan rộng nhanh chóng: tại thời điểm tháng 6 năm 1970, mạng lưới đã có đến 9 IMP, rồi nhân lên thành 13 máy vào tháng 12, 18 máy vào tháng 9 năm 1971 (lúc này đã có đến 23 máy chủ được kết nối vào mạng lưới ARPANET. Các máy này được đặt tại các trường đại học và trung tâm nghiên cứu của chính phủ), 29 máy IMP vào hồi tháng 8 năm 1972, và 40 máy vào tháng 9 năm 1973.
Lúc đó, hai liên kết nối với vệ tinh nhân tạo đã được cộng thêm vào mạng lưới, một cái ngang qua biển Thái Bình dương đến Hawaii, và một cái ngang qua Đại Tây dương đến Na Uy (Norwegian Seismic Array). Từ Na Uy, một mạng lưới trên mặt đất đã cho phép một máy IMP ở Luân Đôn được gắn vào mạng lưới đang trên đà phát triển.
Đến tháng 6 năm 1974, mạng lưới đã có 46 máy IMP tất cả, và tăng lên 57 IMP vào tháng 7 năm 1975. Vào năm 1981, số lượng các máy chủ trong mạng lưới đã tăng lên đến 213, cứ sau khoảng chừng 20 ngày là có một máy mới được thêm vào mạng lưới.
Sau khi ARPANET đã khởi công và hoạt động được vài năm, ARPA lùng tìm một cơ quan hòng giao phó việc điều hành mạng lưới cho họ. Nhiệm vụ chính của ARPA là cung cấp hỗ trợ tài chính cho những nghiên cứu tân tiến nhất, và phát triển mở mang, chứ không phải là điều hành một phương tiện truyền thông. Cuối cùng, vào tháng 7 năm 1975, mạng lưới đã được trao cho Cơ quan truyền thông quân đội (Defense Communications Agency), một bộ phận của Bộ Quốc Phòng Mỹ.
Vào năm 1984, bộ phận mạng lưới ARPANet của quân đội Mỹ đã được phân tách ra thành một mạng lưới riêng, gọi là MILNET.

Những phát triển của phần cứng sau này
Năm 1970, các mạch điện nối các máy IMP đã được cải tiến, nâng tốc độ truyền thông cao nhất lên đến 230.4 kbit/giây, song do những cân nhắc giữa giá thành và sức điều hành của các máy IMP, những khả năng mới này hầu như chẳng bao giờ được dùng đến.
Năm 1971 được chứng kiến việc sử dụng những máy H-316, kém sức chịu đựng hơn và do vậy nhẹ hơn rất nhiều, làm các máy IMP. Những máy này còn có thể được cài đặt như một thiết bị đầu cuối IMP (Terminal IMP, viết tắt là TIP), và mỗi máy có thể hỗ trợ nhiều nhất là 63 thiết bị cuối nối tiếp dùng hệ mã ASCII (ASCII serial terminals), thông qua bộ điều khiển đa tuyến (multi-line controller), thay thế cho một máy chủ. Máy 316 có khả năng hoà hợp cao hơn so với máy 516, và vì vậy việc duy trì sự hoạt động của máy đỡ tốn kém hơn, dễ dàng hơn. Vào thời điểm năm 1973, các máy 316 được dùng làm TIP, mỗi máy được cài đặt 40 Kbyte dung lượng bộ nhớ. Dung lượng này có thể được tăng lên đến 32KByte, nếu máy là một IMP, và 56KByte nếu máy là một TIP.
Trong năm 1975, những máy IMP làm bằng Honeywell (DDP-516) cuối cùng được thay thế bằng những máy Pluribus đa xử lý (multi-processor) của BBN. Những máy ấy cuối cùng cũng bị thay thế bới các máy C/30, là những máy được ưa chuộng hơn, do BBN kiến tạo.
Sau sự xuất hiện của NSFNet, những máy IMP và TIP dần dần bị rút lui trong khi ARPANET bắt đầu ngưng hoạt động. Đến cuối năm 1989, một số những máy IMP trước đây, vẫn còn được giữ lại và phục vụ.

Mạng lưới ARPANET và những tấn công hạt nhân nguyên tử
Có một lời đồn, nửa hư nửa thực, được lan truyền về mạng lưới ARPANET, rằng mạng lưới này được thiết kế để phòng chống các cuộc tấn công hạt nhân nguyên tử. Hiệp hội Internet đã có một bài viết về sự hội nhập các sáng kiến trong kỹ thuật, để tạo nên mạng lưới ARPANET, nhan đề: Lược tả lịch sử của Internet (A Brief History of the Internet), trong đó có câu:
Thông qua một nghiên cứu của Research AND Development (RAND), một lời đồn giả dối đã được truyền tụng, rằng ARPANET, ở một mức độ nào đấy, được xây dựng như một mạng lưới có sức chịu đựng cuộc chiến tranh vũ khí hạt nhân. Đối với ARPANET, đây là một lời truyền tụng hoàn toàn sai sự thật. Tuy trong nội dung những bản thiết kế sau này về Internet, những người thiết kế có nhấn mạnh đến tính bền bỉ, khả năng sống còn, bao gồm cả khả năng chịu đựng được những mất mát lớn trong cấu trúc của mạng lưới, nhưng chỉ có bản nghiên cứu của RAND về kỹ thuật truyền âm bảo an (secure voice) - hoàn toàn không có liên quan đến ARPANET - là cân nhắc đến chiến tranh hạt nhân mà thôi.
Huyền thoại về việc ARPANET được xây dựng, để có thể chịu đựng nổi những cuộc tấn công hạt nhân nguyên tử, vẫn còn ghi một dấu ấn mạnh mẽ, và hình như còn là một ý tưởmg lôi cuốn - đương nhiên còn là một câu chuyện "hấp dẫn" nữa - đến độ mọi người từ chối việc tin nó là một câu chuyện hoang đường. Dù có thế nào đi chăng nữa, lời đồn ấy là một lời đồn không có sự thật, trừ phi ai đó cho rằng bản nghiên cứu của RAND có những ý kiến ảnh hưởng trực tiếp đến việc xây dựng ARPANET. ARPANET được thiết kế nhằm mục đích chống đỡ những tổn thất trong mạng lưới truyền thông, song nguyên nhân chính lại thực ra là, các nút chuyển mạch và những đường dây liên kết mạng, không được đảm bảo cho lắm, ngay cả khi không có những cuộc tấn công hạt nhân nguyên tử.
Ông Charles Herzfeld, giám đốc của ARPA từ năm 1965 đến năm 1967, đã từng nói đến sự hữu hạn của các tài nguyên trong máy vi tính, và từ đó nảy sinh ra việc kiến tạo ARPANET.
Sự khởi công xây dựng mạng lưới ARPANET không phải là để xây dựng một hệ thống khống chế và mệnh lệnh có thể chịu đựng được những tấn công hạt nhân nguyên tử, như nhiều người lầm tưởng. Đương nhiên một hệ thống như vậy là một quan tâm lớn của quân đội, song nhiệm vụ của ARPA không phải là xây dựng một hệ thống như vậy. Thực tế cho thấy rằng chúng tôi sẽ bị khiển trách nghiêm trọng, nếu chúng tôi làm như vậy. ARPAnet được xây dựng trên nên tảng của sự trăn trở về số lượng hữu hạn những máy tính có năng lực cao trong nước, dùng trong việc nghiên cứu. Nhiều quan sát nghiên cứu viên đáng được phép truy cập vào những máy như vậy lại không thể làm được, vì sự ngăn cách về địa lý.

Chuyện vặt
Vào ngày 26 tháng 3 năm 1976 Nữ hoàng Elizabeth đệ nhị của Anh quốc gửi lá thư Hoàng gia đầu tiên từ Tổ chức ra-da và hiệu lệnh của Hoàng gia (Royal Signals and Radar Establishment).

Hồi tưởng
Sự hộ trợ và phong cách quản lý của ARPA là chủ chốt trong sự thành công của ARPANET. Bản "Báo cáo hoàn thành công trình ARPANET", được công bố dưới sự liên kết của BBN and ARPA, có viết như sau trong phần kết luận:
.. lời thích hợp để kết thúc bản báo cáo này là "chương trình ARPANET cho chúng ta những kinh nghiệm quí giá, cống hiến trực tiếp vào sự hỗ trợ và vững mạnh của khoa học điện toán, để từ đó mạng lưới truyền thông này có thể đâm chồi nảy lộc". 4

Tham chiếu trong phim ảnh và báo chí
  • Trong trò chơi điện tử Metal Gear Solid 3: Snake Eater, một nhân vật với cái tên là Sigint tham dự và việc xây dựng mạng lưới ARPANET sau những sự việc được diễn tả trong trò chơi.
  • Trong tiểu thuyết Doctor Who Past Doctor Adventures - Blue Box - sáng tác năm 2003 nhưng cốt truyện đặt trong thời điểm năm 1981, có một nhân vật tiên đoán rằng, đến năm 2000 sẽ có bốn trăm máy được gắn vào mạng ARPANET.

Mạng này từ thời sơ khai trước internet các bạn nhé.

Mạng LAN

LAN (viết tắt từ tên tiếng Anh Local Area Network, "mạng máy tính cục bộ") là một hệ thống mạng dùng để kết nối các máy tính trong một phạm vi nhỏ (nhà ở, phòng làm việc, trường học, …). Các máy tính trong mạng LAN có thể chia sẻ tài nguyên với nhau, mà điển hình là chia sẻ tập tin, máy in, máy quét và một số thiết bị khác.
Một mạng LAN tối thiểu cần có máy chủ (server), các thiết bị ghép nối (Repeater, Hub, Switch, Bridge), máy tính con (client), card mạng (Network Interface Card – NIC) và dây cáp (cable) để kết nối các máy tính lại với nhau. Trong thời đại của hệ điều hành MS-DOS, máy chủ mạng LAN thường sử dụng phần mềm Novell NetWare, tuy nhiên điều này đã trở nên lỗi thời hơn sau khi Windows NT và Windows for Workgroups xuất hiện. Ngày nay hầu hết máy chủ sử dụng hệ điều hành Windows, và tốc độ mạng LAN có thể lên đến 10 Mbps, 100 Mbps hay thậm chí là 1 Gbps.
Một hình thức khác của LAN là WAN (Wide Area Network). Có nghĩa là mạng diện rộng. Dùng để nối các LAN lại với nhau (thông qua router).
Một hình thức khác nữa của mạng LAN, mới xuất hiện trong những năm gần đây là WLAN (Wireless LAN) – mạng LAN không dây.

Lịch sử

Vào thời gian trước khi những máy tính cá nhân xuất hiện, một máy tính trung tâm chiếm trọn 1 căn phòng, người dùng truy nhập những thiết bị đầu cuối máy thông qua cáp truyền dữ liệu tốc độ thấp. Những Mạng SNA của IBM (cấu trúc mạng hệ thống) được tập trung vào những thiết bị đầu cuối liên kết hay những máy tính lớn khác tại những chỗ từ xa qua những đường dây cáp thuê bao. Từ đây nó là những mạng được kết nối trên diện rộng. Những mạng cục bộ LAN (Local Network Area) đầu tiên đã được tạo ra vào cuối những năm 1970 và thường tạo ra những mối liên kết cao tốc giữa vài máy tính trung tâm lớn tại một chỗ. Nhiều hệ thống cạnh tranh được tạo ra vào thời gian này Ethernet và ARCNET được biết đến nhiều nhất.
Sự phát triển vượt bậc của CP/M – Và sau đó những máy tính cá nhân chạy trên nền DOS có nghĩa rằng có hàng trăm máy tính đã có thể hoạt động đơn lẻ và độc lập với máy tính trung tâm. Sự hấp dẫn ban đầu của mạng máy tính là việc có thể chia sẻ ổ đĩa và những máy in laser, mà là cả hai thứ này rất đắt lúc đó. Có nhiều người hào hứng với khái niệm mới và trong vài năm, từ khoảng 1983 về phía trước, những học giả công nghiệp tin học đều đặn khai báo năm tới sẽ là năm của mạng LAN.
Trên thực tế, nhận định đó bị lung lay mạnh bởi sự tăng nhanh của các loại lớp vật lý khác nhau và những thủ tục thi hành mạng không tương thích, và sự bối rối về việc làm thế nào để chia sẻ tài nguyên tốt nhất. Điển hình, mỗi nhà cung cấp có một kiểu card mạng riêng của họ, dây cáp, giao thức kết nối, hệ điều hành mạng riêng của họ. Và một giải pháp quan trọng xuất hiện với cái tên NetWare Novell, giải pháp của họ hỗ trợ 40 kiểu card mạng khác nhau, và một hệ điều hành phức tạp hơn so với hầu hết các đối thủ của nó. Phần mềm mạng thống trị các máy tính cá nhân được nối với nhau (LAN) của các doanh nghiệp từ những năm đầu 1983 – khi nó được giới thiệu – cho đến giữa những năm 1990 khi Microsoft giới thiệu hệ điều hành mạng tân tiến Windows NT advanced server và Windows cho nhóm làm việc (Windows for working group).
Những đối thủ của phần mềm mạng, chỉ có Banyan Vines có những kỹ thuậy mạnh để cạnh tranh nhưng Banyan chẳng bao giờ có một vị thế an toàn. Microsoft và 3Com làm việc cùng nhau tạo ra một hệ điều hành mạng đơn giản, tiền thân 3+Share của 3Com và LAN Manager của Microsoft cũng như LAN Server của IBM. Không một ai trong số trên đặc biệt thành công.
Trong cùng thời gian với máy tính trạm lớn frame, những trạm làm việc UNIX từ những nhà cung cấp như Sun Microsystems, Hewlett-Packard, Silicon Graphics, Intergraph, NeXT và Apollo sử dụng giao thức TCP/IP. Dù phân đoạn đoạn thị trường cho trạm làm việc chạy trên UNIX đã và đang sụt giảm nhưng những công nghệ được phát triển bởi họ tiếp tục có ảnh hưởng trên Internet và trong cả hai Hệ điều hành Linux Mac OS X của Apple và giao thức TCP/IP gần như hoàn toàn thay thế IPX, AppleTalk, NetBEUI và những giao thức khác được dùng trong buổi đầu mạng LAN được sinh ra. Bài này còn sơ khai.

Miêu tả kỹ thuật

Mặc dầu ngày nay mạng Ethernet chuyển đổi là giao thức thông dụng nhất dùng trong tầng liên kết dữ liệu và IP là giao thức thông dụng nhất trong tầng Network, rất nhiều sự lựa chọn khác nhau đã và đang được sử dụng, và một vài trong số đó trở nên phổ biến trong những lĩnh vực thích hợp. Mạng LAN nhỏ hơn gồm có một hoặc vài liên kết chuyển mạch tới những mạng khác – thường với một liên kết tới một bộ định tuyến, modem cáp, hay DSL modem cho truy nhập Internet.
Những mạng LAN lớn hơn được mô tả bởi người dùng với những đường dẫn dư thừa và chuyển đổi sử dụng giao thức giải thuật cây để ngăn chặn vòng lặp, khả năng của chúng để điều khiển các loại giao thông khác nhau thông qua chất lượng dịch vụ (QoS), và cô lập giao thông qua VLANs. Mạng LAN lớn hơn cũng bao gồm nhiều và đa dạng các thiết bị như bộ chuyển đổi, tường lửa, bộ định tuyến, bộ cân bằng tải, cảm biến và hơn thế nữa.
LAN có thể có liên kết với những mạng cục bộ khác thông qua đường thuê bao, dịch vụ thuê bao, hoặc bằng “đường hầm” thông qua mạng Internet sử dụng công nghệ VPN. Tùy thuộc vào cách tạo ra và bảo đảm các liên kết, và độ rộng địa lý của mạng, hệ các mạng LAN này có thể trở thành Mạng liên kết chủ (MAN) hoặc Mạng liên kết diện rộng (WAN), hoặc một phần của Mạng toàn cầu.

Các thiết bị cần thiết

[sửa] Máy chủ (Server)

– Là một máy tính có CPU tốc độ cao, RAM và ổ đĩa lớn, thường liên kết với các thiết bị ngoại vi khác như máy in (printer, máy quét (scanner), …).

Máy trạm (Workstation)

Máy trạm đôi khi còn gọi là máy khách (client). Các máy khách kết nối với máy chủ và có thể liên lạc với nhau thông qua máy chủ.


Nói chung mạng LAN là mạng nội bộ một tổ chức hay một gia đình, thậm chí 2 thiết bị nối vào nhau cũng thành mạng LAN.
Không giống internet chúng ta phải thuê đường truyền và tùy tiền thuê mà tốc độ sẽ khác nhau nhưng thường là thấp hơn so với mạng LAN rất nhiều, mạng LAN thì do nội bộ nên chỉ phụ thuộc vào chi phí phần cứng, phần mềm chúng ta tự đầu tư mà sẽ có tốc độ rất khác nhau, trong máy tính thì hiện giờ lan 10 Mbps là rất hiếm rồi, phổ biến bây giờ là 100 Mbps (so với đường truyền internet hiện đang thuê là 4 Mbps mà hiếm khi đạt max), cao cấp hơn là 1 Gbps, và hiện đã có loại 10 Gbps.
Dây mạng lan rất rẻ và dễ mua, ở nhà mình toàn ứng dụng để chuyển dữ liệu, chuyển phim giữa các máy với dung lượng lớn, với cái ti vi 40D5000 (samsung led 40 inch) có tính năng share dữ liệu qua mạng LAN (all share), mình toàn down phim để trong laptop ở phòng trên, bố mẹ ở tầng dưới bật tivi vẫn xem được các phim đó.

Giao thức là gì ?

Truyền thông giữa các máy tính yêu cầu các quy tắc riêng.
Một giao thức là một tập hợp các quy tắc xác định phương thức các đối tượng truyền thông tương tác với nhau.
Có rất nhiều giao thức liên quan đến truyền tải thông tin giữa các máy tính, thiết bị :
  • Internet Protocol (IP)
  • Transmission Control Protocol (TCP) : giao thức này thực tế thấy dùng trong việc up file lên host (làm web) hoặc chia sẻ file trong mạng nội bộ (tuy nhiên dùng window để đơn giản thì chúng ta hay tạo shared folder để truyền dữ liệu - giao thức smb)
  • HyperText Transfer Protocol (HTTP): HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng.
  • Simple Mail Transfer Protocol (SMTP) : giao thức để gửi mail
  • ...

Mã Hamming

Trong viễn thông (telecommunication), mã Hamming là một mã sửa lỗi tuyến tính (linear error-correcting code), được đặt tên theo tên của người phát minh ra nó, Richard Hamming. Mã Hamming có thể phát hiện một bit hoặc hai bit bị lỗi (single and double-bit errors). Mã Hamming còn có thể sửa các lỗi do một bit bị sai gây ra. Ngược lại với mã của ông, mã chẵn lẻ (parity code) đơn giản vừa không có khả năng phát hiện các lỗi khi 2 bit cùng một lúc bị hoán vị (0 thành 1 và ngược lại), vừa không thể giúp để sửa được các lỗi mà nó phát hiện thấy. 

Lịch sử
Trong những năm của thập niên kỷ 1940, Hamming làm việc tại Bell Labs trên máy tính Bell Model V, một máy điện cơ (electromechanical) dùng rơ-le (relay-based), với tốc độ rất chậm, mấy giây đồng hồ một chu kỳ máy. Nhập liệu được cho vào máy bằng những cái thẻ đục lỗ (punch cards), và hầu như máy luôn luôn gây lỗi trong khi đọc. Trong những ngày làm việc trong tuần, những mã đặc biệt được dùng để tìm ra lỗi và mỗi khi tìm được, nó nhấp nháy đèn báo hiệu, báo cho người điều khiển biết để họ sửa, điều chỉnh máy lại. Trong thời gian ngoài giờ làm việc hoặc trong những ngày cuối tuần, khi người điều khiển máy không có mặt, mỗi khi có lỗi xảy ra, máy tính tự động bỏ qua chương trình đương chạy và chuyển sang công việc khác.
Hamming thường làm việc trong những ngày cuối tuần và ông càng ngày càng trở nên bực tức mỗi khi ông phải khởi động lại các chương trình ứng dụng từ đầu, do chất lượng kém, không đáng tin cậy (unreliability) của bộ máy đọc các thẻ đục lỗ. Mấy năm tiếp theo đó, ông dồn tâm lực vào việc xây dựng hằng loạt các thuật toán có hiệu quả cao để giải quyết vấn đề sửa lỗi. Năm 1950, ông đã công bố một phương pháp mà hiện nay được biết là Mã Hamming. Một số chương trình ứng dụng hiện thời vẫn còn sử dụng mã này của ông. 

Các mã trước thời kỳ của Hamming
Nhiều mã phát hiện lỗi đơn giản đã được sử dụng trước khi có mã Hamming, nhưng không có mã nào hiệu quả bằng mã Hamming với một tổng phí tương đương. 

Mã chẵn lẻ
Mã chẵn lẻ thêm một bit vào trong dữ liệu, và bit cho thêm này cho biết số lượng bit có giá trị 1 của đoạn dữ liệu nằm trước là một số chẵn hay một số lẻ. Nếu một bit bị thay đổi trong quá trình truyền dữ liệu, giá trị chẵn lẻ trong thông điệp sẽ thay đổi và do đó có thể phát hiện được lỗi (Chú ý rằng bit bị thay đổi có thể lại chính là bit kiểm tra). Theo quy ước chung, bit kiểm tra có giá trị bằng 1 nếu số lượng bit có giá trị 1 trong dữ liệu là một số lẻ, và giá trị của bit kiểm tra bằng 0 nếu số lượng bit có giá trị 1 trong dữ liệu là một số chẵn. Nói cách khác, nếu đoạn dữ liệu và bit kiểm tra được gộp lại cùng với nhau, số lượng bit có giá trị bằng 1 luôn luôn là một số chẵn.
Việc kiểm tra dùng mã chẵn lẻ là một việc không được chắc chắn cho lắm, vì nếu số bit bị thay đổi là một số chẵn (2, 4, 6 - cả hai, bốn hoặc sáu bit đều bị hoán vị) thì mã này không phát hiện được lỗi. Hơn nữa, mã chẵn lẻ không biết được bit nào là bit bị lỗi, kể cả khi nó phát hiện là có lỗi xảy ra. Toàn bộ dữ liệu đã nhận được phải bỏ đi, và phải truyền lại từ đầu. Trên một kênh truyền bị nhiễu, việc truyền nhận thành công có thể mất rất nhiều thời gian, nhiều khi còn không truyền được nữa. Mặc dù việc kiểm tra bằng mã chẵn lẻ không được tốt cho lắm, song vì nó chỉ dùng 1 bit để kiểm tra cho nên nó có số tổng phí (overhead) thấp nhất, đồng thời, nó cho phép phục hồi bit bị thất lạc nếu người ta biết được vị trí của bit bị thất lạc nằm ở đâu. 

Mã hai-trong-năm
Trong những năm của thập niên kỷ 1940, Bell có sử dụng một mã hiệu phức tạp hơn một chút, gọi là mã hai-trong-năm (two-out-of-five code). Mã này đảm bảo mỗi một khối 5 bit (còn được gọi là khối-5) có chính xác hai bit có giá trị bằng 1. Máy tính có thể nhận ra là dữ liệu nhập vào có lỗi nếu trong một khối 5 bit không 2 bit có giá trị bằng 1. Tuy thế, mã hai-trong-năm cũng chỉ có thể phát hiện được một đơn vị bit mà thôi; nếu trong cùng một khối, một bit bị lộn ngược thành giá trị 1, và một bit khác bị lộn ngược thành giá trị 0, quy luật hai-trong-năm vẫn cho một giá trị đúng (remained true), và do đó nó không phát hiện là có lỗi xảy ra. 

Tái diễn dữ liệu
Một mã nữa được dùng trong thời gian này là mã hoạt động bằng cách nhắc đi nhắc lại bit dữ liệu vài lần (tái diễn bit được truyền) để đảm bảo bit dữ liệu được truyền, truyền đến nơi nhận trọn vẹn. Chẳng hạn, nếu bit dữ liệu cần được truyền có giá trị bằng 1, một mã tái diễn n=3 sẽ cho truyền gửi giá trị "111". Nếu ba bit nhận được không giống nhau, thì hiện trạng này báo cho ta biết rằng, lỗi trong truyền thông đã xảy ra. Nếu kênh truyền không bị nhiễu, tương đối đảm bảo, thì với hầu hết các lần truyền, trong nhóm ba bit được gửi, chỉ có một bit là bị thay đổi. Do đó các nhóm 001, 010, và 100 đều tương đương cho một bit có giá trị 0, và các nhóm 110, 101, và 011 đều tương đương cho một bit có giá trị 1 - lưu ý số lượng bit có giá trị 0 trong các nhóm được coi là có giá trị 0, là đa số so với tổng số bit trong nhóm, hay 2 trong 3 bit, tương đương như vậy, các nhóm được coi là giá trị 1 có số lượng bit bằng 1 nhiều hơn là các bit có giá trị 0 trong nhóm - chẳng khác gì việc các nhóm bit được đối xử như là "các phiếu bầu" cho bit dữ liệu gốc vậy. Một mã có khả năng tái dựng lại thông điệp gốc trong một môi trường nhiễu lỗi được gọi là mã "sửa lỗi" (error-correcting code).
Tuy nhiên, những mã này không thể sửa tất cả các lỗi một cách đúng đắn hoàn toàn. Chẳng hạn chúng ta có một ví dụ sau: nếu một kênh truyền đảo ngược hai bit và do đó máy nhận thu được giá trị "001", hệ thống máy sẽ phát hiện là có lỗi xảy ra, song lại kết luận rằng bit dữ liệu gốc là bit có giá trị bằng 0. Đây là một kết luận sai lầm. Nếu chúng ta tăng số lần các bit được nhắc lại lên 4 lần, chúng ta có thể phát hiện tất cả các trường hợp khi 2 bit bị lỗi, song chúng ta không thể sửa chữa chúng được (số phiếu bầu "hòa"); với số lần nhắc lại là 5 lần, chúng ta có thể sửa chữa tất cả các trường hợp 2 bit bị lỗi, song không thể phát hiện ra các trường hợp 3 bit bị lỗi.
Nói chung, mã tái diễn là một mã hết sức không hiệu quả, giảm công suất xuống 3 lần so với trường hợp đầu tiên trong ví dụ trên của chúng ta, và công suất làm việc giảm xuống một cách nhanh chóng nếu chúng ta tăng số lần các bit được nhắc lại với mục đích để sửa nhiều lỗi hơn. 

Mã Hamming

Mô hình của một mã 7-bit, bao gồm 4 bit dữ liệu (3,5,6,7) và 3 bit chẵn lẻ (1,2,4). Sự liên quan của các bit dữ liệu với bit chẵn lẻ được biểu hiện bằng các phần của hình tròn gối lên nhau. Bit thứ 1 kiểm tra bit thứ (3, 5, 7), trong khi bit 2 kiểm tra bit (3, 6, 7). Lưu ý, các vị trị (1,2,4 v.v.) thực ra là vị trí 20, 21, 22 v.v.

Các bit dữ liệu và bit chẵn lẻ trong mối quan hệ chồng gối với nhau. Các bit chẵn lẻ được tính dùng quy luật "số chẵn". Giá trị của nhóm dữ liệu là 1100110 - các bit chẵn lẻ được in đậm, và đọc từ phải sang trái.
Càng nhiều bit sửa lỗi thêm vào trong thông điệp, và các bit ấy được bố trí theo một cách là mỗi bỗ trí của nhóm các bit bị lỗi tạo nên một hình thái lỗi riêng biệt, thì chúng ta có thể xác định được những bit bị sai. Trong một thông điệp dài 7-bit, chúng ta có 7 khả năng một bit có thể bị lỗi, như vậy, chỉ cần 3 bit kiểm tra (23 = 8) là chúng ta có thể, không những chỉ xác định được là lỗi trong truyền thông có xảy ra hay không, mà còn có thể xác định được bit nào là bit bị lỗi.
Hamming nghiên cứu các kế hoạch mã hóa hiện có, bao gồm cả mã hai-trong-năm, rồi tổng quát hóa khái niệm của chúng. Khởi đầu, ông xây dựng một danh mục (nomenclature) để diễn tả hệ thống máy, bao gồm cả số lượng bit dùng cho dữ liệu và các bit sửa lỗi trong một khối. Chẳng hạn, bit chẵn lẻ phải thêm 1 bit vào trong mỗi từ dữ liệu (data word). Hamming diễn tả phương pháp này là mã (8,7). Nó có nghĩa là một từ dữ liệu có tổng số bit là 8 bit, trong đó chỉ có 7 bit là các bit của dữ liệu mà thôi. Theo phương pháp suy nghĩ này, mã tái diễn (nhắc lại) ở trên phải được gọi là mã (3,1). Tỷ lệ thông tin là tỷ lệ được tính bằng việc lấy con số thứ hai chia cho con số thứ nhất. Như vậy với mã tái diễn (3,1) ở trên, tỷ lệ thông tin của nó là \begin{matrix} \frac{1}{3} \end{matrix}.
Hamming còn phát hiện ra nan đề với việc đảo giá trị của hai hoặc hơn hai bit nữa, và miêu tả nó là "khoảng cách" (distance) (hiện nay nó được gọi là khoảng cách Hamming (Hamming distance) - theo cái tên của ông). Mã chẵn lẻ có khoảng cách bằng 2, vì nếu có 2 bit bị đảo ngược thì lỗi trong truyền thông trở nên vô hình, không phát hiện được. Mã tái diễn (3,1) có khoảng cách là 3, vì 3 bit, trong cùng một bộ ba, phải bị đổi ngược trước khi chúng ta được một từ mã khác. Mã tái diễn (4,1) (mỗi bit được nhắc lại 4 lần) có khoảng cách bằng 4, nên nếu 2 bit trong cùng một nhóm bị đảo ngược thì lỗi đảo ngược này sẽ đi thoát mà không bị phát hiện.
Cùng một lúc, Hamming quan tâm đến hai vấn đề; tăng khoảng cách và đồng thời tăng tỷ lệ thông tin lên, càng nhiều càng tốt. Trong những năm thuộc niên kỷ 1940, ông đã xây dựng môt số kế hoạch mã hóa. Những kế hoạch này đều dựa trên những mã hiện tồn tại song được nâng cấp và tiến bộ một cách sâu sắc. Bí quyết chìa khóa cho tất cả các hệ thống của ông là việc cho các bit chẵn lẻ gối lên nhau (overlap), sao cho chúng có khả năng tự kiểm tra lẫn nhau trong khi cùng kiểm tra được dữ liệu nữa.
Thuật toán cho việc sử dụng bit chẵn lẻ trong 'mã Hamming' thông thường cũng tương đối đơn giản:
  1. Tất cả các bit ở vị trí là các số mũ của 2 (powers of two) được dùng làm bit chẵn lẻ. (các vị trí như 1, 2, 4, 8, 16, 32, 64 v.v. hay nói cách khác 20, 21, 22, 23, 24, 25, 26 v.v.)
  2. Tất cả các vị trí bit khác được dùng cho dữ liệu sẽ được mã hóa. (các vị trí 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)
  3. Mỗi bit chẵn lẻ tính giá trị chẵn lẻ cho một số bit trong từ mã (code word). Vị trí của bit chẵn lẻ quyết định chuỗi các bit mà nó luân phiên kiểm tra và bỏ qua (skips).
    • Vị trí 1 (n=1): bỏ qua 0 bit(n-1), kiểm 1 bit(n), bỏ qua 1 bit(n), kiểm 1 bit(n), bỏ qua 1 bit(n), v.v.
    • Vị trí 2(n=2): bỏ qua 1 bit(n-1), kiểm 2 bit(n), bỏ qua 2 bit(n), kiểm 2 bit(n), bỏ qua 2 bit(n), v.v.
    • Vị trí 4(n=4): bỏ qua 3 bit(n-1), kiểm 4 bit(n), bỏ qua 4 bit(n), kiểm 4 bit(n), bỏ qua 4 bit(n), v.v.
    • Vị trí 8(n=8): bỏ qua 7 bit(n-1), kiểm 8 bit(n), bỏ qua 8 bit(n), kiểm 8 bit(n), bỏ qua 8 bit(n), v.v.
    • Vị trí 16(n=16): bỏ qua 15 bit(n-1), kiểm 16 bit(n), bỏ qua 16 bit(n), kiểm 16 bit(n), bỏ qua 16 bit(n), v.v.
    • Vị trí 32(n=32): bỏ qua 31 bit(n-1), kiểm 32 bit(n), bỏ qua 32 bit(n), kiểm 32 bit(n), bỏ qua 32 bit(n), v.v.
    • và tiếp tục như trên.
Nói cách khác, bit chẵn lẻ tại vị trí 2k kiểm các bit ở các bit ở vị trí t có giá trị logic của phép toán AND giữa k và t là khác 0.

Ví dụ dùng (11,7) mã Hamming
 Lấy ví dụ chúng ta có một từ dữ liệu dài 7 bit với giá trị là "0110101". Để chứng minh phương pháp các mã Hamming được tính toán và được sử dụng để kiểm tra lỗi, xin xem bảng liệt kê dưới đây. Chữ d (data) được dùng để biểu thị các bit dữ liệu và chữ p (parity) để biểu thị các bit chẵn lẻ (parity bits).
Đầu tiên, các bit của dữ liệu được đặt vào vị trí tương thích của chúng, sau đó các bit chẵn lẻ cho mỗi trường hợp được tính toán dùng quy luật bit chẵn lẻ số chẵn[1].
Cách tính các bit chẵn lẻ trong mã Hamming (từ trái sang phải)
Thứ tự bit 1 2 3 4 5 6 7 8 9 10 11
Vị trí bit chẵn lẻ và các bit dữ liệu p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Nhóm dữ liệu (không có bit chẵn lẻ):

0
1 1 0
1 0 1
p1 1
0
1
0
1
1
p2
0 0

1 0

0 1
p3


0 1 1 0



p4






0 1 0 1
Nhóm dữ liệu (với bit chẵn lẻ): 1 0 0 0 1 1 0 0 1 0 1
Nhóm dữ liệu mới (new data word) - bao gồm các bit chẵn lẻ - bây giờ là "10001100101". Nếu chúng ta thử cho rằng bit cuối cùng bị thoái hóa (gets corrupted) và bị lộn ngược từ 1 sang 0. Nhóm dữ liệu mới sẽ là "10001100100"; Dưới đây, chúng ta sẽ phân tích quy luật kiến tạo mã Hamming bằng cách cho bit chẵn lẻ giá trị 1 khi kết quả kiểm tra dùng quy luật số chẵn bị sai.
Kiểm tra các bit chẵn lẻ (bit bị đảo lộn có nền thẫm)
Thứ tự bit 1 2 3 4 5 6 7 8 9 10 11
Vị trí bit chẵn lẻ và các bit dữ liệu p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Kiểm chẵn lẻ Bit chẵn lẻ
Nhóm dữ liệu nhận được: 1 0 0 0 1 1 0 0 1 0 0 1
p1 1
0
1
0
1
0 Sai 1
p2
0 0

1 0

0 0 Sai 1
p3


0 1 1 0



Đúng 0
p4






0 1 0 0 Sai 1
Bước cuối cùng là định giá trị của các bit chẵn lẻ (nên nhớ bit nằm dưới cùng được viết về bên phải - viết ngược lại từ dưới lên trên). Giá trị số nguyên của các bit chẵn lẻ là 11(10), và như vậy có nghĩa là bit thứ 11 trong nhóm dữ liệu (data word) - bao gồm cả các bit chẵn lẻ - là bit có giá trị không đúng, và bit này cần phải đổi ngược lại.

p4 p3 p2 p1
Nhị phân 1 0 1 1
Thập phân 8
2 1 Σ = 11

Khi hai bit dữ liệu (3,7) có cùng bit chẵn lẻ kiểm tra tại vi trí 2k - ví dụ (1,2) - biến đổi giá trị (lỗi trong truyền thông) thì giá trị của bit chẵn lẻ vẫn đúng như giá trị gốc (0,1)
Việc đổi ngược giá trị của bit thứ 11 làm cho nhóm
10001100100
trở lại thành
10001100101.
Bằng việc bỏ đi phần mã Hamming, chúng ta lấy được phần dữ liệu gốc với giá trị là
0110101.
Lưu ý, các bit chẵn lẻ không kiểm tra được lẫn nhau, nếu chỉ một bit chẵn lẻ bị sai thôi, trong khi tất cả các bit khác là đúng, thì chỉ có bit chẵn lẻ nói đến là sai mà thôi và không phải là các bit nó kiểm tra (not any bit it checks).
Cuối cùng, giả sử có hai bit biến đổi, tại vị trí xy. Nếu xy có cùng một bit tại vị trí 2k trong đại diện nhị phân của chúng, thì bit chẵn lẻ tương ứng với vị trí đấy kiểm tra cả hai bit, và do đó sẽ giữ nguyên giá trị, không thay đổi. Song một số bit chẵn lẻ nào đấy nhất định phải bị thay đổi, vì xy, và do đó hai bit tương ứng nào đó có giá trị x và y khác nhau. Do vậy, mã Hamming phát hiện tất cả các lỗi do hai bit bị thay đổi — song nó không phân biệt được chúng với các lỗi do 1 bit bị thay đổi. 

Mã Hamming (7,4)

Hiện thời, khi nói đến mã Hamming chúng ta thực ra là muốn nói đến mã (7,4) mà Hamming công bố năm 1950. Với mỗi nhóm 4 bit dữ liệu, mã Hamming thêm 3 bit kiểm tra. Thuật toán (7,4) của Hamming có thể sửa chữa bất cứ một bit lỗi nào, và phát hiện tất cả lỗi của 1 bit, và các lỗi của 2 bit gây ra. Điều này có nghĩa là đối với tất cả các phương tiện truyền thông không có chùm lỗi đột phát (burst errors) xảy ra, mã (7,4) của Hamming rất có hiệu quả (trừ phi phương tiện truyền thông có độ nhiễu rất cao thì nó mới có thể gây cho 2 bit trong số 7 bit truyền bị đảo lộn). 

Ví dụ về cách dùng các ma trận thông qua GF(2) [2]
Nguyên lý của mã Hamming bắt nguồn từ việc khai triển và mở rộng quan điểm chẵn lẻ. Việc khai triển này bắt đầu bằng việc nhân các ma trận, được gọi là Ma trận Hamming (Hamming matrices), với nhau. Đối với mã Hamming (7,4), chúng ta sử dụng hai mã trận có liên quan gần gũi, và đặt tên cho chúng là:
H_e := \begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1 \\
0 & 1 & 1 & 1 \\
1 & 0 & 1 & 1 \\
1 & 1 & 0 & 1 \\
\end{pmatrix}

H_d := \begin{pmatrix}
0 & 0 & 0 & 1 & 1 & 1 & 1 \\
0 & 1 & 1 & 0 & 0 & 1 & 1 \\
1 & 0 & 1 & 0 & 1 & 0 & 1 \\
\end{pmatrix}
Các cột vectơ trong He là nên tảng hạch của Hd và phần trên của He (4 hàng đầu) là một ma trận đơn vị (identity matrix). Ma trận đơn vị cho phép vectơ dữ liệu đi qua trong khi làm tính nhân, và như vậy, các bit dữ liệu sẽ nằm ở 4 vị trí trên cùng (sau khi nhân). Sau khi phép nhân hoàn thành, khác với cách giải thích ở phần trước (các bit chẵn lẻ nằm ở vị trí 2k), trật tự của các bit trong từ mã (codewords) ở đây khác với cách bố trí đã nói (các bit dữ liệu nằm ở trên, các bit kiểm chẵn lẻ nằm ở dưới).
Chúng ta dùng một nhóm 4 bit dữ liệu (số 4 trong cái tên của mã là vì vậy) chủ chốt, và cộng thêm vào đó 3 bit dữ liệu thừa (vì 4+3=7 nên mới có số 7 trong cái tên của mã). Để truyền gửi dữ liệu, chúng ta hãy nhóm các bit dữ liệu mà mình muốn gửi thành một vectơ. Lấy ví dụ, nếu dữ liệu là "1011" thì vectơ của nó là:
\mathbf{p}=\begin{pmatrix} 1 \\ 0 \\ 1 \\ 1 \end{pmatrix}
Giả sử, chúng ta muốn truyền gửi dữ liệu trên. Chúng ta tìm tích của Hep, với các giá trị môđulô 2 [3]:
H_e\mathbf{p} = \begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1 \\
0 & 1 & 1 & 1 \\
1 & 0 & 1 & 1 \\
1 & 1 & 0 & 1 \\
\end{pmatrix}\begin{pmatrix} 1 \\ 0 \\ 1 \\ 1 \end{pmatrix}=
\begin{pmatrix} 1 \\ 0 \\ 1 \\ 1 \\ 0 \\ 1 \\ 0 \end{pmatrix}=\mathbf{r}
Máy thu sẽ nhân Hd với r, để kiểm tra xem có lỗi xảy ra hay không. Thi hành tính nhân này, máy thu được (một lần nữa, các giá trị đồng dư môđulô 2):
H_d\mathbf{r} = \begin{pmatrix}
0 & 0 & 0 & 1 & 1 & 1 & 1 \\
0 & 1 & 1 & 0 & 0 & 1 & 1 \\
1 & 0 & 1 & 0 & 1 & 0 & 1 \\
\end{pmatrix}\begin{pmatrix} 1 \\ 0 \\ 1 \\ 1 \\ 0 \\ 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}
Vì chúng ta được một vectơ toàn số không cho nên máy thu có thể kết luận là không có lỗi xảy ra
Sở dĩ một vectơ toàn số không có nghĩa là không có lỗi, bởi vì khi He được nhân với vectơ dữ liệu, một sự thay đổi trong nền tảng xảy ra đối với không gian bên trong vectơ (vector subspace), tức là hạch của Hd. Nếu không có vấn đề gì xảy ra trong khi truyền thông, r sẽ nằm nguyên trong hạch của Hd và phép nhân sẽ cho kết quả một vectơ toàn số không.
Trong một trường hợp khác, nếu chúng ta giả sử là lỗi một bit đã xảy ra. Trong toán học, chúng ta có thể viết:
\mathbf{r}+\mathbf{e}_i
môđulô 2, trong đó ei là vectơ đơn vị đứng thứ i (ith unit vector), có nghĩa là, một vectơ số 0 có một giá trị 1 trong vị trí i (tính từ 1 tính đi). Biểu thức trên nói cho chúng ta biết rằng có một bit bị lỗi tại vị trí i.
Nếu bây giờ chúng ta nhân Hd với cả hai vectơ này:
H_d(\mathbf{r}+\mathbf{e}_i) = H_d\mathbf{r} + H_d\mathbf{e}_i
r là dữ liệu thu nhận được không có lỗi, cho nên tích của Hdr bằng 0. Do đó
 H_d\mathbf{r} + H_d\mathbf{e}_i = \mathbf{0} + H_d\mathbf{e}_i = H_d\mathbf{e}_i
Vậy, tích của Hd với vectơ nền chuẩn tại cột thứ i (the ith standard basis vector) làm lộ ra cột ở trong Hd, vì thế mà chúng ta biết rằng lỗi đã xảy ra tại vị trí cột này trong Hd. Vì chúng ta đã kiến tạo Hd dưới một hình thức nhất định, cho nên chúng ta có thể hiểu giá trị của cột này như một số nhị phân - ví dụ, (1,0,1) là một cột trong Hd, tương đồng giá trị với cột thứ 5, do đó chúng ta biết lỗi xảy ra ở đâu và có thể sửa được nó.
Lấy ví dụ, giả sử chúng ta có:
\mathbf{s} = \mathbf{r}+\mathbf{e}_2 = \begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 0 \\ 1 \\ 0 \end{pmatrix}
Nếu thi hành phép nhân:
H_d\mathbf{s} = \begin{pmatrix}
0 & 0 & 0 & 1 & 1 & 1 & 1 \\
0 & 1 & 1 & 0 & 0 & 1 & 1 \\
1 & 0 & 1 & 0 & 1 & 0 & 1 \\
\end{pmatrix}\begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 0 \\ 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}
Tích của phép nhân cho chúng ta một kết quả tương đương với cột thứ 2 ("010" tương đương với giá trị 2 trong số thập phân), và do đó, chúng ta biết rằng lỗi đã xảy ra ở vị trí thứ 2 trong hàng dữ liệu, và vì vậy có thể sửa được lỗi.
Chúng ta có thể dễ dàng thấy rằng, việc sửa lỗi do 1 bit bị đảo lộn gây ra, dùng phương pháp trên là một việc thực hiện được. Bên cạnh đó, mã Hamming còn có thể phát hiện lỗi do 1 bit hoặc 2 bit bị đảo lộn gây ra, dùng tích của Hd khi tích này không cho một vectơ số không. Tuy thế, song mã Hamming không thể hoàn thành cả hai việc. 

Mã Hamming và bit chẵn lẻ bổ sung
Nếu chúng ta bổ sung thêm một bit vào mã Hamming, thì mã này có thể dùng để phát hiện những lỗi gây ra do 2 bit bị lỗi, và đồng thời nó không cản trở việc sửa các lỗi do một bit gây ra. [1] Nếu không bổ sung một bit vào thêm, thì mã này có thể phát hiện các lỗi do một bit, hai bit, ba bit gây ra, song nó sẽ cản trở việc sửa các lỗi do một bit bị đảo lộn. Bit bổ sung là bit được áp dụng cho tất cả các bit sau khi tất cả các bit kiểm của mã Hamming đã được thêm vào.
Khi sử dụng tính sửa lỗi của mã, nếu lỗi ở một bit chẵn lẻ bị phát hiện và mã Hamming báo hiệu là có lỗi xảy ra thì chúng ta có thể sửa lỗi này, song nếu chúng ta không phát hiện được lỗi trong bit chẵn lẻ, nhưng mã Hamming báo hiệu là có lỗi xảy ra, thì chúng ta có thể cho rằng lỗi này là do 2 bit bị đổi cùng một lúc. Tuy chúng ta phát hiện được nó, nhưng không thể sửa lỗi được. 

Ghi chú
  1. ^
    7 bit dữ liệu byte có bit chẵn lẻ
    Quy luật số chẵn Quy luật số lẻ
    0000000 00000000 00000001
    1010001 10100011 10100010
    1101001 11010010 11010011
    1111111 11111111 11111110
    Cách tính bit chẵn lẻ trong nhóm các bit dữ liệu, dùng quy luật số chẵn như sau: nếu số lượng bit có giá trị bằng 1 (the bit is set) là một số lẻ, thì bit chẵn lẻ bằng 1(2) (và do việc cộng thêm một bit có giá trị 1(2) này vào dữ liệu, tổng số bit có giá trị 1(2) sẽ là một số chẵn - bao gồm cả bit chẵn lẻ, còn không thì bit chẵn lẻ sẽ có giá trị 0(2). Ngược lại, bit chẵn lẻ dùng quy luật số lẻ sẽ có giá trị 1(2) nếu số lượng các bit có giá trị bằng 1(2) là một số chẵn - do việc thêm bit chẵn lẻ có giá trị bằng 1(2) vào nhóm dữ liểu, tổng số bit có giá trị 1(2) là một số lẻ - và bằng 0 nếu ngược lại.
  2. ^ GF (nguyên tiếng Anh: Galois field - hay gọi finite field), tạm dịch là "Trường Hữu Hạn". Xin xem thêm bài tiếng Anh Finite field.
  3. ^ môđulô (nguyên tiếng Anh: Modulo) là phép tính số dư trong tính chia. Ví dụ 100/3 = 1 (được 33 dư 1). Trong toán học, nếu có hai số nguyên a và b, cùng một số dư n nào đó, thì biểu thức ab (mod n) - nói là a và b có đồng dư môđunlô n - có nghĩa là a và b có cùng số dư khi được chia cho n, hay nói một cách tương tự, a-b là một bội số (multiple) của n. Xin xem thêm trong bài tiếng Anh Modulo.

Truyền tin qua vách ngăn

Một bức tường ngăn cách 2 người, một cậu bé thường xuyên bị bắt nạt, bị bỏ rơi vì cha mẹ li dị và một cô bé luôn cô độc, chỉ xuất hiện ban đêm, đi chân trần trên tuyết, tìm đến sự đồng cảm với nhau và cậu bé bày ra việc này để hàng đêm có thể trò chuyện ... một câu truyện thật cảm động. Đó là một phần nội dung phim Let Me In.
Thực ra thì con bé trong truyện đó là ma cà rồng, thằng này thì dại gái, sau này thằng bạn trai cũ (thằng này lúc đầu tưởng là bố con bé vì đã già còn ma cà rồng thì không) chết đi lại nối gót trở thành người bảo vệ tiếp tục cho con bé này, phim cũng tạm tạm thôi ^_^.
Vậy là nhờ ứng dụng của viễn thông mà một mối tình không phân biệt tuổi tác, giống loài và sự kỳ thị đã đến gần nhau hơn.
Nguyên tắc của việc này đơn giản là cậu bé đưa cho cô bé 1 cái bảng và quy ước (nếu không nhầm thì là mã Morse) gõ và vạch lên tường là 2 trạng thái để truyền tin, trong điều kiện trong phòng thế này có lẽ đây cũng là cách truyền tin tốt nhất và không tốn chi phí.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by NewWpThemes | Blogger Theme by Lasantha - Premium Blogger Themes | New Blogger Themes