1.Giải thích các phương
thức phân chia băng thông theo thời gian (TDM) và theo tần số (FDM)
Giải
Giả sử 1 kênh truyền vật lý tại một thời
điểm chỉ có 1 dữ liệu được đi qua
Tốn nhiều thời gian truyền dữ liệu=>
việc phân chia kênh truyền giúp tiết kiệm băng thông và thời gian khi truyền dữ
liệu
Có 2 phương thức theo tần số FDM và
theo thời gian TDM
FDM: một kênh truyền vật lý được chia thành nhiều mức tần số khác
nhau, mỗi một host trên 1 mạng được truyền
trên 1 tần số xác định. Đầu gửi có 1 thiết bị mã hóa phân chia kênh truyền của
các host bên trong, bên đầu nhận sẽ có 1 thiết bị giải mã.
TDM: có 2 hình thức :+ hình thức đồng bộ(
synchronous )
+ hình thức không đồng bộ ( asynchronous)
Chia thành nhiều time slot ,mỗi một
host được truyền trong 1 thời gian nhất định.
TDM đồng bộ:
Mỗi time slot được gắn cố định trước
cho mỗi host,khi host đó ko có nhu cầu truyền dữ liệu ,thì time slot của host đó được bỏ trống, không cấp
phát time slot của host đó cho host khác.
Mỗi 1 time slot có thể được phân chia không đồng đều cho mỗi host.
TDM không đồng bộ.
+ Time slot ko được phân chia cố định
cho mỗi host. Tiến hành quét trên kênh truyền các host cần truyền dữ liệu ,đưa
dữ liệu vào time slot đến khi nào đầy
time slot , nếu như 1 dữ liệu chưa đầy của 1 host thêm dữ liệu đệm cho time
slot đầy và truyền đi.=> Tốc độ của dữ
liệu ra thấp hơn tốc độ các đường nhập gộp
lại.
2.Giải thích các dịch vụ
truyền thông có liên kết (connection-oriented) và không có liên kết
(connectionless).
Giải
-
Giống nhau: Đều là dịch vụ truyền thông dữ liệu.
-
Khác:
Connection oriented
|
Connectionless
|
-Mục tiêu: truyền
thông dữ liệu giữa các host.
- Giao thức truyền: sử
dụng giao thức TCP (Tranmission Control Protocol).
+ TCP service [RFC
793].
+ Là giao thức tin cậy,
an toàn dữ liệu theo dòng byte (nếu mất
mát sẽ có thông báo và truyền lại).
+ Điều khiển luồng
(bên gửi không lấn áp bên nhận).
+ Giải quyết tắt nghẽn
(Bên gửi giảm tốc độ truyền khi mạng nghẽn).
+có kết nối.
- Các ứng dụng dùng
TCP:HTTP (Web), FTP (File Tranfer Protocol), TelNet (Remote Login), SMTP
(email).
|
-Mục tiêu: Dữ liệu
truyền giữa các hệ thống đầu cuối.
-Giao thức truyền: UDP (User Datagram
Protocol).
+ UDP [RFC 768].
+ Truyền không tin cậy.
+ Không điều khiên luồng
dữ liệu.
+ Không giải quyết tắt
nghẽn.
+không có kết nối.
-Các ứng dùng UDP:
Stream media, hội thảo từ xa, DNS, Điện thoại internet.
|
3.Cho biết chức năng các
lớp của mô hình TCP/IP
Giải
+Application:Cung
cấp phần mềm , giao diện hỗ trợ việc giao tiếp giữa người và ứng dụng mạng, các
giao thức hay sử dụng là:HTTP,FTP,SMTP,…
+Transport:Cung ứng dịch vụ vận chuyển từ host nguồn đến
host đích. Thiết lập một cầu nối luận lý giữa các đầu cuối của
mạng, giữa host truyền và host nhận.
+Network:Mục đích của lớp Internet là chọn đường đi tốt nhất xuyên
qua mạng cho các gói dữ liệu di chuyển tới đích. Giao thức chính của lớp này là
Internet Protocol (IP).
+Link: Định
nghĩa các hàm, thủ tục, phương tiện truyền dẫn đảm bảo sự truyền dẫn an
toàn các khung thông tin trên bất kỳ một phương tiện truyền dẫn nào như
Ethernet, ppp
+Physical: Định ra các thủ tục để giao tiếp với phần cứng mạng và truy nhập môi trường
truyền. Tổng hợp dữ liệu thành dãy nhị phân, sau đó mã hóa chúng thành tín hiệu
điện.
4.Phân tích sự khác biệt
giữa kiến trúc Client-Server và Peer-to-Peer của ứng dụng mạng
Giải
-
Giống nhau: Đều là quá trình trao đổi thông tin giữa 2 máy tính trên mạng.
-
Khác:
Client – Server
|
Peer-to-Peer
|
--Trong mô hình này 1
máy tính sẽ đóng vai trò là client và máy tính kia đóng vai trò là server.
-- Hoạt động:
+ Server:
. Host luôn hoạt động.
. Địa chỉ IP cố định
. Nhóm các server để
chia sẽ công việc
+ Client:
. Truyền thông với
server.
. Có thể kết nối
không liên tục.
. Có thể có địa chỉ
IP thay đổi.
. Không truyền thông
trực tiếp với client khác.
-- Độ linh hoạt không
cao nhưng dễ quản lý.
|
-- Trong mô hình này
một máy tính vừa đóng vai trò là client, vừa đóng vai trò là server.
-- Hoạt động:
+ Không có server,
luôn hoạt động.
+ Truyền thông với hệ
thống đầu cuối bất kỳ.
+ Các điểm kết nối
không liên tục và thay đổi địa chỉ IP.
Ví dụ: Gnutella,
KazaA.
--Độ linh hoạt cao
nhưng khó quản lý
|
5.Cho biết sự khác biệt
giữa giao thức HTTP không bền vững và giao thức HTTP bền vững
Giải
-
Giống: Đều sử dụng TCP, HTTP là
không có trạng thái
-
Khác:
HTTP – nonpersistent
|
HTTP – persisistent
|
--HTTP 1.0
(Nonpersisitent HTTP)
-- Sau khi gởi đi một đối tượng thì server sẽ
đóng kết nối TCP lại. Kết nối không được lấy để sử dụng đối tượng khác. Như vậy
mỗi kết nối TCP chuyển duy nhất một thông điệp yêu cầu và 1 thông điệp trả lời.
Ví dụ: Để gửi 1 đối
tượng trang Web gồm 1 trang
HTML và 10 file ảnh
JPEG. Thì sẽ có tới 11 kết nối TCP được
thiết lập.
--Vấn đề: Khi liên kết
mới tạo ra phía client và server phải tạo ra vùng đệm TCP (buffer) cũng như
lưu giữ các biến TCP
Tạo gánh nặng cho
server khi có nhiều client yêu cậu cùng lúc.
- Yêu cầu 2 RTT mỗi đối
tượng.
- Hệ điều hành liên
quan đến mỗi kết nối TCP.
- Các trình duyệt thường mở // các kết nối
TCP để đem về các tham chiếu đến các đối tượng.
|
--HTTP1.1 (Persistent
HTTP).
- Server không đóng kết
nối TCP sau khi gửi thông điệp trả lời.Các thông điệp yêu cầu và trả lời sau
đó( giữa cùng 1 client và server) được gởi liên tiếp nhau thông qua cùng 1 kết
nối. Thông thường HTTP sẽ đóng liên kết khi liên kết không sử dụng trong một
thời gian nào đó.
Trong ví dụ bên: Toàn
bộ đối tượng trang Web (gồm 1 trang HTML và 10 file ảnh JPEG) sẽ được truyền
nối tiếp nhau qua 1 kết nối TCP.
--HTTP client gửi yêu
cầu khi nó nhận được 1 tham chiếu (1 siêu liên kết, hay 1 tham chiếu đến file
ảnh) vì vậy client có thể gửi các yêu cầu liên tiếp. Khi server nhận được yêu
cầu, nó sẽ gửi các đối tượng nối tiếp nhau.
- Server bỏ kết nối
sau khi mở để gởi đáp ứng leaves.
- Các thông điệp HTTP
của tiến trình con cùng mô hình client/server gửi thông qua kết nối mở.
|
6.Phân tích giao thức
rdt2.0
Giải
Rdt2.0 kênh với các lỗi (Channel
with bit errors)
Bên gửi đợi cuộc gọi từ phía
trên,bên nhận đợi cuộc gọi từ phía dưới.
Th1:Gửi không bị lỗi.
Bên gửi ,gửi dữ liệu sang bên nhận
và đợi phản hồi ACK hoặc NAK từ bên nhận.
Bên nhận kiểm tra dữ liệu nhận và báo cho bên gửi ACK khi nhận
dữ liệu thành công.
Bên gửi nhận được ACK từ bên nhận
và kết thúc việc gửi ,đợi dữ liệu từ tầng trên để chuyển tiếp.
TH2: gửi bị lỗi.
Bên gửi ,gửi dữ liệu sang bên nhận
và đợi phản hồi ACK hoặc NAK từ bên nhận.
Bên nhận kiểm tra dữ liệu nhận và
báo cho bên gửi NAK khi dữ liệu bị lỗi.bên
gửi nhận được NAK từ bên nhận,và gửi lại dữ liệu cho bên nhận và tiếp tục đợi
ACK hoặc NAK từ bên nhận, lúc này bên gửi
không thể nhận thêm dữ liệu từ tầng trên đưa xuống. Bên nhận thông báo
cho bên gửi NAK khi dữ liệu tiếp tục bị lỗi để bên gửi tiếp tục gửi lại, khi
bên nhận , nhận thành công dữ liệu từ bên gửi , bên nhận báo ACK cho bên gửi để
kết thúc việc gửi dữ liệu. Bên gửi nhận được ACK từ bên nhận sẽ kết thúc việc gửi
dữ liệu và đợi dữ liệu từ tầng trên để chuyển tiếp.
+ Phía gởi không gửi thêm dữ liệu
cho đến khi biết chắc rằng phía nhận đã nhận đúng gói dữ liệu đã gởi. Giao thức
Rdt2.0 do có những hành vi như vậy nên còn có tên gọi là Stop -and-Wait (dừng
và chờ: tức là người gửi một gói sau đó dừng lại và chờ phản hồi từ người nhận).
-
Rdt2.0 có một lỗ hổng nghiêm trọng là: Điều gì sẽ xảy ra khi ACK hoặc
NAK bị hỏng.
+ Người gởi không biết điều gì đã xảy
ra tại bên nhận.
+ Không thể đơn phương truyền lại
vì sẽ có khả năng trùng lặp.
Cách khắc phục: Quản lý trùng lặp:
. Người gửi truyền lại gói hiện tại
nếu ACK/NAK hỏng.
. Người gửi thêm số thứ tự vào mỗi
gói.
. Người nhận hủy, không nhận gói
trùng lặp.
7.Phân tích giao thức
rdt3.0
Giải
Rdt3.0 Kênh với lỗi và mất mát
(Channel with errors and loss).
- Th1: dữ liệu ko bị lỗi
bên gửi gửi pkt0 cho bên nhận,bên
nhận nếu nhận thành công sẽ báo ACK0 cho bên gửi,lúc này bên gửi sau khi nhận
được ACK0 từ bên nhận nó sẽ gửi tiếp gói pkt1 cho bên nhận sau đó bên nhận sẽ
phản hồi gói ACK1 cho bên gửi nếu nhận thành công.và bên gửi tiếp tục gửi gói
pkt cho tới khi nào hết dữ liệu.
-Th2:mất gói
bên gửi gửi gói pkt(0 hoặc 1)cho
bên nhận, vì một lý do nào đó mà gói pkt này ko tới được bên nhận,hoặc thông
tin phản hồi của bên nhận bằng gói ack (0 hoặc 1) tương ứng không tới được bên
gửi thì sau một khoảng thời gian timeout thì bên gửi sẽ gửi lại gói pkt đó. trường
hợp gói ack(0 hoặc 1) của bên nhận gửi cho bên gửi bị lỗi sau khi nhận lại được
gói tin pkt(0 hoặc 1) tương ứng gửi lại thì bên nhận sẽ phát hiện gói tin bị
trùng và báo lại ack tương ứng cho bên gửi và lúc này bên gửi tiếp tục gửi dữ lệu
pkt cho bên nhận cho đến khi hết dữ liệu.
Th3:truyền trễ
Khi bên gửi gửi gói pkt(0 hoặc 1)
cho bên nhận sau một khoảng thời gian timeout do truyền chậm mà bên gửi vẫn
chưa nhận được gói ack(0 hoặc 1) do bên nhận phản hồi thì bên gửi bắt đầu gửi lại
gói pkt(0 hoặc 1 ) đó cho bên gửi ,đúng lúc này bên gửi nhận được gói Ack(0 hoặc
1) và nó sẽ gửi tiếp gói pkt(1 hoặc 0),cũng trong lúc đó bên nhận lại nhận được
gói Pkt(0 hoặc 1 ) từ bên gửi,phát hiện gói tin bị trùng và nó vẫn báo lại gói
ACK(0 hoặc 1) cho bên gửi,lúc này bên gửi lại tiếp tục gửi lại gói pkt(1 hoặc
0).và cứ truyền như thế cho đến khi nào
hết toàn bộ dữ liệu.
8. Giải thích nhiêm vụ của
các trường: Số thứ tự (Sequence Number) và Số tiếp nhận (Acknowledgement
Number) trong gói tin TCP.
Giải
Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bước .Trước khi client thử
kết nối với một server, server phải đăng ký một cổng và mở cổng đó cho các kết
nối: đây được gọi là mở bị động. Một khi mở bị động đã được thiết lập thì một
client có thể bắt đầu mở chủ động. Để thiết lập một kết nối, quy trình bắt tay
3 bước xảy ra như sau:
1. Client
yêu cầu mở cổng dịch vụ bằng cách gửi gói tin SYN (gói tin TCP) tới server,
trong gói tin này, tham số sequence number được gán cho một giá trị ngẫu nhiên X.
2. Server
hồi đáp bằng cách gửi lại phía client bản tin SYN-ACK, trong gói tin này, tham
số acknowledgment number được
gán giá trị bằng X + 1, tham số sequence number được gán ngẫu nhiên một giá trị Y
3. Để
hoàn tất quá trình bắt tay ba bước, client tiếp tục gửi tới
server bản tin ACK, trong bản tin này, tham số sequence number được
gán cho giá trị bằng X + 1 còn tham sốacknowledgment
number được gán giá trị bằng
Y + 1
Tại thời điểm này, cả client và server đều được xác nhận rằng, một
kết nối đã được thiết lập.
9.Giải thích phương thức điều khiển luồng
(Flow Control) trong giao thức TCP
Giải
-
Phương thức điều khiển phân luồng là phương thức mà bên gởi không là
tràn bộ đệm vì truyền quá nhiều và quá nhanh, bên nhận cũng đảm bảo không tràn
bộ đệm nhờ:
+ Bên nhận của kết nối TCP có 1 bộ
đệm nhận.
+ Dịch vụ trùng tốc độ: so trùng tốc
độ gửi và tốc độ nhận.
+ Tiến trình ứng dụng có thể chậm lại
lúc đọc bộ đệm.
-
Do kích thước cửa sổ là động nên trong mỗi khung báo nhận của mình, bên
nhận thông báo về khoảng dự trữ của nó (lượng buffer còn trống), đó chính là trị
RcvWindow.
-
Lần sau, bên gởi sẽ không được gởi lượng byte vượt quá RcvWindow (để đảm
bảo bộ đệm nhận không bị tràn.).
-
Ví dụ: Bên gửi muốn gửi 5 kb và bộ đệm của bên nhận là 4 kb (còn rỗng).
+ Bên gửi đặt số thứ tự Sequence
number = 0, sau đó truyền 2 kb, buffer bên nhận còn lại 2 kb rỗng do đó nó báo nhận “ ACK = 2048,
RcvWindow = 2048”.
+ Bên gửi gửi tiếp 2 kb, khi đó
buffer bên nhận đầy nó báo nhận “ ACK= 4096, RcvWindow = 0), không còn buffer
nhận, nên bên gửi tạm thời tắt nghẽn.
+ Sau khi bên nhận xử lý xong 2 kb
nó liền báo “ACK=4096, RcvWindow = 2048”. Lúc này bên gửi có thể gởi tối đa là
2 kb nhưng nó chỉ còn 1 kb để gửi.
10.Cho biết chức năng và
nhiệm vụ của Congetion Window (CongWin) trong điểu khiển tắc nghẽn của giao thức
TCP
Giải
- Cửa sổ tắc nghẽn (Congetion Window) ký hiệu là CongWin biểu thị số lượng dữ liệu tối đa mà người gửi có thể gửi qua kết nối.Khối lượng dữ liệu được gửi không được vượt quá CongWin và RcvBuffer (lượng Buffer còn trống của bên nhận).LastByteSent - LastByteAcked <= cwnd
Ngưỡng ký hiệu là ssthresh sẽ ảnh hưởng tới quá trình tăng của CongWin.
- Chức năng của CongWin là nhận biết tắt nghẽn trên mạng.
- Nhiệm vụ ;
+Khi kết nối bắt đầu, CongWin tăng tốc độ theo cấp số nhân cho đến khi hiện tượng mất gói đầu tiên sảy ra : initially cwnd=1MSS, gấp đôi mỗi RTT, tăng cwnd cho mỗi ACK nhận được.
+Sau khi tăng theo cấp số nhân đến ngưỡng ssthresh thì kích thước CongWin tăng theo cấp tuyến tính cho đến khi sảy ra TimeOut ở phía gửi làm mất gói. Khi mất gói sảy ra ssthresh được thiết lập về bằng ½ cwnd trước khi mất gói.
11.Cho biết sự khác biệt
giữa 2 chức năng Forwarding và Routing của một Router trong lớp Mạng
Giải
Forwarding
|
Routing
|
- Chức năng: Di chuyển các gói từ đầu vào đến
đầu ra thích hợp của Router
- Nhiệm vụ: Tiến trình lập kế hoạch chuyến đi
từ nguồn đến đích.
- Thuộc “Transport Plane”
|
- Chức năng: Xác định đường đi cho các gói từ
nguồn đến đích bằng các giải thuật Routing (giải thuật tìm đường).
- Nhiệm vụ: Tiến trình vận chuyển qua mỗi
giao điểm.
- Thuộc một phần của “control panel” của IP
internet.
|
Forwarding và Routing hoạt động này
được đồng nhất trong các IP router truyền thống, nhưng bây giờ chúng được tách
biệt một cách luận lý như trong môi trường MPLS.
Việc tách biệt cho phép nhiều thành
phần mạng hơn để thay thế các IP router để thực hiện các hoạt động control
plane, cho phép việc định tuyến phân tán với hiệu suất được cải thiện. Thêm vào
đó, việc tách biệt giữa các chức năng của routing và forwarding cho phép tách
biệt hiệu suất giữa chúng, đống thời cho phép chúng ta theo dõi rõ hơn sự cải
tiến của các lỹ thuật ở cả kỹ thuật forwarding và các giải thuật định tuyến.
12.Giải thích cơ chế phân
mảnh và tổng hợp gói tin (IP datagram) trong lớp Mạng
Giải
* Cơ chế phân mảnh- Một IP datagram được chia thành vài datagram nhỏ hơn.
- Các datagram nhỏ hơn có kích thước bằng MTU( max.transfer size) –frame lớn nhất có thể ở mức kết nối của đường link mạng
- Mỗi datagram nhỏ hơn bao gồm kích thước datagram, ID là ID của IP datagram lớn lúc đầu, fragflag = 1 ở các datagram đầu và bằng 0 ở datagram cuối cùng. Giá trị offset được tính bằng (MTU-20 bytes header )/8, offset đầu tiên = 0 và các offset sau có giá trị bằng offset tính được từ MTU cộng với offset của datagram ngay trước nó.
* Cơ chế tổng hợp
- Tổng hợp được thực hiện ở bước cuối cùng
- Các datagram được ghép lại thành IP datagram ban đầu dựa vào ID, fragflag và offset
VD :
4000 byte datagram
MTU= 1500 bytes
Chia thành 3 datagram nhỏ , mỗi datagram có kích thước 1500 bytes và datagram cuối cùng có kích thước 1040byte
Tính giá trị offset= (1500-20)/8=185
Datagram đầu tiên có offset=0, thứ 2 có offset =185, cuối cùng = 370