Are they only used to specify "which application should use the data? "
ư, tôi cung nghi vậy. Hoặc một quá trình chứ không phải là một ứng dụng. Một quá trình là một ví dụ của một ứng dụng trong bộ nhớ.
Và cổng là một trường của nhiều trường trong một gói (để sử dụng định nghĩa chung và hữu ích của gói).
Khi một quá trình được cho là lắng nghe trên một cổng X cụ thể, điều đó có nghĩa là nó đang đọc hoặc được cung cấp các gói có cổng được đặt thành X
Giả sử bạn có hai máy tính A và B
B có một loạt các phần mềm khác nhau, các quy trình khác nhau đang chạy
mỗi quy trình trên A và mỗi quy trình trên B liên kết với các cổng .. Và vì vậy, khi các gói đi đến A hoặc B, các quy trình biết gói nào dành cho chúng.
Trên thực tế, nó không chỉ dành cho mỗi quy trình .. Đó là một kênh liên lạc .. Vì vậy, một quy trình trên A muốn trao đổi dữ liệu với một quy trình trên B. Vì vậy, A chọn một cổng cho giao tiếp đó và B chọn một cổng cho giao tiếp đó. Và A và B gửi các gói cho nhau với các cổng nguồn và đích được đặt chính xác.
Nếu A và B muốn giao tiếp trên một chủ đề khác hoặc một chủ đề liên quan hoặc người dùng trên A hoặc người dùng trên B muốn .. Sau đó, họ có thể sử dụng các cổng mới. Và do đó, các chương trình trên A và B hoặc người dùng trên A và B, có thể thấy hai kênh liên lạc riêng biệt bằng cách xem tất cả các gói trong đó cổng nguồn hoặc cổng đích là X.
Như câu hỏi của bạn
Họ cư trú ở đâu?
Giả sử bạn có Máy tính A và Máy tính B, thì Máy tính A được cho là có cổng mở và máy tính B được cho là có cổng mở. Giống như một ID, chương trình sẽ "mở một cổng", tức là nó yêu cầu từ HĐH rằng "cổng" được đặt sang một bên để sử dụng.
Tôi có thể thay đổi chúng?
Có hai trường hợp mở cổng..i.e. một cổng ra đời. ID đó được tạo để sử dụng.
Một là khi một chương trình khởi tạo một kết nối, và thứ hai là khi một chương trình đang lắng nghe một kết nối. Việc nghe xảy ra đầu tiên.
Khi nói đến việc tạo một chương trình lắng nghe kết nối, bạn thường có thể nói cho chương trình nghe cổng nào. Thông thường chương trình sẽ cung cấp cho bạn tùy chọn.
Bạn có thể tự mình thử điều này bằng cách thiết lập cái gọi là "máy chủ" .. Có nhiều định nghĩa khác nhau về máy chủ .. Một là máy tính khá mạnh, một máy tính khác là máy tính trung tâm có thể được nhiều người khác truy cập hoặc thậm chí được sử dụng truy cập nhiều người khác. Và một định nghĩa khác - định nghĩa chính - là một phần mềm lắng nghe người khác kết nối (thường có khả năng nhiều người khác kết nối), vì vậy bạn thấy các định nghĩa khác về máy chủ xuất phát từ đó.
Bạn có thể tạo một máy chủ .. thiết lập một máy chủ
Tinyweb là một máy chủ web nhỏ
Hướng dẫn trên trang web này
https://www.ritlabs.com/en/products/tinyweb/install.php
vì vậy hãy tạo c: \ blah \ index.html nó thậm chí có thể để trống.
Điều này làm cho nó nghe trên cổng 8000
Run TinyWeb on port 8000:
c:\tinyweb\tiny.exe c:\blah 8000
Bạn có thể làm http://127.0.0.1:8000 Vì vậy, truy cập vào giao diện mạng cục bộ (ảo tôi đoán) của máy tính 127.0.0.1
Và chỉ định cổng 8000
Nếu bạn thiết lập tinyweb trên một cổng khác, thì bạn sẽ http đến một cổng khác, thay đổi số sau dấu hai chấm
và xem trang web của bạn
Thông thường mọi người có máy chủ web lắng nghe trên cổng 80 .. nếu chúng là công khai .. Và đôi khi cổng 8080 nếu chúng nằm trong mạng LAN của chính họ và không công khai.
Tải các chương trình nghe trên một cổng. VNC chẳng hạn, đó là chương trình cho phép bạn xem máy tính từ xa. Nó có các cài đặt nơi bạn chỉ định một cổng
Có một chương trình gọi là nc chỉ có thể nghe trên một cổng và xuất bất cứ thứ gì được gửi đến nó. Bạn có thể chạy nó với cygwin nếu bạn cài đặt cygwin.
Vì vậy, chính chương trình có thể thay đổi cổng mà nó nghe. và bạn có thể nói với chương trình ..
Đó là cho các máy chủ, chương trình nghe trên một cổng
Các chương trình khởi tạo kết nối với máy chủ, được gọi là chương trình máy khách. Bạn luôn có máy khách và máy chủ .. Một chương trình lắng nghe (thường được gọi là máy khách) và một chương trình lắng nghe (thường được gọi là máy chủ).
Máy khách và máy chủ có thể có nghĩa là máy khách yêu cầu và máy chủ trả lời .. và sau đó nếu máy trả lời là máy khách thì bạn có thể nhận được một số thuật ngữ hài hước từ một số phần mềm về máy chủ tạo kết nối ngược .. với máy khách. Nhưng thông thường, ứng dụng khởi tạo được gọi là máy khách và máy khách lắng nghe được gọi là máy chủ và thông thường, máy khách cũng thực hiện các yêu cầu và máy chủ thực hiện trả lời. ví dụ. trình duyệt web của bạn là máy khách và nó yêu cầu các trang web từ máy chủ web ở một số IP từ xa.
Khách hàng, tức là các chương trình khởi tạo kết nối, họ nhận được số cổng ngẫu nhiên trên 1024
Nếu bạn mở cmd.exe và chạy netstat -aon
sau đó bạn thấy một danh sách các kết nối bao gồm các cổng. Nó hiển thị cổng cục bộ và cổng từ xa cho bất kỳ kết nối.
Vì vậy, hãy tìm số cổng & lt; 1024. Ở đây chúng tôi có một máy chủ lắng nghe cổng 1234 trên máy tính của tôi (0.0.0.0 có nghĩa là bất kỳ IP nào cũng có thể kết nối .. mặc dù điều đó có thể bị chặn bởi tường lửa hoặc bộ định tuyến NAPT).
Và dòng khác tìm trong địa chỉ nước ngoài bạn thấy cổng 80 .. đó là máy tính của tôi kết nối với máy chủ web
Các cổng & gt; 1023 là cổng ngẫu nhiên
1024 cổng đầu tiên 0-1023 thường là cổng mà máy chủ sử dụng. mặc dù đôi khi mọi người chọn các cổng cao hơn cho máy chủ, như một lớp bảo mật, để ẩn tốt hơn một chút để phát hiện khó hơn một chút từ tin tặc. Hoặc ra khỏi một quy ước như 8080 cho một máy chủ web nội bộ trên mạng LAN.
C:\>netstat -aon
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING 3656
...
TCP 10.0.0.92:50735 147.148.112.39:80 CLOSE_WAIT 5340
How does the ISP blocks a Port(I have read in some articles where ISPs block certain ports numbers of a tenant and so tenant is not able to host a website)
If port number is blocked inside a Router, how is it done?
Bộ định tuyến NAT làm điều đó. Mặc dù họ cũng có thể chạy tường lửa và điều đó cũng có thể làm điều đó
Các bộ định tuyến NAT đang thực hiện một dạng NAT với nhiều tên bao gồm NAPT hoặc NAT / PAT. Để bỏ chặn nó trên bộ định tuyến NAT, bạn sẽ thực hiện "chuyển tiếp cổng". điều đó có nghĩa là khi một yêu cầu được đưa ra và xuất hiện từ bên ngoài thường là internet, để kết nối với máy chủ của bạn, bộ định tuyến sẽ chuyển nó đến một trong các máy tính của bạn, một yêu cầu mà bạn nói với nó, chạy máy chủ.
Phần mềm họ sẽ sử dụng được gọi là tường lửa. Bạn cũng chạy một cái trong Windows XP và Windows 7. Ngoài ra còn có tường lửa phần cứng chuyên dụng (chúng cũng chạy phần mềm tường lửa)
Who has reserved certain Port Numbers for Web, SMTP, FTP, etc.
Chúng là những quy ước
IANA tôi cho rằng. Và họ có một danh sách tất cả.
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt