前言
銅鼓哦網(wǎng)絡(luò)接口層與網(wǎng)絡(luò)層卒茬,我們已經(jīng)把數(shù)據(jù)從計(jì)算機(jī)A傳輸?shù)接?jì)算機(jī)B上蘸泻,可是計(jì)算機(jī)B上有各種各樣的應(yīng)用程序食铐,計(jì)算機(jī)如何知道把數(shù)據(jù)傳給哪個(gè)應(yīng)用程序呢?
這個(gè)時(shí)候狰腌,端口
由此而來
一除破、端口
1. 介紹
如果把IP地址比作一間房子 ,端口就是出入這間房子的門琼腔。真正的房子只有幾個(gè)門瑰枫,但是一個(gè)IP地址的端口可以有65536(即:2^16)個(gè)之多!端口是通過端口號(hào)來標(biāo)記的,端口號(hào)只有整數(shù)光坝,范圍是從0 到65535(2^16-1)尸诽。
在Internet上,各主機(jī)間通過TCP/IP協(xié)議發(fā)送和接收數(shù)據(jù)包盯另,各個(gè)數(shù)據(jù)包根據(jù)其目的主機(jī)的ip地址來進(jìn)行互聯(lián)網(wǎng)絡(luò)中的路由選擇性含,把數(shù)據(jù)包順利的傳送到目的主機(jī)。大多數(shù)操作系統(tǒng)都支持多程序(進(jìn)程)同時(shí)運(yùn)行鸳惯,那么目的主機(jī)應(yīng)該把接收到的數(shù)據(jù)包傳送給眾多同時(shí)運(yùn)行的進(jìn)程中的哪一個(gè)呢商蕴?顯然這個(gè)問題有待解決,端口機(jī)制便由此被引入進(jìn)來芝发。
本地操作系統(tǒng)會(huì)給那些有需求的進(jìn)程分配協(xié)議端口(protocol port究恤,即我們常說的端口),每個(gè)協(xié)議端口由一個(gè)正整數(shù)標(biāo)識(shí)后德,如:80,139抄腔,445瓢湃,等等。當(dāng)目的主機(jī)接收到數(shù)據(jù)包后赫蛇,將根[報(bào)文首部的目[端口號(hào)绵患,把數(shù)據(jù)發(fā)送到相應(yīng)端口,而與此端口相對(duì)應(yīng)的那個(gè)進(jìn)程將會(huì)領(lǐng)取數(shù)據(jù)并等待下一組數(shù)據(jù)的到來悟耘。
端口其實(shí)就是隊(duì)落蝙,操作系統(tǒng)為各個(gè)進(jìn)程分配了不同的隊(duì),數(shù)據(jù)包按照目的端口被推入相應(yīng)的隊(duì)中暂幼,等待被進(jìn)程取用筏勒,在極特殊的情況下,這個(gè)隊(duì)也是有可能溢出的旺嬉,不過操作系統(tǒng)允許各進(jìn)程指定和調(diào)整自己的隊(duì)的大小管行。
2.分類
根據(jù)提供服務(wù)類型的不同,端口分為兩種邪媳,一種是TCP端口捐顷,一種是UDP端口。計(jì)算機(jī)之間相互通信的時(shí)候雨效,分為兩種方式:一種是發(fā)送信息以后迅涮,可以確認(rèn)信息是否到達(dá),也就是有應(yīng)答的方式徽龟,這種方式大多采用TCP協(xié)議叮姑;一種是發(fā)送以后就不管了,不去確認(rèn)信息是否到達(dá)顿肺,這種方式大多采用UDP協(xié)議戏溺。對(duì)應(yīng)這兩種協(xié)議的服務(wù)提供的端口渣蜗,也就分為TCP端口UDP端口。
結(jié)論
傳輸層的功能就是建立端口到端口的通信旷祸。相比網(wǎng)絡(luò)層的功能是建立主機(jī)到主機(jī)的通信耕拷。
也就是說,只有有了IP和端口托享,我們才能進(jìn)行準(zhǔn)確著通信