mở đầu là Viện nghiên cứu Standford và 3 trƣờng đại học (Đại học California ở Los Angeless, Đại học California ở Santa Barbara và Đại học Utah). Mùa thu năm 1969, 4 trạm đầu tiên đƣợc kết nối thành công, đánh dấu sự ra đời của ARPANET, đây chính là mạng liên khu vực (WAN) đầu tiên đƣợc xây dựng. Giao thức truyền thông dùng trong ARPANET lúc đó đƣợc đặt tên là NCP (Network Control Protocol). Giữa những năm 1970, họ giao thức TCP/IP đƣợc Vint Cerf và Robert Kahn phát triển cùng tồn tại với NCP, đến năm 1983 thì hoàn toàn thay thế NCP trong ARPANET và giao thức TCP/IP chính thức đƣợc coi nhƣ một chuẩn đối với ngành quân sự Mỹ và tất cả các máy tính nối với ARPANET phải sử dụng chuẩn mới này.
Trong những năm 70, số lƣợng các mạng máy tính thuộc các quốc gia khác nhau đã tăng lên, với các kiến trúc mạng khác nhau (cả về phần cứng lẫn giao thức truyền thông), từ đó dẫn đến tình trạng không tƣơng thích giữa các mạng, gây khó khăn cho ngƣời sử dụng. Trƣớc tình hình đó, vào năm 1984 tổ chức tiêu chuẩn hoá quốc tế ISO đã cho ra đời mô hình tham chiếu cho việc kết nối các hệ thống mở (Reference Model for Open Systems Interconnection - gọi tắt là mô hình OSI). Với sự ra đời của mô hình OSI và sự xuất hiện của máy tính cá nhân, số lƣợng mạng máy tính trên toàn thế giới đã tăng lên nhanh chóng. Đã xuất hiện những khái niệm về các loại mạng LAN, WAN.
ARPANET đƣợc chia ra thành hai phần: phần thứ nhất dành cho quân sự, đƣợc gọi là MILNET; phần thứ hai là một ARPANET mới, kết nối các mạng phi quân sự, dành cho việc nghiên cứu và phát triển. Tuy nhiên hai mạng này vẫn đƣợc liên kết với nhau nhờ giao thức liên mạng IP. Tới tháng 11/1986 đã có tới 5089 máy tính đƣợc nối vào ARPANET, và đã xuất hiện thuật ngữ “Internet”. Năm 1987, mạng xƣơng sống (backborne) NSFnet (National Science Foundation Network) ra đời với tốc độ đƣờng truyền 1,5Mbps, nhanh hơn so với tốc độ 56Kbps trong ARPANET thời kỳ đầu đã thúc đẩy sự tăng trƣởng của Internet.
Mạng Internet dựa trên NSFnet đã đƣợc mở rộng ra ngoài biên giới của nƣớc z 14 Mỹ để phục vụ cho các mục đích thƣơng mại toàn cầu. Đến năm 1990, quá trình chuyển đổi sang Internet - dựa trên NSFnet kết thúc. NSFnet giờ đây cũng chỉ còn là một mạng xƣơng sống thành viên của mạng Internet toàn cầu. Nhiều doanh nghiệp đã chuyển từ ARPANET sang NSFNET và do đó sau gần 20 năm hoạt động, ARPANET không còn hiệu quả đã ngừng hoạt động vào khoảng năm 1990.
Với khả năng kết nối mở, Internet đã trở thành một mạng lớn nhất trên thế giới, mạng của các mạng, xuất hiện trong mọi lĩnh vực thƣơng mại, chính trị, quân sự, nghiên cứu, giáo dục, văn hoá, xã hội. Cũng từ đó các dịch vụ trên Internet không ngừng phát triển. Ngày nay khi cơ sở hạ tầng của mạng Internet đƣợc nâng cao (đặc biệt là về băng thông) đã làm cho nhu cầu sử dụng các ứng dụng đa phƣơng tiện qua mạng tăng lên nhanh chóng. Giao thức tầng giao vận: TCP và UDP Bộ giao thức TCP/IP là một bộ các giao thức truyền thông mà Internet và hầu hết các mạng máy tính thƣơng mại hiện nay đang chạy trên đó.
Bộ giao thức này đƣợc đặt tên theo hai giao thức chính của nó là TCP - giao thức điều khiển giao vận và IP - giao thức liên mạng. Nhƣ nhiều bộ giao thức khác, bộ giao thức TCP/IP có thể đƣợc coi là một tập hợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ đƣợc định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn. Về mặt lô-gic, các tầng trên gần với ngƣời dùng hơn và làm việc với dữ liệu trừu tƣợng hơn, chúng dựa vào các giao thức tầng cấp dƣới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể đƣợc truyền đi một cách vật lý. − TCP: là giao thức điều khiển vận chuyển, nằm ở lớp tƣơng tự lớp Transport trong mô hình OSI và là một trong những giao thức cốt lõi của bộ giao thức TCP/IP, nhằm kết nối các máy tính trên mạng với nhau, chia sẻ và trao đổi dữ liệu.
TCP hỗ trợ nhiều giao thức ứng dụng phổ biến trên Internet nhƣ HTTP, FTP, SMTP… Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa Internet Protocol (IP) bên dƣới và tầng ứng dụng bên trên, là giao thức truyền dữ liệu chính xác, tin cậy. TCP đòi hỏi phải thiết lập kết nối trƣớc khi truyền dữ liệu. Đó là quá trình bắt tay 3 bƣớc(3-way handshake). Bước 1: Client yêu cầu mở cổng cho một dịch vụ (ví dụ: web port 80) bằng cách gửi gói tin SYN (gói tin TCP yêu cầu kết nối) tới server (máy chủ dịch vụ web), trong gói tin SYN thì trƣờng số thứ tự (sequence number) đƣợc gán một giá trị ngẫu nhiên X.
Bước 2: Server sẽ trả về cho Client gói tin SYN – ACK chấp nhận cho thiết lập kết nối, tham số acknowledgment đƣợc gán giá trị bằng X+1, tham số sequence number đƣợc gán một giá trị ngẫu nhiên Y. Bước 3: Để hoàn tất quá trình thiết lập kết nối( 3 – way handshake) thì Client phải gửi cho Server thêm một gói tin là ACK tới Server, với số sequence z 15 number đƣợc gán là X+1, số acknowledgment đƣợc gán là Y+1 (số Y nhận của Server) nhằm cho Server biết là đã thiết lập kết nối với Client hợp lệ. Các kết nối sử dụng TCP có 3 giai đoạn: 1. Thiết lập kết nối; 2.
Truyền dữ liệu; 3. Kết thúc kết nối. TCP giải quyết nhiều vấn đề nhằm cung cấp cho ứng dụng sử dụng nó một dòng dữ liệu đáng tin cậy, cụ thể là: 1. Dữ liệu đến đích đúng thứ tự; 2.
Dữ liệu trùng lặp bị loại bỏ; 4.Điều khiển lƣu lƣợng và điều khiển tắc nghẽn trong việc truyền và nhận dữ liệu. − UDP: là một trong những giao thức cốt lõi của bộ giao thức TCP/IP. UDP không cung cấp sự truyền tin cậy và đảm bảo đúng thứ tự truyền nhận, các gói dữ liệu có thể đến không đúng thứ tự hay bị mất mà không có thông báo cho bên gửi. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các ứng dụng truyền những file kích thƣớc nhỏ và yêu cầu khắt khe về thời gian.
Do bản chất không trạng thái nên UDP hữu dụng trong việc trả lời các truy vấn nhỏ cho số lƣợng lớn ngƣời yêu cầu. UDP hỗ trợ việc xây dựng các dịch vụ phổ biến nhƣ DNS, streaming media, VoiIP, TFTP… UDP không thực hiện quá trình bắt tay khi gửi và nhận thông tin, do đó đƣợc gọi là connectionless (không kết nối). UDP không đảm bảo cho các tầng phía trên rằng thông điệp đã đƣợc gửi thành công, đó là đặc điểm truyền không tin cậy. UDP thích hợp với rất nhiều ứng dụng dựa vào một số đặc điểm đƣợc mô tả chi tiết hơn nhƣ sau: Không cần thiết lập kết nối (No connection establishment): UDP không yêu cầu quá trình thiết lập kết nối nhƣ TCP, do đó nó không làm chậm quá trình truyền dữ liệu.
Đó là lý do tại sao DNS lại chạy nhanh hơn khi sử dụng UDP (DNS có thể chạy cả trên TCP lẫn UDP). Không cần lưu giữ trạng thái kết nối (No connection state): UDP không cần lƣu giữ các thông tin về trạng thái hoạt động của kết nối nhƣ TCP (thí dụ: thông số gửi và nhận gói tin, ACK, sequence number, …), do đó tiêu tốn ít tài nguyên hệ thống hơn so với TCP, giúp các server có thể phục vụ nhiều client hơn. Tổng phí cho phần tiêu đề các gói tin nhỏ hơn (Small segment header overhead): trong khi header của TCP có kích thƣớc 20 bytes thì header của UDP chỉ có 8 bytes, làm cho gói tin UDP nhỏ hơn và có thể truyền đi nhanh hơn. Tốc độ gửi không được điều hòa (Unragulated send rate): TCP có cơ chế điều tiết tốc tộ truyền khi gặp những đƣờng truyền hỏng hay khi mạng bắt đầu bị tắc nghẽn, cơ chế này không thích hợp cho những ứng dụng thời gian thực (có thể chấp nhận một tỉ lệ mất gói tin nhất định, không cần phát lại để đảm bảo tính kịp thời).
Trong khi đó, tốc độ phát của thực thể giao thức UDP chỉ phụ thuộc vào tốc độ gửi của ứng dụng sử dụng UDP để truyền chứ không phụ thuộc vào z 16 mạng có bị tắc nghẽn (congestion ) hay không. Do đó ứng dụng có thể áp dụng các cơ chế khác nhau theo yêu cầu của nó.2 Đặc điểm vận chuyển lưu lượng kiểu “Cố gắng tối đa ” [2] Giao thức IP cung cấp dịch vụ cố gắng tối đa, nghĩa là nó cố gắng chuyển mỗi datagram từ nguồn đến đích một cách nhanh nhất có thể. Tuy nhiên nó không đảm bảo độ trễ cũng nhƣ jitter của các gói tin. Mặt khác TCP và UDP đều chạy trên IP, chúng cũng không đảm bảo về mặt độ trễ cho các gói tin.
TCP truyền tin cậy nhƣng việc áp dụng cơ chế này dẫn đến việc phải phát lại các gói tin bị mất cho đến khi thành công, vì vậy có thể gây ra độ trễ rất lớn; ngoài ra việc áp dụng cơ chế cửa sổ trƣợt có kích thƣớc thay đổi cũng dẫn đến jitter lớn. UDP không sử dụng cơ chế biên nhận do đó không tin cậy. Đặc điểm vận chuyển kiểu “cố gắng tối đa” của các giao thức nói trên không thích hợp cho sự phát triển các ứng dụng đa phƣơng tiện trên Internet. Tuy nhiên, chúng đã đƣợc sử dụng phổ biến trên Internet ngay từ khi Internet mới hình thành, do đó để truyền thông đa phƣơng tiện trên Internet ngƣời ta đã và đang áp dụng giải pháp thực tế là sửa đổi và cải tiến chúng chứ không thay thế bằng các giao thức hoàn toàn mới.
Cho đến nay, các ứng dụng truyền thông multimedia sử dụng các giải pháp này đã làm tăng chất lƣợng dịch vụ lên đáng kể, song vẫn còn nhiều hạn chế, đòi hỏi tiếp tục đƣợc nghiên cứu, cải tiến. Chẳng hạn đối với các ứng dụng truyền audio/video đƣợc lƣu trữ trƣớc thì độ trễ trung bình trong khoảng từ 5-10s là chấp nhận đƣợc, tuy nhiên ở những thời điểm tắc nghẽn thì độ trễ có thể tăng đến mức không chấp nhận đƣợc. Đối với các ứng dụng truyền thông đa phƣơng tiện thời gian thực kiểu có tƣơng tác, yêu cầu về độ trễ và jitter còn cao hơn nữa, do đó các yêu cầu này thƣờng không đƣợc đáp ứng.