lOMoARcPSD| 58833082
Mạng máy nh
Chapter 1: Computer Networks and the Internet
1.1.What is the Internet?
1.1.1. A Nuts and Bolts Descripon(Thành phn)
Billions of connected compung devices.
- host = end system
Communicaon links: kết nối trực ếp giữa 2 thiết bị.
Packet switches: trung chuyển gói n => tạo điều kiện cho trao đổi dliệu
giữa các end systems.
- router: use in the network core.
- witches: use in access networks.
Protocols: giao thức giống như 2 người giao ếp với nhau 1 người hỏi người
kia trả lời lịch sự cuộc trò chuyện diễn ra ếp tục, 2 giao thức quan trọng nhất.
- Transmission Control Protocol(TCP).
- Internet Protocol(IP): định dạng các packets được gửi giữa routers và
end systems.
Network: devices, router, link -> quản bởi 1 tổ chức.
Internet: network of networks.
1.1.2. A Services Descripon
tả Internet theo a “service” view => dịch vụ k cần biết những như:
mail, web, app, social network, peer-to-peer(PCP),…
Internet appllicaon run on end system, not run packet switches in network
core because they aren’t concerned with the app that is the source or sink of
data.
Infrastructure: 1 hạ tầng cung cấp các dịch vụ cho các ứng dụng mạng, không
có Applicaon Programming Interface(API) không hoạt động.
1.1.3. What is a Protocols?
A human analogy
Network protocols tương tự a huấn protocol
lOMoARcPSD| 58833082
1.2.The Network Edge
Host or end systems: clients, servers. Muốn kết nối Internet cần kết nối thông
qua Edge Router.
Servers oen in data centers.
1.2.1. Access Networks
Physically connects end system to rst router(edge route) => kết nối end systems
với edge router. Gồm 3 loại:
Home Networks: DSL, cable, router, rewall, NAT, wired.
Wireless Access Networks: gồm 3 loại
- Wireless local area networks(WLANs): như wi phạm vi hoạt động
~100 ví dụ quán cafe => phạm vi hoạt động hẹp, tốc độ tt.
- Wire-are cellular access networks: mạng di động => phạm vi hot
động rộng 10km, tốc độ chậm hơn.
- Enterprise networks: companies, universies,… vừa không dây,
vừa vó dây; connecng a mix of switches and router.
Data Center Networks: cung cấp data center kết nối da ngoài Internet thì
ng dung mới truy suất được nó.
Host: sends packets of data => gửi các gói n ra ngoài. Quá trình tạo packets:
Tạo applicaon message(ví dụ: Zalo tạo đoạn chat, up 1 le lên mạng) =>
thông n do người dùng tạo.
Chia nhỏ message thành từng đơn vị thông n bé hơn packets, length
L bits(10bit, 100bit, etc)
Transmits packet into access networks at transmission rate R(tốc độ
truyền đẫn R trong 1s).
L(bits)
Packet transmission delay =
R(bits/s)
1.2.2. Physical Media
Link: Physical Media
Bit: đơn vị thông n nhỏ nht, thông n re chuyển transmier and receiver pairs.
Thông n gửi vào Link bản chất là gửi bit.
Physical link: đường truyền vật lí, gọi rõ của Link gồm 2 dạng:
Guided Media: dây như: cable, twisted pair(TP cáp đồng), coaxial
cable(cáp đồng trục) dùng trong truyền hình cable, ber opc cable(cáp
quang) truyền sóng ánh sáng k sóng điện, etc.
Unguided media: không dây như: wife, 4G, blutooth, terrestrial
microwave, etc.
1.3.The Network Core
- Tập hợp những Routers kết nối với nhau.
- Hai kĩ thuật trung chuyển packets:
lOMoARcPSD| 58833082
Packet Switching: chia nhỏ messages into packets. Network forwards packets
from one router to the next, dể đến đích.
Ciruit Switching
- Network Core có 2 nhiệm vụ:
Forwarding: trung chuyển gói n.
Roung: m đương đi ngắn nhất từ nguồn tới đích. Sử dụng roung algorithms.
Router sử dụng roung algorthms m đường đi ngắn nhất
1.3.1. Packet Switching
- Store-and-forward: router chỉ forward gói n khi nhận được đầy đủ gói
n,không forward giữa chừng.
L
Packet Transmission delay =
R
1 gói n có L bits.
1 đường truyền có tốc độ R bits/s.
Truyền 1 gói n vào 1 đường link
- Queueing(hàng đơi): router lưu trữ gói n đg đợi trong hàng đợi chưa đi
rađươc(router nào cũng có cơ chế này).
- Packet queuing and loss(mât mát gói n): xem video bị mờ bị mất gói n: xảy
ra vì xếp hàng, bản chất xếp hàng nằm trong RAM của server, khi số lượng gói n
lớn hơn bộ nhớ của router thì router sẽ vứt gói n đó đi => mất gói n.
=> Phù hợp với loại hình mạng Internet vì Internet dùng ngắt quảng, rời rạc. Thời
gian không dùng người khác nhảy vào dùng đỡ tốn tài nguyên.
1.3.2. Ciruit Switching
- Trung chuyển thông n từ nguồn tới đích.
- 1 bước “reserved” (dành riêng), network core dành riêng 1 con đường
đểtrung chuyển thông n giữa 2 thằng(khác biệt cốt lõi của ciruit và packet). Hệ
thống cho con đường này rồi thì k ai được sử dụng nữa cho đến khi hết dữ liệu
thì hệ thống mới kết thúc và thằng khác mới sử dụng được.
=> tốc độ cực kì nhanh.
- Phân biệt dụ: đi học từ trường về nhà đi qua các ngã tư xem như là 1 router,di
chuyển theo packet switching cứ đi theo đường ngắn nhất gặp tắc đường thì đi
đường khác. Circuit switching, nguyên thủ quốc ra từ sân bay về dành riêng 1
con đường.
=> Ciruit switching được dùng nhiều trong mạng điện thoại(gọi sms không phải
zalo, facebook) mạng điện thoại đặc thù trao đổi thông n liên tục chất
lượng tuyệt đối, vì ciruit tạo 1 kênh liên lạc riêng.
lOMoARcPSD| 58833082
1.3.3. A Network of Networks
- Host kết Internet thông qua Internet Service Provides (ISPs) (nhà cung cấp
dịchvụ như Vieel, Vinaphone,…) => kết nối ra bên ngoài.
- Các ISPs kết nối lại với nhau. Cách 1 nối lại với nhau đôi 1 => không khthi.Cách
2 sử dụng 1 thg trung gian gọi global ISPs” => chi pít hơn, khả thi. Nhiều
global ISPs dử dung IPX(Internet exchange point). Regional ISPs bé hơn.
- Content Provider Network: google, microso, akmai,… tạo mạng riêng để
kếtnối với ISPs.
1.4.Performance: loss, dealay, throughput
- Loss là do queueing, các gói n gửi đi được xếp hàng đợi đến lượt gửi ra, đợi ởRAM
thì RAM đầy các gói n ếp theo k đi vào được nữa thì router vứt gói n đó đi.
- Delay có 4 yếu tố:
Proc (nodal processing): khoảng thời gian cần thiết router xử lí thông n.
Khi gói n chạy vào router thì không gửi đi luôn mà cần 1 khoảng thời
gian làm số việc kiểm tra xem lỗi bit không, output link nào (forwarding).
Queue (queueing delay): thời gian gói n ngồi đợi.
Trans (transmission delay); khoảng thời gian cần thiết đẩy toàn bộ gói n
ra ngoài đường truyền khác với prop đẩy gói n đi 1 quảng đường.
Prop (propagaon delay): khoảng thời gian gói n đi qua 1 quãng đường
nào đó. Thời gian bằng quãng đường chia vận tốc: d
¿
=
d
(
m
)
s(m/s)
- Thoughput: tốc độ dữ liệu(bits/s)
Instantaneous: tốc độ tức thời Average: tốc độ trung bình
Rtrước < Rsau => Rtrước
Rtrước > Rsau => Rsau
Tốc độ theo đường link có tốc độ bé.
1.5.Sercurity 1.6.Protocol layers, service models
- Layer trên sử dụng dịch vụ layerới.
- Applicaon -> transport -> network -> link -> physical -> physical -> link -> network->
transport -> applicaon.
- Appicaon gọi “message”, xuống transport gắn thêm đon vị thông n
“segment,xuổng network layer gắn thêm datagram”, xuống link layer thêm “frame”,
rồi chuyển xuống physical layer. Thông n Link Layer vẫn dạng bit. Biến đổi bit
lOMoARcPSD| 58833082
thành n hiệu phù hợp với đường truyền tầng physical layer. Khi đi ngược lên trên
thì thông n được gắn thêm được xử lí và loại bỏ ở từng tầng.
- Gắn thêm đơn vị gọi là Encapsulaon.
- Switch chỉ hoạt động ở tầng Link và Physical.
- Router chỉ hoạt động ở tầng Network, Link, Physical.
Chapter 2: Applicaon Layer
2.1. Principles of network applicaons
- Creang a netwok app:
Write programs that: run on end systems (dierent), kh năng trao đổi
thông n qua mang
Không cần viết cho network core.
2.1.1. Mô hình Client- Server
- Server:
Luôn luôn bật
Địa chỉ IP cố định Thường ở data centers
- Client:
Giao ếp với server
Không cần kết nối liên tục
Có địa chỉ IP linh động
Giao ếp gián ếp với các clients khác
Ví dụ: HTTP, IMAP, FTP,…
2.1.2. Mô hình Peer – peers
- Không có máy chủ luôn bật
- Các end systems đều có thể liên kết trực ếp được với nhau
- Peers yêu cầu dịch vụ đến peers khác, cung cấp dịch vụ ngược trở lại cho
peerskhác
- Peers có thể thay đổi địa chỉ IP
2.1.3. Processes communicang (Tiến trình giao ếp)
- Process: chương trình chạy trong host
2 ến trình giao ếp chạy trong cùng 1 host sử dụng inter-process
communicaon (do OS – hệ điều hành)
Tiến trình ở các host khác nhau giao ếp bằng các trao đổi n nhắn
lOMoARcPSD| 58833082
- Client process: ến trình bắt đầu giao ếp (gửi Message)
- Server process: ến trình đợi liên lạc ( nhận Message)
ng dụng với kiến trúc P2P có cả client – server
2.1.4. Sockets
- Process gửi/nhận n nhắn từ sockets của chính nó
- Sockets giống cánh cửa: Process gửi -> đưa Message ra khỏi cưa; Process nhận->
dựa vào đường đi phía trên cánh cửa để vận chuyển Message (vận hành của
các layer dưới)
- 2 socket cùng tham gia, mỗi cái 1 bên
2.1.5. Addressing processes
- Để nhận n nhắn, process phải có idener
- Các host đề có 1 địa chỉ IP dài 32 bit là duy nhất
- Idener gồm cả địa chỉ IP đánh địa chỉ host và Port Number đánh địa chỉ
process nằm trên cùng 1 host
- Ví dụ Port Number các ứng dụng cố định:
HTTP server: 80
Mail server: 25
2.1.6. Applicaon layer protocol denes
- Các kiểu message được trao đổi: request, response
- Message syntax
- Message semancs (Ý nghĩa)
- Quy tắc vthi điểm, cách thức các ến trình gửi và phản hồi
- Open protocols: giao thức mở ai cũng có thể dùng được
Được định nghĩa ở RCFs
Ví dụ HTTP, SMTP
- Proprietary protocols: giao thức đóng
Ví dụ: Skype, Zoom,…
2.1.7. Transport service
- Dataloss (Toàn vẹn dữ liệu):
Một số ứng dụng(audio0 có thể chấp nhận mất dữ liệu
Các ứng dụng đòi hỏi dữ liệu bảo toàn tuyệt đối - Time sensive (Kịp
thời):
Một số ứng dụng đòi hỏi độ trmức chấp nhận được - Throughtput
(Băng thông):
Vài ứng dụng cần băng thông tối thiểu để đạt hiệu quả
Các ứng dụng có thế thích nghi với băng thông hiện có
- Sercurity: encrypon, data intergity,…
2.1.8. Internet transport protocols services
- TCP service: (Transmission Control Protocol)
Reliable transport: trao đổi thông n đáng n cậy giữa process gửi và nhận
được đúng cái đó
lOMoARcPSD| 58833082
Flow control (điều khiển luồng): giúp người gửi không làm quá tải người
nhận
Congeson control: mạng người gửi quá tải, tắc thì yêu cầu không gửi nữa
Connecon-oriented: cần quá trình thiết lập kết nối "handshake" giữa ến
trình client và sever
Does not provide (không đảm bảo): ming, bảng throughput guarantee,
sercurity
- UDP service: (User Datagram Protocol)
Trao đổi thông n không đáng n cậy (ko bảo đảm) giữa các ến trình gửi
và nhận, có khả năng mát mát thông n
Does not provide: reliability, ow control, congeson control, ming,
throughput guarantee, security, connecon setup
Ch nhận truyền d liệu đi và truyền đến process nhận nhưng trên
đường đi không cung cấp gì
- UDP vẫn tồn tại được sử dụng do đơn giản nhanh hơn so với TCP, tuy
nhiên không đảm bảo bằng TCP
Tùy từng trường hợp thì sử dụng UDP hoặc TCP sao cho hợp lí
2.2. Web and HTTP
- HTTP overview
HTTP: hypertext transfer protocol
Web’s applicaon-layer protocol
Hoạt động theo mô hình client – server:
o Client: brower requests, receives (using HTTP protocol) and hiển thị
web objects
o Server: Web server gửi (using HTTP protocol) object để response to
request
HTTP sử dụng TCP do HTTP là ứng dụng web do cân hoạt động đáng n cậy
HTTP protocol không trạng thái: server k duy trì thông n về request trước
đó
- HTTP request message:
HTTP có 2 loại message được trao đổi giữa web brower và web server:
request, respone
HTTP request message:
o Viết bằng mã ASCII (human – readable format)
o Dòng đầu ên gọi là “request line” chỉ được sử dụng 1 trong ba lệnh:
lOMoARcPSD| 58833082
GET, POST, HEAD o Các dòng ếp gọi là “header lines” nói lên vào
host này lấy le này,
User – agent thông n về máy
o POST method: muốn gửi thông n lên trên server như submit form lên.
o PUT method: muốn upload 1 le lên trên server
o GET method: gồm dữ liệu của user trong trường URL của HTTP GET
(sau dấu ?) VD: www.somesite.com/animalsearch?monkeys&banana
- HTTP respone message
- Cookies:
Duy trì trạng thái làm việc web client web server dthêm giỏ hàng vào
lazada và hôm sau vào vẫn còn thì do Cookie 4 thành phần:
o Dòng êu đề cookie của thông báo phản hồi HTTP o Dòng êu đề
cookie trong thông báo yêu cầu HTTP ếp theo o Tệp cookie được lưu
trên máy chủ của người dùng, được quản lý bởi trình duyệt của người
dùng
o Cơ sở dữ liệu back-end tại trang Web
- Web Caches:
Mục đích: Thỏa mãn yêu cầu của clients mà không liên quan đến sever chính
Bằng cách đặt 1 Web cache giữa client và server Brower send all
HTPP requests to cahe:
o Nếu web cache chưa lưu nội dung trang web đó thì request -> web
cache -> server gốc -> reponse về web cache -> về client
o Nếu đã lưu như người dùng thứ 2 vào thì request gửi về web cache và
được web cache reponse về client
Tăng tốc độ truy cập vào web nhanh hơn
Web cache vừa đóng vai trò client vừa đóng vai trò server o Client với server
gốc o Server với người dùng
Sever nói với caches cho phép chứa các thực thể trong các response header o
Cache-Control: max-age=< seconds >, tồn tại bao nhiêu thời gian thì xóa trong
cache –> cập nhật lại cái mói từ sever chính.
o Cache-Control: no-cache
Condional GET o Không gửi object nếu cahce có bản mới nhất
o Client: têm một dòng thời điểm lấy cache trong HTTP request.
ifmodied-since: < date >
o Server: nếu cache đã bản mới nhất, server sẽ phản hồi lại không chứa
object
2.3. FTP protocol
- người dùng ctrinh PC người ta muốn thao tác và duyệt các le trên y
chủ- Mô hình client/server
lOMoARcPSD| 58833082
- Giao thức FTP mở 2 connecon (HTTP mở 1 connecon) 1 connecon cổng
21 đểđiều khiển coi client này được phép duyệt trên server không chuyên dùng các
lệnh để duyt, 1 connecon ở cổng 20
2.4. Electronic Mail
- Gồm 3 thành phần:
User agents: là mail reader, ví dụ: gmai, outlook Mail server:
o Mailbox: chứa các mail được gửi
đến user o Message queue: gửi các
mail ra ngoài
SMTP protocol (simple mail transfer protocol):
o Client: sending mail server o Server:
receiving mail server
- SMTP RFC:
Sử dụng TCP, port 25
3 giai đoạn trao đổi o SMTP handshaking o SMTP transfer of
messages o SMTP closure
2.5. DNS (Domain Name System)
- Là cơ sở dữ liệu phân tán được triển khai ở rất nhiều server- Hoạt động ở
applicaon-layer protocol: phân giải tên miền, địa chỉ ip - DNS services:
phân giải từ tên miền –> địa chỉ IP
host aliasing
mail server aliasing
load dítribuon
- Tại sao không là là CSDL tập trung:
Nếu server chết -> DNS chết
Quá tải dung lượng
Khoảng cách giữa các CSDK và máy sẽ bị xa
Khó bảo trì
2.6. P2P applicaons
- Chia sẻ le: client-server và P2P
Hỏi: Thời gian để chia sẻ le (size F) từ 1 server đến N peers
Client-server:
o Server: Sẽ phi gửi N lần
o Cient: download le từ server
P2P:
o Server: chỉ cần upload đúng 1 lần o
Client: phải download le
- P2P chia sẻ le: BitTorrent protocol:
lOMoARcPSD| 58833082
Các le chia thành các mảnh nhỏ chunks” kích cỡ 256Kb, peers gửi các
chunks cho nhau cho đến khi nhận đầy đủ các chunks tạo thành 1 le thì thôi
Torrent là 1 nhóm các peers đang chia scác le nào đấy, tracker để thống kê
có nhiêu torrent và mỗi torrent có bao nhiêu peers
Chapter 3: Transport Layer
3.1.Transport layer services
3.1.1. Transport services and protocols
- Cung cấp 1 kết nối về mặt logic (ảo) giữa các process chạy bởi các host khácnhau,
về mặt vật lí vẫn đi qua từng thằng
- Các hoạt động của transport protocol trong end systems:
Phía gửi: chia các applicaon message thành các segment, rồi chuyển
xung network layer
Phía nhận: gộp các segment thành các message ban đầu, rồi chuyển lên
applicaon layer
- Hai giao thức hoạt động ở tầng transport với mạng Internet: TCP, UDP
3.1.2. Transport vs. network services and protocols
- Network layer: logical communicaon between hosts
- Transport layer: logical communicaon between processes
3.1.3. Two principal Internet transport protocols
-TCP:
reliable, in-order delivery
congeson control
ow control connecon setup - UDP:
unreliable, unordered delivery no-frills extension of "best eort"
IP - Các dịch vụ cả hai không có:
delay guarantees: Đảm bảo độ tr
bandwidth guarantess: Đảm bảo băng thông
3.2.Mulplexing and demulplexing
3.2.1. Mulplexing/demulplexing
- Mulplexing phía gửi: kiểm soát data từ nhiều socket, thêm transport header
- Demulplexing phía nhận: sử dụng thông n header đ vẫn chuyển các
segment đã nhận đến đúng socket
3.2.2. How demulplexing work
- Host nhận IP datagram:
Mỗi datagram có địa chỉ IP nguồn, đích
Mỗi datagram chở 1 transport layer segment
Mỗi segment có số port number
- Host sử dụng địa chỉ IP và port number để kết nối segment đến socket
lOMoARcPSD| 58833082
3.2.3. Conneconless demulplexing
- Socket được định danh bởi IP đích và port đích
- Cặp IP và port number của máy đích được định danh bằng cặp này
3.2.4. Connecon-oriented demulplexing
- TCP socket gồm 4 thành phần:
Địa chỉ IP nguồn
Cổng nguồn
Địa chỉ IP đích
Cổng đích
3.2.5. Summary
- UDP: demulplexing chỉ sử dụng địa chỉ đích
- TCP: demulplexing sử dụng cả địa chỉ nguồn, đích
3.3.Connecoless transport UDP
3.3.1. UDP
- Giao thức tầng Transport
- Best eort: cố gắng hết sức, tạo 1 kết nối mặt logic, cố gắng đem dliệu đếnđích
nhưng message bị sao không chịu trách nhiệm - Conneconless:
Không có bước kết nối, có cứ gửi
Mỗi UDP segment được quản lý độc lập với nhau
- Trao đổi thông n đáng n cậy qua UDP: triển khai độ n cậy, kiểm soát độnghẽn
ở applicaon-layer
3.3.2. UDP checksum
- Phát hiện lỗi- Phía gửi:
Chia UDP segment thành các nhóm gồm 16 bit
Checksum: nh tổng các nhóm rồi đảo ngược bit
Thêm vào header checksum
- Internet checksum: weak protecon
3.4.Principles of reliable data transfer (Nguyên tắc trao đổi thông n đáng n
cậy)
3.4.1. Principles of reliable data transfer
- Sử dụng service từ Network Layer không đáng n cậy do router
3.4.2. Reliable data transfer protocol (rdt): interfaces
- rdt_send(): Chuyển dữ liệu xuống từ applicaon –> transport
- udt_send() (unreliable data transfer): Chuyển từ transport –> network
- rdt_rcv(): Thông báo có packet chuyển từ network –> transport
- delivery_data(): Chuyển dữ liệu từ transport –> applicaon
3.4.3. Reliable data transfer: getÝng started
- Mục êu: xây dựng 1 giao thức trao đổi thông n đáng n cậy
- Mô hình nate state machine (FSM) để mô tả phía gửi, nhận
lOMoARcPSD| 58833082
Mỗi một thực thể tồn tại một trạng thái ("state"). Khi một sự kin
("event") xảy ra thực thể hiện tại, nó sẽ chuyển ("transion") sang trạng
thái khác
Việc chuyển trạng thái gây ra hành vi ("acon") khác
–> event/acon
3.4.4. rdt1.0: reliable transfer over a reliable channel
- Giả sử môi trường gửi dữ liệu hoàn toàn n cậy: không mất mát, không lỗi bit -
Sử dụng mô hình FSM mô tả phía gửi và phía nhận:
Phía gửi: đợi dữ liệu từ trên –> rdt_send(data)/packet = make_pkt(data)
(thông báo/đóng gói dữ liệu) -> udt_send(packet) –> đợi dữ liệu
Phía nhận: đợi dữ liệu từ i > rdt_rcv(data)/extract(packet, data) ->
delivery_data(data) –> đợi dữ liệu
3.4.5. rdt2.0: channel with bit errors
- Tích hợp 2 nh năng:
Cơ chế checksum để phát hiện bit sai
Khôi phục từ lỗi o Acknowledgements (ACKs): chế phản hồi từ phía
nhận thông báo cho phía gửi là OK
o Negave acknowledgements (NAKs): chế phản hồi t phía
nhận thông báo cho phía gửi bị lỗi
o Phía gửi sẽ gửi lại gói n cho các phản hồi NAKs
- Giao thức rdt2.0 thuộc kiểu stop and wait: phía gửi gửi 1 gói n, sau đó chờphn
hồi của phía nhận
- Mô hình FSM:
Phía gửi: Có hai trạng thái:
o Ngồi đợi dliệu (có lệnh từ applicaon layer) o Ngồi đợi ACK,
NAK (phản hồi từ phía nhận)
o Khi sự kiện rdt_send(data)/ packet = make_pkt(data, checksum)
từ tầng app –> đóng gói gói n và checksum, gửi gói n
o Sau đó chuyển trạng thái chờ đợi phản hồi –> Nhận được gói n
phản hổi, kiểm tra phản hổi, có 2 sự kin:
Phản hổi nhận được ACK –> Chuyển về đợi dữ liệu ếp
theo
Phản hồi nhận được NAK > Gửi lại gói n –> Vẫn chuyển
về trạng thái chờ đợi phản hồi
Phía nhận: Một trạng thái ngồi đợi dữ liệu (từ tầng network đẩy lên) o
Khi có sự kiện nhận được gói n bị lỗi –> Gửi NAK, chuyển về đợi gói n
o Khi có sự kiện nhận được gói n ko bị lỗi –> Mở gói n, chuyển d
liệu lên trên, gửi ACK
- Lỗi cực kỳ nghiêm trọng:
lOMoARcPSD| 58833082
Khi NAK, ACK bị lỗi o Phía gửi ko biết điều xảy ra o Không thể gửi lại
–> sẽ bị lặp lại gói n
Giải pháp:
o Gửi lại gói n hiện tại nếu ACK/NAK bị lỗi
o Phía gửi thêm một số th tự (sequence number) với mỗi gói n o
Phía nhận hủy bỏ những gói n bị trùng lặp 3.4.6. rdt2.1:
sender/receiver, handling garbled ACK/NAKs
- Phía gửi:
Số thtự seq # được add vào gói n
Chỉ cần sử dụng s seq #s (0, 1) là đủ
Cơ chế kiểm tra ACK và NAK có bị lỗi không
Số trạng thái gấp đôi 2.0
- Phía nhận: Phải kiểm tra xem gói n có bị trùng lặp hay không
3.4.7. rdt2.2: a NAK-free protocol
- Giống rdt2.1, nhưng chỉ sử dụng ACK
- Thay vì gửi NAK, phía nhận sẽ gửi ACK của gói n cuối cùng đến đích thànhcông
- ACK trùng lặp tại phía gửi–> tương tự như NAK: truyền lại pkt hiện tại
- TCP sử dụng phương pháp này để không có NAK
3.4.8. rdt3.0: channels with errors and loss (kênh truyền bị mất, lỗi)
- Giả định kênh có thể bị lỗi, mất mát gói n (dliệu, ACKs)
- Cách ếp cận: Đợi một khoảng thời gian nhất định cho phản hồi ACK
Gửi lại nếu không có ACK
Nếu gói n (hoặc ACK) bị chậm (không mất): Có số th tự seq để
check trùng lặp
Có thêm cơ chế "me out": Sau một thời gian thì nếu ko có phản
hồi –> sẽ gửi lạ
- Hiệu suất của rdt3.0 (stop-and-wait): cực kì kém hiệu quả
- rdt3.0: pipelined protocols operaon: phía gửi được phép gửi nhiều gói
n –> sau đó ngồi đợi phản hồi
3.4.8.1. rdt3.0: Go-Back-N (pipelined protocols operaon)
- Phía gửi:
Phía gửi được gửi liên ếp tối đa N gói n, sau đó dừng lại để đợi
ACK
"window": Không gian số thứ tự, được sử dụng k bit để đánh số seq
#
cumulave ACK (n): khi gửi ACK (n) tức là gửi thành công các gói n
có số thứ tự <= n
meout(n): truyền lại gói n tất cả gói thứ tự cao hơn trong
"window"
- Phía nhận: bỏ tất cả các gói n không đến đích theo thứ tự
lOMoARcPSD| 58833082
3.4.8.2. rdt3.0: Selecve repeat (pipelined protocols operaon)
- Phía nhận: phản hổi ACK tất cả các gói n đến đích thành công
Buer những gói n đến đích không theo đúng thứ tự
- Phía gửi: me-out/gửi lại những gói n chưa được phản hồi ACK
3.5.Connecon oriented transport TCP
3.5.1. Overview
- Tđiểm này –> điểm khác
- Tin cậy, in-order byte (byte đến đích theo thứ tự
- Gửi dữ liệu theo hai chiều: MSS: maximun segment size
- Cumulave ACK: Khi gửi một ACK (n) tức là đã nhận được các byte < n
- Pipelining: TCP congeson, ow control set window size
- Connecon-oriented: trải qua bước bắt tay (handshaking)
- Flow controled: phía gửi không gửi quá tải phía nhận
3.5.2. TCP segment structure
- Segment = header + data -
Header:
Source, dest port #
Sequence number: số thứ tự
ACK number
Checksum
Length: Độ dài của TCP header
Receive window: ow control
R (RST), S (SYN), F (FIN): quản lý kết nối
A (ACK bit) 3.5.3. TCP
sequence numbers, ACKs
- Sequence numbers:
Là số thứ tự của byte đầu ên nằm trong segment đó
VD: seg 1 - (0 - 19) byte –> seq 0, seg 2 (20 - 39) –> seq 20 - ACK
number (phản hổi từ phía nhận):
Thông báo cho phía gửi byte ếp theo được nhận là bao nhiêu
Chính là sthứ tự của byte ếp theo mà phía gửi muốn nhận
3.5.4. TCP fast retransmit
- Nếu phía gửi nhận được ba lần ACK giống nhau, gửi lại segment chưa được ACK
với sequence nhỏ nhất
3.5.5. Flow control
- Là thông n trong receive window
- Receive window(rwnd): số byte tối đa mà phía nhận nhận được
- Flow control: Kiểm soát để tránh làm tràn buer phía nhận
3.5.6. TCP connecon management
- Trước khi trao đổi dữ liệu, phía gửi và nhận phải "handshake".
- TCP bắt tay trong 3 bước:
lOMoARcPSD| 58833082
Client gửi o SYN bit = 1 –> gói n u cầu khởi tạo
kết nối
o Seq = x –> gói n đầu ên mà Client gửi có số hiu là x
Server phản hồi o SYN bit = 1 –> gói n yêu cầu khởi
tạo kết nối o Seq = y –> gói n đầu ên Server
gửi có số hiệu là y o ACKBit = 1 –> Chấp nhận
o ACKNum = x + 1 –> Thông báo đã nhận được từ client
Client gửi ếp o ACKbit = 1 –> Chấp nhận
o ACKNum = y + 1 –> Thông báo đã nhận được từ server
3.5.7. TCP round trip me (RTT), meout
- Đặt meout lớn hơn RTT -
Cần xác định được RTT:
Sample RTT: Thời gian từ việc gửi dữ liệu đến khi nhận được ACK
EsmatedRTT (Giá trị trung bình RTT) = (1 - alpha) * EsmatedRTT + alpha
* SampleRTT
alpha = 0.125
3.6.Principles of congeson control (Kiểm soát sự tắc nghẽn)
- Congeson (tắc nghẽn):
Không chuẩn lắm: quá nhiều nguồn gửi quá nhiều dữ liệu và gửi quá nhanh
khiến network không xử lý kịp. Khác với ow control Biểu hiện: o Mất
gói n
o Đỗ trễ dài
- Causes/costs of congeson: scenario 2
3.7.TCP congeson
- Mục êu: phía gửi TCP phải truyền nhanh nhất thể nhưng không làm tắc
nghẽnmng
- Phi tập trung: mỗi phía gửi TCP đặt tốc độ riêng dựa trên phản hồi ngm:
ACK: đã nhận được phân đoạn, mạng không bị tắc nghẽn -> tăng tốc độ, tăng
đến lúc có nghẽn thì giảm tốc độ
- Phía gửi giới hạn tốc độ bằng cách giưới hạn số byte unACK
- rate = cwnd/RTT (bytes/sec)
Chapter 4: Network layer
4.1.Introducon
4.1.1. Networ layer
- Vận chuyển các segment từ phía gửi đến phía nhận
- Tại phía gửi, đóng gói segments –> datagrams/packets(gói n)
- Ở phía nhận, vận chuyển các segment đến tần transport
- Giao thức tầng network có trong tất cả cá host, router
- Router kiểm tra header trong tất cả các gói n IP đi qua nó
lOMoARcPSD| 58833082
4.1.2. Chức năng
- Forwarding: chuyển ếp gói n từ cổng này sang cổng kia của router
- Roung: nh toán các con đường cho gói n từ điểm đầu đến điểm cuối
- Các bước hoạt động: thuật toán roung giúp tạo bảng forwarding với 2 cột
(header, outputlink), các router chuyển packet theo bảng này
4.1.3. Connecng Setup
- Host và router hình thành kết nối ảo để duy trì hi truyền packet
- Network kết nối giữa 2 host (có sự liên quan đến router) trong khi transportlà
kết nối giữa 2 process
4.1.4. Networkk service model
- Mô hình dịch vụ cho kênh gửi datagrams:
Gửi từng gói một: đảm bảo truyền ổn, giới hạn delay
Gửi một luồng: đảm bảo về thứ tự, băng thông, ràng buộc về không gian
giữa các gói n
- hình Internet best eort service model, không quan tâm v loss,
order,ming, congeson, lợi ích light-weight 4.2.Virtual circuit and
datagram networks 4.2.1. Connecon, conneconless service
- Datagram network:
phi kết nối
không duy trì trạng thái, đưa thẳng gói n ra dựa trên bảng định tuyến
không biết được 2 bên còn duy trì kết nối không
forward dựa trên địa chỉ đích o được cung cấp 32 bit địa chỉ -> 4 tỉ IP
address
o nếu lưu hết vào 1 bảng mà bảng lưu trong ram -> gây quá tải
o giải pháp là sử dụng list range of address - Virtual-ciruit:
Kết nối
có hiệu năng cao do đã định trước đường truyền, một mình mình đi
có nhiều thiết lập cần được thực hiện trước khi truyền dữ liệu
mỗi gói n mang một idener VC, dùng để định danh đích ếp theo chứ
không mang desnaon host address
các router trên đường truyền phải duy trì được state (stateful), nhớ xem
gói n đến từ đâu và đi v đâu,, ai truyền đến
lợi ích là biết được 2 bên còn duy trì kết nối không
nắm bắt hết resource ngay tù đầu (bandwidth, buer) => quản lí dễ dàng
- No choice: không có thể chuyển đổi kết nối như tầng transport(chuyển
kết nối
-> không kết nối)
- Triển khai chủ yếu trong network core- VC implementaon:
path: đường đi từ nguồn đến đích vc numbers:
o gán cho các link, định danh đường đi ếp theo (không gán cho
router)
lOMoARcPSD| 58833082
o packet thuộc về VC thì mang VC number chứ không jmang dest
address
o VC number thay đổi trên mỗi link, sau khi đi qua các router
bảng forwarding: nội dung khác với bảng forwarding
datagram - Datagram or VC(ATM) network:
Internet (datagram): o mềm dẻo, không yêu cầu cao về
ming o nhiều loại link
o phức tạp ở edge, đơn giản ở network
ATM (VC):
o phát triển từ ý tưởng điện thoại dây: yêu cầu về ming, đảm bảo
cao o thiết bị edge đơn giản, tầng mạng phức tạp
4.3.Whats inside a router
- Kiến trúc bậc cao:
lOMoARcPSD| 58833082
4.3.1. Router input port
- Decentralized switching:
o Sử dụng các giá trị trường header, tra cứu cổng đầu ra bằng cách sử
dụng bảng chuyển ếp (một phần của bảng định tuyến) trong bộ nh
cổng đầu vào (“match plus acon”)
o Mục êu: hoàn thành xử lý cổng đầu vào ở 'tốc độ đường truyền' o Xếp
hàng cổng đầu vào: nếu các datagram đến nhanh hơn tốc độ chuyn
ếp vào kết cấu chuyển đổi
o Chuyển ếp dựa trên đích: chỉ chuyển ếp dựa trên địa chỉ IP đích
(truyền thống) o Chuyển ếp tổng quát: chuyển ếp dựa trên bất kỳ tp
hợp giá trị trường header nào
4.3.1.1. Switching fabrics
- Chuyển gói n từ input đến output tương ứng
- switching rate: Tốc độ các gói n thể được chuyển từ đầu vào
sangđầu ra
thường được đo là bội số của tốc độ dòng vào/ra N inputs:
tốc độ chuyển mạch N lần tốc độ dòng mong muốn - 3 loại switching
fabric chính:
Memory
lOMoARcPSD| 58833082
Bus
Interconnecon network
4.3.1.1.1. Switching via memory
- y nh truyền thống với chuyển đổi dưới sự kiểm soát trực ếpca
CPU
- Gói được sao chép vào bộ nhớ của hệ thng
- Tốc độ bị giới hạn bởi băng thông bộ nh (2 giao cắt bus trên
mỗidatagram)
4.3.1.1.2. Switching via bus
- đẩy hết lên 1 kênh
- tốc độ nhanh hơn nhưng có vấn đề về xung đột packet, đồng thờitốc
độ bị giới hạn bởi băng thông
4.3.1.1.3. Switching via interconnecon network
- Tạm giải quyết được các vấn đề trên
4.3.1.2. Input port queuing
- Nếu switching fabric chậm hơn so với cổng đầu vào kết hợp -> xếp
hàngcó thể xảy ra ở input queues
Chậm trễ và mất hàng đợi do tràn bộ đệm đầu vào!
- Head-of-the-Line (HOL) blocking: datagram xếp hàng đợi phía
trướchàng đợi ngăn những người khác trong hàng đợi di chuyển về phía
lOMoARcPSD| 58833082
trước - Output port contenon (tranh chấp): chỉ thể truyền một gói dữ
liệu màu đỏ. gói màu đỏ thấp hơn bchặn
4.3.2. Router input port
- Buering là cần thiết khi datagram ra khỏi fabric nhanh hơn transmission rate
(tốc độ truyền)
Tính buering:
Những rủi ro:
o Loss: có thể mất n gói n do congeson buering,
nguyên nhân là do kích thước buer không đủ
o Head of the Line (HOL) blocking: datagram bdelay dẫn đến
block các datagram đằng sau cũng đang queue, tệ hơn
datagram đó có thể của ouput port khác
- Scheduling discipline thực hiện đánh số ưu ên cho một số datagram truyềntrước,
nếu datagram đó là loại cần được ưu ên
4.4.IP: Internet Protocol
4.4.1. Network Layer: Internet

Preview text:

lOMoAR cPSD| 58833082 Mạng máy tính
Chapter 1: Computer Networks and the Internet
1.1.What is the Internet?
1.1.1. A Nuts and Bolts Description(Thành phần)
• Billions of connected computing devices. - host = end system
• Communication links: kết nối trực tiếp giữa 2 thiết bị.
• Packet switches: trung chuyển gói tin => tạo điều kiện cho trao đổi dữ liệu giữa các end systems.
- router: use in the network core.
- witches: use in access networks.
• Protocols: giao thức giống như 2 người giao tiếp với nhau 1 người hỏi người
kia trả lời lịch sự cuộc trò chuyện diễn ra tiếp tục, 2 giao thức quan trọng nhất.
- Transmission Control Protocol(TCP).
- Internet Protocol(IP): định dạng các packets được gửi giữa routers và end systems.
 Network: devices, router, link -> quản lý bởi 1 tổ chức. 
Internet: network of networks.
1.1.2. A Services Description
• Mô tả Internet theo a “service” view => dịch vụ k cần biết có những gì như:
mail, web, app, social network, peer-to-peer(PCP),…
• Internet appllication run on end system, not run packet switches in network
core because they aren’t concerned with the app that is the source or sink of data.
• Infrastructure: 1 hạ tầng cung cấp các dịch vụ cho các ứng dụng mạng, không
có Application Programming Interface(API) không hoạt động.
1.1.3. What is a Protocols?  A human analogy
Network protocols tương tự a huấn protocol lOMoAR cPSD| 58833082 1.2.The Network Edge
• Host or end systems: clients, servers. Muốn kết nối Internet cần kết nối thông qua Edge Router.
• Servers often in data centers. 1.2.1. Access Networks
Physically connects end system to first router(edge route) => kết nối end systems
với edge router. Gồm 3 loại:
• Home Networks: DSL, cable, router, firewall, NAT, wired.
• Wireless Access Networks: gồm 3 loại
- Wireless local area networks(WLANs): như wifi phạm vi hoạt động
~100ft ví dụ quán cafe => phạm vi hoạt động hẹp, tốc độ tốt.
- Wire-are cellular access networks: mạng di động => phạm vi hoạt
động rộng 10km, tốc độ chậm hơn.
- Enterprise networks: companies, universities,… vừa không dây,
vừa vó dây; connecting a mix of switches and router.
• Data Center Networks: cung cấp data center kết nối da ngoài Internet thì
ng dung mới truy suất được nó.
Host: sends packets of data => gửi các gói tin ra ngoài. Quá trình tạo packets:
• Tạo application message(ví dụ: Zalo tạo đoạn chat, up 1 file lên mạng) =>
thông tin do người dùng tạo.
• Chia nhỏ message thành từng đơn vị thông tin bé hơn là packets, length L bits(10bit, 100bit, etc)
• Transmits packet into access networks at transmission rate R(tốc độ truyền đẫn R trong 1s). L(bits)
 Packet transmission delay =
R(bits/s) 1.2.2. Physical Media Link: Physical Media
Bit: đơn vị thông tin nhỏ nhất, thông tin re chuyển transmitter and receiver pairs.
Thông tin gửi vào Link bản chất là gửi bit.
Physical link: đường truyền vật lí, gọi rõ của Link gồm 2 dạng:
• Guided Media: có dây như: cable, twisted pair(TP cáp đồng), coaxial
cable(cáp đồng trục) dùng trong truyền hình cable, fiber optic cable(cáp
quang) truyền sóng ánh sáng k sóng điện, etc.
• Unguided media: không dây như: wife, 4G, blutooth, terrestrial microwave, etc. 1.3.The Network Core
- Tập hợp những Routers kết nối với nhau.
- Hai kĩ thuật trung chuyển packets: lOMoAR cPSD| 58833082
• Packet Switching: chia nhỏ messages into packets. Network forwards packets
from one router to the next, dể đến đích. • Ciruit Switching
- Network Core có 2 nhiệm vụ:
• Forwarding: trung chuyển gói tin.
• Routing: tìm đương đi ngắn nhất từ nguồn tới đích. Sử dụng routing algorithms.
Router sử dụng routing algorthms tìm đường đi ngắn nhất
1.3.1. Packet Switching
- Store-and-forward: router chỉ forward gói tin khi nhận được đầy đủ gói
tin,không forward giữa chừng. L
 Packet Transmission delay = R 1 gói tin có L bits.
1 đường truyền có tốc độ R bits/s.
 Truyền 1 gói tin vào 1 đường link
- Queueing(hàng đơi): router lưu trữ gói tin đg đợi trong hàng đợi chưa đi
rađươc(router nào cũng có cơ chế này).
- Packet queuing and loss(mât mát gói tin): xem video bị mờ là bị mất gói tin: xảy
ra vì xếp hàng, bản chất xếp hàng nằm trong RAM của server, khi số lượng gói tin
lớn hơn bộ nhớ của router thì router sẽ vứt gói tin đó đi => mất gói tin.
=> Phù hợp với loại hình mạng Internet vì Internet dùng ngắt quảng, rời rạc. Thời
gian không dùng người khác nhảy vào dùng đỡ tốn tài nguyên.
1.3.2. Ciruit Switching
- Trung chuyển thông tin từ nguồn tới đích.
- Có 1 bước “reserved” (dành riêng), network core dành riêng 1 con đường
đểtrung chuyển thông tin giữa 2 thằng(khác biệt cốt lõi của ciruit và packet). Hệ
thống cho con đường này rồi thì k ai được sử dụng nữa cho đến khi hết dữ liệu
thì hệ thống mới kết thúc và thằng khác mới sử dụng được.
=> tốc độ cực kì nhanh.
- Phân biệt ví dụ: đi học từ trường về nhà đi qua các ngã tư xem như là 1 router,di
chuyển theo packet switching cứ đi theo đường ngắn nhất gặp tắc đường thì đi
đường khác. Circuit switching, nguyên thủ quốc ra từ sân bay về dành riêng 1 con đường.
=> Ciruit switching được dùng nhiều trong mạng điện thoại(gọi sms không phải
zalo, facebook) vì mạng điện thoại đặc thù trao đổi thông tin liên tục và chất
lượng tuyệt đối, vì ciruit tạo 1 kênh liên lạc riêng. lOMoAR cPSD| 58833082
1.3.3. A Network of Networks
- Host kết Internet thông qua Internet Service Provides (ISPs) (nhà cung cấp
dịchvụ như Viettel, Vinaphone,…) => kết nối ra bên ngoài.
- Các ISPs kết nối lại với nhau. Cách 1 nối lại với nhau đôi 1 => không khả thi.Cách
2 sử dụng 1 thg trung gian gọi là “global ISPs” => chi phí ít hơn, khả thi. Nhiều
global ISPs dử dung IPX(Internet exchange point). Regional ISPs bé hơn.
- Content Provider Network: google, microsoft, akmai,… tạo mạng riêng để kếtnối với ISPs.
1.4.Performance: loss, dealay, throughput
- Loss là do queueing, các gói tin gửi đi được xếp hàng đợi đến lượt gửi ra, đợi ởRAM
thì RAM đầy các gói tin tiếp theo k đi vào được nữa thì router vứt gói tin đó đi. - Delay có 4 yếu tố:
• Proc (nodal processing): khoảng thời gian cần thiết router xử lí thông tin.
Khi gói tin chạy vào router thì không gửi đi luôn mà cần 1 khoảng thời
gian làm số việc kiểm tra xem lỗi bit không, output link nào (forwarding).
 Queue (queueing delay): thời gian gói tin ngồi đợi.
• Trans (transmission delay); khoảng thời gian cần thiết đẩy toàn bộ gói tin
ra ngoài đường truyền khác với prop đẩy gói tin đi 1 quảng đường.
• Prop (propagation delay): khoảng thời gian gói tin đi qua 1 quãng đường
nào đó. Thời gian bằng quãng đường chia vận tốc: d¿= d(m) s(m/s)
- Thoughput: tốc độ dữ liệu(bits/s)
• Instantaneous: tốc độ tức thời 
Average: tốc độ trung bình
• Rtrước < Rsau => Rtrước
• Rtrước > Rsau => Rsau
 Tốc độ theo đường link có tốc độ bé.
1.5.Sercurity 1.6.Protocol layers, service models
- Layer trên sử dụng dịch vụ layer ở dưới.
- Application -> transport -> network -> link -> physical -> physical -> link -> network-> transport -> application.
- Appication gọi “message”, xuống transport gắn thêm đon vị thông tin
“segment”,xuổng network layer gắn thêm “datagram”, xuống link layer thêm “frame”,
rồi chuyển xuống physical layer. Thông tin ở Link Layer vẫn ở dạng bit. Biến đổi bit lOMoAR cPSD| 58833082
thành tín hiệu phù hợp với đường truyền ở tầng physical layer. Khi đi ngược lên trên
thì thông tin được gắn thêm được xử lí và loại bỏ ở từng tầng.
- Gắn thêm đơn vị gọi là Encapsulation.
- Switch chỉ hoạt động ở tầng Link và Physical.
- Router chỉ hoạt động ở tầng Network, Link, Physical.
Chapter 2: Application Layer
2.1. Principles of network applications - Creating a netwok app:
• Write programs that: run on end systems (different), có khả năng trao đổi thông tin qua mang
• Không cần viết cho network core.
2.1.1. Mô hình Client- Server - Server: • Luôn luôn bật
• Địa chỉ IP cố định  Thường ở data centers - Client: • Giao tiếp với server
• Không cần kết nối liên tục
• Có địa chỉ IP linh động
• Giao tiếp gián tiếp với các clients khác
• Ví dụ: HTTP, IMAP, FTP,…
2.1.2. Mô hình Peer – peers
- Không có máy chủ luôn bật
- Các end systems đều có thể liên kết trực tiếp được với nhau
- Peers yêu cầu dịch vụ đến peers khác, cung cấp dịch vụ ngược trở lại cho peerskhác
- Peers có thể thay đổi địa chỉ IP
2.1.3. Processes communicating (Tiến trình giao tiếp)
- Process: chương trình chạy trong host
• 2 tiến trình giao tiếp chạy trong cùng 1 host sử dụng inter-process
communication (do OS – hệ điều hành)
• Tiến trình ở các host khác nhau giao tiếp bằng các trao đổi tin nhắn lOMoAR cPSD| 58833082
- Client process: tiến trình bắt đầu giao tiếp (gửi Message)
- Server process: tiến trình đợi liên lạc ( nhận Message)
 Ứng dụng với kiến trúc P2P có cả client – server 2.1.4. Sockets
- Process gửi/nhận tin nhắn từ sockets của chính nó
- Sockets giống cánh cửa: Process gửi -> đưa Message ra khỏi cưa; Process nhận->
dựa vào đường đi ở phía trên cánh cửa để vận chuyển Message (vận hành của các layer dưới)
- 2 socket cùng tham gia, mỗi cái 1 bên
2.1.5. Addressing processes
- Để nhận tin nhắn, process phải có identifier
- Các host đề có 1 địa chỉ IP dài 32 bit là duy nhất
- Identifier gồm cả địa chỉ IP đánh địa chỉ host và Port Number đánh địa chỉ
process nằm trên cùng 1 host
- Ví dụ Port Number các ứng dụng cố định: • HTTP server: 80 • Mail server: 25
2.1.6. Application layer protocol defines
- Các kiểu message được trao đổi: request, response - Message syntax
- Message semantics (Ý nghĩa)
- Quy tắc về thời điểm, cách thức các tiến trình gửi và phản hồi
- Open protocols: giao thức mở ai cũng có thể dùng được
• Được định nghĩa ở RCFs • Ví dụ HTTP, SMTP
- Proprietary protocols: giao thức đóng • Ví dụ: Skype, Zoom,…
2.1.7. Transport service
- Dataloss (Toàn vẹn dữ liệu):
• Một số ứng dụng(audio0 có thể chấp nhận mất dữ liệu
• Các ứng dụng đòi hỏi dữ liệu bảo toàn tuyệt đối - Time sensitive (Kịp thời):
• Một số ứng dụng đòi hỏi độ trễ ở mức chấp nhận được - Throughtput (Băng thông):
• Vài ứng dụng cần băng thông tối thiểu để đạt hiệu quả
• Các ứng dụng có thế thích nghi với băng thông hiện có
- Sercurity: encryption, data intergity,…
2.1.8. Internet transport protocols services
- TCP service: (Transmission Control Protocol)
• Reliable transport: trao đổi thông tin đáng tin cậy giữa process gửi và nhận được đúng cái đó lOMoAR cPSD| 58833082
• Flow control (điều khiển luồng): giúp người gửi không làm quá tải người nhận
• Congestion control: mạng người gửi quá tải, tắc thì yêu cầu không gửi nữa
• Connection-oriented: cần quá trình thiết lập kết nối "handshake" giữa tiến trình client và sever
• Does not provide (không đảm bảo): timing, bảng throughput guarantee, sercurity
- UDP service: (User Datagram Protocol)
• Trao đổi thông tin không đáng tin cậy (ko bảo đảm) giữa các tiến trình gửi
và nhận, có khả năng mát mát thông tin
• Does not provide: reliability, flow control, congestion control, timing,
throughput guarantee, security, connection setup
 Chỉ nhận truyền dữ liệu đi và truyền đến process nhận nhưng trên
đường đi không cung cấp gì
- UDP vẫn tồn tại và được sử dụng do nó đơn giản và nhanh hơn so với TCP, tuy
nhiên không đảm bảo bằng TCP
 Tùy từng trường hợp thì sử dụng UDP hoặc TCP sao cho hợp lí 2.2. Web and HTTP - HTTP overview
• HTTP: hypertext transfer protocol
• Web’s application-layer protocol
• Hoạt động theo mô hình client – server:
o Client: brower requests, receives (using HTTP protocol) and hiển thị web objects
o Server: Web server gửi (using HTTP protocol) object để response to request
• HTTP sử dụng TCP do HTTP là ứng dụng web do cân hoạt động đáng tin cậy
• HTTP là protocol không có trạng thái: server k duy trì thông tin về request trước đó - HTTP request message:
• HTTP có 2 loại message được trao đổi giữa web brower và web server: request, respone • HTTP request message:
o Viết bằng mã ASCII (human – readable format)
o Dòng đầu tiên gọi là “request line” chỉ được sử dụng 1 trong ba lệnh: lOMoAR cPSD| 58833082
GET, POST, HEAD o Các dòng tiếp gọi là “header lines” nói lên vào host này lấy file này,
User – agent thông tin về máy
o POST method: muốn gửi thông tin lên trên server như submit form lên.
o PUT method: muốn upload 1 file lên trên server
o GET method: gồm dữ liệu của user trong trường URL của HTTP GET
(sau dấu ?) VD: www.somesite.com/animalsearch?monkeys&banana - HTTP respone message - Cookies:
• Duy trì trạng thái làm việc web client và web server ví dụ thêm giỏ hàng vào
lazada và hôm sau vào vẫn còn thì do Cookie  4 thành phần:
o Dòng tiêu đề cookie của thông báo phản hồi HTTP o Dòng tiêu đề
cookie trong thông báo yêu cầu HTTP tiếp theo o Tệp cookie được lưu
trên máy chủ của người dùng, được quản lý bởi trình duyệt của người dùng
o Cơ sở dữ liệu back-end tại trang Web - Web Caches:
• Mục đích: Thỏa mãn yêu cầu của clients mà không liên quan đến sever chính 
Bằng cách đặt 1 Web cache giữa client và server  Brower send all HTPP requests to cahe:
o Nếu web cache chưa lưu nội dung trang web đó thì request -> web
cache -> server gốc -> reponse về web cache -> về client
o Nếu đã lưu như người dùng thứ 2 vào thì request gửi về web cache và
được web cache reponse về client
 Tăng tốc độ truy cập vào web nhanh hơn
• Web cache vừa đóng vai trò client vừa đóng vai trò server o Client với server
gốc o Server với người dùng
• Sever nói với caches cho phép chứa các thực thể trong các response header o
Cache-Control: max-age=< seconds >, tồn tại bao nhiêu thời gian thì xóa trong
cache –> cập nhật lại cái mói từ sever chính. o Cache-Control: no-cache
• Conditional GET o Không gửi object nếu cahce có bản mới nhất
o Client: têm một dòng thời điểm lấy cache trong HTTP request.
ifmodified-since: < date >
o Server: nếu cache đã là bản mới nhất, server sẽ phản hồi lại không chứa object 2.3. FTP protocol -
Có người dùng ctrinh PC người ta muốn thao tác và duyệt các file trên máy
chủ- Mô hình client/server lOMoAR cPSD| 58833082 -
Giao thức FTP mở 2 connection (HTTP mở 1 connection) 1 connection ở cổng
21 đểđiều khiển coi client này được phép duyệt trên server không chuyên dùng các
lệnh để duyệt, 1 connection ở cổng 20 2.4. Electronic Mail - Gồm 3 thành phần:
• User agents: là mail reader, ví dụ: gmai, outlook  Mail server:
o Mailbox: chứa các mail được gửi
đến user o Message queue: gửi các mail ra ngoài
• SMTP protocol (simple mail transfer protocol):
o Client: sending mail server o Server: receiving mail server - SMTP RFC: • Sử dụng TCP, port 25
• 3 giai đoạn trao đổi o SMTP handshaking o SMTP transfer of messages o SMTP closure
2.5. DNS (Domain Name System)
- Là cơ sở dữ liệu phân tán được triển khai ở rất nhiều server- Hoạt động ở
application-layer protocol: phân giải tên miền, địa chỉ ip - DNS services:
• phân giải từ tên miền –> địa chỉ IP • host aliasing • mail server aliasing • load dítribution
- Tại sao không là là CSDL tập trung:
• Nếu server chết -> DNS chết • Quá tải dung lượng
• Khoảng cách giữa các CSDK và máy sẽ bị xa • Khó bảo trì 2.6. P2P applications
- Chia sẻ file: client-server và P2P
• Hỏi: Thời gian để chia sẻ file (size F) từ 1 server đến N peers  Client-server:
o Server: Sẽ phải gửi N lần
o Cient: download file từ server • P2P:
o Server: chỉ cần upload đúng 1 lần o Client: phải download file
- P2P chia sẻ file: BitTorrent protocol: lOMoAR cPSD| 58833082
• Các file chia thành các mảnh nhỏ “chunks” có kích cỡ 256Kb, peers gửi các
chunks cho nhau cho đến khi nhận đầy đủ các chunks tạo thành 1 file thì thôi
• Torrent là 1 nhóm các peers đang chia sẻ các file nào đấy, tracker để thống kê
có nhiêu torrent và mỗi torrent có bao nhiêu peers
Chapter 3: Transport Layer
3.1.Transport layer services
3.1.1. Transport services and protocols
- Cung cấp 1 kết nối về mặt logic (ảo) giữa các process chạy bởi các host khácnhau,
về mặt vật lí vẫn đi qua từng thằng
- Các hoạt động của transport protocol trong end systems:
• Phía gửi: chia các application message thành các segment, rồi chuyển xuống network layer
• Phía nhận: gộp các segment thành các message ban đầu, rồi chuyển lên application layer
- Hai giao thức hoạt động ở tầng transport với mạng Internet: TCP, UDP
3.1.2. Transport vs. network services and protocols
- Network layer: logical communication between hosts
- Transport layer: logical communication between processes
3.1.3. Two principal Internet transport protocols -TCP:
• reliable, in-order delivery • congestion control
• flow control  connection setup - UDP:
• unreliable, unordered delivery 
no-frills extension of "best effort"
IP - Các dịch vụ cả hai không có:
• delay guarantees: Đảm bảo độ trễ
• bandwidth guarantess: Đảm bảo băng thông
3.2.Multiplexing and demultiplexing
3.2.1. Multiplexing/demultiplexing
- Multiplexing ở phía gửi: kiểm soát data từ nhiều socket, thêm transport header
- Demultiplexing ở phía nhận: sử dụng thông tin header để vẫn chuyển các
segment đã nhận đến đúng socket
3.2.2. How demultiplexing work - Host nhận IP datagram:
• Mỗi datagram có địa chỉ IP nguồn, đích
• Mỗi datagram chở 1 transport layer segment
• Mỗi segment có số port number
- Host sử dụng địa chỉ IP và port number để kết nối segment đến socket lOMoAR cPSD| 58833082
3.2.3. Connectionless demultiplexing
- Socket được định danh bởi IP đích và port đích
- Cặp IP và port number của máy đích được định danh bằng cặp này
3.2.4. Connection-oriented demultiplexing
- TCP socket gồm 4 thành phần: • Địa chỉ IP nguồn • Cổng nguồn • Địa chỉ IP đích • Cổng đích 3.2.5. Summary
- UDP: demultiplexing chỉ sử dụng địa chỉ đích
- TCP: demultiplexing sử dụng cả địa chỉ nguồn, đích
3.3.Connectioless transport UDP 3.3.1. UDP
- Giao thức tầng Transport
- Best effort: cố gắng hết sức, tạo 1 kết nối mặt logic, cố gắng đem dữ liệu đếnđích
nhưng message bị sao không chịu trách nhiệm - Connectionless:
• Không có bước kết nối, có cứ gửi
• Mỗi UDP segment được quản lý độc lập với nhau
- Trao đổi thông tin đáng tin cậy qua UDP: triển khai độ tin cậy, kiểm soát độnghẽn ở application-layer 3.3.2. UDP checksum
- Phát hiện lỗi- Phía gửi:
• Chia UDP segment thành các nhóm gồm 16 bit
• Checksum: tính tổng các nhóm rồi đảo ngược bit
• Thêm vào header checksum
- Internet checksum: weak protection
3.4.Principles of reliable data transfer (Nguyên tắc trao đổi thông tin đáng tin cậy)
3.4.1. Principles of reliable data transfer
- Sử dụng service từ Network Layer không đáng tin cậy do router
3.4.2. Reliable data transfer protocol (rdt): interfaces
- rdt_send(): Chuyển dữ liệu xuống từ application –> transport
- udt_send() (unreliable data transfer): Chuyển từ transport –> network
- rdt_rcv(): Thông báo có packet chuyển từ network –> transport
- delivery_data(): Chuyển dữ liệu từ transport –> application
3.4.3. Reliable data transfer: getÝng started
- Mục tiêu: xây dựng 1 giao thức trao đổi thông tin đáng tin cậy
- Mô hình finate state machine (FSM) để mô tả phía gửi, nhận lOMoAR cPSD| 58833082
• Mỗi một thực thể tồn tại ở một trạng thái ("state"). Khi có một sự kiện
("event") xảy ra ở thực thể hiện tại, nó sẽ chuyển ("transition") sang trạng thái khác
• Việc chuyển trạng thái gây ra hành vi ("action") khác • –> event/action
3.4.4. rdt1.0: reliable transfer over a reliable channel
- Giả sử môi trường gửi dữ liệu hoàn toàn tin cậy: không mất mát, không lỗi bit -
Sử dụng mô hình FSM mô tả phía gửi và phía nhận:
• Phía gửi: đợi dữ liệu từ trên –> rdt_send(data)/packet = make_pkt(data)
(thông báo/đóng gói dữ liệu) -> udt_send(packet) –> đợi dữ liệu
• Phía nhận: đợi dữ liệu từ dưới –> rdt_rcv(data)/extract(packet, data) ->
delivery_data(data) –> đợi dữ liệu
3.4.5. rdt2.0: channel with bit errors - Tích hợp 2 tính năng:
• Cơ chế checksum để phát hiện bit sai
• Khôi phục từ lỗi o Acknowledgements (ACKs): Cơ chế phản hồi từ phía
nhận thông báo cho phía gửi là OK
o Negative acknowledgements (NAKs): Cơ chế phản hồi từ phía
nhận thông báo cho phía gửi bị lỗi
o Phía gửi sẽ gửi lại gói tin cho các phản hồi NAKs
- Giao thức rdt2.0 thuộc kiểu stop and wait: phía gửi gửi 1 gói tin, sau đó chờphản hồi của phía nhận - Mô hình FSM:
• Phía gửi: Có hai trạng thái:
o Ngồi đợi dữ liệu (có lệnh từ application layer) o Ngồi đợi ACK,
NAK (phản hồi từ phía nhận)
o Khi có sự kiện rdt_send(data)/ packet = make_pkt(data, checksum)
từ tầng app –> đóng gói gói tin và checksum, gửi gói tin
o Sau đó chuyển trạng thái chờ đợi phản hồi –> Nhận được gói tin
phản hổi, kiểm tra phản hổi, có 2 sự kiện:
 Phản hổi nhận được là ACK –> Chuyển về đợi dữ liệu tiếp theo
 Phản hồi nhận được là NAK –> Gửi lại gói tin –> Vẫn chuyển
về trạng thái chờ đợi phản hồi
• Phía nhận: Một trạng thái ngồi đợi dữ liệu (từ tầng network đẩy lên) o
Khi có sự kiện nhận được gói tin bị lỗi –> Gửi NAK, chuyển về đợi gói tin
o Khi có sự kiện nhận được gói tin ko bị lỗi –> Mở gói tin, chuyển dữ liệu lên trên, gửi ACK
- Lỗi cực kỳ nghiêm trọng: lOMoAR cPSD| 58833082
• Khi NAK, ACK bị lỗi o Phía gửi ko biết điều gì xảy ra o Không thể gửi lại
–> sẽ bị lặp lại gói tin • Giải pháp:
o Gửi lại gói tin hiện tại nếu ACK/NAK bị lỗi
o Phía gửi thêm một số thứ tự (sequence number) với mỗi gói tin o
Phía nhận hủy bỏ những gói tin bị trùng lặp 3.4.6. rdt2.1:
sender/receiver, handling garbled ACK/NAKs
- Phía gửi:
• Số thứ tự seq # được add vào gói tin
• Chỉ cần sử dụng stt seq #s (0, 1) là đủ
• Cơ chế kiểm tra ACK và NAK có bị lỗi không
• Số trạng thái gấp đôi 2.0
- Phía nhận: Phải kiểm tra xem gói tin có bị trùng lặp hay không
3.4.7. rdt2.2: a NAK-free protocol
- Giống rdt2.1, nhưng chỉ sử dụng ACK
- Thay vì gửi NAK, phía nhận sẽ gửi ACK của gói tin cuối cùng đến đích thànhcông
- ACK trùng lặp tại phía gửi–> tương tự như NAK: truyền lại pkt hiện tại
- TCP sử dụng phương pháp này để không có NAK
3.4.8. rdt3.0: channels with errors and loss (kênh truyền bị mất, lỗi)
- Giả định kênh có thể bị lỗi, mất mát gói tin (dữ liệu, ACKs)
- Cách tiếp cận: Đợi một khoảng thời gian nhất định cho phản hồi ACK
• Gửi lại nếu không có ACK
• Nếu gói tin (hoặc ACK) bị chậm (không mất): Có số thứ tự seq để check trùng lặp
• Có thêm cơ chế "time out": Sau một thời gian thì nếu ko có phản hồi –> sẽ gửi lạ
- Hiệu suất của rdt3.0 (stop-and-wait): cực kì kém hiệu quả
- rdt3.0: pipelined protocols operation: phía gửi được phép gửi nhiều gói
tin –> sau đó ngồi đợi phản hồi
3.4.8.1. rdt3.0: Go-Back-N (pipelined protocols operation) - Phía gửi:
• Phía gửi được gửi liên tiếp tối đa N gói tin, sau đó dừng lại để đợi ACK
• "window": Không gian số thứ tự, được sử dụng k bit để đánh số seq #
• cumulative ACK (n): khi gửi ACK (n) tức là gửi thành công các gói tin có số thứ tự <= n
• timeout(n): truyền lại gói n và tất cả gói thứ tự cao hơn trong "window"
- Phía nhận: bỏ tất cả các gói tin không đến đích theo thứ tự lOMoAR cPSD| 58833082
3.4.8.2. rdt3.0: Selective repeat (pipelined protocols operation)
- Phía nhận: phản hổi ACK tất cả các gói tin đến đích thành công
 Buffer những gói tin đến đích không theo đúng thứ tự
- Phía gửi: time-out/gửi lại những gói tin chưa được phản hồi ACK
3.5.Connection oriented transport TCP 3.5.1. Overview
- Từ điểm này –> điểm khác
- Tin cậy, in-order byte (byte đến đích theo thứ tự
- Gửi dữ liệu theo hai chiều: MSS: maximun segment size
- Cumulative ACK: Khi gửi một ACK (n) tức là đã nhận được các byte < n
- Pipelining: TCP congestion, flow control set window size
- Connection-oriented: trải qua bước bắt tay (handshaking)
- Flow controled: phía gửi không gửi quá tải phía nhận
3.5.2. TCP segment structure - Segment = header + data - Header: • Source, dest port #
• Sequence number: số thứ tự • ACK number • Checksum
• Length: Độ dài của TCP header
• Receive window: flow control
• R (RST), S (SYN), F (FIN): quản lý kết nối
 A (ACK bit) 3.5.3. TCP sequence numbers, ACKs - Sequence numbers: •
Là số thứ tự của byte đầu tiên nằm trong segment đó 
VD: seg 1 - (0 - 19) byte –> seq 0, seg 2 (20 - 39) –> seq 20 - ACK
number (phản hổi từ phía nhận): •
Thông báo cho phía gửi byte tiếp theo được nhận là bao nhiêu •
Chính là số thứ tự của byte tiếp theo mà phía gửi muốn nhận
3.5.4. TCP fast retransmit
- Nếu phía gửi nhận được ba lần ACK giống nhau, gửi lại segment chưa được ACK với sequence nhỏ nhất 3.5.5. Flow control
- Là thông tin trong receive window
- Receive window(rwnd): số byte tối đa mà phía nhận nhận được
- Flow control: Kiểm soát để tránh làm tràn buffer phía nhận
3.5.6. TCP connection management
- Trước khi trao đổi dữ liệu, phía gửi và nhận phải "handshake".
- TCP bắt tay trong 3 bước: lOMoAR cPSD| 58833082
• Client gửi o SYN bit = 1 –> gói tin yêu cầu khởi tạo kết nối
o Seq = x –> gói tin đầu tiên mà Client gửi có số hiệu là x
• Server phản hồi o SYN bit = 1 –> gói tin yêu cầu khởi
tạo kết nối o Seq = y –> gói tin đầu tiên mà Server
gửi có số hiệu là y o ACKBit = 1 –> Chấp nhận
o ACKNum = x + 1 –> Thông báo đã nhận được từ client
• Client gửi tiếp o ACKbit = 1 –> Chấp nhận
o ACKNum = y + 1 –> Thông báo đã nhận được từ server
3.5.7. TCP round trip time (RTT), timeout
- Đặt timeout lớn hơn RTT -
Cần xác định được RTT:
• Sample RTT: Thời gian từ việc gửi dữ liệu đến khi nhận được ACK
• EstimatedRTT (Giá trị trung bình RTT) = (1 - alpha) * EstimatedRTT + alpha * SampleRTT • alpha = 0.125
3.6.Principles of congestion control (Kiểm soát sự tắc nghẽn) - Congestion (tắc nghẽn):
 Không chuẩn lắm: quá nhiều nguồn gửi quá nhiều dữ liệu và gửi quá nhanh
khiến network không xử lý kịp.  Khác với flow control  Biểu hiện: o Mất gói tin o Đỗ trễ dài
- Causes/costs of congestion: scenario 2 3.7.TCP congestion
- Mục tiêu: phía gửi TCP phải truyền nhanh nhất có thể nhưng không làm tắc nghẽnmạng
- Phi tập trung: mỗi phía gửi TCP đặt tốc độ riêng dựa trên phản hồi ngầm:
 ACK: đã nhận được phân đoạn, mạng không bị tắc nghẽn -> tăng tốc độ, tăng
đến lúc có nghẽn thì giảm tốc độ
- Phía gửi giới hạn tốc độ bằng cách giưới hạn số byte unACK - rate = cwnd/RTT (bytes/sec)
Chapter 4: Network layer 4.1.Introduction 4.1.1. Networ layer
- Vận chuyển các segment từ phía gửi đến phía nhận
- Tại phía gửi, đóng gói segments –> datagrams/packets(gói tin)
- Ở phía nhận, vận chuyển các segment đến tần transport
- Giao thức tầng network có trong tất cả cá host, router
- Router kiểm tra header trong tất cả các gói tin IP đi qua nó lOMoAR cPSD| 58833082 4.1.2. Chức năng
- Forwarding: chuyển tiếp gói tin từ cổng này sang cổng kia của router
- Routing: tính toán các con đường cho gói tin từ điểm đầu đến điểm cuối
- Các bước hoạt động: thuật toán routing giúp tạo bảng forwarding với 2 cột
(header, outputlink), các router chuyển packet theo bảng này
4.1.3. Connecting Setup
- Host và router hình thành kết nối ảo để duy trì hi truyền packet
- Network là kết nối giữa 2 host (có sự liên quan đến router) trong khi transportlà kết nối giữa 2 process
4.1.4. Networkk service model
- Mô hình dịch vụ cho kênh gửi datagrams:
• Gửi từng gói một: đảm bảo truyền ổn, giới hạn delay
• Gửi một luồng: đảm bảo về thứ tự, băng thông, ràng buộc về không gian giữa các gói tin
- Mô hình Internet là best effort service model, không quan tâm về loss,
order,timing, congestion, lợi ích là light-weight 4.2.Virtual circuit and
datagram networks 4.2.1. Connection, connectionless service
- Datagram network: • phi kết nối
• không duy trì trạng thái, đưa thẳng gói tin ra dựa trên bảng định tuyến
• không biết được 2 bên còn duy trì kết nối không
• forward dựa trên địa chỉ đích o được cung cấp 32 bit địa chỉ -> 4 tỉ IP address
o nếu lưu hết vào 1 bảng mà bảng lưu trong ram -> gây quá tải
o giải pháp là sử dụng list range of address - Virtual-ciruit: • Kết nối
• có hiệu năng cao do đã định trước đường truyền, một mình mình đi
• có nhiều thiết lập cần được thực hiện trước khi truyền dữ liệu
• mỗi gói tin mang một identifier VC, dùng để định danh đích tiếp theo chứ
không mang destination host address
• các router trên đường truyền phải duy trì được state (stateful), nhớ xem
gói tin đến từ đâu và đi về đâu,, ai truyền đến
• lợi ích là biết được 2 bên còn duy trì kết nối không
• nắm bắt hết resource ngay tù đầu (bandwidth, buffer) => quản lí dễ dàng
- No choice: không có thể chuyển đổi kết nối như tầng transport(chuyển kết nối -> không kết nối)
- Triển khai chủ yếu trong network core- VC implementation:
• path: đường đi từ nguồn đến đích  vc numbers:
o gán cho các link, định danh đường đi tiếp theo (không gán cho router) lOMoAR cPSD| 58833082
o packet thuộc về VC thì mang VC number chứ không jmang dest address
o VC number thay đổi trên mỗi link, sau khi đi qua các router
• bảng forwarding: nội dung khác với bảng forwarding ở
datagram - Datagram or VC(ATM) network:
• Internet (datagram): o mềm dẻo, không yêu cầu cao về timing o nhiều loại link
o phức tạp ở edge, đơn giản ở network • ATM (VC):
o phát triển từ ý tưởng điện thoại dây: yêu cầu về timing, đảm bảo
cao o thiết bị edge đơn giản, tầng mạng phức tạp
4.3.What’s inside a router - Kiến trúc bậc cao: lOMoAR cPSD| 58833082
4.3.1. Router input port - Decentralized switching:
o Sử dụng các giá trị trường header, tra cứu cổng đầu ra bằng cách sử
dụng bảng chuyển tiếp (một phần của bảng định tuyến) trong bộ nhớ
cổng đầu vào (“match plus action”)
o Mục tiêu: hoàn thành xử lý cổng đầu vào ở 'tốc độ đường truyền' o Xếp
hàng cổng đầu vào: nếu các datagram đến nhanh hơn tốc độ chuyển
tiếp vào kết cấu chuyển đổi
o Chuyển tiếp dựa trên đích: chỉ chuyển tiếp dựa trên địa chỉ IP đích
(truyền thống) o Chuyển tiếp tổng quát: chuyển tiếp dựa trên bất kỳ tập
hợp giá trị trường header nào
4.3.1.1. Switching fabrics
- Chuyển gói tin từ input đến output tương ứng
- switching rate: Tốc độ mà các gói tin có thể được chuyển từ đầu vào sangđầu ra
• thường được đo là bội số của tốc độ dòng vào/ra  N inputs:
tốc độ chuyển mạch N lần tốc độ dòng mong muốn - 3 loại switching fabric chính: • Memory lOMoAR cPSD| 58833082 • Bus • Interconnection network 4.3.1.1.1. Switching via memory
- Máy tính truyền thống với chuyển đổi dưới sự kiểm soát trực tiếpcủa CPU
- Gói được sao chép vào bộ nhớ của hệ thống
- Tốc độ bị giới hạn bởi băng thông bộ nhớ (2 giao cắt bus trên mỗidatagram) 4.3.1.1.2. Switching via bus - đẩy hết lên 1 kênh
- tốc độ nhanh hơn nhưng có vấn đề về xung đột packet, đồng thờitốc
độ bị giới hạn bởi băng thông 4.3.1.1.3.
Switching via interconnection network
- Tạm giải quyết được các vấn đề trên
4.3.1.2. Input port queuing -
Nếu switching fabric chậm hơn so với cổng đầu vào kết hợp -> xếp
hàngcó thể xảy ra ở input queues
 Chậm trễ và mất hàng đợi do tràn bộ đệm đầu vào! -
Head-of-the-Line (HOL) blocking: datagram xếp hàng đợi ở phía
trướchàng đợi ngăn những người khác trong hàng đợi di chuyển về phía lOMoAR cPSD| 58833082
trước - Output port contention (tranh chấp): chỉ có thể truyền một gói dữ
liệu màu đỏ. gói màu đỏ thấp hơn bị chặn
4.3.2. Router input port
- Buffering là cần thiết khi datagram ra khỏi fabric nhanh hơn transmission rate (tốc độ truyền) • Tính buffering: • Những rủi ro:
o Loss: có thể mất mán gói tín do congestion ở buffering,
nguyên nhân là do kích thước buffer không đủ
o Head of the Line (HOL) blocking: datagram bị delay dẫn đến
block các datagram đằng sau cũng đang queue, tệ hơn là
datagram đó có thể của ouput port khác
- Scheduling discipline thực hiện đánh số ưu tiên cho một số datagram truyềntrước,
nếu datagram đó là loại cần được ưu tiên
4.4.IP: Internet Protocol
4.4.1. Network Layer: Internet