80
1. Internet là gì? 5 thành phần chức năng, 3 thành phần vật lý cơ bản, 3 đặc trưng (nguyên lý) hoạt động, 2 dịch vụ? +Internet là gì: Mạng máy tính là một tập hợp các máy tính và các thiết bị khác (các nút), chúng sử dụng một giao thức mạng chung để chia sẻ tài nguyên với nhau nhờ các phương tiện truyền thông mạng. +5 thành phần chức năng: - Mobile network: 3G, WAP, GPRS… - Home network: mạng cáp hoặc không dây, ADSL kết nối tới ISP. - Institutional network (mạng công ty): LAN, ethernet… - Regional ISP: các ISP tầm khu vực như VNPT, FPT, Viettel… - Global ISP: các ISP quốc tế như Verizon, AT&T, Level3… Trong đó: Mobile network, Home network, Institutional network (mạng công ty) là mạng ngoại vi (network edge). Regional ISP, Global ISP là mạng lõi (network core). +3 thành phần vật lý: · · · Các thiết bị đầu cuối (host / end system) kết nối với nhau tạo thành mạng có thề là các máy tính (computer) hoặc các thiết bị khác. Nói chung hiện nay ngày càng nhiều các loại thiết bị có khả năng kết nối vào mạng máy tính như điện thoại di động, PDA, ti vi . . . . . Môi trường truyền (media / communication link) mà truyền thông được thực hiện qua đó. Môi trường truyền có thể là các loại dây dẫn (cáp - cable), sóng (đối với các mạng không dây - wireless). Ví dụ: cáp truyền thông có thể là cáp xoắn đôi (twisted-pair), cáp đồng trục (coaxial), và cáp sợi quang (fiber- optic cable)... Truyền thông không dây có thể là sóng radio (gồm sóng cực ngắn hay việc truyền thông qua vệ tinh), bức xạ hồng ngoại. Router là một thiết bị dùng để ghép nối các mạng cục bộ với nhau thành mạng rộng. Router thực sự là một máy tính làm nhiệm vụ chọn đường cho các gói tin hướng ra ngoài. Router độc lập về phần cứng và có thể dùng trên các mạng chạy giao thức khác nhau +3 đặc trưng (nguyên lý) hoạt động:

Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

Embed Size (px)

Citation preview

Page 1: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

1. Internet là gì? 5 thành phần chức năng, 3 thành phần vật lý cơ bản, 3 đặctrưng (nguyên lý) hoạt động, 2 dịch vụ?

+Internet là gì:

Mạng máy tính là một tập hợp các máy tính và các thiết bị khác (các nút), chúngsử dụng một giao thức mạng chung để chia sẻ tài nguyên với nhau nhờ các phươngtiện truyền thông mạng.

+5 thành phần chức năng:

- Mobile network: 3G, WAP, GPRS…

- Home network: mạng cáp hoặc không dây, ADSL kết nối tới ISP.

- Institutional network (mạng công ty): LAN, ethernet…

- Regional ISP: các ISP tầm khu vực như VNPT, FPT, Viettel…

- Global ISP: các ISP quốc tế như Verizon, AT&T, Level3…

Trong đó: Mobile network, Home network, Institutional network (mạng công ty) làmạng ngoại vi (network edge). Regional ISP, Global ISP là mạng lõi (network core).

+3 thành phần vật lý:

·

·

·

Các thiết bị đầu cuối (host / end system) kết nối với nhau tạo thành mạngcó thề là các máy tính (computer) hoặc các thiết bị khác. Nói chung hiện nayngày càng nhiều các loại thiết bị có khả năng kết nối vào mạng máy tính nhưđiện thoại di động, PDA, ti vi . . . . .

Môi trường truyền (media / communication link) mà truyền thông đượcthực hiện qua đó. Môi trường truyền có thể là các loại dây dẫn (cáp - cable),sóng (đối với các mạng không dây - wireless). Ví dụ: cáp truyền thông có thể làcáp xoắn đôi (twisted-pair), cáp đồng trục (coaxial), và cáp sợi quang (fiber-optic cable)... Truyền thông không dây có thể là sóng radio (gồm sóng cựcngắn hay việc truyền thông qua vệ tinh), bức xạ hồng ngoại.

Router là một thiết bị dùng để ghép nối các mạng cục bộ với nhau thành mạngrộng. Router thực sự là một máy tính làm nhiệm vụ chọn đường cho các gói tinhướng ra ngoài. Router độc lập về phần cứng và có thể dùng trên các mạngchạy giao thức khác nhau

+3 đặc trưng (nguyên lý) hoạt động:

- Giao thức (protocol) là quy tắc quy định cách thức trao đồi dữ liệu giữa cácthực thể. Ở đây khái niệm thực thể bao gồm cả các thiết bị phần cứng cũng như cáctiến trình phần mềm. Giao thức mạng cũng định nghĩa khuôn dạng dữ liệu được traođổi giữa các bên. vd: TCP, IP, HTTP

- Internet: “network of network” (thông qua mạng trung gian)

- Internet standards:

IETF: Internet Engineering Task Force

RFC: Request For Comment

1

Page 2: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+2 dịch vụ:

-

-

Phần cứng (hạ tầng)

communication infrastructure hiện thực việc phân phối các ứng dụng:

Web, VoIP, email, games, e-commerce, file sharing

Phần mềm (ứng dụng)

communication services cung cấp ứng dụng:

reliable data delivery from source to destination: truyền tin cậy dữ liệu từnguồn đến đích

“best effort” (unreliable) data delivery:nỗ lực tối đa (không tin cậy) vậnchuyển dữ liệu

2. Mạng biên( network edge) các mô hình, các phương thức kết nối, mô hình kếtnối hạ tầng 3 lớp, các phương tiện(media)?

Mạng biên: applications and hosts. có Mobile network, Home network, Institutionalnetwork.

+Các mô hình:

end systems (hosts):chạy chương trình ứng dụng. vd: Web, email. ở tại cạnhbiên của mạng “edge of network”.

client/server model: client host yêu cầu dịch vụ, nhận dịch vụ từ máy chủ luônchạy. vd: Web browser/server; email client/server

peer-peer model: hạn chế tối thiểu hoặc không dùng máy chủ chuyên dùng(dedicate). vd: Skype, BitTorrent

+Mô hình kết nối hạ tầng 3 lớp:

Tầng lõi (Core layer hay Backbone)

Tầng phân phối (Distribution layer)

Tầng truy cập (Access layer)

Mỗi tầng có chức năng nhiệm vụ riêng biệt. Tuy nhiên, ba tầng này chỉ là logic chứkhông phải là phần cứng cụ thể nào, vì vậy khi thực hiện mạng phân tầng các thiết bịcó thể là có nhiều thiết bị cho một tầng hoặc chỉ một thiết bị đơn lẻ thực hiện chứcnăng cho nhiều tầng.

2

Page 3: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+Các phương tiện (media):

guided media:

- Twisted-pair: gồm 2 cáp xoắn đôi

Category 3: dây điện thoại truyền thống (traditional phone wires), 10 MbpsEthernet

Category 5: 100 Mbps Ethernet

- Coaxial cable (cáp đồng trục):

+ gồm 2 dây dẫn đồng tâm

+ truyền dẫn hai chiều

+ baseband:

- kênh đơn trên cáp

- kế thừa Ethernet

+ broadband:

- nhiều kênh trên cáp

- HFC

3

Page 4: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- Fiber optic cable (cáp quang):

+ sợi thủy tinh mang xung ánh sáng (light pulses), mỗi xung 1 bit

+ hoạt động tốc độ cao: truyền dẫn point-to-point tốc độ cao (ví dụ, 10's-100’sGps)

+ tỷ lệ lỗi thấp: lặp lại khoảng cách xa, miễn dịch với nhiễu điện từ.

unguided media: (mạng không dây)

- tín hiệu mang trong phổ điện từ

- không kết nối vật lý bằng dây

- truyền dẫn hai chiều

- những tác động trong môi trường truyền:

+ phản ánh

+ cản trở bởi các đối tượng

+ can thiệp

- Các loại liên kết vô tuyến:

Sóng trên mặt đất

e.g. up to 45 Mbps channels

LAN (vd: Wifi)

2Mbps, 11Mbps, 54 Mbps

wide-area (mạng diện rộng) (vd: cellular)

vd 3G: hàng trăm kbps

satellite (vệ tinh)

Kbps tới 45Mbps kênh (hoặc các kênh nhỏ hơn nhiều)

270 msec end-end delay

geosynchronous versus low altitude

+Network access (phương thức kết nối - truy cập mạng):

residential (khu dân cư) access nets

institutional access networks (school, company)

mobile access networks

các cách truy cập mạng:

+ Dialup via modem (Quay số qua modem)

- lên đến 56Kbps truy cập trực tiếp đến bộ định tuyến (thường ít)

- Không có thể lướt web và điện thoại tại cùng một thời điểm: không thể là "luônluôn"

4

Page 5: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+ ADSL: asymmetric digital subscriber line (Đường dây thuê bao số bất đối xứng)

- lên đến 1 Mbps upstream (ngày nay thường <256 kbps)

- lên tới 8 Mbps downstream (ngày nay thường <1 Mbps)

- FDM:

50 kHz - 1 MHz cho downstream

4 kHz - 50 kHz cho upstream

0 kHz - 4 kHz cho điện thoại thông thường (ordinary telephone)

+ HFC: hybrid fiber coax (cáp đồng trục lai)

- asymmetric (bất đối xứng): lên đến 30Mbps downstream, 2 Mbps upstream.

- mạng cáp nối từ nhà tới ISP router.

- các hộ dân cư chia sẽ truy cập tới router của ISP.

- triển khai: có sẵn thông qua các công ty truyền hình cáp.

+ Wireless access networks

- chia sẻ mạng truy cập không dây kết nối hệ thống đầu cuối đến router

- thông qua trạm cơ sở (base station) hay còn gọi là "điểm truy cập" .

- wireless LANs (mạng LAN không dây):

802.11b (WiFi): 11 Mbps

- wider-area wireless access (mạng không dây diện rộng)

được cung cấp bởi nhà điều hành viễn thông

3G ~ 384 kbps

WAP/GPRS in Europe

+ Ngoài ra các tổ chức công ty sử dụng mạng cục bộ (LAN) để kết nối các thiết bị cuốitới router biên (edge router)

+ Ethernet:

- Liên kết chia sẻ hoặc dành riêng để kết nối hệ thống đầu cuối và router.

- 10 Mbs, tốc độ 100Mbps, Gigabit Ethernet

+ LANs

+ Các thành phần mạng gia đình điển hình:

- ADSL hoặc cáp modem

- router / firewall / NAT

- Ethernet

- wireless access point (điểm truy cập không dây)

5

Page 6: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

3. Mạng lõi (network core) chuyển mạch mạch và chuyển mạch gói, cấu trúcmạng lõi.

Mạng lõi là mạng kết nối các ISP với nhau, là một mạng lưới các interconnected router,gồm Regional ISP, Global ISP.

+Circuit switching network:

· Là một dạng mạng chuyển mạch.

· Đặc điểm: kết nối giữa hai trạm là một đường dành riêng cho 2 trạm đó.

- Dữ liệu đi theo một đường đi dành riêng cho 2 trạm.

- Đường đi là chuỗi các đường kết nối liên tục giữa các node mạng.

- Kết nối có thể chỉ là một kênh luận lý.

· 3 giai đoạn:

- Tạo kết nối: tạo đường đi dành riêng cho dữ liệu trao đổi giữa hai trạm

- Truyền dữ liệu: dữ liệu có thể số hay tương tự tùy thuộc vào mạng

- Ngắt kết nối: giải phóng đường dành riêng đã được cấp

· Dồn kênh trong mạng chuyển mạch mạch (Multiplexing in Circuit-Switched Networks):

-FDM ( Frequency-division multiplexing ) ( dồn kênh chia theo tần số)

· Thường được dùng với tín hiệu tương tự(analog)

· Nhiều tín hiệu giống nhau được truyền đồng thời trên cùng môi trường truyềnbằng cách điều chế mỗi tín hiệu vào một khoảng tần số khác nhau

· Điều kiện:

- Băng thông môi trường truyền lớn hơn băng thông mà tín hiệu đượctruyền yêu cầu

- Băng thông của các tín hiệu sau khi điều chế không trùng lấp nhau nhiều(guard bands)

· Kênh truyền được cấp phát tĩnh

Với FDM, phổ tần số của một liên kết được phân chia giữa các kết nối được thành lậpqua liên kết. Cụ thể, liên kết dành riêng dải tần số cho mỗi kết nối trong suốt thời giancủa kết nối.Trong mạng viễn thông, tần số độ rộng thường là 4khz.

-TDM ( Time-division multiplexing ) ( dồn kênh chia theo thời gian)

- Dữ liệu được truyền thành những frame có cấu trúc giống nhau

- Mỗi frame gồm một tập các khe thời gian (time slot)

- Mỗi nguồn dữ liệu được truyền trong một hoặc một số time slot trong mỗi frame

- Chuỗi time slot trong các frame cấp cho một nguồn dữ liệu gọi là kênh(channel)

6

Page 7: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- Time slot được gán trước cho mỗi nguồn và không thay đổi - vì vậy gọi là đồngbộ (Synchronous)

- Time slot có thể được gán không đồng đều giữa các nguồn dữ liệu tốc độ khácnhau

- Nguồn phát có tốc độ cao sẽ được gán nhiều timeslot hơn

· Ứng dụng:

- Tổng đài nội bộ (PBX): kết nối các máy điện thoại trong cùng 1 tòa nhà hay giữacác tòa nhà của cùng một tổ chức

- Kết nối đến mạng điện thoại công cộng

- Mạng kết nối riêng (Private Wire Area Network)

- Kết nối giữa các sites khác nhau của cùng một côngty

- Các PBX tại các site được kết nối với nhau thông qua đường truyền dànhriêng

· Tính chất của chuyển mạch mạch

- Dung lượng kênh truyền được dành riêng cho 2 trạm trong suốt quá traođổi dữ liệu, kể cả lúc 2 trạm rảnh.Không phù hợp truyền dữ liệu cho máy tính

- Mất thời gian tạo kết nối trước khi truyền dữ liệu

- Tốc độ dữ liệu cố định:thiết bị ở hai đầu phải chạy cùng tốc độ

- Thường dùng cho mạng điện thoại

+ Không có delay trong lúc truyền dữ liệu

+ Đảm bảo chất lượng của dữ liệu thoại đủ để hiểu được

+ Sử dụng đường truyền hiệu quả

+Packet Switching Network:

Dữ liệu được chia nhỏ thành các gói nhỏ, hầu hết packet switches sử dụngstore and forward transmission ở đầu vào của đường truyền. Store and forwardtransmission nghĩa là router phải nhận hết packet và lưu tạm thời trước khi nó bắt đầutruyền bit đầu tiên vào đầu ra của đường truyền. Do đó store and forward packetswitches tạo ra transmission delay. Mỗi packet switch có nhiều link gắn với nó.Với mỗilink gằn với nó, packet switch có output buffer chứa packet mà router sẽ gửi cácpacket này vào trong link đó. Do đó,ngoài việc tạo ra transmission delay, nó còn tạo raqueuing delay. Những giá trị delay này là không cố địng và phụ thuộc vào mức độ tắcnghẽn của mạng. Vì bộ nhớ của router là hữu hạn, nên khi những packet mới đến trongkhi bộ nhớ của router đầy thì xảy ra trường hợp packet loss.

· Tăng hiệu suất đường truyền

- Một kết nối node-node có thể dùng chung bởi nhiều gói

- Các gói được xếp hàng và truyền đi nhanh nhất có thể

7

Page 8: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

· Chuyển đổi tốc độ dữ liệu

- Mỗi trạm kết nối với node cục bộ bằng tốc độ của trạm

- Các node đệm dữ liệu nếu cần thiết để cân bằng tốc độ

· Các gói được nhận ngay khi mạng đang bận

- Thời gian truyền các gói bị chậm lại

- So với chuyển mạch mạch: không kết nối được

· Có thể phân độ ưu tiên cho các gói

- Một node có thể chuyển các gói có độ ưu tiên cao đi trước

- Các gói có độ ưu tiên cao sẽ ít trễ hơn

+ datagram network:

- địa chỉ đích trong gói tin xác định next hop.

- các tuyến (routes) có thể thay đổi qua các phiên.

- tương tự: driving, hướng dẫn yêu cầu (asking directions)

+ virtual circuit network (mạng mạch ảo):

- mỗi gói mang theo từ khóa (virtual circuit ID), tag xác định hop tiếp theo.

- cố định đường dẫn xác định tại thời gian thiết lập cuộc gọi, giữ nguyên cuộc gọiđến cố định

- thiết bị định tuyến duy trì trạng thái cho mỗi cuộc gọi.

+ cấu trúc mạng lõi: (theo thầy thì lấy hình ở câu 2 bỏ vô???)

Trong mạng internet, những ISP truy cập nằm ở cạnh biên internet được kết nốiđến phần còn lại của internet thông qua một tầng hệ thống phân cấp (tiered hierarchy)của các ISP. Các ISP truy cập nằm ở dưới của hệ thống cấp bậc. Trên cùng nhất củahệ thống cấp bậc là một số lượng nhỏ các ISP cấp 1 gọi là tier-1 ISPs. Thường thì, mộttier-1 ISP cũng giống như bất kỳ một network nào – nó cũng có đường kết nối và routervà nó được kết nối tới network khác. Mặt khác, tier-1 ISP đặc biệt hơn. Tốc độ đườngtruyền của chúng thường khoảng 622 Mbps hoặc cao hơn, với những tier-1 ISP lớnhơn thì có đường truyền trong khoảng 2.5 tới 10 Gbps; những router của chúng phải cókhả năng để chuyển tiếp các gói tin ở mức tỷ lệ rất cao. Những đặc trưng của tier-1ISP:

- Kết nối trực tiếp tới các tier-1 ISP khác

- Kết nối một số lượng lớn các tier-2 ISP và những mạng khách hàng khác(customer network).

- Bao phủ toàn cầu

Tier-1 ISP cũng được biết như mạng internet backbone. Bao gồm Sprint, Verizon, MCI,AT&T, NTT, Level3, Qwest, và Cable & Wireless.

8

Page 9: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

Tier-2 ISP thường bao phủ tầm khu vực hay quốc gia, và chỉ kết nối tới một vài trong sốnhững tier-1 ISP. Một tier-2 ISP được xem là khách hàng của tier-1 ISP mà nó kết nốitới, và một tier-1 ISP được xem là nhà cung cấp cho những khách hàng của nó. Nhiềutổ chức và công ty lớn kết nối mạng doanh nghiệp của họ tới một tier-1 hoặc tier-2 ISP,do đó trở thành khách hàng của ISP đó.

Các tier-3 ISP thường là các ISP cấp thấp hay ISP cục bộ gần hơn với những thiết bịcuối.

4. Mất gói, trễ và băng thông : khái niệm và ý nghĩa các thành phần gây trễ?

+Các thành phần gây trễ:

- Processing delay: thời gian yêu cầu kiểm tra tiêu đề gói tin và xác định nơi để trựctiếp gói tin là một phần của sự chậm trễ xử lý.

- Queuing delay: thời gian chờ đợi tại liên kết đầu ra để truyền, phụ thuộc vào mứcđộ tắc nghẽn của router. Nghĩa là thời gian từ lúc xử lý gói tin xong đến khi đặt gói tinvào bộ đệm của router. Độ dài cùa queuing delay sẽ phụ thuộc vào số packets đã đềntrước đó mà đang trong hàng đợi và chờ để truyền. Nếu mà hàng đợi này rỗng vàkhông có packet nào đang được truyền , thì packet ‘queuing delay’ sẽ là zero. Mặtkhác, nếu nhiều packet cũng đang đợi để truyền, queuing delay sẽ dài ra.

- Transmission delay: R=băng thông đường truyền (bps), L=chiều dài gói tin(bits).Transmission delay là L/R. Nó là tổng thời gian yêu cầu để đẩy tất cả các gói tinvào đường truyền

- Propagation delay: là thời gian mà sau khi packet được đẩy vào đường truyền, nóđược chuyển tới router B. propagation delay phụ thuộc vào đường truyền vật lý (cápquang,cáp xoắn đôi…) và phạm vi tốc độ truyền nằm trong khoảng: 2x108 meter/sectới 3x108 meter sec. đó là bằng, hoặc ít hơn một chút, tốc độ của ánh sáng.Propagation delay là khoảng cách giữa hai router chia cho tốc độ truyền. Nghĩa là,propagation delay là d/s, d là khoảng cách giữa hai router A và router B, và s là tốcđộ truyền giữa hai router.

- Nodal delay: bằng tổng tất cả các thành phần gây trễ trên.

+Mất gói:

- Packet loss: hàng đợi (hay còn gọi là bộ đệm) có khả năng hữu hạn. Khi gói tin đếnmà bộ đệm bị đầy sẽ bị huỷ (còn gọi là bị mất). Bị mất gói dữ liệu có thể được truyền lạibởi các nút trước đó, hệ thống đầu cuối nguồn, hoặc không ở tất cả các nơi khác.

+Băng thông và thông lượng:

Tính bằng tỷ lệ (bit / đơn vị thời gian) mà tại đó bit được chuyển giao giữa người gửi vàngười nhận.

- Bandwidth (băng thông): là thông lượng tối đa mà đường truyền có thể đáp ứng.

- Throughput: là thông lượng truyền tại một thời điểm bất kỳ (throughput < bandwidth).

Throughput = min { Rs; Rc; R/10 }

9

Page 10: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

5. Kiến trúc phân tầng và lớp các giao thức ( Internet protocol )

+Mô hình TCP/IP:

“Bộ giao thức TCP/IP (được sử dụng trên Internet) ra đời trước khi có mô hình OSI.Do vậy, các tầng trong bộ giao thức TCP/IP không giống hệt như các tầng trong môhình OSI. Bộ giao thức TCP/IP thực hiện phân chia theo 5 phần: vật lý, liên kết dữ liệu,mạng, giao vận và ứng dụng. Bốn tầng đầu tiên cung cấp các chuẩn vật lý, giao tiếpmạng, liên mạng và chức năng giao vận tương ứng với 4 tầng đầu tiên trong mô hìnhOSI. Tuy nhiên 3 tầng trên cùng trong mô hình OSI (Application, Presentation,Session) được nhập thành tầng ứng dụng (Application) trong mô hình Intemet.

TCP/IP là một giao thức phân cấp, được tạo thành bởi các module độc lập, mỗimodule cung cấp một chức năng nhất định, các module này không nhất thiết phải độclập với nhau. Mô hình OSI xác định rõ chức năng nào thuộc về tầng nào; trong khi đócác tầng của bộ giao thức TCP/IP chứa các giao thức tương đối độc lập với nhau,nhưng các giao thức này vẫn có thể kết hợp với nhau tùy thuộc nhu cầu hệ thống.Thuật ngữ “phân cấp” mang nghĩa mỗi giao thức ở tầng trên được hỗ trợ bởi một hoặcnhiều giao thức ở tầng dưới.“

-Application layer: hỗ trợ nhiều giao thức ứng dụng mạng như: FTP, SMTP, HTTP.Giao thức của tầng Application được phân phối trên các thiết bị cuối (end systems), mộtứng dụng trên 1 máy sẽ sử dụng giao thức để chuyển các gói tin tới cùng ứng dụng đótrên một máy khác. Một gói tin của tầng ứng dụng được gọi là thông điệp (message).

-Transport layer: vận chuyển dữ liệu, chính xác là vận chuyển các message của tầngứng dụng giữa các endpoint , gồm 2 giao thức: Transmission Control Protocol (TCP)và User Datagram Protocol (UDP).

Trong đó TCP cung cấp một dịch vụ định hướng kết nối (connection-oriented)cho các ứng dụng của nó. Dịch vụ này bao gồm việc phần phối đảm bảo dữ liệu(các message của tầng ứng dụng) từ nguồn tới đích và kiểm soát luồng (flowcontrol). TCP cũng chia nhỏ các message dài thành những message ngắn hơn(segment) và cung cấp một cơ chế kiểm soát tắc nghẽn (congestion-control).

Còn UDP lại cung cấp dịch vụ mất-kết nối (connectionless – vì có thể bị mất góitin) cho các ứng dụng của nó. UDP không tin cậy, nó không kiểm soát luồng,không kiểm soát tắc nghẽn.

-Network layer: định tuyến các gói dữ liệu (datagrams) từ nguồn tới đích, ở đây chỉ cógiao thức Internetworking Protocol (IP). Tất cả các thành phần internet mà có lớpnetwork đều phải chạy giao thức IP. Lớp network của internet cũng chứa các giao thứcđịnh tuyến (routing protocols) để định tuyến các gói dữ liệu (datagrams) từ nguồn tớiđích.

-Link layer: chuyển dữ liệu giữa các network elements. Tầng network sẽ pass gói dữliệu (datagram) xuống tầng Link, tầng này sẽ phân phối datagram đến node (host hoặcrouter) tiếp theo của tuyến (route). Các gói dữ liệu ở tầng này gọi là frames. Vài giaothức của tầng này cung cấp việc phân phối tin cậy từ node vận chuyển qua một đườngtruyền tới node nhận. Chẳng hạn như Ethernet, WiFi, Point-to-point protocol (PPP).

10

Page 11: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

-Physical layer: tầng này sẽ chuyển toàn bộ các frame thành bit để truyền từ nodenày sang node tiếp theo. Giao thức của tầng này phụ thuộc vào các loại đường truyềnkết nối (cáp xoắn đôi, cáp quang…). Nếu một mạng có nhiều giao thức lớp vật lý: vừadùng cáp xoắn đôi, cáp đồng trục, cáp quang… thì 1 bit sẽ được di chuyển qua nhiềuđường truyền với những cách khác nhau.

+Mô hình OSI:

Mở rộng thêm 2 trường: presentation và session

-Presentation layer: Tầng trình diễn thực hiện các nhiệm vụ liên quan đến cú pháp vàngữ nghĩa của các thông tin được trao đổi giữa hai hệ thống. tầng này có nhiệm vụ:phiên dịch, mã hóa, nén dữ liệu.

-Session layer: Tầng phiên đóng vai trò “kiểm soát viên" hội thoại (dialog) của mạngvới nhiệm vụ thiết lập, duy trì và đồng bộ hóa tính liên tác giữa hai bên.

6. Tầng ứng dụng: các nguyên tắc cơ bản, mô hình client-server, p2p, khái niệmsocket, các thông số kĩ thuật đánh giá dịch vụ

+Các nguyên tắc cơ bản :

khi phát triển ứng dụng mới, cần phải viết phần mềm sẽ chạy trên nhiều thiết bị cuối(end systems). Giao tiếp qua 1 network.

11

Page 12: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

Quan trọng: không cần (hay ít) phải viết phần mềm chạy trên thiết bị mạng lõi, chẳnghạn như router hoặc switches. Vì các thiết bị mạng lõi không chạy code ứng dụng củangười dùng. Mặt khác, ứng dụng trên các thiết bị cuối đã cho phép phát triển và lan tỏaứng dụng nhanh chóng.

+Client-server:

- Server:

+ luôn luôn chạy

+ địa chỉ Ip cố định

+ có thể hình thành cụm máy chủ mở rộng quy mô

- Client:

+ giao tiếp với máy chủ

+ có thể kết nối gián đoạn

+ có thể có địa chỉ IP động

+ không giao tiếp trực tiếp với nhau

+P2P:

- Không có máy chủ luôn chạy

- Các thiết bị cuối tùy ý giao tiếp trực tiếp

- Kết nối ngắt quãng và IP động

- Khả năng mở rộng cao nhưng khó quản lý

+Socket:

Socket là giao diện giữa tiến trình ứng dụng và thực thể giao vận.

Hai tiến trình liên lạc với nhau bằng cách gửi và nhận thông điệp qua các socket củachúng. Socket có thể xem như “cửa” của tiến trình vì tiến trình nhận và gửi thông điệpthông qua “cửa”. Khi muốn gửi thông điệp tới tiến trình khác, tiến trình đẩy thông điệpcần gửi qua "cửa" với giả định rằng thực thể giao vận nằm bên kia "cửa" sẽ chuyểnthông điệp đến “cửa” của tiến trình nhận. Gồm IP và port, còn gọi là địa chỉ tiến trình.

+Địa chỉ tiến trình:

Để gửi thông điệp cho tiến trình trên máy tính khác thì tiến trình gửi phải xác địnhđược tiến trình nhận. Tiến trình được xác định qua hai phần: (1) tên hay địa chỉ củamáy tính, và (2) định danh xác định tiến trình trên máy tính (port).

+ các thông số kĩ thuật đánh giá dịch vụ:

- Reliable data transfer (truyền dữ liệu tin cậy):

+ một số ứng dụng (ví dụ: audio) có thể chịu đựng được một số tổn thất (dataloss)

+ các ứng dụng khác (ví dụ: file transfer, telnet) đòi hỏi phải truyền dữ liệu đángtin cậy 100%

12

Page 13: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- Timing (thời gian):

+ một số ứng dụng (ví dụ: điện thoại Internet, trò chơi tương tác) yêu cầu độ trễthấp để "hiệu quả".

- Throughput & Bandwidth (thông lượng & băng thông):

+ một số ứng dụng (ví dụ: multimedia) yêu cầu số lượng băng thông tối thiểu đểcó thể "hiệu quả"

+ các ứng dụng khác ("ứng dụng elastic") sử dụng bất cứ băng thông nào chúngnhận được. (xem thêm hình 2.4 trang 95 trong sách)

- Security (an ninh):

+ một giao thức vận chuyển có thể cung cấp cho ứng dụng một hoặc nhiều dịchvụ bảo mật. Chẳng hạn việc mã hóa và giải mã dữ liệu trong quá trình gởi vànhận.

7. Web và giao thức http: nguyên lý hoạt động, kết nối bền và không bền, cácloại thông điệp và cấu trúc thông điệp http, cookie và web proxy

+Web:

- Trang web bao gồm các đối tượng

- Đối tượng có thể là tập tin HTML, JPEG hình ảnh, Java applet, tập tin âm thanh, ...

- Trang web bao gồm các tập tin HTML cơ sở trong đó bao gồm một số đối tượng thamchiếu

- Mỗi đối tượng được đánh địa chỉ bởi một URL

+HTTP (hypertext transfer protocol):

- Là giao thức của lớp ứng dụng Web

- Mô hình client / server:

+ Client: trình duyệt yêu cầu, nhận, "hiển thị" đối tượng Web

+ Server: Web server gửi các đối tượng đáp ứng các yêu cầu

- Hiện tại có 2 phiên bản:

+ HTTP 1.0: RFC 1945

+ HTTP 1.1: RFC 2068

- Sử dụng TCP:

+ khách hàng khởi tạo kết nối TCP (tạo socket) đến server, cổng 80

+ server chấp nhận kết nối TCP từ client

+ Các thông điệp HTTP (các thông điệp giao thức tầng ứng dụng) được trao đổigiữa các trình duyệt (HTTP client) và Web server (HTTP server)

+ Đóng kết nối TCP

13

Page 14: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- HTTP là "không trạng thái" (stateless): máy chủ không duy trì thông tin về yêu cầu củakhách hàng trong quá khứ.

Hình mô tả hoạt động của HTTP

+HTTP connections (kết nối của HTTP):

- Nonpersistent HTTP (kết nối không bền):

+ HTTP/1.0 sử dụng nonpersistent HTTP

+ Hầu hết mỗi một đối tượng được gửi qua một kết nối TCP.

+ Một kết nối TCP phải được khởi tạo và duy trì cho mỗi đối tượng yêu cầu. Vớimỗi kết nối, TCP buffers phải được phân bổ và biến TCP phải được giữ trên cảclient và server.

+ Yêu cầu 2 RTT cho mỗi đối tượng (RTT: thời gian để gởi một gói tin nhỏ từclient tới server và nhận về, cần 2 RTT vì: một để khởi tạo kết nối TCP, một chođáp trả request và truyền dữ liệu)

+ Hệ điều hành overhead cho mỗi kết nối TCP

+ Các trình duyệt thường xuyên mở các kết nối TCP song song để lấy đối tượngtham chiếu

- Persistent HTTP (kết nối bền):

+ HTTP/1.1 sử dụng kết nối bền ở chế độ mặc định

+ Nhiều đối tượng có thể được gửi qua cùng một kết nối TCP duy nhất giữaserver và client.

+ Máy chủ để lại kết nối mở sau khi gửi phản hồi

+ Sau đó HTTP nhắn tin giữa client /server được gửi qua kết nối mở

+ Persistent không có pipelining:

- client chỉ phát yêu cầu khi phản hồi trước đó đã được nhận

14

Page 15: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- một RTT cho mỗi đối tường tham chiếu

+ Persistent với pipelining:

- mặc định trong HTTP/1.1

- client gửi yêu cầu ngay sau khi nó gặp một đối tượng tham chiếu

- ít nhất là một RTT cho tất cả các đối tượng tham chiếu

+Các loại thông điệp và cấu trúc thông điệp HTTP:

- http request message:

- request line: gồm ba trường

+ method:

HTTP1.0:

- get, post, head (yêu cầu máy chủ để lại đối tượng yêu cầura khỏi phản hồi)

HTTP1.1:

- get, post, head

- put (tải file trong entity body tới đường dẫn chỉ định trongtrường URL)

- delete (xóa file chỉ định trong trường URL)

+ url

+ version: vd:http 1.1

- header line: host (địa chỉ host), user-agent (là loại trình duyệt và phiên bản củanó), connection, accept language (loại ngôn ngữ chấp nhận).

- body

15

Page 16: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- http response message:

- status line:

+ version.vd:HTTP/1.1

+ status code: một vài code điển hình:

200 OK

yêu cầu thành công, đối tượng được yêu cầu sau trong tinnhắn này

301 Moved Permanently (Đã dời đi vĩnh viễn)

Đối tượng yêu cầu đã di chuyển, vị trí mới được chỉ định sautrong tin nhắn này

400 Bad Request

Tin nhắn yêu cầu không được hiểu bởi máy chủ

404 Not Found

Tài liệu yêu cầu không được tìm thấy trên máy chủ này

505 HTTP Version Not Supported (Phiên bản HTTP không đượchỗ trợ)

- header line:

+ connection.vd:close

+ date: header line chỉ ra thời gian và ngày mà HTTP response được tạora và gửi bởi server

+ Server: chỉ ra loại máy chủ server

16

Page 17: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+ Last Modified: chỉ ra ngày tạo ra cái objects hoặc là lần cuối cùng chỉnhsửa

+ Content-length:chỉ ra số bytes của objects được gửi

+ Conten- type:chỉ ra bên trong body của objects viết bằng gì.Vd:html text

- Body

+Cookie:

Cookie là kỹ thuật khác được server sử dụng để ghi lại đấu vết của người truycập. Nó được đặc tả trong RFC 2109. Ví dụ lần đầu tiên người dùng truy cập vào mộtserver nào đó có sử dụng cookie. Thông điệp trả lời của server có trường Set-cookies:trong tiêu đề cùng với một chuỗi ký tự do web server tạo ra.

Ví dụ Set-cookies :1678453. Khi nhận được thông điệp trả lời, client xác địnhđược trường Set-cookies và chuỗi ký tự đi kèm, Trình duyệt sẽ thêm một dòng vào cuốifile cookie (và một file đặc biệt trên máy client). Dòng này thường là dòng chứa tên máychủ và chuỗi ký tự cookie. Giả sử một tuần sau, client gửi thông điệp yêu cầu đếnserver, client sẽ tự động chèn trường Cookies: trong tiêu đề của thông điệp yêu cầu vớigiá trị là chuỗi giá trị cookie lưu trong file cookie. Trong ví dụ trên, tiêu đề chứa trườngcookies là Cookie:1678453. Theo cách này, server không xác định được tên của ngườidùng (user name) nhưng xác định được user này chính là người đã truy cập một tuầntrước đó.

- 4 thành phần:

+ cookie header line cùa tin nhắn HTTP response

+ cookie header line trong tin nhắn HTTP request

+ file cookie được giữ trên host của user, được quản lý bởi trình duyệt của user

+ back-end database tại web site

- Web server sử dụng cookie cho nhiều mục đích:

·

·

·

Nếu server yêu cầu kiểm chứng nhưng không muốn đòi hỏi người dùng đăngnhập qua tên và mật khẩu thì có thề sử dụng cookie cho mỗi lần người dùngtruy cập vào server. (user session state)

Server sử dụng cookie nếu muốn ghi nhớ các hoạt động của người dùng,phục vụ mục đích quảng cáo.

Nếu user mua hàng trên mạng thì server sử dụng cookie để ghi lại những gìmà user đã mua. Đó chính là các cửa hàng ảo.

- Nhược điểm, hạn chế:

+ Sử dụng cookie gây khó khăn cho người dùng không có máy cố định mà truycập vào server từ nhiều máy khác nhau. Server sẽ coi đó là những người dùngphân biệt.

+ web site có thể biết nhiều về người dùng và tiềm ẩn khả năng bán lại thông tincho bên thứ ba.

17

Page 18: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+Web proxy:

Web cache (proxy server) là thực thể đáp ứng yêu cầu từ client. Máy tính làmnhiệm vụ Web cache có ổ đĩa riêng lưu trữ bản sao các đối tượng đã từng được yêucầu. Người sử dụng có thể cấu hình cho trình duyệt sao cho tất cả các yêu cầu đềuđược gửi đến web cache trước (việc này tương đối đơn giản với các trình duyệt củaMicrosoft và Nescape). Khi đó tất cả yêu cầu của trình duyệt về một đối tượng nào đósẽ được chuyển đến webcache trước.

- Nguyên tắc hoạt động: (nên vẽ hình 2.11 trang 113 trong sách)

·

·

·

·

Trình duyệt khởi tạo một kết nối TCP tới webcache và gửi yêu cầu tớiwebcache

Webcache sẽ kiểm tra và tìm đối tượng, nếu tìm được thì webcache sẽ gửi đốitượng cho client qua kết nối TCP đã được thiết lập.

Nếu webcache không có đối tượng đó thì nó sẽ khởi tạo một kết nối tới serverthật sự chứa đối tượng. Sau đó webcache gửi thông điệp yêu cầu tới choserver này thông qua kết nối TCP vừa khởi tạo. Sau khi nhận được yêu cầu từwebcache, server sẽ gửi lại đối tượng cho webcache.

Khi nhận được đối tượng, webcache sẽ lưu lại bản sao của đối tượng và gửiđối tượng trong thông điệp HTTP trả lời cho máy client (thông qua kết nối TCPđã được thiết lập trước đó).

Như vậy webcache vừa là client vừa là server. Webcache đóng vai trò server khinhận yêu cầu và trả lời, đóng vai trò client khi gửi yêu cầu và nhận thông điệp trả lời.

- Lợi ích:

- giảm thời gian response cho client.

- giảm lưu lượng truy cập vào liên kết truy cập của một tổ chức, do đó sẽ giảmlưu lượng (traffic) trên đường truyền kết nối internet. (giảm tải mạng)

8. FTP : nguyên lý hoạt động, các loại thông điệp và cấu trúc thông điệp FTP

FTP (File Transfer Protocol) là giao thức truyền file giữa các máy tính. Giao thứcnày xuất hiện từ những năm 1971 (khi Internet vẫn chỉ là một dự án thử nghiệm) nhưngvẫn còn được sử dụng rộng rãi cho đến tận ngày nay. FTP được đặc tả trong RFC 959.

FTP sử dụng hai kết nối TCP song song để truyền file, một kết nối điều khiển(21) vàmột kết nối dữ liệu(20): (vẽ hình 2.15 trang 119)

- Kết nối điều khiển thì được sử dụng cho việc gửi thông tin kiểm soát thông tingiữa hai máy như là nhận dạng người dùng, mật khẩu, lệnh để thay đổi thư mụctừ xa, và lệnh để “put” và “get” file.

- Kết nối dữ liệu được sử dụng để thực sự gửi một tập tin. Bởi vì ftp sử dụng kếtnối điều khiển riêng biệt, ftp được cho là gửi thông tin kiểm soát của nó ngoài dải(out of band).

- Quy trình hoạt động của FTP:

18

Page 19: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+ FTP client liên lạc FTP server ở cổng 21, TCP là giao thức truyền tải.

+ Client được ủy quyền điều khiển kết nối.

+ Client duyệt thư mục từ xa bằng cách gửi lệnh qua kết nối điều khiển.

+ khi máy chủ nhận được lệnh chuyển tập tin, máy chủ sẽ mở ra kết nối TCP thứ2 (file) cho Client.

+ sau khi chuyển một tập tin, máy chủ đóng kết nối dữ liệu.

+ máy chủ sẽ mở ra một kết nối dữ liệu TCP khác để chuyển một tập tin khác.

+ kiểm soát kết nối: "ngoài dải"(out of band).

+ FTP server duy trì "trạng thái": thư mục hiện tại, xác thực trước đó.

- Hai thông điệp: commands and replies

+ commands: được mã hoá bằng bảng mã ASCII 7 bit. Mỗi câu lệnh chứa 4 kí tự ASCIIin hoa, một số lệnh có tham số. Sau đây là một số câu lệnh hay gặp:

- USER username: sử dụng để gửi thông tin định danh người dùng cho server

- PASS password: dùng để gửi password cho server

- LIST: dùng để yêu cầu server gửi một danh sách các file trong thư mục hiệnthời. Danh sách này được gửi thông qua một kết nối dữ liệu TCP.

- RETR filename: dùng để lấy một file từ thư mục hiện thời (trên máy ở xa)

- STOR filename: dùng để tải một file vào thư mục hiện thời (trên máy ở xa)

+ replies: Câu trả lời là một mã 3 chữ số và có thể có một thông báo kèm theo.

- 331 Username OK, password required

- 125 data connection already open; transfer starting

- 425 Can’t open data connection

- 452 Error writing file

9. các giao thức email SMTP, POP3, IMAP: nguyên lý hoạt động, các loại thôngđiệp và cấu trúc thông điệp

+Mail: (phần mail này có thể bỏ)

- Gồm 3 thành phần: user agent, mail server và SMTP (Simple Mail Transfer Protocol)

19

Page 20: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- User agent: (còn được gọi là mail reader - trình đọc thư) Chương trình giao tiếp ngườidùng cho phép đọc, hồi âm, gửi, lưu giữ và soạn thảo các thư. Hiện nay, những phầnmềm soạn e-mail thông dụng là Eudora, Microsoft Outlook và Nescape Messenger.

- Mail server:

+ mail box chứa các tin nhắn được gởi đến cho user.

+ Nếu mail server không thể gửi được vì lý do nào đó, nó sẽ giữ những thư đótrong hàng đợi gửi thông điệp và sẽ cố gắng gửi lại các thông điệp.

+ Dùng giao thức SMTP để gởi tin nhắn email giữa các mail server.

+SMTP:

- SMTP (Simple Mail Transfer Protocol) là giao thức gửi thư điện tử của tầng ứng dụng.

- SMTP sử dụng dịch vụ truyền dữ liệu tin cậy của TCP để truyền thư trực tiếp từ mailserver của người gửi đến mail server của người nhận. Dùng port 25.

- 3 bước chuyển thư:

+ bắt tay (handshaking)

+ chuyển các thông điệp

+ đóng kết nối

- Command / Response:

+ command: là ASCII text

- Các lệnh SMTP command: HELO, MAIL FROM, RCPT TO, DATA, QUIT

+ response: mã trạng thái (status) và cụm thông báo

Vd:

220 theo sau là địa chỉ server

250 theo sau là một thông điệp trạng thái

221 thông điệp đóng kết nối

- SMTP dùng kết nối persistent.

- Tin nhắn phải là 7-bit ASCII.

- Để minh hoạ hoạt động cơ bản của SMTP, hãy xét ví dụ sau giả sử Alice muốn gửicho Bop một thông điệp ASCII đơn giản: (phần này quan trọng)

· Đầu tiên, Alice sử dụng user agent của mình, đánh địa chỉ e-mail của Bop (bopsomechool.edu), soạn e-mail và yêu cầu user agent gửi thư đi.

· User agent của Alice gửi thư tới mail server của Alice. Tại đây thư được đặt vàohàng thư đợi gửi .

· SMTP client chạy trên mail server của Alice thấy thư trong hàng đợi. Nó tạo kếtnối TCP tới SMTP server trên mail server của Bop.

· Sau giai đoạn khởi tạo 3 bước, SMTP client gửi thư của Alice qua kết nối TCP.

20

Page 21: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

· Tại mail server của Bop, SMTP server nhận thư và đặt thư vào mail box củaBop.

· Cuối cùng, khi thuận tiện Bop sẽ sử dụng user agent của mình để đọc thư.

+POP3:

POP3 được đặc tả trong RFC 1939 là giao thức lấy thư cực kỳ đơn giản và có rất ítchức năng. POP3 được khởi tạo khi user agent (client) tạo kết nối TCP tới mail server(server) qua port 110.

- Sau khi thiết lập được kết nối TCP, POP3 gồm 3 giai đoạn: authorization (kiểmchứng), transaction (tiến hành xử lý) và update (cập nhật).

user agent thực thi lệnh và server đáp lại mỗi lệnh đó với lời đáp. Có hairesponse khả thi:+OK sử dụng bởi server để chỉ ra câu lệnh trước đó là ổn,-ERR sử dụng vởi server để chỉ ra câu lệnh trước đó là sai.

+ Trong giai đoạn kiểm chứng đầu tiên, user agent sử dụng tên và mật khẩu đểxác nhận người sử dụng. có hai commands chính: user <username> và pass<password>

+ Trong giai đoạn tiến hành xử lý thứ hai user agent tiến hành lấy thư. Nó cóthể đánh dấu các thư để xoá hay hủy bỏ việc đánh đấu xoá. Người sử dụng cóthể cấu hình user agent ở một trong hai chế độ “tải và xoá” ("download anddelete") hay "tải và giữ" (“download and keep"). Chuỗi lệnh được user agentgửi phụ thuộc vào cấu hình này.

- Ở chế độ "download and delete", user agent chỉ thực hiện ba câu lênh:list (danh sách số của tin nhắn), retr (lấy tin nhắn từ số) và dele (xóa),sau khi xong thực hiện lệnh quit -> kết thúc phiên làm việc.

- Trong chế độ thứ hai “download and keep”, user agent vẫn để lại thưtrên mail server sau khi đã tải về.

+ Giai đoạn ba - cập nhật, xảy ra sau khi client ra lệnh quit để kết thúc phiênlàm việc POP3 . Tại thời điểm đó mail server xoá tất cả thư được đánh dấu(nếu ở chế độ "download and delete" ).

- POP3 mặc định ở chế độ "download and delete". Do đó người dùng không thể đọclại thư nếu đổi client khác vì mail trên server đã bị xóa.

- Trong chế độ “download and keep”, user agent vẫn để lại thư trên mail server saukhi đã tải về (nó copy thư đến client).

- POP3 chỉ lưu giữ thông tin trạng thái trong 1 phiên làm việc (1 session). POP3 serverkhông lưu giữ trạng thái của mỗi người dùng sau khi phiên làm việc kết thúc.

+IMAP:

- IMAP được thiết kế cho phép người dùng thao tác trên những hộp thư ở xa một cáchdễ dàng.

- IMAP giữ tất cả message trên server.

21

Page 22: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- Cho phép người dùng tạo những thư mục thư khác nhau trong mailbox, có thể đặt thưvào trong thư mục hay dịch chuyển thư từ thư mục này đến những thư mục khác.

- Tính năng quan trọng khác của IMAP là cho phép user agent chỉ lấy một số thànhphần của bức thư. Vd: có thể tải trước một phần cua bức thư.

- Những thông tin trạng thái được mail server lưu giữ cho tất cả các phiên làm việc.

10. DNS: cấu trúc DNS, hoạt động, các loại thông điệp, bản ghi DNS

+Chức năng, dịch vụ của DNS:

- Chuyển đổi hostname sang IP

- Đặt bí danh cho máy tính (Host aliasing)

- Đặt bí danh cho mail server (Mail server aliasing)

- Phân tán tải (Load distribution)

+Hoạt động của DNS: (vẽ hình 2.21 /139 và hình 2.22 /140 dễ hiểu hơn)

22

Page 23: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- Khi cần phẩn giải tên hay IP, client sẽ truy vần đến DNS server. DNS được thiết kếphân tán. DNS sử dụng nhiều DNS server tổ chức phân cấp và phân tán trên toàn cầu.Không có DNS server nào chứa tất cả tên và địa chỉ IP các máy tính trên Internetnhững thông tin này được phân tán trên nhiều DNS server.

- Có ba lớp DNS server: root DNS server, top-level domain (TLD) server vàauthoritative DNS server. Các DNS server đó trao đổi thông tin với nhau và với cácmáy tính khác.

+ Root DNS server: Trên Intemet có 13 root DNS server, hầu hết đặt tại BắcMỹ.

+ Top-level domain server: những server phản hồi cho các top-level domainnhư com, org, net, edu, gov và tất cà các top-level domain quốc gia như uk, fr,ca, jp.

+ Authoritative DNS server: Mỗi máy tính phải đăng ký tới một Authoritativename server. Thông thường authoriative name server của một máy tính là nameserver trong miền ISP của máy tính đó (thực tế mỗi máy tính phải có ít nhất haiauthoritative name server, để đề phòng trường hợp một name server bị hỏng).Có thể định nghĩa, Authoriative name server của một máy tính là nameserverluôn lưu trữ bản ghi DNS cho phép xác định địa chỉ IP của máy tính đó từ tên.

- Ngoài ra còn 1 loại DNS server quan trọng khác là local DNS server: Mỗi tổ chức nhưcác ISP, trường đại học, công ty đều có local DNS server (còn được gọi là defaultname server). Khi máy tính trong cơ quan tạo ra một thông điệp truy vấn DNS thì đầutiên thông điệp đó được gửi tới local DNS server của tổ chức. Địa chỉ IP của local DNSserver phải được cấu hình trong máy tính.

- Nếu một local DNS server không thề trả lời truy vấn của 1 máy tính, nó sẽ truy vấn lêncác DNS server cấp cao hơn bên ngoài, chẳng hạn như root DNS server. Nếu rootDNS server có thông tin của máy tính được hỏi, nó sẽ gửi một thông điệp hồi âm DNStới local DNS server và sau đó thông tin này được local DNS server gửi trả lời cho máytính yêu cầu. Nếu root DNS server không có thông tin, nó sẽ truy vấn ngược xuống cácTLD server và authoritative server khác để lấy thông tin về, sau đó gởi trả lại cho localDNS server đã yêu cầu truy vấn.

+DNS caching:

- khi DNS Server nhận được trả lời DNS (ánh xạ hostname sang IP), nó lưu lạikết quả đó.

- Các TLD server mặc định được cache trong các local DNS server.

+Bản ghi DNS (resource record):

- Bản ghi tài nguyên gồm 4 trường sau: (Name, Value, Type, TTL)

+ TTL là thời gian tồn tại của bản ghi tài nguyên, dùng để xác định thời điểm cóthể xoá bản ghi tài nguyên khỏi bộ nhớ lưu trữ. Ý nghĩa của trường Name vàValue phụ thuộc vào trường Type:

23

Page 24: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

· Nếu Type = A thì Name là tên máy và Value là địa chỉ IP của máy đó. Bảnghi kiểu A là ánh xạ Tên máy - Địa chỉ IP chuẩn. Ví dụ, (relay1.bar.foo.com,145.37.93.126, A) là một bản ghi Type A.

· Nếu Type = NS thì Name là một miền (như là foo.com) và Value là tên máycủa authoriative name server của các máy tính trong miền đó. Bản ghi nàythường được sử dụng để gửi tiếp các truy vấn DNS. Ví dụ 1 bản ghi Type NS:(foo.com, dns.foo.com, NS)

· Nếu Type = CNAME thì Name là tên bí danh (alias) và Value là tên đầy đủcủa máy có tên bí danh đặt trong Name.

Bản ghi kiểu này cho phép xác định tên đầy đủ của một máy tính từ tên bídanh. Ví dụ một bản ghi CNAME: (foo.com, relay1.bar.foo.com, CNAME).

· Nếu Type = MX thì Value là tên máy của mail server có tên bí danh đặttrong Name. Ví dụ, bản ghi kiểu MX (foo.com, mail.bar.foo.com, MX). Bản ghiMX cho phép mail server có tên bí danh đơn giản.

+Các loại thông điệp DNS:

Gồm hai loại là query và reply. Chúng có cùng định dạng.

-Header: 12 byte, gồm 6 trường, mỗi trường 16 bit (1byte=8bit)

+Identification: Trường đầu tiên là một định danh 16 bit cho mỗi thông điệp yêucầu. 16 bít định đanh này được ghi lại vào thông điệp trả lời, cho phép client xácđịnh được đấy là câu trả lời cho thông điệp yêu cầu nào.

+Flags:

- 1 bit query/reply chỉ ra khi nào message là query(0) hay reply(1).

24

Page 25: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- Cờ authoritiative flag được đặt trong thông điệp trả lời khi DNS serverlà authoriative DNS server của tên máy tính cần xác định địa chỉ IP.

- Cờ mong muốn đệ quy (recursive-desired query) được đặt khi client(máy tính hay DNS server ) mong muốn DNS server thực hiện truy vấn đệquy khi nó không có bản ghi đó.

- Cờ chấp nhận đệ quy (recursion-available flag) được đặt trong thôngđiệp trả lời nếu name server đó hỗ trợ đệ quy.

Trong phần tiêu đề cũng có 4 trường số lượng, các trường này xác định sốlượng các bản ghi trong 4 phần dữ liệu sau phần tiêu đề:

+Number of questions: gồm thông tin là (1): tên cần truy vấn ,(2): loại truy vấn.Vd: google.com,type A

+Number of answer RRs: chứa các bản ghi tài nguyên cho tên được yêu cầutrước đó. Chú ý rằng mỗi bản ghi tài nguyên có 4 trường: Type (A, NS, CNAME,MX), Name, Value, TTL. Thông điệp trả lời có thể có nhiều bản ghi tài nguyên vìtên máy tính có thể ứng với nhiều địa chỉ IP.

+Number of authority RRs (Mục thẩm quyền): chứa các bản ghi của cácauthoritative server.

+Number of additional RRs (mục phụ trợ): chứa các bản ghi "hữu ích" khác.Ví dụ trường trả lời trong thông điệp trả lời một truy vấn MX sẽ chứa tên đầy đủcủa mail server có tên bí danh đặt ở trong Name. Phần phụ trợ có thể có mộtbản ghi kiểu A cung cấp địa chỉ IP cho chính mail server đó.

11. Dịch vụ của tầng giao vận

- Nằm giữa tầng ứng dụng và tầng mạng, tầng giao vận là tầng trung tâm trong kiếntrúc phân tầng với nhiệm vụ cung cấp dịch vụ truyền thông giữa các tiến trình ứng dụngchạy trên các máy tính khác nhau.

- Giao thức tầng giao vận cung cấp một kênh truyền logic (ảo) giữa các tiến trình ứngdụng chạy trên máy tính khác nhau. Gọi là logic vì không tồn tại một đường truyền vậtlý thực sự giữa hai tiến trình.

- Các giao thức tầng giao vận chạy trên các thiết bị cuối:

+ Bên gởi: Chia các thông điệp ứng dụng thành nhiều đoạn (segment), đẩy quacho tầng network.

+ Bên nhận: Kết hợp các phân đoạn (segment) thành thông điệp hoàn chỉnh, sauđó đẩy qua cho tầng ứng dụng.

- Trên mạng máy tính có thể có nhiều giao thức hoạt động ở tầng giao vận. Mỗi giaothức có thể cung cấp các dịch vụ với chất lượng khác nhau cho ứng dụng.

- Tất cả giao thức tầng giao vận đều cung cấp dịch vụ dồn kênh (multiplex) và táchkênh (demultiplex), ngoài dịch vụ dồn kênh / tách kênh, tầng giao vận còn có thể cungcấp các dịch vụ khác cho tiến trình ứng dụng như truyền dữ liệu tin cậy, đảm bảobằng thông hay giới hạn độ trễ.

25

Page 26: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

- Tầng giao vận có hai giao thức quan trọng là TCP (tin cậy) và UDP (không tin cậy).

- Điểm khác biệt giữa tầng giao vận và tầng network là:

+ Tầng network giao tiếp logic giữa các host.

+ Tầng transport giao tiếp logic giữa các tiến trình.

12. UDP: cấu trúc, ý nghĩa các trường trong header và cách tính checksum

- UDP đặc tả trong RFC 768 là giao thức giao vận cực kỳ đơn giản. Bên cạnh chứcnăng dồn kênh/phân kênh, UDP có thêm cơ chế phát hiện lỗi đơn giản. Có thế nói nếusử dụng UDP thì gần như ứng dụng làm việc trực tiếp với tầng mạng IP.

- Là dịch vụ “nỗ lực tối đa” (best effort), nên các UDP segment có thể bị mất hoặc gởikhông theo trật tự tới ứng dụng.

- UDP được xem là dịch vụ không hướng nối hay không liên kết trước (connectionless),vì:

+ UDP không đòi hỏi thực thể bên gửi và bên nhận phải liên kết trước khi traođổi dữ liệu. (không có handshaking giữa UDP sender và UDP receive)

+ Mỗi segment là độc lập với các segment khác.

+ không duy trì trạng thái kết nối.

- Thường dùng cho các luồng ứng dụng multimedia vì không có giai đoạn thiết lập kếtnối nên sẽ nhanh. Các giao thức DNS và SNMP (giao thức quản lý mạng) thường chạytrên nền UDP cũng vì lý do này.

- UDP chuyền dữ liệu không tin cậy, không có điều khiển tắc nghẽn (no congestioncontrol). (phần trên này đọc cho biết thôi, bỏ cũng được)

+Cấu trúc một UDP segment và ý nghĩa các trường trong header:

- Header length là 8 byte.

- Tiêu đề (header) UDP có bốn trường, độ lớn mỗi trường là 2 byte (=16 bits):

+ Source port

+ Destination port

+ Length: độ dài (tính theo byte) của toàn bộ segment (bao gồm cả header)

26

Page 27: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+ Checksum: được bên nhận sử dụng để kiểm tra trong segment có lỗi haykhông. Trên thực tế, kể cả tiêu đề của gói dữ liệu IP cũng được tính checksum.

+Cách tính checksum:

- UDP checksum được sử dụng để phát hiện lỗi. Checksum được tính như sau: tínhgiá trị bù một của tổng các từ 16 bit trong segment, giá trị nhận được được đặtvào trường checksum trong gói dữ liệu UDP segment. Giả sử có ba từ 16 bit sauđây:

0110011001100110

0101010101010101

0000111100001111

Tổng hai từ đầu là:

0110011001100110

0101010101010101

1011101110111011

Cộng từ thứ ba vào, ta có:

1011101110111011

0000111100001111

1100101011001010

Cách lấy bù một là đảo 0 thành 1 và 1 thành 0. Vì vậy kết quả phép lấy bù một của1100101011001010 là 0011010100110101 và đó chính là giá trị checksum. Tại phíanhận, tất cả bốn từ (kể cả checksum) được cộng lại. Nếu dữ liệu không có lỗi thìtổng nhận được là 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1. Nếu có một bit nào đó bằng 0 thì tabiết dữ liệu nhận được có lỗi.

- Mặc dù UDP có thể phát hiện lỗi nhưng nó không làm gì khi phát hiện ra lỗi. Có thể nósẽ loại bỏ segment bị lỗi, có thể nó sẽ chuyển segment bị lỗi cho ứng dụng nhận cùngvới một thông điệp cảnh báo.

13. nguyên lý truyền tin cậy 2.0, 2.1, 2.2 và 3.0

* Chú thích hình: Sự kiện kích hoạt việc chuyển trạng thái được đặt phía trênđường kẻ nằm ngang, đó là nhãn sự kiện. Phía bên dưới đường kẻ nằm ngang lànhững hành động mà thực thể phải thực hiện ngay khi sự kiện đó xảy ra (thựchiện trước khi thực thể chuyển sang trạng thái mới).

+Truyền dữ liệu tin cây trên kênh truyền có lỗi bit: giao thức rdt 2.0:

- cơ chế mới trong rdt2.0 (so với rdt1.0): phát hiện lỗi, nhận thông tin phản hồi (ACK /NAK)

27

Page 28: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

“Trong giao thức rdt 2.0, phía gửi có hai trạng thái. Ở trạng thái thứ nhất, phía gửi đợidữ liệu từ tầng trên. Trong trạng thái thứ hai, phía gửi đợi phản hồi ACK hoặc NAK từphía nhận. Nếu nhận được ACK (rdt_rcv(rcvpkt ) && isACK(rcvpkt) trong hình 3.10tương ứng với sự kiện này), phía gửi biết được gói dữ liệu chuyển đến đích an toàn, vìvậy nó trở về trạng thái đợi dữ liệu từ tầng trên để chuyển tiếp. Nếu nhận được NAK,phía gửi gửi lại gói dữ liệu rồi quay lại trạng thái đợi phản hồi ACK hoặc NAK cho góidữ liệu vừa gửi lại. Chú ý rằng khi phía gửi ở trong trạng thái chờ phản hồi (ACK hoặcNAK), nó không thể nhận thêm dữ liệu từ tầng trên đưa xuống. Nó chỉ chấp nhận dữliệu khi nhận được ACK và chuyển trạng thái. Phía gửi không gửi dữ liệu cho đến khinó chắc chắn rằng phía nhận đã nhận đúng gói dữ liệu đã gửi. Giao thức rdt 2.0 vớihành vi như vậy thuộc kiểu dừng và chờ (stop and wait).

FSM bên nhận trong giao thức rdt 2.0 chỉ có một trạng thái duy nhất. Khi nhận được góidữ liệu (packet), phía nhận gửi thông điệp phản hồi ACK hoặc NAK, phụ thuộc vào góidữ liệu đã nhận có lỗi hay không. Trong hình 3.10, rdt_rcv (rcvpkt) && corrups(rcvpkt)tương ứng với sự kiện gói dữ liệu nhận được bị lỗi.”

- Giao thức rdt 2.0 vẫn còn nhược điểm: chúng ta chưa tính đến khả năng chính góiACK hoặc NAK có lỗi.

+Giao thức rdt 2.1: xử lý ACK hoặc NAK bị lỗi:

- Giải quyết được trường hợp duplicate packet do ACK hay NAK lỗi bằng cách thêm sốsequence number vào gói tin.

- Phía nhận chỉ cần kiểm tra số thứ tự để xác định gói dữ liệu nhận được là gói mới haygói truyền lại. Với giao thức stop and wait đơn giản, chỉ cần một bit số thứ tự. Bênnhận có thể xác định bên gửi gửi lại gói dữ liệu đã gửi lần trước (số thứ tự của gói dữ

28

Page 29: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

liệu nhận được trùng với số thứ tự với gói dữ liệu nhận được lần trước) hay gói dữ liệumới (có số thứ tự khác nhau, tăng lên theo module 2).

Trong rdt 2.1, FSM của bên gửi và nhận đều có số trạng thái tăng gấp đôi. Đó là vìtrạng thái giao thức phải biểu diễn gói dữ liệu được gửi (bởi bên gửi) và gói dữ liệuđược đợi (tại bên nhận) có số thứ tự là 0 hay 1. Chú ý rằng các hành động trong trạng

29

Page 30: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

thái gói dữ liệu có số thứ tự 0 được gửi (phía gửi) hoặc được mong đợi (phía nhận)ngược với trạng thái gói dữ liệu có số thứ tự 1 được gửi hay được đợi.

+Giao thức rdt 2.2: không sử dụng NAK:

- Giống chức năng của 2.1, nhưng giả định thay vì dùng NAK, bên nhận gửi ACK chopacket cuối cùng nhận đươc. Nếu nhận hai ACK cho cùng một gói dữ liệu (hiện tượngtrùng ACK - duplicate ACK) bên gửi xác định được bên nhận không nhận đúng gói dữliệu sau gói dữ liệu đã biên nhận ACK hai lần.

+ Bên gởi:

30

Page 31: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+ Bên nhận:

+Giao thức rdt 3.0: Truyền dữ liệu tin cây trên kênh truyền mà dữ liệu bi mất, lỗi:

- Giả định: kênh cơ bản cũng có thể mất các gói tin (dữ liệu hoặc ACKs):nghĩa là truyềntrong kênh vừa mất vừa bị lỗi, checksum, số thứ tự, cácACK, các việc truyền lại sẽ hỗtrợ nhưng không đủ.

- Cách giải quyết: bên gửi chờ ACK trong khoảng thời gian “chấp nhận được”, truyền lạinếu không nhận ACK trong khoảng thời gian này. Nếu gói (hoặc ACK) chỉ trễ (khôngmất): truyền lại sẽ gây trùng, nhưng dùng số thứ tự sẽ giải quyết được. Bên nhận phảixác định số thứ tự của gói ACK vừa gửi. Cải tiến là: yêu cầu đồng hồ đếm ngược(timer).

31

Page 32: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

14. các phương thức GBN và SR

+ GBN (Go-Back-End):

- “Trong giao thức GBN, phía gửi phải đáp ứng ba sự kiện sau:

· Có dữ liêu từ trên chuyển xuống : khi rdt_send() được phía trên sử dụngđể chuyển dữ liệu xuống, phía gửi phải kiểm tra xem cửa sổ đã đầy chưa (tứclà đã có N gói dữ liệu gửi đi chưa được biên nhận không). Nếu cửa sổ chưađầy, phía gửi tạo ra và sau đó gửi gói dữ liệu đồng thời cập nhật các biến. Nếucửa sổ đầy, phía gửi không chấp nhận dữ liệu từ tầng trên và thông báo cửa sổđã đầy. Khi đó, tầng trên sẽ phải gửi lại. Trên thực tế, phía gửi sẽ đưa dữ liệuvào vùng đệm (nhưng chưa gửi ngay) hoặc có cơ chế đồng bộ (sử dụngsemaphore hay cờ) chỉ cho phép tầng ứng dụng sử dụng rdt_send() khi cửa sổchưa đầy.

· Nhân được một ACK: trong giao thức GBN, giá trị biên nhận gói tin có sốthứ tự n sẽ mang giá trị tích luỹ, nghĩa là toàn bộ gói dữ liệu có số thứ tự nhỏhơn hoặc bằng n đều đã được phía nhận nhận đúng. Chúng ta sẽ quay lại vấnđề này khi xem xét phía nhận trong giao thức GBN.

· Hết thời gian đợi (timeout): tên giao thức - “Go-Back-N” bắt nguồn từhành vi của phía gửi khi dữ liệu bị mất hay bị trễ. Giống như trong giao thứcstop and wait, timer được sử dụng để xử lý việc mất gói dữ liệu hay gói phảnhồi. Khi hết thời gian đợi (timeout), phía gửi sẽ gửi lại tất cả các gói dữ liệu đã

32

Page 33: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

được gửi đi trước đó nhưng chưa được biên nhận. Nếu ACK nào đó đượcnhận nhưng vẫn còn gói dữ liệu gửi đi chưa được biên nhận thì timer sẽ đượckhởi động lại. Nếu tất cả các gói dữ liệu đã gửi đều được biên nhận thì có thểngừng timer.

- Các hành động của phía nhận trong giao thức GBN đơn giản. Nếu nhận được đúnggói dữ liệu và gói này đúng thứ tự thì phía nhận gửi ACK cho gói nhận được vàchuyển dữ liệu trong gói dữ liệu này lên trên. Trong tất cả các trường hợp còn lại,phía nhận loại bỏ gói dữ liệu và gửi lại ACK cho gói dữ liệu đúng thứ tự cuốicùng nó nhận được. Chú ý rằng gói dữ liệu được chuyển lên tầng trên một lần duynhất nên nếu gói dữ liệu thứ k được nhận và chuyển lên trên thì nghĩa là tất cả các góidữ liệu có số thứ tự nhỏ hơn k cũng đã được chuyển lên. Sử dựng ACK tích luỹ là sựlựa chọn tuyệt vời cho giao thức GBN.” (đoạn trên này đọc cho hiểu thôi)

>>>Tóm lại, hoạt động của GBN như sau:

-

-

-

Bên gởi sẽ gởi gói tin cho bên nhận, giả sử đang gởi gói N nào đó.

Khi bên nhận nhận được gói tin thứ N (nếu N đúng thứ tự), nó sẽ gởi trả 1 ACKthứ N cho bên gởi để biên nhận cho gói thứ N.

Nếu gói N trong quá trình gởi bị mất hay bị trễ, (Timer được sử dụng để pháthiện mất gói tin), bên gởi sẽ vẫn gởi tiếp các gói tin tiếp theo (N+1, N+2,…). Vìgói thứ N chưa tới được bên nhận (hoặc tới trễ), nên rõ ràng bên nhận sẽ pháthiện các gói thứ N+1, N+2… là sai thứ tự (đang thiếu gói thứ N hoặc gói thứ Nđến sau), cứ mỗi gói nhận sai thứ tự bên nhận sẽ loại bỏ và gởi lại ACK của góiđúng thứ tự cuối cùng nó nhận được (ở trường hợp này là ACK thứ N-1). Khi hếtthời gian đợi (timeout), phía gửi sẽ gửi lại tất cả các gói dữ liệu đã được gửi đitrước đó nhưng chưa được biên nhận. Nếu ACK nào đó được nhận nhưng vẫncòn gói dữ liệu gửi đi chưa được biên nhận thì timer sẽ được khởi động lại. Nếutất cả các gói dữ liệu đã gửi đều được biên nhận thì có thể ngừng timer.

+SR (Selective Repeat):

- Đúng như tên gọi, giao thức lặp lại có lựa chọn (SR - Selective Repeat) tránh việctruyền lại không cần thiết bằng cách bên gửi chỉ gửi lại các gói tin mà nó cho là có lỗi(hoặc mất). Để truyền lại từng gói tin khi cần thiết, bên nhận cần biên nhận cho từng góitin nhận đúng.

- SR vẫn dùng timer, tuy nhiên, mỗi gói tin gửi đi có một timer riêng, bởi vì chỉ có duynhất một gói tin được gửi lại khi hết thời gian đợi.

- Bên nhận Selective Repeat sẽ biên nhận cho bất kỳ gói tin nhận đúng, cho dù khôngtheo đúng thứ tự. Gói tin không đúng thứ tự vẫn được lưu giữ lại cho đến khi tất cả cácgói tin còn thiếu (gói tin có số thứ tự nhỏ hơn) được chuyển đến, khi đó tất cả các góitin sẽ được chuyển lên tầng trên theo đúng thứ tự.

33

Page 34: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

15. giao thức TCP: cấu trúc TCP header và RTT

+TCP segment structure:

- TCp header gồm 20 byte: (32 bit word x5)

- 16 bit source port,16 bit destination port

- 32 bit sequence number

- 32 bit acknowledge number,

- 4 bit header length, 6 bit not used, 6 bit flag ,16 bit receive window: dùng để điều khiểndòng.

- 16 bit checksum,16 bit urgendatapointer

· Trường số thứ tự (sequence number) 32 bit và trường số biên nhận

· (acknowledge number) 32 bit được bên gửi và bên nhận sử dụng trongviệc cung cấp dịch vụ truyền dữ liệu tin cậy, sẽ được đề cập kĩ hơn trong phầndưới đây.

· Trường độ lớn cửa sổ (window size) 16 bit được sử dụng để kiểm soátlưu lượng. Đấy chính là số lượng byte dữ liệu tối đa mà bên nhận có thể chấpnhận được.

· Trường độ dài tiêu đề (length field) 4 bit xác định độ dài của tiêu đề TCPtheo đơn vị là các từ 32 bit. Tiêu đề TCP có thể có độ dài thay đổi phụ thuộctrường option (Nếu trường option rỗng, thì chiều dài của tiêu đề TCP là 20byte).

34

Page 35: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

· Trường option là tuỳ chọn, có thể thay đổi tuỳ ý. Trường này được sửdụng khi bên gửi, bên nhận có thể thương lượng về giá trị MMS hoặc giá trị giatăng của cửa sổ trong mạng cao tốc. Lựa chọn nhãn thời gian (timestamping)cũng được định nghĩa.

· Trường cờ (flag) gồm 6 bit. Bit ACK được sử dụng để chỉ ra rằng giá trịđặt trong trường biên nhận là đúng. Các bit RST, SYN và FIN được sử dụngtrong việc thiết lập hay đóng kết nối. Khi bit PSH được bật, thì đây là dấu hiệuđề yêu cầu bên nhận phải chuyển dữ liệu lên tầng trên ngay lập tức. Cuối cùng,bit URG được dùng để báo hiệu dữ liệu trong segment được thực thể tầng trênphía gửi tạo ra là “khẩn cấp”. Vị trí byte cuối cùng của dữ liệu khẩn cấp đượcxác định bởi con trỏ dữ liệu khẩn 16 bit (ptr to urgent data). TCP phải báo chotầng trên biết có dữ liệu khẩn và đặt con trỏ vào cuối dữ liệu khẩn (Trong thựctế, PSH, URG và con trỏ dữ liệu khẩn không được sử dụng)

- URG

- ACK

- PSH

- RST

- SYN

- FIN

Cờ cho trường Urgent pointer

Cờ cho trường Acknowledgement

Hàm Push

Thiết lập lại đường truyền

Đồng bộ lại số thứ tự

Không gửi thêm số liệu

+RTT (Round Trip Time):

- Thời gian chuyến đi vòng quanh (RTT) là độ dài của thời gian cần cho một tín hiệuđược gửi cộng với chiều dài của thời gian cần cho một sự thừa nhận tín hiệu đượcnhận. Do đó, thời gian trễ này bao gồm thời gian truyền tải giữa hai điểm của một tínhiệu.

- SampleRTT là khoảng tthời gian từ khi gửi segment đến khi nhận được ack chosegment này.

- Thời gian kỳ vọng:

EstimatedRTT = (1-α)*EstimatedRTT + α*SampleRTT

Trong đó : α=0.125

- Độ lệch chuẩn:

DevRTT = (1-β)*DevRTT + β*|SampleRTT - EstimatedRTT|

Trong đó: β=0.25

- Thời gian chờ:

TimeoutInterval = EstimateRTt + 4*DevRTT

>>Hay: thời gian chờ = thời gian kỳ vọng + 4 lần độ lệch chuẩn

35

Page 36: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

16. giao thức TCP: hoạt động và kiểm soát luồng, bắt tay 3 bước

+TCP:

- TCP là dịch vụ hướng nối (connection-oriented).

- TCP hướng nối vì trước khi tiến trình ứng dụng có thể bắt đầu gửi dữ liệu tới một tiếntrình khác, hai tiến trình này phải có thủ tục “bắt tay” với nhau, nghĩa là chúng phải gửimột số gói segment đặc biệt để xác định các tham số đảm bảo cho quá trình truyền dữliệu.

- Trong giai đoạn thiết lập kết nối TCP, hai bên sẽ khởi tạo nhiều biến trạng thái TCPcho kết nối.

- TCP sử dụng nhiều nguyên lý truyền dữ liệu tin cậy, bao gồm cơ chế phát hiện lỗi,truyền lại, biên nhận tích luỹ, timer, trường tiêu đề cho số thứ tự và số biên nhận.

- Vẫn có chức năng dồn kênh, phân kênh.

+Hoạt động của TCP:

các kết nối TCP có ba pha:

- thiết lập kết nối

- truyền dữ liệu

- kết thúc kết nối

- Thiết lập kết nối:

Để thiết lập một kết nối, TCP sử dụng một quy trình 3 bước (3-way handshake) Trướckhi client thử kết nối với một server, server phải đăng ký một cổng và mở cổng đó chocá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ộtclient có thể bắt đầu mở chủ động.

- Truyền dữ liệu:

Ở hai bước đầu tiên trong ba bước bắt tay, hai máy tính trao đổi một số thứ tự gói banđầu (Initial Sequence Number -ISN). Số này có thể chọn một cách ngẫu nhiên. Số thứtự này được dùng để đánh dấu các khối dữ liệu gửi từ mỗi máy tính. Sau mỗi byteđược truyền đi, số này lại được tăng lên. Nhờ vậy ta có thể sắp xếp lại chúng khi tớimáy tính kia bất kể các gói tới nơi theo thứ tự thế nào. Có các cơ chế:

+ Truyền dữ liệu không lỗi (do có cơ chế sửa lỗi/truyền lại)

+ Truyền các gói dữ liệu theo đúng thứ tự

+ Truyền lại các gói dữ liệu mất trên đường truyền

+ Loại bỏ các gói dữ liệu trùng lặp

+ Cơ chế hạn chế tắc nghẽn đường truyền

- Kết thúc kết nối:

36

Page 37: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

Để kết thúc kết nối hai bên sử dụng quá trình bắt tay 4 bước và chiều của kết nối kếtthúc độc lập với nhau. Khi một bên muốn kết thúc, nó gửi đi một gói tin FIN và bên kiagửi lại tin báo nhận ACK. Vì vậy, một quá trình kết thúc tiêu biểu sẽ có 2 cặp gói tin traođổi.

+Kiểm soát luồng (Flow control):

Cặp thiết bị đầu cuối ở mỗi phía của kết nối TCP đều có bộ đệm dữ liệu (buffer). Khi kếtnối TCP nhận được đúng một dòng byte liên tục (đúng thứ tự), nó sẽ đặt dòng byte nàyvào bộ đệm nhận (receive buffer). Tiến trình ứng dụng nhận tương ứng sẽ đọc dữ liệutừ bộ đệm này, nhưng không nhất thiết là phải đọc ngay khi dữ liệu đến. Có thể tiếntrình ứng dụng nhận phải thực hiện nhiều tác vụ khác nên chưa đọc được dữ liệu trongbộ đệm. Nếu ứng dụng đọc dữ liệu chậm thì bên gửi có thể làm tràn bộ đệm nhận dodữ liệu được gửi quá nhiều và quá nhanh. Chính vì lý do này TCP cung cấp dịch vụkiểm soát luồng (flow control) để tránh hiện tượng bên gửi làm tràn bộ đệm bênnhận.

- Kiểm soát luồng là quá trình làm tương thích (matching) về tốc độ: tương thích giữatốc độ bên gửi gửi với tốc độ nhận của bên nhận.

- Để cung cấp cơ chế kiểm soát lưu lượng, TCP bên gửi sử dụng biến receivewindow. Đây là giá trị mà bên nhận báo cho bên gửi biết độ lớn vùng đệm còn rỗi củanó.

- Trong kết nối hai hướng, ở mỗi phía kết nối có giá trị receive window phân biệt.

- Giá trị receive window động, có nghĩa là nó sẽ thay đổi trong thời gian kết nối.

- Giả sử máy A gửi một file lớn tới máy B qua kết nối TCP. Máy B sẽ khởi tạo bộ đệmcho kết nối này với độ lớn RcvBuffer. Tiến trình ứng dụng trên B đọc dữ liệu từ bộ đệm.Chúng ta định nghĩa một số biến sau:

37

Page 38: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

+LastByteread = số thứ tự của byte cuối cùng trong dòng dữ liệu mà tiến trìnhứng dụng trong máy B đọc từ buffer.

+LastByteRcvd = số byte cuối cùng trong dòng dữ liệu đến từ mạng và được đểtrong receive buffer của máy B.

+Vì TCP không được phép tràn bộ đệm nên chúng ta phải có :

LastByteRcvd – LastByteread < RcvBuffer

+Receive window là giá trị RcvWindow, là độ lớn vùng đệm rỗi:

RcvWindow = RcvBuffer - [LastByteRcvd – LastByteread]

+Máy A cũng có hai biến LastByteSent và LastByteAcked. Độ lệch giữa hai biếnnày, LastByteSent - LastByteAcked là số lượng dữ liệu chưa được biên nhận màA gửi qua kết nối. Bằng cách khống chế số lượng dữ liệu chưa được biên nhậnnhỏ hơn giá trị RcvWindow, A đảm bảo không làm tràn bộ đệm tại B. Do vậytrong suốt thời gian kết nối, A phải đảm bảo:

LastByteSent - LastByteAcked <= RcvWindow

+Bắt tay 3 bước:

1. Client yêu cầu mở cổng dịch vụ bằng cách gửi gói tin SYN (gồm cờ SYN=1 vàsequence number) 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. (client_isn)

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. (server_isn)

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 + 1cò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 đã đượcthiết lập.

38

Page 39: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

(P.S: xem hình 3.39 trang 266 trong sách, ở đây client_isn là X, server_isn là Y. Cáchnhớ là ngoài 2 số sequence được tạo ngẫu nhiên ở bước 1 và 2 ra thì: số ACK sau =số sequence trước +1; và số sequence sau = số ACK trước)

17. giao thức IP: cấu trúc IPv4

+Khuôn dạng gói dữ liệu IP (IP datagram format):

39

Page 40: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

· Phiên bản (version): Trường 4 bit này xác định phiên bản giao thức IPcủa gói dữ liệu. Các phiên bản IP khác nhau sử dụng các khuôn dạng dữ liệukhác nhau.

· Độ dài tiêu đề (Header length): Gói dữ liệu IPv4 có thể có nhiều trườngmang tính lựa chọn (đặt trong tiêu đề gói dữ liệu IPv4). 4 bit này được dùng đểxác định vị trí bắt đầu của dữ liệu thực sự trong gói dữ liệu IP. Tuy nhiên phầnlớn gói dữ liệu IP không chứa các trường lựa chọn nên tiêu đề của gói dữ liệuthường cố định là 20 byte

· Kiểu dịch vụ (Type of service - TOS): Trường kiểu dịch vụ (TOS) giúpphân biệt các kiểu khác nhau của gói dữ liệu IP, để từ đó có thể xử lý theonhững cách khác nhau.

· Độ dài gói dữ liệu (datagram length): đây là tổng độ dài tính theo bytecủa gói dữ liệu IP (cả phần tiêu đề lẫn phần dữ liệu). Độ dài trường này là 16bit nên về lý thuyết kích thước tối đa của gói dữ liệu IP là 65.535 byte. Tuynhiên, hiếm khi kích thước gói dữ liệu vượt quá 1500 byte và thường giới hạn là 576 byte.

· Định danh, cờ và vị trí phân đoạn (Identifer, Flags, FragmentionOffset): 3 trường này được sử dụng khi phân mảnh gói IP (fragmentation). Chúý phiên bản mới của IP (IPv6) không cho phép phân mảnh gói dữ liệu tại cácrouter.

· Thời gian tồn tại (Time-To-live - TTL): Trường thời gian tồn tại (TTL)được sử dụng để bảo đảm gói dữ liệu không được lưu chuyển mãi mãi (địnhtuyến lặp theo các đường vòng) trong mạng. Trường này được giảm đi một (-1) mỗi lần gói tin đi qua một router. Nếu trường TTL bằng 0 thì router sẽ loạibỏ gói tin.

· Giao thức (Protocol): Trường này chỉ được sử dụng khi gói dữ liệu IP đếnđược máy tính đích. Giá trị của trường này xác định giao thức tầng giao vận ởmáy tính đích sẽ nhận được phần dữ liệu trong gói dữ liệu IP. Chú ý rằng vaitrò của trường giao thức trong gói dữ liệu IP tương tự vai trò trường số hiệucổng trong segment của tầng giao vận. Trường giao thức được xem là điểmnối giữa tầng mạng và tầng giao vận cũng như trường số hiệu cổng là điểmnối giữa tầng giao vận với ứng dụng cụ thể.

· Checksum của tiêu đề (Header checksum): Trường checksum trong tiêuđề giúp router phát hiện lỗi trong tiêu đề gói dữ liệu IP được gửi đến. Giá trịchecksum được tính bằng cách xem phần tiêu đề là một chuỗi các từ haibyte, cộng các từ này lại và sau đó lấy bù một. Số bù một của tổng nàyđược gọi là Internet checksum. Router tính lại Internet checksum cho mỗi góidữ liệu IP nhận được và có thể phát hiện ra lỗi nếu như giá trị checksum tính lạikhác giá trị checksum trong gói dữ liệu.

40

Page 41: Giai Mang Nang Cao_Thầy TS. Lương Mạnh Hải

· Đia chỉ IP nguồn và đích: Những trường này là 32 bit địa chỉ IP của máytính gửi và máy tính nhận. Tầm quan trọng của địa chỉ đích là rõ ràng.

· Lựa chọn (Option): Các trường này cho phép mở rộng tiêu đề IP. Phầnlựa chọn trong tiêu đề hiếm khi được sử dụng. Sự tồn tại của phần lựa chọntrong tiêu đề làm phức tạp việc xử lý các gói tin vì tiêu đề của gói dữ liệu cóphần lựa chọn không có độ dài cố định, do đó không xác định được vị trí bắtđầu của dữ liệu thực sự. Như vậy thời gian xử lý gói dữ liệu IP tại mỗi router cóthể khác nhau. Đây là nhược điểm của các mạng hiệu suất cao. Vì thế, IPv6 sẽloại bỏ các trường lựa chọn.

· Dữ liệu (payload): Cuối cùng là trường quan trọng nhất - trường dữ liệu.Thông thường trường dữ liệu của gói IP là gói dữ liệu của tầng giao vận (TCPhay UDP segment) để chuyển đến nơi nhận. Tuy nhiên, trường dữ liệu có thể làcác kiểu dữ liệu khác, ví dụ thông điệp ICMP.

------------------------------------------------------ FIN ------------------------------------------------------

Chú ý:

- Câu 14 mấy cái rdt 2.0 tới 3.0 chỉ cần vẽ hình là đủ (có thể chúthích bằng tiếng việt), muốn thì ghi thêm vài ý, xem hình trongsách dễ hơn.

- Đoạn nào bỏ trong dấu ngoặc kép “ “ thì có thể bỏ.

- Đọc hiểu rồi nhớ ý chính thôi, sao học hết nổi >”< !

41