Tải bản đầy đủ (.doc) (13 trang)

Viết chương trình stream audio, video giữa Client và Server, mã hoá trước khi truyền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (182.15 KB, 13 trang )

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.


Nội dung đồ án được chia thành 2 phần:
+ Các giao thức hỗ trợ liên lạc trên internet.
+ Lập trình trong java.
Với đồ án này, do em mới làm quen với ngôn ngữ java cùng với sự hạn chế về thời gian
nên bản đồ án đã thực hiện chưa tốt, còn nhiều thiếu sót. Và với đồ án này, em xin gửi lời cảm
ơn đến cô Bành Thị Quỳnh Mai đã giúp đỡ em thực hiện đồ án này.

2
I.Các giao thức hỗ trợ liên lạc trên internet
1.Giao thức TCP/IP
1.1.Giới thiệu chung
Giao thức TCP/IP được phát triển từ mạng ARPANET và Internet và được dùng như giao
thức mạng và vận chuyển trên mạng Internet. TCP (Transmission Control Protocol) là giao thức
thuộc tầng vận chuyển và IP (Internet Protocol) là giao thức thuộc tầng mạng của mô hình OSI.
Họ giao thức TCP/IP hiện nay là giao thức được sử dụng rộng rãi nhất để liên kết các máy tính
và các mạng.
Hiện nay các máy tính của hầu hết các mạng có thể sử dụng giao thức TCP/IP để liên kết
với nhau thông qua nhiều hệ thống mạng với kỹ thuật khác nhau. Giao thức TCP/IP thực chất là
một họ giao thức cho phép các hệ thống mạng cùng làm việc với nhau thông qua việc cung cấp
phương tiện truyền thông liên mạng.
Các đặc điểm của TCP/IP:
- Độc lập với kiến trúc của mạng: TCP/IP có thể sử dụng trong các kiến trúc Ethernet,
Token Ring, trong mạng cục bộ (LAN) cũng như mạng diện rộng (WAN).
- Chuẩn giao thức mở: TCP/IP có thể thực hiện trên bất kỳ phần cứng hay
hệ điều hành nào. Do đó, TCP/IP là tập giao thức lý tưởng để kết hợp phần cứng cũng như
phần mềm khác nhau.
- Sơ đồ địa chỉ toàn cầu: mỗi máy tính trên mạng TCP/IP có một địa chỉ xác định duy
nhất. Mỗi gói dữ liệu được gửi trên mạng TCP/IP có một header gồm địa chỉ của máy đích
cũng như địa chỉ của máy nguồn.
- Khung Client-Server: TCP/IP là khung cho những ứng dụng client-server mạnh hoạt

độ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

nhất.
Lớp Internet kiểm soát các gói dữ liệu đến, kiểm tra xem có phải chúng được gửi đến máy
đó hay không. Nếu đúng, lớp Internet sẽ loại bỏ header của datagram và đưa lên cho lớp
Transport xử lý. Nếu không, máy sẽ bỏ qua hoặc sẽ gửi tiếp gói tin theo đường thích hợp để đến
đích.
Lớp Network access:
TCP/IP không định nghĩa việc kết nối vật lý mà dùng những chuẩn sẵn có cung cấp bởi
IEEE (như RS232, Ethernet hay những giao diện khác trong việc truyền dữ liệu).
Khi một packet dữ liệu được gửi đi, nó đến lớp Transport và được gắn thêm một transport
header. Kế đó lớp Internet thêm internet header. Cuối cùng lớp gắn thêm header. Khi nhận gói
dữ liệu, quá trình sẽ diễn ra ngược lại.

1.3.Địa chỉ IP
Mỗi máy tính trên mạng IP có một địa chỉ duy nhất xác định gọi là địa chỉ IP tạo bởi một
số 32 bit. Địa chỉ IP chứa đủ những thông tin để xác định duy nhất một mạng và một máy tính
trong mạng đó.
Vì địa chỉ IP của một máy tính không những phải xác định duy nhất máy tính đó mà còn
phải xác định duy nhất mạng mà máy tính đó nối vào nên địa chỉ IP được chia thành phần ID của
mạng (net ID) và phần ID của host (host ID). Việc phân chia này không giống nhau cho tất cả
các địa chỉ IP mà lớp của địa chỉ sẽ quyết định bao nhiêu bit dành cho net ID và bao nhiêu bit
dành cho host ID. Có 5 lớp địa chỉ IP: lớp A, B, C dùng cho mục đích chung, lớp D và E dùng
cho mục đích đặc biệt trong tương lai. Một địa chỉ IP theo khuôn dạng sau:
Class ID Net ID Host ID

- Lớp A có Class ID là bit cao nhất bằng 0; 7 bit kế tiếp là net ID, 24 bit còn lại là host ID.
- Lớp B có Class ID là 2 bit cao nhất lần lượt là 1 và 0, 14 bit kế tiếp là net ID, 16 bit cuối
4
cùng là host ID.
- Lớp C có Class ID là 3 bit cao nhất lần lượt bằng 1, 1, và 0; 21 bit kế tiếp là Net ID; 8 bit
cuối cùng là Host ID.

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à

broadcast cho mạng con.
- Trước khi gửi một datagram phải chuyển đổi các byte thứ tự sang dạng chuẩn trên mạng.
Khi nhận một datagram cần thực hiện quá trình chuyển đổi ngược lại.
User Datagram Protocol (UDP)
Giao thức UDP là cơ chế hướng phi kết nối (connectionless oriented). Nó cho phép một
chương trình trên một máy có thể gửi dữ liệu đến chương trình trên một máy khác và nhận trả
lời. Việc thực hiện được thông qua UDP port là điểm đầu cũng như điểm cuối trong quá trình
thông tin.
Khái niệm cổng (port) trong UDP được hiểu như sau: nếu các máy trao đổi dữ liệu được
5

×