一从诲、簡述osi七層模型和TCP/IP五層模型
1. osi七層模型和tcp/ip五層模型的對應(yīng)關(guān)系示意圖
2.OSI的來源
OSI(Open System Interconnect)顺献,即開放式系統(tǒng)互聯(lián)衔峰。 一般都叫OSI參考模型泊脐,是ISO(國際標(biāo)準(zhǔn)化組織)組織在1985年研究的網(wǎng)絡(luò)互連模型佛寿。
3.OSI七層功能簡述
應(yīng)用層:工作在最頂層默责,為計(jì)算機(jī)用戶提供各種應(yīng)用程序和網(wǎng)絡(luò)之間的接口,主要功能是直接為用戶提供各種需要的服務(wù)句柠,完成用戶希望在網(wǎng)絡(luò)上完成的各種工作浦译,并且協(xié)調(diào)各個(gè)應(yīng)用程序的工作。主要常見的網(wǎng)絡(luò)協(xié)議有:HTTP俄占、HTTPS管怠、FTP、POP3缸榄、SMTP等渤弛。
表示層:對應(yīng)用層的命令和數(shù)據(jù)進(jìn)行解釋,對各種語法賦予相應(yīng)的含義甚带,并按照一定格式傳遞給會話層她肯,主要功能是處理用戶信息的表示問題,如編碼鹰贵、數(shù)據(jù)格式轉(zhuǎn)話和加密解密等晴氨。
會話層:是用戶應(yīng)用程序和網(wǎng)絡(luò)之間的接口,負(fù)責(zé)兩個(gè)實(shí)體表示層之間會話的建立碉输、維持和終止籽前,并支持它們的數(shù)據(jù)交換,例如提供單方向會話或雙方向會話,管理會話中的發(fā)送順序枝哄,及會話占用時(shí)長肄梨,更深層次的進(jìn)行會話流量控制,尋址挠锥,出錯(cuò)控制等众羡。
傳輸層:工作在第四層,上三層的任務(wù)是數(shù)據(jù)處理蓖租,傳輸層的任務(wù)是數(shù)據(jù)通信粱侣,起到承上啟下的作用,主要功能是向用戶提供可靠的端到端和透明的數(shù)據(jù)傳輸服務(wù)蓖宦,包括差錯(cuò)控制和流量控制齐婴,向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié)。常見的網(wǎng)絡(luò)協(xié)議有:TCP稠茂、UDP尔店,端口號即是“端”也是工作在這一層中。
網(wǎng)絡(luò)層:依據(jù)邏輯地址“IP”來建立兩個(gè)網(wǎng)絡(luò)設(shè)備之間的連接和信息傳輸主慰,為傳輸層來的數(shù)據(jù)分組,數(shù)據(jù)鏈路層的數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)包鲫售,通過路由計(jì)算為報(bào)文或分組選擇合適的路徑共螺。該層控制了數(shù)據(jù)鏈路層和傳輸層之間的信息轉(zhuǎn)發(fā)、建立情竹、維持和網(wǎng)絡(luò)連接的終止藐不,這一層就是我們經(jīng)常說的IP協(xié)議層,IP協(xié)議是Internet的基礎(chǔ)秦效。
數(shù)據(jù)鏈路層:負(fù)責(zé)將來自物理層的比特流組合成字節(jié)雏蛮,再將字節(jié)組合成幀傳送到上一層,反之將上層的數(shù)據(jù)幀拆解轉(zhuǎn)發(fā)到物理層阱州,使用鏈路層地址來完成介質(zhì)訪問挑秉,差錯(cuò)檢測,流浪控制和鏈路控制苔货,提供可靠的犀概,無差錯(cuò)的數(shù)據(jù)傳輸鏈路。該層通常又被分為介質(zhì)訪問控制(MAC)和邏輯鏈路控制(LLC)兩個(gè)子層夜惭。
物理層:最終的信號傳輸是通過物理層實(shí)現(xiàn)的姻灶,通過物理介質(zhì)傳輸比特流,物理層的主要功能是利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接诈茧,實(shí)現(xiàn)比特流的透明傳輸产喉。
4.兩個(gè)主機(jī)之間各層的數(shù)據(jù)傳輸
二、總結(jié)描述TCP三次握手四次揮手
1.TCP三次握手
第一次握手:客戶端主動向服務(wù)器端發(fā)起建立連接請求報(bào)文,SYN=1曾沈,并進(jìn)入SYN-SENT階段
第二次握手:服務(wù)器端接收到客戶端的SYN報(bào)文这嚣,返回ACK確認(rèn)客戶端請求,并發(fā)送自己的SYN和ACK報(bào)文表明同意建立連接晦譬,進(jìn)入SYN-RCVD階段
第三次握手:客戶端接收到服務(wù)器端的SYN+ACK報(bào)文疤苹,也向服務(wù)器端發(fā)送ACK報(bào)文確認(rèn)自己收到,發(fā)送完畢敛腌,雙方進(jìn)入ESTAB-LISHED狀態(tài)卧土,TCP連接成功,完成三次握手
2.TCP四次分手
第一步:客戶端向服務(wù)器端發(fā)送解除連接請求報(bào)文像樊,F(xiàn)IN=1尤莺,并進(jìn)入FIN-WAIT-1階段。
第二步:服務(wù)器端接收到客戶端的解除連接請求生棍,先返回ACK確認(rèn)自己收到解除請求颤霎,進(jìn)入CLOSE-WAIT階段,等待自己所有數(shù)據(jù)發(fā)送完涂滴∮呀矗客戶端接收到服務(wù)器端的確認(rèn)報(bào)文后,進(jìn)入FIN-WAIT-2階段柔纵。
第三步:服務(wù)器端發(fā)送完最后的數(shù)據(jù)缔杉,發(fā)送FIN=1解除連接請求,進(jìn)入LAST-ACK階段搁料。
第四步:客戶端接收到服務(wù)器端的解除連接請求后或详,返回ACK報(bào)文,進(jìn)入TIME-WAIT階段郭计,等待2MSL時(shí)間霸琴,如果服務(wù)器端收到客戶端的ACK報(bào)文,則進(jìn)入CLOSED狀態(tài)昭伸,關(guān)閉終止此連接梧乘,如果沒收到客戶端的ACK報(bào)文,則會再次發(fā)送FIN報(bào)文給客戶端勋乾,客戶端在2MSL時(shí)間內(nèi)宋下,沒有再次收到服務(wù)器端的FIN報(bào)文后,也進(jìn)入CLOSED狀態(tài)辑莫。
三学歧、描述TCP和UDP區(qū)別
TCP包頭
UDP包頭
- TCP是面向連接;UDP是無面向連接各吨,即發(fā)送數(shù)據(jù)不需要連接建立過程
- TCP提供可靠的服務(wù)枝笨,TCP通過校驗(yàn)和袁铐、重傳控制、序號標(biāo)識横浑、滑動窗口剔桨、確認(rèn)應(yīng)答實(shí)現(xiàn)可靠傳輸,保證傳送的數(shù)據(jù)無差錯(cuò)徙融、不丟失洒缀、不重復(fù);UDP則是不保證可靠傳輸
- UDP有較好的實(shí)時(shí)性欺冀,工作效率比TCP高树绩,適用于高速傳輸和實(shí)時(shí)性需求較高的通信或廣播通信。
- TCP連接只能是點(diǎn)到點(diǎn)隐轩;UDP支持一對一饺饭、一對多、多對一和多對多的交互通信职车。
- TCP的包頭首部是20字節(jié)瘫俊;UDP的包頭首部是8字節(jié)
四、總結(jié)ip分類以及每個(gè)分類可以分配的IP數(shù)量
IP地址中的前5位用于標(biāo)識IP地址的類別:
A類地址的第一位為0悴灵;
B類地址的前兩位為10扛芽;
C類地址的前三位為110;
D類地址的前四位為1110积瞒;
E類地址的前五位為11110胸哥。
IP地址根據(jù)網(wǎng)絡(luò)號和主機(jī)號來分,分為A赡鲜、B、C三類及特殊地址D庐船、E银酬。全0和全1的都保留不用。
A類:
(1.0.0.0-126.0.0.0)
第一個(gè)字節(jié)為網(wǎng)絡(luò)號筐钟,后三個(gè)字節(jié)為主機(jī)號揩瞪。該類IP地址的最前面為“0”,所以地址的網(wǎng)絡(luò)號取值于1~126之間篓冲。一般用于大型網(wǎng)絡(luò)李破。
定義:第1字節(jié)為網(wǎng)絡(luò)地址,其它3個(gè)字節(jié)為主機(jī)地址
范圍:1.0.0.1-126.255.255.254
數(shù)量:允許有126個(gè)網(wǎng)段壹将,每個(gè)網(wǎng)段允許有16777214臺主機(jī)
子網(wǎng)掩碼:255.0.0.0
私有地址:10.X.X.X是私有地址(所謂的私有地址就是在互聯(lián)網(wǎng)上不使用嗤攻,而被用在局域網(wǎng)絡(luò)中的地址),范圍10.0.0.1-10.255.255.254
保留地址:127.X.X.X是保留地址诽俯,也是本機(jī)地址妇菱,等效于localhost或本機(jī)IP。一般用于測試使用。例如:ping 127.0.0.1來測試本機(jī)TCP/IP是否正常闯团。
B類(128.0.0.0-191.255.0.0)
前兩個(gè)字節(jié)為網(wǎng)絡(luò)號辛臊,后兩個(gè)字節(jié)為主機(jī)號。該類IP地址的最前面為“10”房交,所以地址的網(wǎng)絡(luò)號取值于128~191之間彻舰。一般用于中等規(guī)模網(wǎng)絡(luò)。
定義:第1字節(jié)和第2字節(jié)為網(wǎng)絡(luò)地址候味,其它2個(gè)字節(jié)為主機(jī)地址
范圍:128.0.0.1-191.255.255.254
數(shù)量:允許有16384個(gè)網(wǎng)段刃唤,每個(gè)網(wǎng)段允許有65534臺主機(jī)
子網(wǎng)掩碼:255.255.0.0
私有地址:172.16.0.0 - 172.31.255.255是私有地址
保留地址:169.254.X.X是保留地址。如果IP地址是自動獲取IP地址负溪,而你在網(wǎng)絡(luò)上又沒有找到可用的DHCP服務(wù)器透揣。就會得到其中一個(gè)IP
C類
(192.0.0.0-223.255.255.0)
前三個(gè)字節(jié)為網(wǎng)絡(luò)號,最后一個(gè)字節(jié)為主機(jī)號川抡。該類IP地址的最前面為“110”辐真,所以地址的網(wǎng)絡(luò)號取值于192~223之間。一般用于小型網(wǎng)絡(luò)崖堤。
定義:第1字節(jié)侍咱、第2字節(jié)和第3個(gè)字節(jié)為網(wǎng)絡(luò)地址,第4個(gè)個(gè)字節(jié)為主機(jī)地址密幔。另外第1個(gè)字節(jié)的前三位固定為110
范圍:192.0.0.1 - 223.255.255.254
數(shù)量:允許有2097152個(gè)網(wǎng)段楔脯,每個(gè)網(wǎng)段允許有254臺主機(jī)
子網(wǎng)掩碼:255.255.255.0
私有地址:192.168.X.X是私有地址。(192.168.0.0 - 192.168.255.255)
D類:
是多播地址胯甩。該類IP地址的最前面為“1110”昧廷,所以地址的網(wǎng)絡(luò)號取值于224~239之間。一般用于多路廣播用戶偎箫。
定義:不分網(wǎng)絡(luò)地址和主機(jī)地址木柬,它的第1個(gè)字節(jié)的前四位固定為1110
范圍:224.0.0.1 - 239.255.255.254
E類:
是保留地址。該類IP地址的最前面為“1111”淹办,所以地址的網(wǎng)絡(luò)號取值于240~255之間眉枕。
定義:不分網(wǎng)絡(luò)地址和主機(jī)地址,它的第1個(gè)字節(jié)的前五位固定為11110
范圍:240.0.0.1 - 255.255.255.254
五怜森、總結(jié)IP配置方法
IP地址配置可分為DHCP動態(tài)分配和靜態(tài)指定
1.修改網(wǎng)絡(luò)配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //動態(tài)地址分配速挑,需要依賴DHCP服務(wù)
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f72eb9ab-6ded-4a58-a2c7-315b8c28c9a3"
DEVICE="eth0"
ONBOOT="yes"
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //靜態(tài)指定IP
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" //修改地址配置協(xié)議為static靜態(tài)
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f72eb9ab-6ded-4a58-a2c7-315b8c28c9a3"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=192.168.232.129 //配置IP
NETMASK=255.255.255.0 //配置掩碼
GATEWAY=192.168.232.1 //配置網(wǎng)關(guān)
配置文件說明:
NAME:圖形界面的網(wǎng)卡名
DEVICE:此配置文件應(yīng)用到的設(shè)備
ONBOOT:在系統(tǒng)引導(dǎo)時(shí)是否激活此設(shè)備
TYPE:接口類型;常見有的Ethernet, Bridge
UUID:設(shè)備的惟一標(biāo)識
BOOTPROTO:激活此設(shè)備時(shí)使用的地址配置協(xié)議副硅,常用的dhcp, static, none, bootp
IPADDR:指明IP地址
PREFIX:以CIDR表示表示子網(wǎng)掩碼如255.255.255.0就可以寫成24
NETMASK:子網(wǎng)掩碼
GATEWAY: 默認(rèn)網(wǎng)關(guān)
DNS1:第一個(gè)DNS服務(wù)器指向
DNS2:第二個(gè)DNS服務(wù)器指向
HWADDR:對應(yīng)的設(shè)備的MAC地址
NM_CONTROLLED:NM是NetworkManager的簡寫姥宝,此網(wǎng)卡是否接受NM控制;建議CentOS6為“no”
USERCTL:普通用戶是否可控制此設(shè)備
PEERDNS:如果BOOTPROTO的值為“dhcp”恐疲,YES將允許dhcp server分配的dns服務(wù)器信息直接覆蓋至/etc/resolv.conf文件伶授,NO不允許修改resolv.conf
2.臨時(shí)修改IP指令
ifconfig 命令
[root@localhost ~]# ifconfig eth0 192.168.58.132/24
[root@localhost ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.58.132 netmask 255.255.255.0 broadcast 192.168.58.255
inet6 fe80::69a5:3410:47ff:a9fd prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:16:a5:38 txqueuelen 1000 (Ethernet)
RX packets 1663 bytes 163252 (159.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1069 bytes 274660 (268.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip 命令
[root@localhost ~]# ip addr add 192.168.58.132/24 dev eth0
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:16:a5:38 brd ff:ff:ff:ff:ff:ff
inet 192.168.58.130/24 brd 192.168.58.255 scope global noprefixroute dynamic eth0
valid_lft 1728sec preferred_lft 1728sec
inet 192.168.58.132/24 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::a2fd:24d8:4c25:7b7b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3.在centos7中使用nmcli命令配置IP
[root@localhost ~]# nmcli con add con-name test ifname eth0 type ethernet ipv4.method manual ipv4.addresses 192.168.58.132/24 ipv4.gateway 192.168.58.2
Connection 'test' (f3946291-f5a5-4623-afe6-c50bff6f723f) successfully added.
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-test
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.58.133
PREFIX=24
GATEWAY=192.168.58.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=test
UUID=f3946291-f5a5-4623-afe6-c50bff6f723f
DEVICE=eth0
ONBOOT=yes
[root@localhost ~]#nmcli con up test //啟用test
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:16:a5:38 brd ff:ff:ff:ff:ff:ff
inet 192.168.58.132/24 brd 192.168.58.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::69a5:3410:47ff:a9fd/64 scope link noprefixroute
valid_lft forever preferred_lft forever