Connectionless Multiplexing and DemultiplexingRecall from Section 2.7. dịch - Connectionless Multiplexing and DemultiplexingRecall from Section 2.7. Việt làm thế nào để nói

Connectionless Multiplexing and Dem

Connectionless Multiplexing and Demultiplexing
Recall from Section 2.7.1 that the Python program running in a host can create a
UDP socket with the line
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM)
When a UDP socket is created in this manner, the transport layer automatically
assigns a port number to the socket. In particular, the transport layer assigns a port
number in the range 1024 to 65535 that is currently not being used by any other UDP
port in the host. Alternatively, we can add a line into our Python program after we
create the socket to associate a specific port number (say, 19157) to this UDP socket
via the socket bind() method:
clientSocket.bind((‘’, 19157))
If the application developer writing the code were implementing the server side of a
“well-known protocol,” then the developer would have to assign the corresponding
3.2 • MULTIPLEXING AND DEMULTIPLEXING 193
Source port #
32 bits
Dest. port #
Other header fields
Application
data
(message)
Figure 3.3  Source and destination port-number fields in a transport-layer
segment
well-known port number. Typically, the client side of the application lets the transport layer automatically (and transparently) assign the port number, whereas the
server side of the application assigns a specific port number.
With port numbers assigned to UDP sockets, we can now precisely describe
UDP multiplexing/demultiplexing. Suppose a process in Host A, with UDP port
19157, wants to send a chunk of application data to a process with UDP port 46428
in Host B. The transport layer in Host A creates a transport-layer segment that
includes the application data, the source port number (19157), the destination port
number (46428), and two other values (which will be discussed later, but are unimportant for the current discussion). The transport layer then passes the resulting segment to the network layer. The network layer encapsulates the segment in an IP
datagram and makes a best-effort attempt to deliver the segment to the receiving host.
If the segment arrives at the receiving Host B, the transport layer at the receiving
host examines the destination port number in the segment (46428) and delivers the
segment to its socket identified by port 46428. Note that Host B could be running
multiple processes, each with its own UDP socket and associated port number. As
UDP segments arrive from the network, Host B directs (demultiplexes) each segment
to the appropriate socket by examining the segment’s destination port number.
It is important to note that a UDP socket is fully identified by a two-tuple consisting of a destination IP address and a destination port number. As a consequence, if two
UDP segments have different source IP addresses and/or source port numbers, but have
the same destination IP address and destination port number, then the two segments
will be directed to the same destination process via the same destination socket.
You may be wondering now, what is the purpose of the source port number? As
shown in Figure 3.4, in the A-to-B segment the source port number serves as part of
a “return address”—when B wants to send a segment back to A, the destination port
in the B-to-A segment will take its value from the source port value of the A-to-B
segment. (The complete return address is A’s IP address and the source port number.) As an example, recall the UDP server program studied in Section 2.7. In
UDPServer.py, the server uses the recvfrom() method to extract the clientside (source) port number from the segment it receives from the client; it then sends
a new segment to the client, with the extracted source port number serving as the
destination port number in this new segment.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Ghép kênh connectionless và DemultiplexingNhớ lại từ phần 2.7.1 Python chương trình đang chạy trong một máy chủ có thể tạo ra mộtUDP ổ cắm với đườngclientSocket = ổ cắm (socket.AF_INET, ổ cắm. SOCK_DGRAM)Khi một ổ cắm UDP được tạo ra theo cách này, các phương tiện giao thông lớp tự độnggán một số hiệu cổng vào ổ cắm. Đặc biệt, tầng giao vận chỉ định một cổngsố lượng trong khoảng 1024 đến 65535 hiện đang không được sử dụng bởi bất kỳ khác UDPcổng trong các máy chủ. Ngoài ra, chúng tôi có thể thêm một dòng vào chương trình Python của chúng tôi sau khi chúng tôitạo ổ cắm để kết hợp một số cổng cụ thể (nói, 19157) này cổng UDPbằng phương pháp bind() socket:clientSocket.bind (('', 19157))Nếu các nhà phát triển ứng dụng viết mã thực hiện phía máy chủ của một"giao thức nổi tiếng", sau đó các nhà phát triển sẽ phải gán tương ứng• GHÉP KÊNH 3.2 VÀ DEMULTIPLEXING 193Nguồn port #32 bitDest. Port #Các trường tiêu đềỨng dụngdữ liệu(tin nhắn)Hình 3.3 nguồn và đích đến số hiệu cổng trường ở tầng giao vậnphân khúcsố hiệu cổng nổi tiếng. Thông thường, phía khách hàng của các ứng dụng cho phép tầng giao vận, và tự động (minh bạch) gán số hiệu cổng, trong khi cácphía máy chủ của ứng dụng gán một số hiệu cổng cụ thể.Với số cổng giao cho UDP ổ cắm, chúng tôi có thể bây giờ chính xác mô tảUDP ghép kênh/demultiplexing. Giả sử một quá trình trong máy chủ A, với cổng UDP19157, muốn gửi một đoạn dữ liệu ứng dụng cho một quá trình với cổng UDP 46428trong máy chủ B. Tầng giao vận trong máy chủ A tạo ra một phân đoạn tầng giao vận màbao gồm các dữ liệu ứng dụng, số hiệu cổng nguồn (19157), điểm đến cảngsố lượng (46428), và hai giá trị khác (trong đó sẽ được thảo luận sau này, nhưng là không quan trọng cho các cuộc thảo luận hiện nay). Tầng giao vận sau đó vượt qua đoạn kết quả đến các lớp mạng. Tầng mạng gói gọn các phân đoạn trong một IPdatagram và làm cho một nỗ lực tốt nhất cố gắng để cung cấp các phân đoạn cho các máy chủ nhận.Nếu đoạn đến lúc nhận được chủ nhà B, tầng giao vận tại nhậnkiểm tra điểm đến cổng số trong phân khúc (46428) và cung cấp cácphân đoạn để ổ cắm của nó được xác định bởi cổng 46428. Lưu ý rằng có thể chạy máy chủ Bnhiều xử lý, mỗi riêng của mình ổ cắm UDP và liên quan đến số cổng. NhưPhân đoạn UDP đến từ mạng, máy chủ lưu trữ B chỉ đạo (demultiplexes) mỗi phân đoạnvào ổ cắm thích hợp bằng cách kiểm tra số hiệu cổng đến các phân đoạn.Nó là quan trọng cần lưu ý rằng một ổ cắm UDP đầy đủ được xác định bởi hai tuple bao gồm một điểm đến địa chỉ IP và một số cảng đích. Như một hệ quả, nếu haiUDP phân đoạn có nguồn gốc khác nhau các địa chỉ IP và/hoặc số cổng nguồn, nhưng cóđịa chỉ IP cùng điểm đến và điểm đến cổng số, sau đó hai đoạnsẽ được hướng dẫn đến đích quá trình thông qua các ổ cắm đích tương tự.Bạn có thể tự hỏi bây giờ, những gì là mục đích của số hiệu cổng nguồn? NhưHiển thị trong hình 3.4, trong phân khúc A đến B là nguồn cổng số phục vụ như là một phần củamột địa chỉ"trả lại" — khi B muốn gửi một phân đoạn quay lại một, các điểm đến cổng.trong B-để-A phân khúc sẽ mất giá trị của nó từ giá trị cổng nguồn của A-to-Bphân đoạn. (Hoàn toàn trở về địa chỉ của một địa chỉ IP và các nguồn cảng số.) Ví dụ, nhớ lại các chương trình server UDP nghiên cứu trong phần 2.7. ỞUDPServer.py, các máy chủ sử dụng phương pháp recvfrom() để trích xuất các số cổng clientside (mã nguồn) từ các phân đoạn mà nó nhận được từ khách hàng; nó sau đó gửi chomột phân đoạn mới cho khách hàng, với số hiệu cổng được trích nguồn phục vụ như là cácđiểm số hiệu cổng trong phân khúc mới này.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Connectionless Multiplexing và demultiplexing
Nhớ lại từ mục 2.7.1 là chương trình Python chạy trong một máy chủ có thể tạo ra một
socket UDP với dòng
clientSocket = socket (socket.AF_INET, socket.SOCK_DGRAM)
Khi một socket UDP được tạo ra theo cách này, các phương tiện giao thông lớp tự động
gán một số cổng vào socket. Đặc biệt, lớp vận chuyển giao một cổng
số trong khoảng 1.024-65.535 rằng hiện không được sử dụng bởi bất kỳ UDP khác
cổng trong máy chủ. Ngoài ra, chúng ta có thể thêm một dòng vào chương trình Python của chúng tôi sau khi chúng tôi
tạo ra các socket để kết hợp một số cổng cụ thể (nói, 19.157) để socket UDP này
thông qua các ràng buộc socket () phương pháp:
clientSocket.bind (( '', 19.157))
Nếu nhà phát triển ứng dụng viết mã được thực hiện phía máy chủ của một
"giao thức nổi tiếng", sau đó các nhà phát triển sẽ phải gán tương ứng
3.2 • ghép kênh và giải mã kênh 193
Nguồn port #
32 bit
đích. cổng #
tiêu đề khác các lĩnh vực
ứng dụng
dữ liệu
(tin nhắn)
Hình 3.3? Nguồn và đích lĩnh vực cảng-số trong giao thông vận tải lớp
phân khúc
nổi tiếng số cổng. Thông thường, các mặt hàng của các ứng dụng cho phép các lớp truyền tải tự động (và minh bạch) chỉ định số cổng, trong khi
phía máy chủ của ứng dụng chỉ định một số cổng cụ thể.
Với số cổng được gán cho socket UDP, bây giờ chúng ta có thể mô tả chính xác
UDP ghép / giải mã kênh. Giả sử một quá trình trong Host A, với cổng UDP
19.157, muốn gửi một đoạn dữ liệu ứng dụng đến một quá trình với cổng UDP 46.428
trong Host B. Lớp vận chuyển trong Host A tạo ra một phân khúc vận chuyển lớp đó
bao gồm các dữ liệu ứng dụng, số cổng nguồn (19.157), các cổng đích
số (46.428), và hai giá trị khác (sẽ được thảo luận sau này, nhưng là không quan trọng cho các cuộc thảo luận hiện nay). Lớp giao thông sau đó vượt qua các phân khúc dẫn đến tầng mạng. Tầng mạng gói gọn phân khúc trong một IP
datagram và làm cho một nỗ lực nhất nỗ lực để cung cấp các phân đoạn để máy nhận.
Nếu phân đoạn đến lúc nhận Host B, lớp vận chuyển tại tiếp nhận
máy chủ kiểm tra số cổng đích trong phân đoạn (46.428) và cung cấp các
phân đoạn để ổ cắm của nó được xác định bởi cổng 46428. Lưu ý rằng host B có thể chạy
nhiều quy trình, mỗi socket UDP riêng của mình và số cổng liên kết. Như
đoạn UDP đến từ mạng, Host B chỉ đạo (demultiplexes) mỗi đoạn
để các ổ cắm phù hợp bằng cách kiểm tra số cổng đích của phân đoạn.
Điều quan trọng là cần lưu ý rằng một socket UDP được xác định hoàn toàn bởi một hai-tuple gồm một IP đích địa chỉ và số cổng đích. Như một hệ quả, nếu hai
phân đoạn UDP có địa chỉ IP nguồn khác nhau và / hoặc số cổng nguồn, nhưng có
địa chỉ IP đích và cổng đích cùng một số, sau đó hai phân đoạn
sẽ được dẫn đến quá trình cùng một điểm đến thông qua các ổ cắm đích.
bạn có thể tự hỏi tại, mục đích của các số cổng nguồn là gì? Như
thể hiện trong hình 3.4, trong phân khúc A-to-B số cổng nguồn để phục vụ như là một phần của
một "địa chỉ trở lại" -khi B muốn gửi một đoạn trở lại A, các cổng đích
trong phân khúc B-to-A sẽ mất giá trị của nó từ giá trị cổng nguồn của A-to-B
phân khúc. (Các địa chỉ hồi là của một địa chỉ IP và số cổng nguồn.) Như một ví dụ, nhớ lại những chương trình máy chủ UDP nghiên cứu tại mục 2.7. Trong
UDPServer.py, các máy chủ sử dụng các phương pháp recvfrom () để trích xuất số lượng clientside (nguồn) cổng từ phân khúc mà nó nhận được từ khách hàng; sau đó nó sẽ gửi
một phân khúc mới cho khách hàng, với số cổng nguồn chiết xuất phục vụ như là các
số cổng đích trong phân khúc mới này.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: