MỤC LỤC
Lời nói đầu .............................................................................................................................. 2
I.Các giao thức hỗ trợ liên lạc trên internet ........................................................................ 3
1.Giao thức TCP/IP .............................................................................................................. 3
1.1.Giới thiệu chung ......................................................................................................... 3
1.2.Mô hình TCP/IP ......................................................................................................... 3
1.3.Địa chỉ IP .................................................................................................................... 4
1.4.Giao thức Internet IP (Internet Protocol) .................................................................. 5
2. Giao thức RTP/RTCP ...................................................................................................... 6
II.Lập trình trong Java ........................................................................................................ 10
1.Mã hóa với Java .............................................................................................................. 11
2.Chương trình stream audio ............................................................................................. 11
Tài liệu tham khảo: ............................................................................................................. 12
1
Lời nói đầu
Internet là một hệ thống thông tin toàn cầu gồm nhiều mạng máy tính liên kết với nhau.
Bao gồm hàng ngàn mạng máy tính nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và
các trường đại học, của người dùng cá nhân, và các chính phủ trên toàn cầu.
Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong các tiện
ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), giải trí
trực tuyến, máy truy tìm dữ liệu (search engine), các dịch vụ thương mại và chuyển ngân, và các
dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học ảo.
Như vậy, mạng internet đã mang lại nhiều lời ích và một trong những lợi ích đó là thông
qua nó, người dùng có thể xem, nghe video, audio thời gian thực. Với mục đích tìm hiểu cách
truyền video, audio thời gian thực trong mô hình Client/Server, em đã thực hiện đồ án “Viết
chương trình stream audio, video giữa Client và Server, mã hóa trước khi truyền”. Từ đó
em xác định các yêu cầu khi thực hiện đồ án:
+ Tìm hiểu về giao thức RTP/RTCP.
+ Lập trình mạng với Java.
+ Mã hóa với Java.
Công cụ thực hiện chương trình là Java.
động trên mạng cục bộ và mạng diện rộng.
- Chuẩn giao thức ứng dụng: TCP/IP không chỉ cung cấp cho người lập trình phương
thức truyền dữ liệu trên mạng giữa các ứng dụng mà còn cung cấp nhiều giao thức mức
ứng dụng (những giao thức thực hiện các chức năng thường dùng như e-mail, truyền nhận
file).
1.2.Mô hình TCP/IP
Mô hình TCP/IP được tổ chức thành 4 lớp như sau: lớp ứng dụng (Application), lớp giao
vận (Transport), lớp mạng (Internet) và lớp network access.
Lớp Application:
Ở lớp cao nhất, các chương trình ứng dụng giao tiếp với các giao thức ở lớp Transport để
truyền và nhận dữ liệu. Chương trình ứng dụng truyền dữ liệu ở dạng được yêu cầu đến lớp
Transport để xử lý trước khi chuyển xuống lớp Internet để tìm đường phân phối nó đi. Lớp
Application bao gồm những ứng dụng trên mạng.
3
Lớp Transport:
Cung cấp giao tiếp từ chương trình ứng dụng này đến chương trình ứng dụng khác. Giao
tiếp như vậy được gọi là đầu cuối- tới- đầu cuối (end-to-end). Lớp Transport sẽ đảm bảo thông
tin đến mà không bị lỗi và theo đúng trật tự. Để làm được điều này, máy nhận phải gửi ACK về
báo đã nhận đủ và đúng thông tin hay chưa, nếu chưa thì máy phát phải truyền lại datagram đã
mất. Phần mềm ở lớp Transport chia thông tin thành các gói (packet), trong mỗi gói có chứa các
trường (fields): địa chỉ nguồn, địa chỉ đích, checksum,... Thông tin sau khi được chia thành các
gói sẽ được chuyển xuống các lớp thấp hơn để tiếp tục xử lý và gửi tới máy thu. Máy thu sẽ dựa
vào nội dung của các trường này để quyết định nhận, kiểm tra tính đúng đắn của việc truyền và
phục hồi lại thông tin.
Các dịch vụ của lớp Transport có thể là: TCP, UDP.... Khái niệm kết nối phiên (session)
trong mô hình OSI có thể so sánh với cơ chế socket của TCP/IP. Socket TCP/IP là một điểm
cuối (end-point) trong quá trình liên lạc, được tạo bởi địa chỉ của máy tính và một cổng xác định
trên máy tính đó.
Lớp Internet:
Lớp Internet điều khiển các gói đi từ máy này đến máy khác theo những đường thích hợp
1.4.Giao thức Internet IP (Internet Protocol)
IP tiếp nhận các datagram từ giao diện mạng (network interface) và từ các giao thức lớp
cao hơn, sau khi định tuyến, nó sẽ gửi các gói dữ liệu này xuống giao diện mạng hoặc gửi lên
các giao thức ở cấp cao hơn. Trên một host, có thể xem IP bao gồm hai phần, một phần kiểm
soát các gói dữ liệu đến và một phần kiểm soát việc gửi các gói dữ liệu đi.
Phương thức hoạt động của IP:
- Hàng nhập chung, định tuyến chung: Quá trình IP dùng một hàng nhập chung cho tất cả
các datagrams mà nó kiểm soát, bất kể là chúng đến từ giao diện mạng hay từ các giao thức lớp
cao hơn. IP lấy các datagrams ra khỏi hàng nhập và xử lý chúng mà không cần biết chúng đến từ
đâu. Hàng nhập chung đem lại sự đơn giản trong các thuật toán.
- IP hoạt động như một quá trình độc lập.
- Giao diện nội bộ (local host interface): Để tránh việc phân phát các gói tin nội bộ như
một quá trình đặc biệt, IP thực hiện một giao thức mạng giả cho chính nội bộ của máy mình.
Giao diện này có cùng cấu trúc như các giao diện mạng khác nhưng nó sẽ được xử lý bởi phần
mềm giao thức nội bộ thay vì mạng vật lý. Việc thực hiện local host interface đặt ra vấn đề về
cách thức chọn và xử lý các gói. Các datagrams đến từ giao diện mạng nào sẽ được đặt trong
hàng chờ tương ứng của giao diện đó. Hệ thống có nhiều cách lựa chọn để xử lý ưu tiên cho
datagram nào trước. Nếu IP luôn ưu tiên cho các datagrams đến từ network interface, lúc đó các
datagrams của local host interface sẽ có chỉ số ưu tiên thấp hơn và chúng sẽ chỉ được xử lý khi
hàng chờ của network interface trống. Ngược lại các datagrams của local host interface được ưu
tiên hơn thì chúng sẽ được xử lý trước. Việc thực hiện đơn thuần một trong hai phương pháp
trên không có hiệu quả tối ưu. Trong thực tế, người ta dùng một phương pháp có tên là round-
robin, nghĩa là datagram nào đến trước sẽ được xử lý trước bất kể nguồn gốc của chúng là từ
network interface hay từ local host interface. Một khi tất cả các hàng nhập của IP đều trống, quá
trình IP sẽ bị chặn. Quá trình này sẽ được khôi phục và tiếp tục thực thi khi có datagram đến.
- Để kiểm tra và sửa lỗi, IP dùng các tổng kiểm tra (checksum). Số tổng kiểm tra này được
đặt trong header và là một số 16 bit.
- Khi địa chỉ đích của một datagram ở dạng quảng bá (broadcast) thì tất cả các máy trên
mạng đều nhận được datagram này. IP thực hiện 3 địa chỉ quảng bá: broadcast cho mạng nội bộ
với địa chỉ toàn là 1, broadcast xác định (lớp A, B, C) với phần địa chỉ của host toàn là 1, và